Skip to content

Setup Shell Variable Values

This content is not available in your language yet.

Create Shell Varaible Values helps you store all of the necessary values that required in installation process.

These values should be determined during the Planning Phase.

Example:

InformationYour ValueNote
Organisation NamefoobarShort name
Keycloak Realm Namefoobar-opstellaRealm name
Domain Nameexample.comBase domain
Storage ServiceseaweedfsS3 compatible storage service
TLS Certificateexample.comWildcard certificate & key for domains

Store any globally applicated variables in the following directory.

  • $HOME/opstella-installation/shell-values/global.vars.sh

Define your organization name and base domain first to ensure they are correctly populated in the file.

Define your organization name and base domain first to ensure they are correctly populated in the file.

Terminal window
export ORGANIZATION_NAME="foobar"
export BASE_DOMAIN="example.com"
Terminal window
cat <<EOF > $HOME/opstella-installation/shell-values/global.vars.sh
export ORGANIZATION_NAME="${ORGANIZATION_NAME}"
export BASE_DOMAIN="${BASE_DOMAIN}"
Terminal window
cat <<EOF > $HOME/opstella-installation/shell-values/global.vars.sh
export ORGANIZATION_NAME="${ORGANIZATION_NAME}"
export BASE_DOMAIN="${BASE_DOMAIN}"
export KEYCLOAK_DOMAIN="idp.${BASE_DOMAIN}"
export GITLAB_DOMAIN="gitlab.${BASE_DOMAIN}"
export SONARQUBE_DOMAIN="sonarqube.${BASE_DOMAIN}"
export HARBOR_DOMAIN="harbor.${BASE_DOMAIN}"
export DEFECTDOJO_DOMAIN="defectdojo.${BASE_DOMAIN}"
export VAULT_DOMAIN="vault.${BASE_DOMAIN}"
export GRAFANA_DASHBOARD_DOMAIN="grafana.${BASE_DOMAIN}"
export GRAFANA_MIMIR_DOMAIN="mimir.${BASE_DOMAIN}"
export GRAFANA_LOKI_DOMAIN="loki.${BASE_DOMAIN}"
export GRAFANA_TEMPO_DOMAIN="tempo.${BASE_DOMAIN}"
export KEYCLOAK_REALM="foobar-opstella"
export ARGOCD_DOMAIN="argocd.${BASE_DOMAIN}"
EOF

By Kubernetes Cluster(s) Shell Variable Values

Section titled “By Kubernetes Cluster(s) Shell Variable Values”

Store any by Kubernetes Cluster(s) variables in the following directory.

  • $HOME/opstella-installation/shell-values/kubernetes/**.vars.sh

Create $HOME/opstella-installation/shell-values/kubernetes/management_cluster.vars.sh

Terminal window
cat <<EOF > $HOME/opstella-installation/shell-values/kubernetes/management_cluster.vars.sh
export K8S_INTERNAL_DOMAIN="cluster.local"
export K8S_INGRESSCLASS_NAME="nginx"
export K8S_STORAGECLASS_NAME="longhorn"
export K8S_INGRESS_TLS_CERTIFICATE_SECRET_NAME="wildcard-${BASE_DOMAIN}-tls"
EOF

Create $HOME/opstella-installation/shell-values/kubernetes/nonprod_cluster.vars.sh

Terminal window
cat <<EOF > $HOME/opstella-installation/shell-values/kubernetes/nonprod_cluster.vars.sh
export ARGOCD_DOMAIN="argocd-nonprod.${BASE_DOMAIN}"
export HEADLAMP_DOMAIN="headlamp-nonprod.${BASE_DOMAIN}"
export K8S_INTERNAL_DOMAIN="cluster.local"
export K8S_INGRESSCLASS_NAME="nginx"
export K8S_STORAGECLASS_NAME="longhorn"
export K8S_INGRESS_TLS_CERTIFICATE_SECRET_NAME="wildcard-${BASE_DOMAIN}-tls"
EOF

Create $HOME/opstella-installation/shell-values/kubernetes/prod_cluster.vars.sh

Terminal window
cat <<EOF > $HOME/opstella-installation/shell-values/kubernetes/prod_cluster.vars.sh
export ARGOCD_DOMAIN="argocd-prod.${BASE_DOMAIN}"
export HEADLAMP_DOMAIN="headlamp-prod.${BASE_DOMAIN}"
export K8S_INTERNAL_DOMAIN="cluster.local"
export K8S_INGRESSCLASS_NAME="nginx"
export K8S_STORAGECLASS_NAME="longhorn"
export K8S_INGRESS_TLS_CERTIFICATE_SECRET_NAME="wildcard-${BASE_DOMAIN}-tls"
EOF

Store any by Tools-oriented applicated variables in the following directory.

  • $HOME/opstella-installation/shell-values/tools/**.vars.sh
  • Domain: GITLAB_DOMAIN

$HOME/opstella-installation/shell-values/tools/gitlab.vars.sh

cat <<EOF > $HOME/opstella-installation/shell-values/tools/gitlab.vars.sh
export GITLAB_DOMAIN="gitlab.${BASE_DOMAIN}"
EOF
  • Admin Password: HARBOR_ADMIN_PASSWORD

    export HARBOR_ADMIN_PASSWORD="CHANGEME"
  • Domain: HARBOR_DOMAIN

$HOME/opstella-installation/shell-values/tools/harbor.vars.sh

cat <<EOF > $HOME/opstella-installation/shell-values/tools/harbor.vars.sh
export HARBOR_DOMAIN="harbor.${BASE_DOMAIN}"
export HARBOR_ADMIN_USERNAME="admin"
export HARBOR_ADMIN_PASSWORD="${HARBOR_ADMIN_PASSWORD}"
EOF
  • Admin Password: SONARQUBE_ADMIN_PASSWORD

    export SONARQUBE_ADMIN_PASSWORD="CHANGEME"
  • Domain: SONARQUBE_DOMAIN

$HOME/opstella-installation/shell-values/tools/sonarqube.vars.sh

cat <<EOF > $HOME/opstella-installation/shell-values/tools/sonarqube.vars.sh
export SONARQUBE_DOMAIN="sonarqube.${BASE_DOMAIN}"
export SONARQUBE_ADMIN_USERNAME="admin"
export SONARQUBE_ADMIN_PASSWORD="${SONARQUBE_ADMIN_PASSWORD}"
EOF
  • Admin Password: DEFECTDOJO_ADMIN_PASSWORD

    export DEFECTDOJO_ADMIN_PASSWORD="CHANGEME"
  • DefectDojo Domain: DEFECTDOJO_DOMAIN

$HOME/opstella-installation/shell-values/tools/defectdojo.vars.sh

cat <<EOF > $HOME/opstella-installation/shell-values/tools/defectdojo.vars.sh
export DEFECTDOJO_DOMAIN="defectdojo.${BASE_DOMAIN}"
export DEFECTDOJO_ADMIN_USERNAME="defectdojo"
export DEFECTDOJO_ADMIN_PASSWORD="${DEFECTDOJO_ADMIN_PASSWORD}"
export DEFECTDOJO_ADMIN_EMAIL="admin@${DEFECTDOJO_DOMAIN}"
EOF
  • Domain: VAULT_DOMAIN

$HOME/opstella-installation/shell-values/tools/vault.vars.sh

cat <<EOF > $HOME/opstella-installation/shell-values/tools/vault.vars.sh
export VAULT_DOMAIN="vault.${BASE_DOMAIN}"
EOF

$HOME/opstella-installation/shell-values/tools/observability.vars.sh

cat <<EOF > $HOME/opstella-installation/shell-values/tools/observability.vars.sh
export GRAFANA_DASHBOARD_DOMAIN="grafana.${BASE_DOMAIN}"
export GRAFANA_DASHBOARD_ADMIN_USERNAME="admin"
export GRAFANA_DASHBOARD_ADMIN_PASSWORD="CHANGEME"
export GRAFANA_MIMIR_DOMAIN="mimir.${BASE_DOMAIN}"
export GRAFANA_LOKI_DOMAIN="loki.${BASE_DOMAIN}"
export GRAFANA_TEMPO_DOMAIN="tempo.${BASE_DOMAIN}"
EOF

Load your Global Shell Variables in your shell session.

Terminal window
source $HOME/opstella-installation/shell-values/global.vars.sh

Load your Global Shell Variables in your shell session.

Terminal window
source $HOME/opstella-installation/shell-values/global.vars.sh

Finished?

Use the below navigation to proceed