Commit d8ceb9c0 authored by Federico Falconieri's avatar Federico Falconieri
Browse files

feat: adds helm jobs

parent 78db2951
Loading
Loading
Loading
Loading

k8s/helm/cm-push.yml

0 → 100644
+16 −0
Original line number Diff line number Diff line
---
helm:release:
  image: alpine/k8s:1.21.5
  stage: build
  variables:
    HELM_RELEASE_CHANNEL: stable
  script:
    - helm package ./
    - helm repo index ./ --url ${CI_PROJECT_PATH}
    - helm repo add --username gitlab-ci-token --password ${CI_JOB_TOKEN} ${CI_PROJECT_NAME} "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/helm/${HELM_RELEASE_CHANNEL}"
    - helm cm-push *-${CI_COMMIT_TAG}.tgz ${CI_PROJECT_NAME}
  rules:
    - if: $CI_COMMIT_TAG
  artifacts:
    paths:
      - index.yaml
 No newline at end of file

k8s/helm/lint.yml

0 → 100644
+8 −0
Original line number Diff line number Diff line
---
helm:lint:
  stage: test
  image: alpine/k8s:1.21.5
  script:
    - helm lint
  rules:
    - if: $CI_COMMIT_BRANCH

k8s/helm/upgrade.yml

0 → 100644
+36 −0
Original line number Diff line number Diff line
---
variables:
  DEPLOYMENT_DOMAIN_NAME: example.com
  HELM_CHART_NAME: my-chart
  HELM_REPO_NAME: myrepo
  HELM_REPO_URL: https://charts.myrepo.com
  HELM_UPGRADE_EXTRA_ARGS: ""
  HELM_NAMESPACE: ${HELM_CHART_NAME}-${CI_ENVIRONMENT_SLUG}
  HELM_RELEASE: ${HELM_CHART_NAME}
  HELM_VALUES_FILE: values.yaml
  KUBE_CONTEXT: path/to/agent/repo:youragent-name

.helm:
  stage: deploy
  image: alpine/k8s:1.22.9
  before_script:
    - kubectl config get-contexts
    - kubectl config use-context ${KUBE_CONTEXT}

.helm:upgrade:
  extends: .helm
  environment:
    url: https://${CI_ENVIRONMENT_SLUG}.${DEPLOYMENT_DOMAIN}
  rules:
    - if: $CI_COMMIT_BRANCH
  script:
    - helm repo add ${HELM_REPO_NAME} ${HELM_REPO_URL}
    - helm upgrade --install ${HELM_RELEASE} ${HELM_REPO_NAME}/${HELM_CHART_NAME} --values ${HELM_VALUES_FILE} --create-namespace --namespace=${HELM_NAMESPACE} ${HELM_UPGRADE_EXTRA_ARGS}

.helm:uninstall:
  extends: .helm
  environment:
    action: stop
  script:
    - helm uninstall ${HELM_RELEASE}
  when: manual