Skip to content

This is the Experimental version (Latest). It is under active development and may change. For the most reliable documentation, use the version selector in the top-right to switch to Stable, or click here to go to the Stable version's homepage.

Opstella UI Console (Front-end)

Last updated:

🟢 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 $BASE_WORKING_DIR/shell-values/kubernetes/management_cluster.vars.sh
  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

    (Ensure K8S_INGRESS_TLS_CERTIFICATE_SECRET_NAME is defined in your variables)

  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

        (Ensure OPSTELLA_REGISTRY is loaded from your variables)

        (Ensure OPSTELLA_UI_VERSION and OPSTELLA_UI_DOMAIN are loaded from variables)

  2. Create Helm Values Configurations

    Terminal window
    cat <<EOF > $BASE_WORKING_DIR/helm-values/opstella-ui-full-values.yaml
    image:
    repository: ${OPSTELLA_UI_IMAGE_REPOSITORY}
    tag: ${OPSTELLA_UI_IMAGE_TAG}
    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 upgrade --install opstella-ui --namespace opstella-system \
    oci://asia-southeast1-docker.pkg.dev/opstella-dev/opstella-charts/generic-deployment \
    --version 0.3.15 \
    -f $BASE_WORKING_DIR/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