Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Manage repositories in Quay.io

License

NotificationsYou must be signed in to change notification settings

koudaiii/qucli

Repository files navigation

Build StatusDocker Repository on QuayGitHub release

Description

Manage repositories in Quay.io

Table of Contents

Requirements

$ 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

Installation

Using Homebrew (OS X only)

Formula is available atkoudaiii/homebrew-tools.

$ brew tap koudaiii/tools$ brew install qucli

Precompiled binary

Precompiled binaries for Windows, OS X, Linux are available atReleases.

From source

To install, usego get:

$ go get -d github.com/koudaiii/qucli$ cd $GOPATH/src/github.com/koudaiii/qucli$ make deps$ make install

Run in a Docker container

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

Usage

$ 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

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

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

Create repository in Quay

With--visibility option, you canpublic orprivate

$ qucli create koudaiii/test --visibility privateCreated! quay.io/koudaiii/test

delete

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

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

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

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

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

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

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

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

Options

OptionDescriptionRequiredDefault
--visibility=VISIBILITY"visibility set to 'public' or 'private'public
--role=ROLErole to use for the user or team ROLE='read' or 'write' or 'admin'read
--is-public=boolrepository type is public.true orfalsetrue
--hostname=HOSTNAMEif Quay Enterprise user, set hostname.quay.io
--event=EVENTset 'evnet'. EVENT='repo_push' or 'build_queued' or 'build_start' or 'build_success' or 'build_failure' or 'build_cancelled' or 'vulnerability_found'.true
--level=LEVELif you use 'vulnerability_found' evnet, A vulnerability must have a severity of the chosen level (highest level is 0).LEVEL=0-6
--ref=REFif 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=METHODset 'method'. METHOD='webhook' or 'slack' or 'email'.true
--email=EMAILif you use 'email' method, set E-mail address. EMAIL='test@example.com'.
--url=URLif you use 'webhook' or 'slack' method, set url. 'http://url/goes/here' or 'https://hooks.slack.com/service/{some}/{token}/{here}'.
--title=TITLEThe title for a notification is an optional field for a human-readable title for the notification.
--helpPrint command line usage
-v,--versionPrint version

Development

Clone this repository and build usingmake.

$ go get -d github.com/koudaiii/qucli$ cd $GOPATH/src/github.com/koudaiii/qucli$ make

Contribution

  1. Fork (https://github.com/koudaiii/qucli/fork)
  2. Create a feature branch
  3. Commit your changes
  4. Rebase your local changes against the master branch
  5. Run test suite with thego test ./... command and confirm that it passes
  6. Rungofmt -s
  7. Create a new Pull Request

Author

koudaiii

License

MIT License


[8]ページ先頭

©2009-2025 Movatter.jp