UNCLASSIFIED - NO CUI

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_NAME should deploy a profile named PROFILE_NAME from 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_NAME should allow setting a different registry URL
  • bbctl deploy bigbang --profile PROFILE_NAME --gpg-key KEY_LOCATION should allow feeding in a GPG key location for sops decryption
Edited by Ryan Daily