<aside>📌 Command-first runbook for customer deployment calls. Replace placeholders before running. For production environments, run changes through the customer-approved change process.
</aside>
Run:
export KUBECONFIG=/path/to/customer-kubeconfig
export KUBE_CONTEXT=<customer-context>
kubectl --kubeconfig "$KUBECONFIG" --context "$KUBE_CONTEXT" config current-context
kubectl --kubeconfig "$KUBECONFIG" --context "$KUBE_CONTEXT" get nodes
kubectl --kubeconfig "$KUBECONFIG" --context "$KUBE_CONTEXT" get namespace hyperplane-superset || kubectl --kubeconfig "$KUBECONFIG" --context "$KUBE_CONTEXT" create namespace hyperplane-superset
Run:
git clone --depth=1 --branch <release-branch> <https://github.com/devsentient/monorepo.git> /tmp/monorepo
cd /tmp/monorepo/stack-components/superset/helm
helm dependency update .
Run:
kubectl --kubeconfig "$KUBECONFIG" --context "$KUBE_CONTEXT" create secret generic superset-secrets -n hyperplane-superset --from-literal=SUPERSET_SECRET_KEY='<strong-secret-key>' --from-literal=ADMIN_PASSWORD='<strong-password>'
Run:
cat > /tmp/superset-values.yaml <<'EOF_VALUES'
superset:
configOverrides:
secret: |
SECRET_KEY = '<from-secret>'
FEATURE_FLAGS = {"ENABLE_TEMPLATE_PROCESSING": True}
postgresql:
enabled: true
redis:
enabled: true
init:
enabled: true
adminUser:
username: admin
email: admin@example.com
resources:
requests:
cpu: 500m
memory: 1Gi
limits:
cpu: 2
memory: 4Gi
ingress:
enabled: true
host: superset.<customer-domain>
EOF_VALUES
Run:
helm --kubeconfig "$KUBECONFIG" --kube-context "$KUBE_CONTEXT" upgrade --install superset /tmp/monorepo/stack-components/superset/helm \\
--namespace hyperplane-superset \\
--create-namespace \\
--values /tmp/superset-values.yaml \\
--timeout 15m \\
--wait
Run:
helm --kubeconfig "$KUBECONFIG" --kube-context "$KUBE_CONTEXT" status superset -n hyperplane-superset
kubectl --kubeconfig "$KUBECONFIG" --context "$KUBE_CONTEXT" get pods,svc,pvc,ingress,virtualservice -n hyperplane-superset
kubectl --kubeconfig "$KUBECONFIG" --context "$KUBE_CONTEXT" get events -n hyperplane-superset --sort-by=.lastTimestamp | tail -n 60
kubectl --kubeconfig "$KUBECONFIG" --context "$KUBE_CONTEXT" logs -n hyperplane-superset -l app.kubernetes.io/instance=superset --tail=100
Run:
kubectl --kubeconfig "$KUBECONFIG" --context "$KUBE_CONTEXT" port-forward -n hyperplane-superset svc/superset 8088:8088
# In another terminal:
curl -I <http://localhost:8088/health>
Run:
helm --kubeconfig "$KUBECONFIG" --kube-context "$KUBE_CONTEXT" history superset -n hyperplane-superset
helm --kubeconfig "$KUBECONFIG" --kube-context "$KUBE_CONTEXT" rollback superset <REVISION> -n hyperplane-superset
kubectl --kubeconfig "$KUBECONFIG" --context "$KUBE_CONTEXT" rollout status deployment/superset -n hyperplane-superset || true