Skip to content

✨ feat: Support ignition format (e.g. for Flatcar Linux)#797

Closed
hajowieland wants to merge 2 commits into
outscale:mainfrom
hajowieland:ignition-support
Closed

✨ feat: Support ignition format (e.g. for Flatcar Linux)#797
hajowieland wants to merge 2 commits into
outscale:mainfrom
hajowieland:ignition-support

Conversation

@hajowieland
Copy link
Copy Markdown

Description

This change adds support for the Ignition format used by Flatcar Linux.

Type of Change

Please check the relevant option(s):

  • 🐛 Bug fix
  • ✨ New feature
  • 🧹 Code cleanup or refactor
  • 📝 Documentation update
  • 🔧 Build or CI-related change
  • 🔒 Security fix
  • Other (specify):

How Has This Been Tested?

Please describe the test strategy:

  • Manual testing
  • Unit tests
  • Integration tests
  • Not tested yet

Checklist

  • I have followed the Contributing Guidelines
  • I have added tests or explained why they are not needed
  • I have updated relevant documentation (README, examples, etc.)
  • My changes follow the Conventional Commits specification
  • My commits include appropriate Gitmoji

Additional Context

I also added support in image-builder to support building Flatcar images on Outscale (optionally with NVIDIA GPU support): kubernetes-sigs/image-builder#1986

@hajowieland hajowieland requested a review from a team April 23, 2026 08:13
@hajowieland hajowieland changed the title feat: Support ignition format (e.g. for Flatcar Linux) ✨ feat: Support ignition format (e.g. for Flatcar Linux) Apr 23, 2026
@jfbus jfbus self-assigned this Apr 23, 2026
@jfbus
Copy link
Copy Markdown
Contributor

jfbus commented Apr 23, 2026

Your PR drops the Outscale section from UserData. Without it, public IPs and placement constraints do not work.

The Outscale section is already stripped from UserData by the API on Vm creation, and querying the metadata for it should return a clean ignition config.

Have you tested deploying flatcar without these changes ? I fail to see what would prevent ignition from working...

@jfbus jfbus self-requested a review April 23, 2026 13:16
@hajowieland
Copy link
Copy Markdown
Author

Thanks @jfbus for the quick reply and yes, you're absolutely right, the change is not required.
Just verified with CAPOSC 1.4.0 and it works with my image-builder Flatcar OMI as expected.

Sorry for wasting your time here - if you ever find yourself in Munich, let me know and I'll buy you a beer 🍺

For other users as a reference:

If you want to use Flatcar, you need to enable the ignition format and also set the hostname via metadata service in the KubeadmConfig and KubeadmControlPlane resources (or their template equivalents when using ClusterClass).

KubeadmConfigTemplate:

spec:
  template:
    spec:
      format: ignition
      preKubeadmCommands:
        - until HN=$(curl -fsS http://169.254.169.254/latest/meta-data/local-hostname); do sleep 2; done && hostnamectl set-hostname "$HN"

KubeadmControlPlaneTemplate:

spec:
  template:
    spec:
      kubeadmConfigSpec:
        format: ignition
        preKubeadmCommands:
          - until HN=$(curl -fsS http://169.254.169.254/latest/meta-data/local-hostname); do sleep 2; done && hostnamectl set-hostname "$HN"

@jfbus
Copy link
Copy Markdown
Contributor

jfbus commented Apr 27, 2026

Thanks for the invitation ! Never been to Munich...

I don't consider this a wasted time - it allowed me to learn a few things on Flatcar. I wished I had time to work on it...

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

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants