Skip to main content
Version: 5.21.0

Installation Options

The Structsure Enterprise installation can be customized in a number of ways by providing configuration details during the installation/upgrade process. This page describes the installation options and how to specify their values.

Command Line Arguments

For minor configuration changes, command line arguments are the simplest method of providing configuration details to the Structsure Enterprise installation process. These arguments can be supplied using the --set PARAMETER=value syntax. For example, to deploy a collaboration cluster, issue the following command:

zarf package deploy zarf-package-structsure-enterprise-amd64-v5.0.0.tar.zst.part000 --no-progress --confirm --set CLUSTER_TYPE=collaboration

Configuration File

For more complex configurations, a configuration file is recommended. This configuration file's path can be passed to the installation process using the ZARF_CONFIG environment variable.

Create a configuration file, and save it to a safe location.

package:
deploy:
set:
CLUSTER_TYPE: collaboration

Provide the configuration:

ZARF_CONFIG=/home/user/my-structsure-config.yaml zarf package deploy zarf-package-structsure-enterprise-amd64-v5.0.0.tar.zst.part000 --no-progress --confirm

This configuration can be create in the YAML, JSON, TOML, or INI format.

JSON:

{
"package": {
"deploy": {
"set": {
"CLUSTER_TYPE": "collaboration"
}
}
}
}

TOML:

[package.deploy.set]
CLUSTER_TYPE = 'collaboration'

INI:

[package.deploy.set]
CLUSTER_TYPE=collaboration

Full Example Configuration

Below you can find an example of every configuration option in a YAML config file. This file is for demonstration purposes only and should not be used to configure a Structsure installation.

package:
deploy:
set:
CLUSTER_TYPE: deployTarget
CROSSPLANE_REPLICAS: 1
CROSSPLANE_RBAC_REPLICAS: 1
CROSSPLANE_METRICS_ENABLED: true
DOMAIN: example.com
FQDN: host.example.com
SINGLE_NODE: false
CERT_PATH: /path/to/server-cert.pem
KEY_PATH: /path/to/server-key.pem
CA_CERT_PATH: /path/to/ca-cert.pem
CERT: |
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
KEY: |
-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----
CA_CERT: |
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
CA_CERT_AWS: |
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
DOCKER_SOCKET: /var/run/docker.sock
DISABLE_ROOT_FS_MOUNT: false
ENF_NO_SYSTEM_PROFILES: false
BIGBANG_VALUES_FILE: /path/to/bigbang-values.yaml
BIGBANG_SECRETS_FILE: /path/to/bigbang-secrets.yaml
# App toggles
ARGOCD_ENABLED: true
AUTHSERVICE_ENABLED: true
CERTMANAGER_ENABLED: false
CLUSTERAUDITOR_ENABLED: false
CLUSTERAUTOSCALER_ENABLED: true
CONFLUENCE_ENABLED: false
CONSOLE_ENABLED: true
FLUENTBIT_ENABLED: false
GATEKEEPER_ENABLED: false
GITLAB_ENABLED: false
GITLABRUNNER_ENABLED: false
GRAFANA_ENABLED: true
ISTIOCONTROLPLANE_ENABLED: true
ISTIOOPERATOR_ENABLED: true
JIRA_ENABLED: false
KEYCLOAK_ENABLED: false
KYVERNO_ENABLED: true
KYVERNOPOLICIES_ENABLED: true
KYVERNOREPORTER_ENABLED: true
LOKI_ENABLED: true
MATTERMOST_ENABLED: false
MATTERMOSTOPERATOR_ENABLED: false
MINIO_ENABLED: false
MINIOOPERATOR_ENABLED: false
MONITORING_ENABLED: true
NEUVECTOR_ENABLED: true
PROMTAIL_ENABLED: true
SONARQUBE_ENABLED: false
TWISTLOCK_ENABLED: false
VAULT_ENABLED: false
VELERO_ENABLED: true
METRICSSERVER_ENABLED: false
KIALI_ENABLED: false
TEMPO_ENABLED: false
KEYCLOAK_CONFIG_ENABLED: true
NEXUS_REPOSITORY_MANAGER_ENABLED: false
NEXUS_IQ_ENABLED: false

Configuration Parameters

