Skip to content

Support calamari image volumes for Kubernetes script pods#1227

Merged
APErebus merged 11 commits into
mainfrom
ap/kubernetes-agent-calamari-filesystem
Jun 3, 2026
Merged

Support calamari image volumes for Kubernetes script pods#1227
APErebus merged 11 commits into
mainfrom
ap/kubernetes-agent-calamari-filesystem

Conversation

@APErebus
Copy link
Copy Markdown
Contributor

@APErebus APErebus commented May 21, 2026

Background

We are implementing the ability for the Kubernetes agent to load and execute Calamari via a Kubernetes image volume.

This k8s feature loads an image as a read-only volume directly into the pod.

To do this, Octopus Server needs to send the calamari name (e.g. Calamari or Calamari.AzureAppService etc) and the version so that the correct container can be acquired.

Results

Adds a new property to StartKubernetesScriptCommandV1, CalamariImageConfiguration, which defines the Name and Version of the Calamari image to be loaded.

This feature requires Kubernetes 1.35 or newer (as that is when the ImageVolume feature gate was enabled by default).

It also needs to be explicitly enabled by default, via a helm chart value scriptPods.calamariImageVolume.enabled. The PR for the helm chart is OctopusDeploy/helm-charts#610

This is an example of what happens when you try and use the feature on a cluster with a version < 1.35
image

Related to MD-2016

How to review this PR

Verify/validate this is backwards compatible

Quality ✔️

Pre-requisites

  • I have read How we use GitHub Issues for help deciding when and where it's appropriate to make an issue.
  • I have considered informing or consulting the right people, according to the ownership map.
  • I have considered appropriate testing for my change.

👨‍💻 Written by a human without AI

@APErebus APErebus marked this pull request as ready for review June 3, 2026 00:20
@APErebus APErebus requested review from a team as code owners June 3, 2026 00:20
Copy link
Copy Markdown
Contributor

@Jtango18 Jtango18 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks pretty straight forward. Were there additional changes requried for Calamari to make this work?

@APErebus
Copy link
Copy Markdown
Contributor Author

APErebus commented Jun 3, 2026

This looks pretty straight forward. Were there additional changes requried for Calamari to make this work?

Only the creation of the docker images, which is in main

Comment thread source/Octopus.Tentacle/Kubernetes/KubernetesRawScriptPodCreator.cs Outdated
Copy link
Copy Markdown
Contributor

@flin-8 flin-8 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@APErebus APErebus changed the title Support calamari image configuration Support calamari image volumes for Kubernetes script pods Jun 3, 2026
@APErebus APErebus enabled auto-merge (squash) June 3, 2026 05:57
@APErebus APErebus merged commit 566f06f into main Jun 3, 2026
51 checks passed
@APErebus APErebus deleted the ap/kubernetes-agent-calamari-filesystem branch June 3, 2026 06:00
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.

3 participants