Create Technical Profile Client
Source: https://repo1.dso.mil/big-bang/customers/template#deploy
Implement a technical profile client and create a function that handles the entire deployment process.
By this stage, all prerequisites should be implemented:
- profile CLI flags in the deploy command #68 (closed)
- sops client to create, encrypt, and decrypt secrets using the rules in sops.yaml #69 (closed) #66 (closed)
- flux deployment using Go libraries and Kustomize #71 (closed)
- Technical repo with a defined profile specification and file system structure #64 (closed)
The client will pull resources from the base/ directory, overlay the resources in PROFILE_NAME/ directory, create namespaces and prerequisite secrets in the cluster, then deploy the profile using Kustomize.
Acceptance Criteria
-
bbctl deploy bigbang --profile PROFILE_NAMEshould deploy a profile namedPROFILE_NAMEfrom a local clone of the default technical profiles repo- Assume all values are already set and the files do NOT need to be interactively edited
-
bbctl deploy bigbang --profile https://example.com/PROFILE_NAMEshould allow setting a different registry URL -
bbctl deploy bigbang --profile PROFILE_NAME --gpg-key KEY_LOCATIONshould allow feeding in a GPG key location for sops decryption
Edited by Ryan Daily