sockshop-demo-test/carts-db/job/config.yaml

66 lines
2.8 KiB
YAML

apiVersion: v2
actions:
- name: "Deploy using helm"
events:
- name: "sh.keptn.event.deployment.triggered"
tasks:
- name: "Run helm"
files:
- /charts
env:
- name: IMAGE
value: "$.data.configurationChange.values.image"
valueFrom: event
image: "alpine/helm:3.7.2"
serviceAccount: "jes-deploy-using-helm"
cmd: ["helm"]
args: ["upgrade", "--force", "--create-namespace", "--install", "-n", "$(KEPTN_PROJECT)-$(KEPTN_STAGE)", "$(KEPTN_SERVICE)", "/keptn/charts/$(KEPTN_SERVICE).tgz", "--set", "image=$(IMAGE)", "--set", "keptn.service=$(KEPTN_SERVICE)", "--set", "keptn.deployment=$(KEPTN_STAGE)", "--set", "keptn.project=$(KEPTN_PROJECT)","--set", "keptn.stage=$(KEPTN_STAGE)", "--wait"]
- name: "Uninstall"
events:
- name: "sh.keptn.event.uninstall.triggered"
tasks:
- name: "Run helm uninstall"
serviceAccount: "jes-deploy-using-helm"
image: "alpine/helm:3.7.2"
cmd: ["helm"]
args: ["uninstall", "-n", "$(KEPTN_PROJECT)-$(KEPTN_STAGE)", "$(KEPTN_SERVICE)", "--wait"]
# - name: "Rollback using helm"
# events:
# - name: "sh.keptn.event.rollback.triggered"
# tasks:
# - name: "Run helm"
# serviceAccount: "jes-deploy-using-helm"
# image: "alpine/helm:3.7.2"
# cmd: ["helm"]
# args: ["rollback", "-n", "$(KEPTN_PROJECT)-$(KEPTN_STAGE)", "$(KEPTN_SERVICE)", "--wait"]
# - name: "Scale using kubectl"
# events:
# - name: "sh.keptn.event.action.triggered"
# jsonpath:
# property: "$.data.action.action"
# match: "scaling"
# tasks:
# - name: "Run kubectl"
# serviceAccount: "jes-deploy-using-helm"
# env:
# - name: SCALING
# value: $.data.action.value
# valueFrom: event
# image: "alpine/k8s:1.20.15"
# cmd: ["sh"]
# # Note: Hardcoded kubernetes namespace & KEPTN_SERVICE does most likely not match the deployment name
# args: ["-c", "REPLICAS=$(kubectl -n ${KEPTN_PROJECT}-${KEPTN_STAGE} get deployment/${KEPTN_SERVICE} -o go-template='{{.spec.replicas}}');DESIRED=$((${SCALING}+${REPLICAS}));echo Scaling deployment to ${DESIRED} && kubectl -n ${KEPTN_PROJECT}-${KEPTN_STAGE} scale --replicas=${DESIRED} deployment/${KEPTN_SERVICE}"]
# - name: "Run tests using locust"
# events:
# - name: "sh.keptn.event.test.triggered"
# tasks:
# - name: "Run locust"
# files:
# - locust/basic.py
# - locust/locust.conf
# image: "locustio/locust:2.8.6"
# cmd: ["locust"]
# args: ["--config", "/keptn/locust/locust.conf", "-f", "/keptn/locust/basic.py", "--host", "http://$(KEPTN_SERVICE)-$(KEPTN_STAGE).nttdata-xlabs.com", "--only-summary"]