adding files 2
This commit is contained in:
87
k8s/fix-business-config-command-spec.yaml
Normal file
87
k8s/fix-business-config-command-spec.yaml
Normal file
@@ -0,0 +1,87 @@
|
||||
version: 0.1
|
||||
component: command
|
||||
timeoutInSeconds: 900
|
||||
shell: bash
|
||||
failImmediatelyOnError: true
|
||||
|
||||
steps:
|
||||
- type: Command
|
||||
name: Validate remediation parameters
|
||||
command: |
|
||||
required_vars=(
|
||||
APP_NAMESPACE
|
||||
CONFIGMAP_NAME
|
||||
OCI_REGION
|
||||
OKE_CLUSTER_OCID
|
||||
OKE_ENDPOINT_TYPE
|
||||
ORDER_MANUAL_REVIEW_RATE_THRESHOLD
|
||||
ORDER_REVENUE_AT_RISK_THRESHOLD
|
||||
ORDER_STUCK_REVIEW_MODE
|
||||
PAYMENT_FORCE_TIMEOUT
|
||||
INVENTORY_FORCE_OUTAGE
|
||||
WAIT_TIMEOUT
|
||||
)
|
||||
|
||||
for var_name in "${required_vars[@]}"; do
|
||||
if [ -z "${!var_name}" ]; then
|
||||
echo "Required parameter is missing: ${var_name}"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
echo "APP_NAMESPACE=${APP_NAMESPACE}"
|
||||
echo "CONFIGMAP_NAME=${CONFIGMAP_NAME}"
|
||||
echo "OCI_REGION=${OCI_REGION}"
|
||||
echo "OKE_CLUSTER_OCID=${OKE_CLUSTER_OCID}"
|
||||
echo "OKE_ENDPOINT_TYPE=${OKE_ENDPOINT_TYPE}"
|
||||
echo "ORDER_MANUAL_REVIEW_RATE_THRESHOLD=${ORDER_MANUAL_REVIEW_RATE_THRESHOLD}"
|
||||
echo "ORDER_REVENUE_AT_RISK_THRESHOLD=${ORDER_REVENUE_AT_RISK_THRESHOLD}"
|
||||
echo "ORDER_STUCK_REVIEW_MODE=${ORDER_STUCK_REVIEW_MODE}"
|
||||
echo "PAYMENT_FORCE_TIMEOUT=${PAYMENT_FORCE_TIMEOUT}"
|
||||
echo "INVENTORY_FORCE_OUTAGE=${INVENTORY_FORCE_OUTAGE}"
|
||||
echo "WAIT_TIMEOUT=${WAIT_TIMEOUT}"
|
||||
|
||||
- type: Command
|
||||
name: Configure kubeconfig
|
||||
command: |
|
||||
mkdir -p "${HOME}/.kube"
|
||||
|
||||
oci ce cluster create-kubeconfig \
|
||||
--cluster-id "${OKE_CLUSTER_OCID}" \
|
||||
--file "${HOME}/.kube/config" \
|
||||
--region "${OCI_REGION}" \
|
||||
--token-version 2.0.0 \
|
||||
--kube-endpoint "${OKE_ENDPOINT_TYPE}"
|
||||
|
||||
export KUBECONFIG="${HOME}/.kube/config"
|
||||
echo "KUBECONFIG=${KUBECONFIG}"
|
||||
|
||||
kubectl config current-context
|
||||
kubectl cluster-info
|
||||
|
||||
- type: Command
|
||||
name: Apply business ConfigMap remediation
|
||||
command: |
|
||||
kubectl patch configmap "${CONFIGMAP_NAME}" -n "${APP_NAMESPACE}" \
|
||||
--type merge \
|
||||
-p "{
|
||||
\"data\": {
|
||||
\"ORDER_MANUAL_REVIEW_RATE_THRESHOLD\": \"${ORDER_MANUAL_REVIEW_RATE_THRESHOLD}\",
|
||||
\"ORDER_REVENUE_AT_RISK_THRESHOLD\": \"${ORDER_REVENUE_AT_RISK_THRESHOLD}\",
|
||||
\"ORDER_STUCK_REVIEW_MODE\": \"${ORDER_STUCK_REVIEW_MODE}\",
|
||||
\"PAYMENT_FORCE_TIMEOUT\": \"${PAYMENT_FORCE_TIMEOUT}\",
|
||||
\"INVENTORY_FORCE_OUTAGE\": \"${INVENTORY_FORCE_OUTAGE}\"
|
||||
}
|
||||
}"
|
||||
|
||||
- type: Command
|
||||
name: Restart order service
|
||||
command: |
|
||||
kubectl rollout restart deployment/order-service -n "${APP_NAMESPACE}"
|
||||
kubectl rollout status deployment/order-service -n "${APP_NAMESPACE}" --timeout="${WAIT_TIMEOUT}"
|
||||
|
||||
- type: Command
|
||||
name: Show remediated configuration
|
||||
command: |
|
||||
kubectl get configmap "${CONFIGMAP_NAME}" -n "${APP_NAMESPACE}" -o yaml
|
||||
kubectl get pods -n "${APP_NAMESPACE}" -o wide
|
||||
Reference in New Issue
Block a user