Init Containers

Introduction

Some Axual components use Init Containers that start before the app container of the Pod. These Init Containers will prepare something that the app container relies upon, for example:

  • The init container creates Java Key Stores (.jks) files based on Kubernetes Secrets in the namespace. See Keystore Provider

  • The init container creates topics and ACLs on Kafka that the app container uses.

  • The init container waits for a connection before the app container starts.

  • The init container runs a custom script

Working with init containers

The init containers are part of the Axual Helm charts and can be configured via the values.yaml file.
Although the init containers may be small in scope, they require everything a regular container needs, for example:

  • A container image - expect to change the repository

  • Sufficient resources (cpu/memory)

  • Valid certificates

The helm charts should provide good defaults, but properties as URLs or certificates would definitely need customization in the values.yaml of the Axual component.