Skip to content

Helm Charts

Introduction

Helm is a package manager for Kubernetes. It allows you to define, install, and upgrade even the most complex Kubernetes applications. If you want to provide your own Helm Charts you are free to do so. In this case we will need the following information from you:

  • The repository of the Helm Chart
  • The name of the Helm Chart
  • The version of the Helm Chart
  • The values.yaml file

ArgoCD - Application Auto-Deployment

Introduction

ArgoCD is a tool for managing Kubernetes applications. It allows you to deploy, upgrade, and rollback applications. We use ArgoCD to deploy the applications to the WOMBAT cluster automatically. The advantage for you is that you can deploy the application on your own. Furthermore, you can use the ArgoCD UI to manage the application and look at the logs.

Automated Builds

Introduction

In order to have a reliable and secure deployment of the applications, we use automated builds via GitLab CI/CD. Every time you push a tag to the GitLab repository, a new Docker Image is built and pushed to the container registry.

How to use it

Place a .gitlab-ci.yml file in the root of your GitLab repository with the following content:

---
stages:
  - "build"

.base_before_build_script:
  image: "docker:dind"
  services:
    - "docker:dind"
  tags:
    - "hifis"

build-latest:
  stage: "build"
  extends: ".base_before_build_script"
  script:
    - 'echo "${CI_REGISTRY_PASSWORD}" | docker login --username "$CI_REGISTRY_USER" --password-stdin "${CI_REGISTRY}"'
    - "docker build -t ${CI_REGISTRY_IMAGE}:latest ."
    - "docker push --all-tags ${CI_REGISTRY_IMAGE}"

build-release:
  stage: "build"
  extends: ".base_before_build_script"
  variables:
    THIS_IMAGE_TAG: "${CI_COMMIT_TAG}"
  script:
    - 'echo "${CI_REGISTRY_PASSWORD}" | docker login --username "$CI_REGISTRY_USER" --password-stdin "${CI_REGISTRY}"'
    - "docker build -t ${CI_REGISTRY_IMAGE}:${THIS_IMAGE_TAG} ."
    - "docker push --all-tags ${CI_REGISTRY_IMAGE}"
  rules:
    - if: '$CI_COMMIT_TAG =~ /^v\d+.\d+.\d+/'
      when: "always"
    - when: "never"