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-appsmith || kubectl --kubeconfig "$KUBECONFIG" --context "$KUBE_CONTEXT" create namespace hyperplane-appsmith
Run:
git clone --depth=1 --branch <release-branch> <https://github.com/devsentient/monorepo.git> /tmp/monorepo
cd /tmp/monorepo/stack-components/appsmith/helm
helm dependency update .
Run:
kubectl --kubeconfig "$KUBECONFIG" --context "$KUBE_CONTEXT" create secret generic appsmith-secrets -n hyperplane-appsmith --from-literal=APPSMITH_ENCRYPTION_PASSWORD='<strong-password>' --from-literal=APPSMITH_ENCRYPTION_SALT='<strong-salt>'
Run:
cat > /tmp/appsmith-values.yaml <<'EOF_VALUES'
appsmith:
image:
tag: <approved-version>
applicationConfig:
APPSMITH_SIGNUP_DISABLED: "true"
APPSMITH_DISABLE_TELEMETRY: "true"
APPSMITH_ENCRYPTION_PASSWORD: "<from-secret>"
APPSMITH_ENCRYPTION_SALT: "<from-secret>"
APPSMITH_CUSTOM_DOMAIN: "https://appsmith.<customer-domain>"
persistence:
enabled: true
size: 20Gi
resources:
requests:
cpu: 500m
memory: 1Gi
limits:
cpu: 2
memory: 4Gi
EOF_VALUES
Run:
helm --kubeconfig "$KUBECONFIG" --kube-context "$KUBE_CONTEXT" upgrade --install appsmith /tmp/monorepo/stack-components/appsmith/helm \\
--namespace hyperplane-appsmith \\
--create-namespace \\
--values /tmp/appsmith-values.yaml \\
--timeout 15m \\
--wait
Run:
helm --kubeconfig "$KUBECONFIG" --kube-context "$KUBE_CONTEXT" status appsmith -n hyperplane-appsmith
kubectl --kubeconfig "$KUBECONFIG" --context "$KUBE_CONTEXT" get pods,svc,pvc,ingress,virtualservice -n hyperplane-appsmith
kubectl --kubeconfig "$KUBECONFIG" --context "$KUBE_CONTEXT" get events -n hyperplane-appsmith --sort-by=.lastTimestamp | tail -n 60
kubectl --kubeconfig "$KUBECONFIG" --context "$KUBE_CONTEXT" logs -n hyperplane-appsmith -l app.kubernetes.io/instance=appsmith --tail=100
Run:
kubectl --kubeconfig "$KUBECONFIG" --context "$KUBE_CONTEXT" port-forward -n hyperplane-appsmith svc/appsmith 8080:80
# In another terminal:
curl -I <http://localhost:8080>
Run:
helm --kubeconfig "$KUBECONFIG" --kube-context "$KUBE_CONTEXT" history appsmith -n hyperplane-appsmith
helm --kubeconfig "$KUBECONFIG" --kube-context "$KUBE_CONTEXT" rollback appsmith <REVISION> -n hyperplane-appsmith
kubectl --kubeconfig "$KUBECONFIG" --context "$KUBE_CONTEXT" rollout status deployment/appsmith -n hyperplane-appsmith || true