ironcore-dev / ironcore-dev/sonic-operator

Support Generating ZTP from Switch Spec

Open
#170 1 comment 0 reactions 1 assignee View on GitHub

@hardikdr is already working on this.

Since Sep 15, 2026.

  • #177 by @hardikdr — open
area/switch-automation enhancement triage/accepted
Dominant language
Go
Stars
4
Forks
155
Avg merge
1d 12h
Merged PRs (30d)
8

Description

Summary

This issue proposes expanding the Switch CR so ZTP can be generated directly from the Switch.spec, rather than relying only on static ZTP templates or a complete ConfigMap script.

For example, the generated ZTP flow would declaratively start generic Docker containers defined in the Switch object.

Basic example

This example is just a Switch illustration to start the discussion.

  volumes:
  - name: dbus
    hostPath:
      path: /var/run/dbus
      type: Directory
  - name: sonic-version
    hostPath:
      path: /etc/sonic/sonic_version.yml
      type: File

  containers:
  - name: sonic-agent
    image: ghcr.io/ironcore-dev/sonic-agent:latest
    command:
    - /switch-agent-server
    args:
    - -port
    - "57400"
    securityContext:
      runAsUser: 0
    volumeMounts:
    - name: dbus
      mountPath: /var/run/dbus
    - name: sonic-version
      mountPath: /etc/sonic/sonic_version.yml
      readOnly: true

  - name: wirelet
    image: ghcr.io/ironcore-dev/wirelet-sonic:latest
    args:
    - --name
    - leaf-1
    - --interface
    - leaf-1-eth0-0,leaf-1-eth1-0

The provisioning server would render the required Docker commands from this API. Container names, images, commands, arguments, volumes, and volume mounts follow familiar Kubernetes Pod concepts, while the implementation remains SONiC ZTP plus Docker.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.