Skip to content

feat: more modular ArmoniK Helm chart#282

Draft
tschneider-aneo wants to merge 55 commits into
mainfrom
ts/revamp-helm
Draft

feat: more modular ArmoniK Helm chart#282
tschneider-aneo wants to merge 55 commits into
mainfrom
ts/revamp-helm

Conversation

@tschneider-aneo
Copy link
Copy Markdown
Contributor

@tschneider-aneo tschneider-aneo commented Apr 3, 2026

Motivation

With ArmoniK's Helm chart release in sight, this PR introduces a first, but already consequent milestone to the improve the quite static Helm chart currently supported.

Description

In a nutshell, it gives the Helm chart a brand new architecture, designed for both very modular and out-of-the-box, deployments, thus paving the way for very highly configurable, featureful deployment.

This new architecture shall be presented in the near future, but here are the major improvments

  • Handy utilities named templates, some of them even reimplementing Sprig functions logic, since some of them show limitations (particularly merge, mergeOverwrite and index)
  • Both of AK compute plane and control plane can be deployed separately and independently from ArmoniK boostrap, using their respective Helm chart.
  • Leverages AK Core init services for initiating AK data

Testing

CI tests to be added soon

WIP (required)

  • Support for authentication data initiation job
  • De-Bitnamiing (MongoDB, Redis, RabbitMQ)
  • Standardize syntaxes, nomenclature, names, conventions...
  • Rename jobs-related entities to "init"-thing
  • Validation CI

Forseable features

  • armonik-ingress chart alignment with its equivalent Terraform module, notably to release AK's Load Balancer K8s-native deployment.

  • Capacity to configure ArmoniK to use external components (i.e. not deployed alongside AK in K8s) for its third-party dependencies, for example to allow using MongoDB Atlas instead of on-prem MongoDB, or AWS SQS instead of on-prem ActiveMQ or RabbitMQ

  • Kubernetes Operator to enhance partition dynamism : could expose an API to add partitions in both AK database and Prometheus.

Impact

First significant milestone for a production-ready AK Helm chart

Additional Information

  • When Boostraping ArmoniK, compute plane is disabled by default.

Intended to AK TEAM :

  • Since I wasn't introduced to this function when I took over the project, is my doc for armonik.utils.finalImageConf (formerly armonik.image) relevant ?
  • Is the cron job useful in control plane chart ?
  • Should InitServices always be triggered when deploying a control plane ? Currently if control-managed Init job is disabled, control-plane pod themselves take over InitServices
  • More over, should a Init subchart be created ?

Checklist

  • My code adheres to the coding and style guidelines of the project.
  • I have performed a self-review of my code.
  • I have commented my code, particularly in hard-to-understand areas.
  • I have made corresponding changes to the documentation.
  • I have thoroughly tested my modifications and added tests when necessary.
  • Tests pass locally and in the CI.
  • I have assessed the performance impact of my modifications.

@CLAassistant
Copy link
Copy Markdown

CLAassistant commented Apr 14, 2026

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
3 out of 5 committers have signed the CLA.

✅ AncientPatata
✅ lemaitre-aneo
✅ tschneider-aneo
❌ aneo-ssam
❌ viktoraneo
You have signed the CLA already but the status is still pending? Let us recheck it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants