Package: noos-inv
Noos InvokeSoftware development kit for sharing workflows across CI/CD pipelines.Such a project aims to enforce parity and reproducability between local development and CI/CD workflows in remote containers (e.g. executable versions, command line calls, environment variables...) - developped withinv[oke](https://github.com/pyinvoke/invoke).InstallationInstall the package from thePyPi repository:$ pip install noos-invTo enable shell completion, execute the following command (e.g.zsh),$ noosinv --print-completion-script=zshAnd copy/paste itsstdoutinto your shell config.# NOOSINV completion script_complete_noosinv(){collection_arg=''if[["${words}"=~"(-c|--collection) [^ ]+"]];thencollection_arg=$MATCHfireply=($(noosinv${=collection_arg}--complete--${words}))}compctl-K_complete_noosinv+-fnoosinvFinally, still in your shell config, enable automatic sub shell loading:# ENV variable sub shell loading with command "source .env"set-aUsage as a command line toolThenoos-invpackage installs a CLI binary, for managing common CI/CD tasks.From the terminal,$ noosinv

Usage: noosinv [--core-opts] <subcommand> [--subcommand-opts] ...

Subcommands:

  docker.build       Build Docker image locally.
  docker.buildx      Build and push x-platform Docker image to a remote registry.
  docker.configure   Create and configure buildx builder for multi-platform.
  docker.login       Login to Docker remote registry (AWS ECR or Dockerhub).
  docker.push        Push Docker image to a remote registry.
  git.config         Setup git credentials with a Github token.
  helm.install       Provision local Helm client (Chart Museum Plugin).
  helm.lint          Check compliance of Helm charts / values.
  helm.login         Login to Helm remote registry (AWS ECR or Chart Museum).
  helm.push          Push Helm chart to a remote registry (AWS ECR or Chart Museum).
  helm.test          Test local deployment in Minikube.
  local.dotenv       Create local dotenv file.
  python.clean       Clean project from temp files / dirs.
  python.coverage    Run coverage test report.
  python.format      Auto-format source code.
  python.lint        Run python linters.
  python.package     Build project wheel distribution.
  python.release     Publish wheel distribution to PyPi.
  python.test        Run pytest with optional grouped tests.
  terraform.run      Run a plan in Terraform cloud.
  terraform.update   Update variable in Terraform cloud.Source your environnement variables first for a seamless experience.
(use commandlocal.dotenvto create it from the provided template)$ source .envDevelopmentOn Mac OSX, make surepoetryhas been installed and pre-configured,$ brew install poetryThis project is shipped with a Makefile, which is ready to do basic common tasks.$ make

help                           Display this auto-generated help message
update                         Lock and install build dependencies
clean                          Clean project from temp files / dirs
format                         Run auto-formatting linters
install                        Install build dependencies from lock file
lint                           Run python linters
test                           Run pytest with all tests
package                        Build project wheel distribution
release                        Publish wheel distribution to PyPi