/gitopscli

GitOps CLI - a command line interface (CLI) to perform operations on git repositories with yaml files

Primary LanguagePythonApache License 2.0Apache-2.0

Build Status Latest Release) Docker Pulls Python: 3.10 semantic-release Gitpod License

GitOps CLI

GitOps CLI is a command line interface (CLI) to perform operations on GitOps managed infrastructure repositories, including updates in YAML files.

GitOps CLI Teaser

Quick Start

The official GitOps CLI Docker image comes with all dependencies pre-installed and ready-to-use. Pull it with:

docker pull baloise/gitopscli

Start the CLI and the print the help page with:

docker run --rm -it baloise/gitopscli --help

Features

  • Update YAML values in config repository to e.g. deploy an application.
  • Add pull request comments.
  • Create and delete preview environments in the config repository for a pull request in an app repository.
  • Update root config repository with all apps from child config repositories.

For detailed installation and usage instructions, visit https://baloise.github.io/gitopscli/.

Git Provider Support

Currently, we support BitBucket Server, GitHub and Gitlab.

Development

Setup

make init  # install dependencies, setup dev gitopscli, install pre-commit hooks, ...

Commands

make format  # format code
make format-check  # check formatting
make lint  # run linter
make mypy  # run type checks
make test  # run unit tests
make coverage  # run unit tests and create coverage report
make checks  # run all checks (format-check + lint + mypy + test)
make image  # build docker image
make docs  # serves web docs
make update  # update package dependencies

License

Apache-2.0