@fewlines/flops
v1.1.2
Published
Fewlines OPS CLI
Downloads
8
Readme
flops
Fewlines OPS CLI
Disclaimer: this package is made for our internal usage and is only open source for convenience.
Setup
$ brew bundle
$ asdf install
Platform directories
The CLI uses three different directories to deploy an application:
Library
The library directory is where the base, reusable modules like generic Helm charts or third-party tools manifests.
Config
The config directory contains the files specifying how to "instanciate" the different services.
For each service, it typically specifies a template to use from the library directory. It also specifies overrides for a given instance of a service.
Runtime
The runtime directory contains the whole configuration of what's currently running on all the clusters. It is watched by ArgoCD to ensure the clusters are in sync with it.
At any given time, you can know what's running in the clusters by checking this directory.
The result of the deployment is written to this directory by the Flops CLI.
Usage
Config initialization
$ bin/run init
You'll be asked about the paths for each directory. This only needs to be run once on your machine, or when the directories change location
Connect deployment
$ bin/run deploy-connect
Answer the questions
Use in CI
The CLI can also be used in CI mode.
You can pass the following flags to the CLI:
init
-l
: The path to the library directory-c
: The path to the config directory-r
: The path to the runtime directory
Alternatively you can set the following env variables
LIBRARY_DIR
: corresponds to the -l
option
CONFIG_DIR
: corresponds to the -c
option
RUNTIME_DIR
: corresponds to the -r
option
deploy-connect
-b
: A json containing the Docker images builds for each service-p
: The projections you would like to apply (a coma separated string)
Alternatively you can set the following env variables
IMAGE_BUILDS
: corresponds to the -b
option
PROJECTIONS
: corresponds to the -p
option