ironcore-dev / ironcore-dev/sonic-operator
Support Generating ZTP from Switch Spec
- 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
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.