Skip to main content

Concierge repository projects management CLI.

Project description

Build status Code health Updates Python versions Software license

Companion CLI for Concierge, the Configuration management & CI solution for aligning your multitude of Git repositories. Allows you to bulk-manage properties of your Git repository projects. Currently, GitLab is supported.

Why Should I Use This Tool?

Concierge-cli helps you analyze and bulk-update the repository projects you manage (e.g. set topics on projects, generate project lists for ModuleSync).

Installation

From PyPI:

$ pip install concierge-cli

Note: You need Python >= 3.6, otherwise your installation will not succeed (python-gitlab v2.0.0 dropped support for older Pythons). You can use Pipenv to work around this limitation:

$ pip install pipenv
$ pipenv shell --three
$ pip install concierge-cli

Usage Patterns

  1. Manage project topics

  2. List projects by topic

  3. Manage group membership and permissions

Manage topics

List all projects (for a private GitLab) that have no topics yet:

$ concierge-cli gitlab --uri https://git.vs.hn topics --empty

List all projects “foo” or similar in group “bar” or similar: (on GitLab.com)

$ concierge-cli gitlab topics bar/foo --empty

Set topics on all those projects:

$ concierge-cli gitlab topics bar/foo --empty --set-topic Puppet --set-topic Ansible

List all projects with topics now: (double-check)

$ concierge-cli gitlab topics bar/foo

List projects

Print a YAML list of all projects matching a topic:

$ concierge-cli gitlab projects --topic Puppet

Update the list of modules Concierge manages with a specific configuration:

$ concierge-cli gitlab projects --topic Puppet > configs/foo-bar/managed_modules.yml
$ git add -v configs/foo-bar/managed_modules.yml
$ git status && git commit -m 'Added ...' && git push

Group membership

Preparation: You need an access token of an administrator user to list all groups and make changes to any group membership. You may also want to disable notifications of the user(s) you plan to perform bulk updates on, to avoid sending out a massive amount of emails.

Set the GitLab URI and TOKEN as environment variables (if you want to avoid using the --token and/or --uri options):

$ export CONCIERGE_GITLAB_URI=https://git.example.com/
$ export CONCIERGE_GITLAB_TOKEN=<redacted>

List all groups where user is not yet a member of:

$ concierge-cli gitlab groups --no-member my.user.name

Add user to all those groups:

$ concierge-cli gitlab groups --no-member my.user.name \
                       --set-permission maintainer

List a user’s group memberships and permissions:

$ concierge-cli gitlab groups my.user.name

Remove a user from selected groups:

$ concierge-cli gitlab groups my.user.name \
                       --group-filter a-group-name \
                       --set-permission none

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

concierge-cli-1.3.0.tar.gz (8.1 kB view details)

Uploaded Source

Built Distribution

concierge_cli-1.3.0-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file concierge-cli-1.3.0.tar.gz.

File metadata

  • Download URL: concierge-cli-1.3.0.tar.gz
  • Upload date:
  • Size: 8.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.1

File hashes

Hashes for concierge-cli-1.3.0.tar.gz
Algorithm Hash digest
SHA256 258d25adca125af3dba285e7cc86a03a3b6e8432868a1f22780a96f210c8162a
MD5 325f9a4f1646323ff1125ae0c83e3167
BLAKE2b-256 73c714988d0e3f152df79a29cd10f2269494726aa885863e3287c4d8aafd62aa

See more details on using hashes here.

File details

Details for the file concierge_cli-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: concierge_cli-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 9.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.1

File hashes

Hashes for concierge_cli-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 667b2b47f8781b485179710b974621e4918ca4c3ddde30dab2d1a1ac20008474
MD5 c1196ec96c81ad1a96ca2af729a7cf9f
BLAKE2b-256 0e43674310c19aec29098c29e376d116375fd1a33759441c70c2e5e7758fddd3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page