- Notifications
You must be signed in to change notification settings - Fork4
Manage repositories in Quay.io
License
koudaiii/qucli
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Manage repositories in Quay.io
- Enviroment QUAY_API_TOKEN
- Get Api Token.Applications and Tokens
$ export QUAY_API_TOKEN=foobar
if Quay Enterprise user, add Enviroment QUAY_HOSTNAME or--hostname
$ export QUAY_HOSTNAME=quay.example.comor$ qucli xxx --hostname=quay.example.com
Formula is available atkoudaiii/homebrew-tools.
$ brew tap koudaiii/tools$ brew install qucli
Precompiled binaries for Windows, OS X, Linux are available atReleases.
To install, usego get
:
$ go get -d github.com/koudaiii/qucli$ cd $GOPATH/src/github.com/koudaiii/qucli$ make deps$ make install
docker image is available atquay.io/koudaiii/qucli.
# -t is required to colorize logs$ docker run \ --rm \ -t \ -e QUAY_API_TOKEN=foobar \ -e QUAY_HOSTNAME=quay.io \ quay.io/koudaiii/qucli:latest
$ qucliusage: qucli [--version] [--help] <command> [<args>]Available commands are: add-notification Add notification in repository add-team Add team in repository add-user Add user in repository create Create repository in Quay delete Delete repository in Quay delete-notification Delete notification in repository delete-team Delete team in repository delete-user Delete user in repository get Get Repository and Permissions and Notifications in Quay list List repository and Permissions in Quay test-notification Test notification in repository version Print qucli version and quit
List repository in namespace
With--is-public
option, you cantrue
orfalse
$ qucli list koudaiiiNAMEisPublicDESCRIPTIONquay.io/koudaiii/apig-sampletruequay.io/koudaiii/quclitruequay.io/koudaiii/kubepstruequay.io/koudaiii/testtrue
Get repository and Permissions in Quay
$ qucli get koudaiii/testRepository:quay.io/koudaiii/testVisibility:privatePermissions:koudaiii(admin)Notifications:b0736be9-f0eb-4c3c-8d33-2e331b1e5b0fSome titlerepo_pushmap[]slackmap[url:https://hooks.slack.com/service/some/token/here]
Create repository in Quay
With--visibility
option, you canpublic
orprivate
$ qucli create koudaiii/test --visibility privateCreated! quay.io/koudaiii/test
Delete repository in Quay
$ qucli delete koudaiii/testDeleted! quay.io/koudaiii/test
$ qucli get koudaiii/testerr: HTTP error!URL: https://quay.io/api/v1/repository/koudaiii/teststatus code: 404body:{"status": 404, "error_message": "Not Found", "title": "not_found", "error_type": "not_found", "detail": "Not Found", "type": "https://quay.io/api/v1/error/not_found"}
Add user in repository
With--role
option, you canread
orwrite
oradmin
$ qucli add-user koudaiii/test dtan4 --role writeAdded! dtan4(write) in quay.io/koudaiii/test
$ qucli get koudaiii/testRepository:quay.io/koudaiii/testVisibility:privatePermissions:koudaiii(admin)dtan4(write)
Add team in repository
With--role
option, you canread
orwrite
oradmin
$ qucli add-team koudaiii/test infrastructure --role writeAdded! infrastructure(write) in quay.io/koudaiii/test
$ qucli get koudaiii/testRepository:quay.io/koudaiii/testVisibility:privatePermissions:koudaiii(admin)dtan4(write)infrastructure(write)
Delete user from repository
$ qucli delete-user koudaiii/test dtan4Deleted! dtan4 in quay.io/koudaiii/test
$ qucli get koudaiii/testRepository:quay.io/koudaiii/testVisibility:privatePermissions:koudaiii(admin)infrastructure(write)
Delete team from repository
$ qucli delete-team koudaiii/test infrastructureDeleted! infrastructure in quay.io/koudaiii/test
$ qucli get koudaiii/testRepository:quay.io/koudaiii/testVisibility:privatePermissions:koudaiii(admin)
Add notification in repository with some options.
webhook
method
$ qucli add-notification koudaiii/test --event="repo_push" --method="webhook" --url="http://url/goes/here"Added! 3c3c142c-2161-42ae-9414-39c787386b5crepo_pushmap[]webhookmap[url:http://url/goes/here]in quay.io/koudaiii/test
slack
method
$ qucli add-notification koudaiii/test --event="repo_push" --method="slack" --url="https://hooks.slack.com/service/{some}/{token}/{here}"Added! 61ae254f-89f0-4a36-a439-9b78004f2ab0repo_pushmap[]slackmap[url:https://hooks.slack.com/service/{some}/{token}/{here}]in quay.io/koudaiii/test
- options
$ qucli add-notificationqucli supported only Quay.ioUsage: add-notification qucli add-notification koudaiii/qucli --event="repo_push" --method="webhook" --url="http://url/goes/here"Option: --event string set 'evnet'. ['repo_push', 'build_queued', 'build_start', 'build_success', 'build_failure', 'build_cancelled', 'vulnerability_found']. --level string if you use 'vulnerability_found' evnet, A vulnerability must have a severity of the chosen level (highest level is 0).[0-6] --ref string if you use event excluding 'repo_push' event, an optional regular expression for matching the git branch or tag git ref. If left blank, the notification will fire for all builds.(refs/heads/somebranch)|(refs/tags/sometag) --method string set 'method'. ['webhook', 'slack', 'email']. --email string if you use 'email' method, set E-mail address. 'test@example.com'. --url string if you use 'webhook' or 'slack' method, set url. 'http://url/goes/here' or 'https://hooks.slack.com/service/{some}/{token}/{here}'. --title string The title for a notification is an optional field for a human-readable title for the notification.
Test notification from repository.
$ qucli test-notification koudaiii/qucli 0c91e746-9d9e-4845-8dff-3c0995976dfaTest Notification! 0c91e746-9d9e-4845-8dff-3c0995976dfa notification in quay.io/koudaiii/qucli
Delete notification from repository.
$ ./bin/qucli delete-notification koudaiii/test 3c3c142c-2161-42ae-9414-39c787386b5cDeleted! 3c3c142c-2161-42ae-9414-39c787386b5c notification in quay.io/koudaiii/test
Option | Description | Required | Default |
---|---|---|---|
--visibility=VISIBILITY | "visibility set to 'public' or 'private' | public | |
--role=ROLE | role to use for the user or team ROLE='read' or 'write' or 'admin' | read | |
--is-public=bool | repository type is public.true orfalse | true | |
--hostname=HOSTNAME | if Quay Enterprise user, set hostname. | quay.io | |
--event=EVENT | set 'evnet'. EVENT='repo_push' or 'build_queued' or 'build_start' or 'build_success' or 'build_failure' or 'build_cancelled' or 'vulnerability_found'. | true | |
--level=LEVEL | if you use 'vulnerability_found' evnet, A vulnerability must have a severity of the chosen level (highest level is 0).LEVEL=0-6 | ||
--ref=REF | if you use event excluding 'repo_push' event, an optional regular expression for matching the git branch or tag git ref. If left blank, the notification will fire for all builds.(refs/heads/somebranch) or (refs/tags/sometag) | ||
--method=METHOD | set 'method'. METHOD='webhook' or 'slack' or 'email'. | true | |
--email=EMAIL | if you use 'email' method, set E-mail address. EMAIL='test@example.com'. | ||
--url=URL | if you use 'webhook' or 'slack' method, set url. 'http://url/goes/here' or 'https://hooks.slack.com/service/{some}/{token}/{here}'. | ||
--title=TITLE | The title for a notification is an optional field for a human-readable title for the notification. | ||
--help | Print command line usage | ||
-v ,--version | Print version |
Clone this repository and build usingmake
.
$ go get -d github.com/koudaiii/qucli$ cd $GOPATH/src/github.com/koudaiii/qucli$ make
- Fork (https://github.com/koudaiii/qucli/fork)
- Create a feature branch
- Commit your changes
- Rebase your local changes against the master branch
- Run test suite with the
go test ./...
command and confirm that it passes - Run
gofmt -s
- Create a new Pull Request
About
Manage repositories in Quay.io
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors2
Uh oh!
There was an error while loading.Please reload this page.