Skip to main content
Version: 6.13.0

How to Configure Big Bang Values

This document is intended for System Integrators who want to edit Big Bang values in the cluster that control many of the features and settings available to SmoothGlue applications.

This will cover a basic example of Big Bang, how to merge with IaC values, and more Advanced Customization of Big Bang. This section assumes you understand yaml, know what the IaC does, and understand how to configure zarf .

note

This document assumes the Setup Directory Structure has been followed to generate the necessary config files Big Bang.

There are two types of value files SmoothGlue recognizes:

  • bigbang-values.yaml - non-sensitive values
  • bigbang-secrets.yaml - sensitive values

Big Bang Example

Big Bang is a collection of Helm Charts that can be used to customize applications.

The following is an example that adds a CA cert to the global SSO config, as well as sets the resource allocated to Prometheus.

bigbang-values.yaml:

sso:
# Root CA
certificate_authority:
cert: |
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
monitoring:
values:
prometheus:
prometheusSpec:
resources:
requests:
cpu: "1"
memory: 8Gi
limits:
cpu: "1"
memory: 8Gi

Monitoring, and Prometheus inside of it, are Big Bang Core applications, some applications will be addons for Big Bang that aren't in the core.

Added to the example are GitLab values that enable toolbox with extra resources and give SonarQube a certificate at the start.

bigbang-values.yaml:

sso:
# Root CA
certificate_authority: |
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
monitoring:
values:
prometheus:
prometheusSpec:
resources:
requests:
cpu: "1"
memory: 8Gi
limits:
cpu: "1"
memory: 8Gi
addons:
gitlab:
values:
gitlab:
toolbox:
enabled: true
replicas: 1
backups:
cron:
resources:
limits:
cpu: 1
memory: 2G
requests:
cpu: 500m
memory: 750M
persistence:
enabled: true
size: 5Ti
sonarqube:
sso:
enabled: true
provider_name: Keycloak
certificate: <BASE 64 CA HERE>

In addition to addons, third party applications such as Jira and Confluence are supported in SmoothGlue as packages.

Added to the example are Jira and Confluence with some resource increases.

bigbang-values.yaml:

sso:
# Root CA
certificate_authority: |
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
monitoring:
values:
prometheus:
prometheusSpec:
resources:
requests:
cpu: "1"
memory: 8Gi
limits:
cpu: "1"
memory: 8Gi
addons:
gitlab:
values:
gitlab:
toolbox:
enabled: true
replicas: 1
backups:
cron:
resources:
limits:
cpu: 1
memory: 2G
requests:
cpu: 500m
memory: 750M
persistence:
enabled: true
size: 5Ti
sonarqube:
sso:
enabled: true
provider_name: Keycloak
certificate: <BASE 64 CA HERE>
packages:
confluence:
values:
confluence:
resources:
container:
requests:
cpu: "4"
memory: 10G
limits:
cpu: "4"
memory: 10G
jira:
values:
jira:
resources:
container:
requests:
cpu: "4"
memory: 10G
limits:
cpu: "4"
memory: 10G

There will be values that need to remain secret. In SmoothGlue, values within bigbang-secrets.yaml are stored separately and more securely from bigbang-values.yaml.

The following is an example of configuring ArgoCD with a SSO client secret.

bigbang-secrets.yaml:

addons:
argocd:
sso:
client_id: <CLIENT ID HERE>

Merge with IaC

The SmoothGlue IaC also generates Big Bang values and secret values under infra-iac/outputs/. It is important that both the user-defined values and the SmoothGlue IaC values are used when deploying SmoothGlue. When using the recommened initial setup, SmoothGlue provides a compile-config.sh script for compiling SmoothGlue IaC values with user-provided values into a single bigbang-values.yaml and bigbang-secret.yaml file. Compiled values are located under the compiled directory.

note

Configuring and rerunning the SmoothGlue IaC can generate new outputs requiring another merge of the values and secrets to be applied again. System Integrators should run the compile-config.sh script whenever they change the user-defined values or after running the SmoothGlue IaC.

Now when you apply the zarf package in a Build or Run your values will be set.

Advanced Customization

SmoothGlue uses the Big Bang umbrella chart as a wrapper around the individual application Helm charts, which provides some auto-configuration of the applications' integrations with each other. For example, the umbrella chart helps configure integrations between Keycloak and other applications. All provided values are first passed through the Big Bang Helm chart before being passed to the appropriate individual application Helm charts, so it is important to pass values at the correct level of the values hierarchy. The correct hierarchy level depends upon whether the application is considered to be part of the Big Bang core, a Big Bang add-on, or a third party application.

For a more advanced look at setting Big Bang Values, including during run time see How to Set Helm Values in SmoothGlue Enterprise.

For a list of values that can be set see the Big Bang Values Reference and repos that are available in Big Bang.