61 lines
1.7 KiB
YAML
61 lines
1.7 KiB
YAML
|
---
|
||
|
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/upgrade.cattle.io/plan_v1.json
|
||
|
apiVersion: upgrade.cattle.io/v1
|
||
|
kind: Plan
|
||
|
metadata:
|
||
|
name: talos
|
||
|
spec:
|
||
|
version: ${TALOS_VERSION}
|
||
|
serviceAccountName: system-upgrade
|
||
|
secrets:
|
||
|
- name: talos
|
||
|
path: /var/run/secrets/talos.dev
|
||
|
ignoreUpdates: true
|
||
|
concurrency: 1
|
||
|
exclusive: true
|
||
|
nodeSelector:
|
||
|
matchExpressions:
|
||
|
- key: feature.node.kubernetes.io/system-os_release.ID
|
||
|
operator: In
|
||
|
values: ["talos"]
|
||
|
- key: feature.node.kubernetes.io/system-os_release.VERSION_ID
|
||
|
operator: NotIn
|
||
|
values: ["${TALOS_VERSION}"]
|
||
|
- key: kubernetes.io/hostname
|
||
|
operator: NotIn
|
||
|
values: ["gandalf-01", "shadowfax-01"]
|
||
|
# - key: factory.talos.dev/schematic-id.part-0
|
||
|
# operator: In
|
||
|
# values: ["${TALOS_SCHEMATIC_ID:0:32}"]
|
||
|
# - key: factory.talos.dev/schematic-id.part-1
|
||
|
# operator: In
|
||
|
# values: ["${TALOS_SCHEMATIC_ID:32}"]
|
||
|
tolerations:
|
||
|
- key: CriticalAddonsOnly
|
||
|
operator: Exists
|
||
|
- key: node-role.kubernetes.io/control-plane
|
||
|
operator: Exists
|
||
|
effect: NoSchedule
|
||
|
prepare: &prepare
|
||
|
image: ghcr.io/siderolabs/talosctl:${TALOS_VERSION}
|
||
|
envs:
|
||
|
- name: NODE_IP
|
||
|
valueFrom:
|
||
|
fieldRef:
|
||
|
fieldPath: status.hostIP
|
||
|
- name: TALOS_SCHEMATIC_ID
|
||
|
valueFrom:
|
||
|
fieldRef:
|
||
|
fieldPath: metadata.annotations['extensions.talos.dev/schematic']
|
||
|
args:
|
||
|
- --nodes=$(NODE_IP)
|
||
|
- health
|
||
|
- --server=false
|
||
|
upgrade:
|
||
|
<<: *prepare
|
||
|
args:
|
||
|
- --nodes=$(NODE_IP)
|
||
|
- upgrade
|
||
|
- --image=factory.talos.dev/installer/${TALOS_SCHEMATIC_ID}:$(SYSTEM_UPGRADE_PLAN_LATEST_VERSION)
|
||
|
- --wait=false
|