Skip to content

Opstella UI Console (Front-end)

Last updated:

This content is not available in your language yet.

🟢 Management

Opstella UI is a Frontend Service for Opstella

  • 🛡️TLS Certificate for Opstella UI (Front-end)
    • Opstella UI (Front-end) will be exposed through Web with HTTPS.
  1. Connect to 🟢 Management Kubernetes Cluster ; i.e w/ Kubeconfig File

    Ensure you have defined and loaded your Global Shell Variables as described in Shell Variables.

    Terminal window
    source $HOME/opstella-installation/shell-values/kubernetes/management_cluster.vars.sh
    Terminal window
    export KUBECONFIG="$HOME/opstella-installation/kubeconfigs/management_cluster.yaml"
  2. Create Kubernetes Secret for TLS Certificate in Namespace devsecops-system, before you proceed (if you not have it done).

    • Associate TLS Certificate with Ingress from Kubernetes Secret named wildcard-${BASE_DOMAIN}-tls
    export K8S_INGRESS_TLS_CERTIFICATE_SECRET_NAME="wildcard-${BASE_DOMAIN}-tls"
  3. Prepare 🟢 Management Kubernetes Cluster Information

    Ensure K8S_INGRESSCLASS_NAME, K8S_INGRESS_TLS_CERTIFICATE_SECRET_NAME, BASE_DOMAIN, OPSTELLA_UI_DOMAIN are defined as per the Shell Variables guide.


  1. Prepare Helm Values Configurations

    Please give attention to these values:

    • Application Configurations

      • image.repository, image.tag : Set your Opstella Platform Container Image Location, Version

        export OPSTELLA_REGISTRY="asia-southeast1-docker.pkg.dev/opstella/platform/ui"
        Terminal window
        export OPSTELLA_UI_VERSION="vX.Y.Z"
      • OPSTELLA_UI_DOMAIN : Set your Domain for access to Opstella Platform

        Terminal window
        export OPSTELLA_UI_DOMAIN="opstella.${BASE_DOMAIN}"
  2. Create Helm Values Configurations

    Terminal window
    cat <<EOF > $HOME/opstella-installation/helm-values/opstella-ui-full-values.yaml
    image:
    repository: ${OPSTELLA_REGISTRY}
    tag: ${OPSTELLA_UI_VERSION}
    pullPolicy: Always
    nameOverride: opstella-ui
    fullnameOverride: opstella-ui
    serviceAccount:
    name:
    imagePullSecrets:
    - name: registry-secret
    ingress:
    enabled: true
    className: ${K8S_INGRESSCLASS_NAME}
    annotations:
    kubernetes.io/ingress.class: ${K8S_INGRESSCLASS_NAME}
    nginx.ingress.kubernetes.io/proxy-body-size: 100M
    hosts:
    - host: ${OPSTELLA_UI_DOMAIN}
    paths:
    - path: /
    pathType: Prefix
    backend:
    servicePort: 80
    tls:
    - hosts:
    - ${OPSTELLA_UI_DOMAIN}
    secretName: ${K8S_INGRESS_TLS_CERTIFICATE_SECRET_NAME}
    containerPorts: 3000
    podSecurityContext:
    fsGroup: 1000
    securityContext:
    seccompProfile:
    type: RuntimeDefault
    capabilities:
    drop: ["ALL"]
    runAsNonRoot: true
    privileged: false
    allowPrivilegeEscalation: false
    runAsGroup: 1000
    runAsUser: 1000
    EOF
  1. Install Opstella UI

    Install Helm Release using local opstella-platform Helm Chart

    Terminal window
    helm install opstella-ui --namespace opstella-system \
    $HOME/opstella-installation/helm-charts/opstella-platform-chart \
    -f $HOME/opstella-installation/helm-values/opstella-ui-full-values.yaml
  1. Get Pod Status - Opstella UI Console

    Terminal window
    kubectl get pods -n opstella-system

    Opstella UI Console should be Running

    NAME READY STATUS RESTARTS AGE
    ... (deducted)
    opstella-ui-XXXXXXX-YYYYY 1/1 Running 0 XdXh

Finished?

Use the below navigation to proceed