ParameterDescriptionDefault
CLUSTER_TYPEPreset cluster type to deploy. Valid values are deployTarget, collaboration or custom.deployTarget
CROSSPLANE_REPLICASNumber of Crossplane pods to run.1
CROSSPLANE_RBAC_REPLICASNumber of Crossplane RBAC pods to run.1
CROSSPLANE_METRICS_ENABLEDEnable/disable the Crossplane metrics server.true
DOMAINDomain name to use when exposing services. If not provided, an attempt will be made to determine the IP address of the deployment and a nip.io domain will be used.
FQDNFully Qualified Domain Name of the installation. Used to create a nip.io domain. If left empty, the API server URL will be used instead.
SINGLE_NODEReduces the resource footprint of Structsure and removes redundant resources, and should only be used for demonstration purposes. This will automatically be enabled when deploying to a cluster with less than 3 nodes.
CERT_PATHFilesystem path to a x509 DER encoded certificate. The ingress gateway will be configured to use this certificate. If none is provided, a self-signed certificate will be generated.
KEY_PATHFilesystem path to a x509 DER encoded Key. The ingress gateway will be configured to use this key. If none is provided, a key will be generated.
CERTThe contents of a x509 DER encoded certificate provided as a string. The ingress gateway will be configured to use this certificate. If none is provided, a self-signed certificate will be generated.
KEYThe contents of a x509 DER encoded key provided as as a string. The ingress gateway will be configured to use this key. If none is provided, a key will be generated.
DOCKER_SOCKETPath to the runtime socket. This value is passed to the container security engine (Neuvector) and is dependent on the distribution of Kubernetes. If not provided, the installer will attempt to determine the correct path.
DISABLE_ROOT_FS_MOUNTToggles the monitoring stack's root FS mount. Setting this to true is required on some deployments, such as k3d or colima + k3s.
ENF_NO_SYSTEM_PROFILESToggles a related environment variable in the Neuvector pods. This is required on some deployments lacking kernel capabilities.
BIGBANG_VALUES_FILEPath to a YAML file containing Big Bang values. The contents will be written to corresponding Kubernetes configMap resources.
BIGBANG_SECRETS_FILEPath to a YAML file containing sensitive Big Bang values. The contents will be written to corresponding Kubernetes secret resources.
ARGOCD_ENABLEDEnable/disable the Argo CD add-on. Enabled by default with a Deploy Target cluster type.
AUTHSERVICE_ENABLEDEnable/disable the Istio Authservice add-on. Enabled by default.
CLUSTERAUDITOR_ENABLEDEnable/disable the Cluster Auditor add-on. Disable by default.
CONFLUENCE_ENABLEDEnable/disable the Confluence add-on. Enabled by default with a Collaboration cluster type.
CONSOLE_ENABLEDEnable/disable the Console add-on. Enabled by default with a Collaboration cluster type.
FLUENTBIT_ENABLEDEnable/disable the Fluentbit add-on. Disable by default.
GATEKEEPER_ENABLEDEnable/disable the OPA Gatekeeper add-on. Disable by default.
GITLAB_ENABLEDEnable/disable the Keycloak add-on. Enabled by default with a Collaboration cluster type.
GITLABRUNNER_ENABLEDEnable/disable the Gitlab Runner add-on. Enabled by default with a Collaboration cluster type.
GRAFANA_ENABLEDEnable/disable the Grafana add-on. Enabled by default.
ISTIOCONTROLPLANE_ENABLEDEnable/disable the Istio Control Plane add-on. Enabled by default.
ISTIOOPERATOR_ENABLEDEnable/disable the Istio Operator add-on. Enabled by default.
JIRA_ENABLEDEnable/disable the Jira add-on. Enabled by default with a Collaboration cluster type.
KEYCLOAK_ENABLEDEnable/disable the Keycloak add-on. Enabled by default with a Collaboration cluster type.
KYVERNO_ENABLEDEnable/disable the Kyverno add-on. Enabled by default.
KYVERNOPOLICIES_ENABLEDEnable/disable the Kyverno Policies add-on. Enabled by default.
KYVERNOREPORTER_ENABLEDEnable/disable the Kyverno Reporter add-on. Enabled by default.
LOKI_ENABLEDEnable/disable the Loki add-on. Enabled by default.
MATTERMOST_ENABLEDEnable/disable the Mattermost add-on. Enabled by default with a Collaboration cluster type.
MATTERMOSTOPERATOR_ENABLEDEnable/disable the Mattermost Operator add-on. Enabled by default with a Collaboration cluster type.
MINIO_ENABLEDEnable/disable the Minio add-on. Disable by default.
MINIOOPERATOR_ENABLEDEnable/disable the Minio Operator add-on. Enabled by default with a Collaboration cluster type.
MONITORING_ENABLEDEnable/disable the Monitoring add-on. Enabled by default.
NEUVECTOR_ENABLEDEnable/disable the Neuvector add-on. Enabled by default.
PROMTAIL_ENABLEDEnable/disable the Promtail add-on. Enabled by default.
SONARQUBE_ENABLEDEnable/disable the Sonarqube add-on. Enabled by default with a Collaboration cluster type.
TWISTLOCK_ENABLEDEnable/disable the Twistlock add-on. Disable by default.
VAULT_ENABLEDEnable/disable the Vault add-on. Disable by default.
VELERO_ENABLEDEnable/disable the Velero add-on. Enabled by default.
METRICSSERVER_ENABLEDEnable/disable the Metrics Server add-on. Enabled by default if no other metrics server installations are present.
KIALI_ENABLEDEnable/disable the Kiali add-on. Disable by default.
TEMPO_ENABLEDEnable/disable the Tempo add-on. Disable by default.
KEYCLOAK_CONFIG_ENABLEDEnable/disable the keycloak configurations. Enabled by default.
NEXUS_REPOSITORY_MANAGER_ENABLEDEnable/disable the Nexus Repository Manager add-on. Disable by default.
NEXUS_IQ_ENABLEDEnable/disable the Nexus IQ add-on. Disable by default.