UNCLASSIFIED - NO CUI

Skip to content
Snippets Groups Projects

Big Bang Getting Started

Table of Contents

System Requirements

  • Admin tools

  • Kubernetes cluster

    CPU, Memory, and Disk space vary depending on what is enabled. If everything is enabled, the following is the minimum viable setup:

    • vCores - 8
    • Memory - 32GB
    • Disk Space - 20GB

Flux Installation

Flux v2 must be installed into the Kubernetes cluster before deploying Big Bang:

  1. Deploy officially through Iron Bank

Official flux installation helper script:

./scripts/install_flux.sh --help

Example baseline IronBank deployment:

REGISTRY_USERNAME="<Username>"
REGISTRY_EMAIL="<Email>"
REGISTRY_PASSWORD="<CLI secret>"

./scripts/install_flux.sh \
  --registry-username "$REGISTRY_USERNAME" \
  --registry-password "$REGISTRY_PASSWORD" \
  --registry-email "$REGISTRY_EMAIL"

Configuration Template

A template for configuring multi-cluster environments is provided to assist with getting Big Bang setup correctly. You should make a copy of the ./bigbang folder from the customer Big Bang repository and place it into a Git repository under your control.

Overview

The template is setup to allow you to customize the Big Bang deployment for your environment. The template contains support for two cluster environments, dev and prod, but can be easily extended to more. At a minimum, the following must be configured in the template for a properly working deployment:

  • Big Bang version - allows you to control when to upgrade
  • Environment Git repository - where your copy of the configuration template is located
  • Hostname - the base domain to use for your packages
  • Reference to SOPS private key - See the encryption help for more information.
  • Iron Bank pull credentials

The Configuration Template help contains details on how to setup these items.

If there is additional configuration you want, refer to the configuration help for details.

Environments (Multi-cluster)

In the template, there are two folders used for each cluster environment, base and a named folder (e.g. dev or prod). base is used as a shared folder between all the environments and a <env> folder is specific to an environment. Overrides proceed as follows, with <env> having the highest precedence.

graph LR
  pkg[Package values]-->bb[Big Bang values]-->base[`base` values]-->named[`<env>` values]

Next Steps

Follow the steps in the encryption and configuration documentation to setup the minimum viable configuration for deployment.