ironcore-dev / ironcore-dev/sonic-operator

Deliver Kubernetes Credentials to Wirelet Container

Open
#171 0 comments 0 reactions 1 assignee View on GitHub

@hardikdr is already working on this.

Since Sep 15, 2026.

area/switch-automation enhancement triage/accepted
Dominant language
Go
Stars
4
Forks
155
Avg merge
1d 12h
Merged PRs (30d)
8

Description

Summary

Following the proposal to deploy Wirelet inside a switch through the Switch object, we need a way to provide Wirelet with Kubernetes API credentials during ZTP provisioning.

Wirelet needs a kubeconfig, token, or equivalent credential inside the SONiC OS so it can register and reconcile Wire resources against the Kubernetes API.

Basic example

One possible API direction is to reuse the new Pod-style volumes and volumeMounts model:

apiVersion: sonic.networking.metal.ironcore.dev/v1alpha1
kind: Switch
metadata:
  name: leaf-1
spec:
  volumes:
  - name: wire-control-kubeconfig
    secret:
      secretName: wire-control-kubeconfig

  containers:
  - name: wirelet
    image: ghcr.io/giluerre/wirelet-sonic:latest
    env:
    - name: KUBECONFIG
      value: /var/run/wire/kubeconfig
    volumeMounts:
    - name: wire-control-kubeconfig
      mountPath: /var/run/wire
      readOnly: true

The generated ZTP script would materialize the Secret on the switch and bind-mount it read-only into the requested container.

Another possible approach

Operator-level shared kubeconfig

Mount one restricted control-cluster kubeconfig into sonic-operator. A container explicitly opts in, and the generated ZTP script writes and mounts that credential on the switch.

This is simple for the initial lab setup, but creates a shared identity across switches.

Motivation

The motivation of this issue is to agree on the preferred credential-delivery model and define a minimal, generic API that does not make the Switch CR aware of Wirelet specifically.

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.