Skip to main content

Promote argo application between environments

Project description

argops

A command-line interface for promoting Argocd applications between environments.

Features:

  • smart promote of value files between environments
  • Dry-run option to see the changes.

Installing

pipx install argops

It's recommended that you add to your ArgoCD .gitignore the *-decrypted.yaml string. This pattern will exclude these temporary files from being committed to your git repository. These files are created by argops during the decryption and encryption of sops secrets. Although argops cleans up these files after use, there's a possibility that they might be left behind if an error occurs during processing.

Usage

To use the tool, simply run it from your terminal on the directory where your environment directories are.

argops \
  --src-dir=<source directory> \
  --dest-dir=<destination directory> \
  --dry-run

By default the source directory is staging and the destination directory production. The --dry-run flag will show you what changes will it do without making them.

Once you know that the changes are OK, remove the --dry-run option.

Known issues

Comments of promoted secrets are over the changed line

When you promote an environment specific values file, there are inline comments on the keys that have changed. However, sops doesn't support this format and adds the comment above the changed line. It's an upstream issue that is difficult to be addressed by us.

Development

If you want to run the tool from source, make sure you have Python and all required packages installed. You can do this using:

git clone https://codeberg.org/lyz/argops 
cd argops
make init

Help

If you need help or want to report an issue, please see our issue tracker.

License

GPLv3

Authors

Lyz

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

argops-0.3.0.tar.gz (34.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

argops-0.3.0-py3-none-any.whl (23.9 kB view details)

Uploaded Python 3

File details

Details for the file argops-0.3.0.tar.gz.

File metadata

  • Download URL: argops-0.3.0.tar.gz
  • Upload date:
  • Size: 34.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.2

File hashes

Hashes for argops-0.3.0.tar.gz
Algorithm Hash digest
SHA256 056ea04662e4b4a12a2e2314a9321e27326fe81f54fbc034d5b4091b0bdf0017
MD5 96fb6b79d08af08a51d03c027a7a4331
BLAKE2b-256 7121586c586157d589e8015eca6216fc216e08c3723874ad8b0d9e5656b89365

See more details on using hashes here.

File details

Details for the file argops-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: argops-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 23.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.2

File hashes

Hashes for argops-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2fcb04cdd1e77448a84d6e680621094595609db4db7ced64627365a1f95bf9e1
MD5 8db1872939952b85a30c06f6cae6b176
BLAKE2b-256 93af854cf9beb5dcdd6039959ef1086034e3b471bf1bce2ee4ec0dd571421bda

See more details on using hashes here.

Supported by

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