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. (We’re doing this really just for Python’s awesome f-strings!) 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.

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

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

Add user to all those groups:

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

List a user’s group memberships and permissions:

$ concierge-cli gitlab --token *s3cr3t* groups my.user.name

Remove a user from selected groups:

$ concierge-cli gitlab --token *s3cr3t* 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.0.1.tar.gz (7.1 kB view details)

Uploaded Source

Built Distribution

concierge_cli-1.0.1-py3-none-any.whl (8.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: concierge-cli-1.0.1.tar.gz
  • Upload date:
  • Size: 7.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.6.7

File hashes

Hashes for concierge-cli-1.0.1.tar.gz
Algorithm Hash digest
SHA256 179cb22b18003f0bcd7fcb55533683a88969053f2c2530397cf5bb3e4b5c3e2c
MD5 1a3810b3681db99e45291d7ebf1d5265
BLAKE2b-256 8fc74623f38dd36bc1b48bc759f3ac693954dd4e87c64a2518625449e7d43ed8

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: concierge_cli-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 8.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.6.7

File hashes

Hashes for concierge_cli-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 81ac5536d6efc122d56f455a482dccd24afb67d0782be6281142cbd3d9c0c908
MD5 1af145039cf10394e20b6814ca1031cc
BLAKE2b-256 a4986f899b84791fbe6f42ccb61807c1b48c5ec9f42da2395071a092f8559f98

See more details on using hashes here.

Provenance

Supported by

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