Skip to content

Instantly share code, notes, and snippets.

@tormath1
Last active January 24, 2025 08:21
Show Gist options
  • Save tormath1/28ee501a01b425c0f4b3127bf79270c8 to your computer and use it in GitHub Desktop.
Save tormath1/28ee501a01b425c0f4b3127bf79270c8 to your computer and use it in GitHub Desktop.

Butane configuration:

# config.yaml
---
variant: flatcar
version: 1.0.0
storage:
  links:
    - path: /etc/extensions/docker-flatcar.raw
      target: /dev/null
      overwrite: true
    - path: /etc/extensions/containerd-flatcar.raw
      target: /dev/null
      overwrite: true
  files:
    - path: /etc/containers/policy.json
      contents:
        source: https://raw.githubusercontent.com/containers/podman/main/test/policy.json
    - path: /etc/flatcar/enabled-sysext.conf
      contents:
        inline: |
          podman
    - path: /etc/containers/systemd/nginx.kube
      contents:
        inline: |
          [Unit]
          Description=A simple Nginx pod
          Before=local-fs.target
          
          [Kube]
          Yaml=/etc/kubernetes/nginx.yaml
          
          [Install]
          # Start by default on boot
          WantedBy=multi-user.target default.target
    - path: /etc/kubernetes/nginx.yaml
      contents:
        inline: |
          apiVersion: v1
          kind: Pod
          metadata:
            name: nginx
          spec:
            containers:
            - name: nginx
              image: docker.io/nginx:latest
              ports:
                - containerPort: 80

Convert it to Ignition configuration:

butane < config.yaml > config.json

Start a local qemu instance:

./flatcar_production_qemu.sh -i ./config.json -- -display curses
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment