CoCo (configuration control
or officially known as
configuration-tools-for-gitops) is a command line interface designed to help
with configuration file management - especially for GitOps environments.
CoCo streamlines service configurations over many target environments by offering:
- file-generation:
- global configuration alignment
- exception marking in yaml configurations
- dependency evaluation
- blast radius analysis of changes
- dependency presentation
- structured representation of dependencies
- branch reconciliation
- reconciliation of git branches to a single merged commit line
The available commands of the CLI can be explored by running
$ coco --help
coco is a CLI to interact with a gitops repository and shall provide
various solutions, ranging from file-generation over the calculation of
dependency trees to various interactions with git and github.
Usage:
coco [command]
Available Commands:
completion Generate the autocompletion script for the specified shell
dependencies Returns structured information which components and dependencies are affected by a change in git
generate generate allows to run file-generation over the gitops repository
help Help about any command
inspect show the current coco configuration
reconcile Reconciles a target branch with source branch
version coco version
Flags:
-c, --component-cfg string name of the component-specific configuration file (default "coco.yaml")
--config string config file (default $HOME/.coco)
-b, --git-defaultbranch string default branch (default "main")
--git-depth int [NOT IN USE (upstream bug: see https://github.com/go-git/go-git/issues/328 for issue tracking)]
max checkout depth of the git repository
-p, --git-path string path where the configuration repository locally resides
-r, --git-remote string remote branch to compare against for changed components (default "origin")
-u, --git-url string git URL of the configuration repository
-h, --help help for coco
-l, --loglvl level sets the log level of the application - key or value of map[Debug:-1 Info:0 Warn:1 Error:2 DPanic:3 Panic:4 Fatal:5]
Use "coco [command] --help" for more information about a command.
To build CoCo locally, the following binaries must be available on your machine:
The CoCo project can be built and tested using make. Please run make help
to
see the available commands.
This project is open to feature requests/suggestions, bug reports etc. via GitHub issues. Contribution and feedback are encouraged and always welcome. For more information about how to contribute, the project structure, as well as additional contribution information, see our Contribution Guidelines.
We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone. By participating in this project, you agree to abide by its Code of Conduct at all times.
Copyright 2023 SAP SE or an SAP affiliate company and configuration-tools-for-gitops contributors. Please see our LICENSE for copyright and license information. Detailed information including third-party components and their licensing/copyright information is available via the REUSE tool.