Skip to main content

Concierge-cli Latest version on PyPI

GitHub Workflow Status GitHub Workflow Status Code health 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

Preparation

You need an access token of a GitLab user to access resources through the API. For groups and group membership this needs to be an administrator user. You may also want to disable notifications of the user(s) you plan to perform bulk updates on, to avoid sending out massive amounts 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>

Usage Patterns

  1. Manage project topics

  2. List projects by topic

  3. List (and merge) merge requests by project

  4. 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

Merge requests

List of all merge requests of a project, optionally matching labels:

$ concierge-cli gitlab mrs mygroup/myproject --label mylabel

Add --merge yes to trigger merging all found requests.

Group membership

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

Found a bug? Need a new feature?

Please see our Contribution Guide if you want to help out!

Metadata

Release files for concierge-cli 1.7.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for concierge-cli 1.7.2
File Size Uploaded
concierge-cli-1.7.2.tar.gz 11.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for concierge-cli 1.7.2
File Interpreter ABI Platform
concierge_cli-1.7.2-py3-none-any.whl Python 3 none any Details

Total release size: 23.3 kB

Release files / concierge-cli-1.7.2.tar.gz

Download URL concierge-cli-1.7.2.tar.gz
Size 11.9 kB
Tags Source
SHA-256 checksum
How to use checksums
2f854d542df501167abde94b8bba436be61bc11a27678f445f513ffc1837a94f
BLAKE2b-256 checksum
How to use checksums
ecbfa6f14ee89a00af52f8b52e89bbd9646a1980787482663fdd846c38e6a79c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.16

Release files / concierge_cli-1.7.2-py3-none-any.whl

Download URL concierge_cli-1.7.2-py3-none-any.whl
Size 11.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ea945389c2784fac866c7e3dff5c26c7b2e69d835f5f8ddd14d7712cadf599ee
BLAKE2b-256 checksum
How to use checksums
d00660cd9bb1868847a324c6c2e81bd55ffcce7470b8e0a582e7525d876c4957
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.16

Release history Release notifications | RSS feed

This release

1.7.2 This release

2 release files

1.7.1

2 release files

1.7.0

2 release files

1.6.0

2 release files

1.5.0

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page