Skip to content

Instantly share code, notes, and snippets.

@jseguillon
Last active October 28, 2025 18:06
Show Gist options
  • Select an option

  • Save jseguillon/1e588d3cea095ce67ecce205f29fd89f to your computer and use it in GitHub Desktop.

Select an option

Save jseguillon/1e588d3cea095ce67ecce205f29fd89f to your computer and use it in GitHub Desktop.
apiVersion: cluster.x-k8s.io/v1beta2
kind: Cluster
metadata:
labels:
cni: cilium
name: capi-kamaji-virtink00
namespace: default
spec:
clusterNetwork:
pods:
cidrBlocks:
- 10.244.0.0/16
services:
cidrBlocks:
- 10.96.0.0/24
controlPlaneEndpoint:
host: capi-kamaji-virtink00-kcp.default.svc
port: 6443
controlPlaneRef:
apiGroup: controlplane.cluster.x-k8s.io
kind: KamajiControlPlane
name: capi-kamaji-virtink00-kcp
infrastructureRef:
apiGroup: infrastructure.cluster.x-k8s.io
kind: VirtinkCluster
name: capi-kamaji-virtink00
---
apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
kind: VirtinkCluster
metadata:
name: capi-kamaji-virtink00
namespace: default
spec:
# controlPlaneServiceTemplate:
# metadata:
# annotations:
# cluster.x-k8s.io/managed-by: kamaji
# namespace: default
# type: ClusterIP
infraClusterSecretRef:
name: test
namespace: default
---
apiVersion: controlplane.cluster.x-k8s.io/v1alpha1
kind: KamajiControlPlane
metadata:
name: capi-kamaji-virtink00-kcp
namespace: default
spec:
dataStoreName: default
addons:
coreDNS: {}
kubeProxy: {}
replicas: 3
kubelet:
cgroupfs: systemd
preferredAddressTypes:
- InternalIP
- ExternalIP
network:
serviceType: ClusterIP
version: 1.33.5
---
apiVersion: cluster.x-k8s.io/v1beta2
kind: MachineDeployment
metadata:
name: capi-kamaji-virtink00-md-0
namespace: default
spec:
clusterName: capi-kamaji-virtink00
replicas: 3
selector:
matchLabels: {}
template:
spec:
bootstrap:
configRef:
apiGroup: bootstrap.cluster.x-k8s.io
kind: KubeadmConfigTemplate
name: capi-kamaji-virtink00-md-0
clusterName: capi-kamaji-virtink00
infrastructureRef:
apiGroup: infrastructure.cluster.x-k8s.io
kind: VirtinkMachineTemplate
name: capi-kamaji-virtink00-md-0
version: 1.33.5
---
apiVersion: bootstrap.cluster.x-k8s.io/v1beta2
kind: KubeadmConfigTemplate
metadata:
name: capi-kamaji-virtink00-md-0
namespace: default
spec:
template:
spec:
joinConfiguration:
nodeRegistration:
ignorePreflightErrors:
- SystemVerification
kubeletExtraArgs:
- name: provider-id
value: virtink://{{ ds.meta_data.instance_id }}
postKubeadmCommands:
- rm -rf /usr/share/capch/images/*.tar
---
apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
kind: VirtinkMachineTemplate
metadata:
name: capi-kamaji-virtink00-md-0
namespace: default
spec:
template:
spec:
virtualMachineTemplate:
metadata:
namespace: default
spec:
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- podAffinityTerm:
labelSelector:
matchExpressions:
- key: cluster.x-k8s.io/deployment-name
operator: In
values:
- capi-kamaji-virtink00-md-0
topologyKey: kubernetes.io/hostname
weight: 100
instance:
cpu:
coresPerSocket: 2
sockets: 1
disks:
- name: rootfs
interfaces:
- name: pod
kernel:
cmdline: console=ttyS0 root=/dev/vda rw
image: jseguillon/capin-virtink-kernel:v0.0.2
memory:
size: 4Gi
networks:
- name: pod
pod: {}
runPolicy: Once
volumes:
- containerRootfs:
image: jseguillon/virtink-capi-rootfs:0.0.5
size: 4Gi
name: rootfs
---
apiVersion: cluster.x-k8s.io/v1beta2
kind: MachineHealthCheck
metadata:
name: capi-kamaji-virtink00-md-0-unhealthy-5m
namespace: default
spec:
clusterName: capi-kamaji-virtink00
selector:
matchLabels:
cluster.x-k8s.io/deployment-name: capi-kamaji-virtink00-md-0
---
apiVersion: addons.cluster.x-k8s.io/v1alpha1
kind: HelmChartProxy
metadata:
name: cilium
spec:
clusterSelector:
matchLabels:
cni: cilium
releaseName: cilium
repoURL: https://helm.cilium.io/
chartName: cilium
namespace: kube-system
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment