diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 7fc48fb..3494b78 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -29,7 +29,7 @@ repos: args: [ "--schemafile", - "https://raw.githubusercontent.com/siderolabs/talos/refs/heads/release-1.11/website/content/v1.11/schemas/config.schema.json", + "https://raw.githubusercontent.com/siderolabs/talos/refs/heads/release-1.12/website/content/v1.12/schemas/config.schema.json", ] - id: check-jsonschema files: ^talos/nodes/.*\.y(a?)ml$ diff --git a/talos/clusters/default.yaml b/talos/clusters/default.yaml index a74caeb..2a5da1e 100644 --- a/talos/clusters/default.yaml +++ b/talos/clusters/default.yaml @@ -1,7 +1,7 @@ # yaml-language-server: $schema=https://git.huizinga.dev/infra/crete/raw/branch/main/schemas/cluster.json version: - kubernetes: 1.34.1 - talos: 1.11.3 + kubernetes: 1.35.3 + talos: 1.12.6 base: kernelArgs: @@ -20,7 +20,9 @@ base: all: - system/hostname.yaml - system/install-disk.yaml - - system/network.yaml + - system/network.yaml.jinja + - system/ntp.yaml + - system/dns.yaml.jinja - networking/vip.yaml - networking/tailscale.yaml - networking/cilium.yaml diff --git a/talos/patches/flux/cluster-variables.yaml b/talos/patches/flux/cluster-variables.yaml index ca48e14..e8e2a06 100644 --- a/talos/patches/flux/cluster-variables.yaml +++ b/talos/patches/flux/cluster-variables.yaml @@ -1,4 +1,4 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/siderolabs/talos/refs/heads/release-1.11/website/content/v1.11/schemas/config.schema.json +# yaml-language-server: $schema=https://raw.githubusercontent.com/siderolabs/talos/refs/heads/release-1.12/website/content/v1.12/schemas/config.schema.json cluster: inlineManifests: - name: cluster-variables diff --git a/talos/patches/metrics/all.yaml b/talos/patches/metrics/all.yaml index 027ecd7..2bb0daa 100644 --- a/talos/patches/metrics/all.yaml +++ b/talos/patches/metrics/all.yaml @@ -1,4 +1,4 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/siderolabs/talos/refs/heads/release-1.11/website/content/v1.11/schemas/config.schema.json +# yaml-language-server: $schema=https://raw.githubusercontent.com/siderolabs/talos/refs/heads/release-1.12/website/content/v1.12/schemas/config.schema.json machine: kubelet: extraArgs: diff --git a/talos/patches/metrics/control-plane.yaml b/talos/patches/metrics/control-plane.yaml index 72637bb..b81acdf 100644 --- a/talos/patches/metrics/control-plane.yaml +++ b/talos/patches/metrics/control-plane.yaml @@ -1,4 +1,4 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/siderolabs/talos/refs/heads/release-1.11/website/content/v1.11/schemas/config.schema.json +# yaml-language-server: $schema=https://raw.githubusercontent.com/siderolabs/talos/refs/heads/release-1.12/website/content/v1.12/schemas/config.schema.json cluster: extraManifests: - https://raw.githubusercontent.com/alex1989hu/kubelet-serving-cert-approver/main/deploy/standalone-install.yaml diff --git a/talos/patches/networking/cilium.yaml b/talos/patches/networking/cilium.yaml index 5ce0d69..945deae 100644 --- a/talos/patches/networking/cilium.yaml +++ b/talos/patches/networking/cilium.yaml @@ -1,4 +1,4 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/siderolabs/talos/refs/heads/release-1.11/website/content/v1.11/schemas/config.schema.json +# yaml-language-server: $schema=https://raw.githubusercontent.com/siderolabs/talos/refs/heads/release-1.12/website/content/v1.12/schemas/config.schema.json machine: features: hostDNS: diff --git a/talos/patches/networking/gateway-api.yaml b/talos/patches/networking/gateway-api.yaml index bb9f3be..f84b1ff 100644 --- a/talos/patches/networking/gateway-api.yaml +++ b/talos/patches/networking/gateway-api.yaml @@ -1,4 +1,4 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/siderolabs/talos/refs/heads/release-1.11/website/content/v1.11/schemas/config.schema.json +# yaml-language-server: $schema=https://raw.githubusercontent.com/siderolabs/talos/refs/heads/release-1.12/website/content/v1.12/schemas/config.schema.json cluster: extraManifests: - https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.4.1/standard-install.yaml diff --git a/talos/patches/networking/tailscale.yaml b/talos/patches/networking/tailscale.yaml index b0ba849..4a8b1c4 100644 --- a/talos/patches/networking/tailscale.yaml +++ b/talos/patches/networking/tailscale.yaml @@ -1,4 +1,4 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/siderolabs/talos/refs/heads/release-1.11/website/content/v1.11/schemas/config.schema.json +# yaml-language-server: $schema=https://raw.githubusercontent.com/siderolabs/talos/refs/heads/release-1.12/website/content/v1.12/schemas/config.schema.json apiVersion: v1alpha1 kind: ExtensionServiceConfig name: tailscale diff --git a/talos/patches/networking/vip.yaml b/talos/patches/networking/vip.yaml index c9db9b9..e5b80c0 100644 --- a/talos/patches/networking/vip.yaml +++ b/talos/patches/networking/vip.yaml @@ -1,7 +1,5 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/siderolabs/talos/refs/heads/release-1.11/website/content/v1.11/schemas/config.schema.json -machine: - network: - interfaces: - - interface: "{{node.network.interface}}" - vip: - ip: "{{cluster.controlPlaneIp}}" +# yaml-language-server: $schema=https://raw.githubusercontent.com/siderolabs/talos/refs/heads/release-1.12/website/content/v1.12/schemas/config.schema.json +apiVersion: v1alpha1 +kind: Layer2VIPConfig +name: "{{ cluster.controlPlaneIp }}" +link: "{{ node.network.interface }}" diff --git a/talos/patches/sops.yaml b/talos/patches/sops.yaml index 8d77d36..9edb664 100644 --- a/talos/patches/sops.yaml +++ b/talos/patches/sops.yaml @@ -1,4 +1,4 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/siderolabs/talos/refs/heads/release-1.11/website/content/v1.11/schemas/config.schema.json +# yaml-language-server: $schema=https://raw.githubusercontent.com/siderolabs/talos/refs/heads/release-1.12/website/content/v1.12/schemas/config.schema.json cluster: inlineManifests: - name: sops-key diff --git a/talos/patches/spegel.yaml b/talos/patches/spegel.yaml index 2faef74..3160b8d 100644 --- a/talos/patches/spegel.yaml +++ b/talos/patches/spegel.yaml @@ -1,4 +1,4 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/siderolabs/talos/refs/heads/release-1.11/website/content/v1.11/schemas/config.schema.json +# yaml-language-server: $schema=https://raw.githubusercontent.com/siderolabs/talos/refs/heads/release-1.12/website/content/v1.12/schemas/config.schema.json machine: files: - path: /etc/cri/conf.d/20-customization.part diff --git a/talos/patches/storage/limit-ephemeral.yaml b/talos/patches/storage/limit-ephemeral.yaml index 0ae73ce..8e984a0 100644 --- a/talos/patches/storage/limit-ephemeral.yaml +++ b/talos/patches/storage/limit-ephemeral.yaml @@ -1,4 +1,4 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/siderolabs/talos/refs/heads/release-1.11/website/content/v1.11/schemas/config.schema.json +# yaml-language-server: $schema=https://raw.githubusercontent.com/siderolabs/talos/refs/heads/release-1.12/website/content/v1.12/schemas/config.schema.json apiVersion: v1alpha1 kind: VolumeConfig name: EPHEMERAL diff --git a/talos/patches/storage/local-path-provisioner/user-volume.yaml b/talos/patches/storage/local-path-provisioner/user-volume.yaml index 4fc940a..6c12b62 100644 --- a/talos/patches/storage/local-path-provisioner/user-volume.yaml +++ b/talos/patches/storage/local-path-provisioner/user-volume.yaml @@ -1,4 +1,4 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/siderolabs/talos/refs/heads/release-1.11/website/content/v1.11/schemas/config.schema.json +# yaml-language-server: $schema=https://raw.githubusercontent.com/siderolabs/talos/refs/heads/release-1.12/website/content/v1.12/schemas/config.schema.json apiVersion: v1alpha1 kind: UserVolumeConfig name: local-path-provisioner diff --git a/talos/patches/storage/longhorn.yaml b/talos/patches/storage/longhorn.yaml index 328e700..d88c57f 100644 --- a/talos/patches/storage/longhorn.yaml +++ b/talos/patches/storage/longhorn.yaml @@ -1,4 +1,4 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/siderolabs/talos/refs/heads/release-1.11/website/content/v1.11/schemas/config.schema.json +# yaml-language-server: $schema=https://raw.githubusercontent.com/siderolabs/talos/refs/heads/release-1.12/website/content/v1.12/schemas/config.schema.json machine: kubelet: extraMounts: diff --git a/talos/patches/storage/longhorn/user-volume.yaml b/talos/patches/storage/longhorn/user-volume.yaml index e94577f..ff4211a 100644 --- a/talos/patches/storage/longhorn/user-volume.yaml +++ b/talos/patches/storage/longhorn/user-volume.yaml @@ -1,4 +1,4 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/siderolabs/talos/refs/heads/release-1.11/website/content/v1.11/schemas/config.schema.json +# yaml-language-server: $schema=https://raw.githubusercontent.com/siderolabs/talos/refs/heads/release-1.12/website/content/v1.12/schemas/config.schema.json apiVersion: v1alpha1 kind: UserVolumeConfig name: longhorn diff --git a/talos/patches/storage/openebs.yaml b/talos/patches/storage/openebs.yaml index 676f22c..00959fd 100644 --- a/talos/patches/storage/openebs.yaml +++ b/talos/patches/storage/openebs.yaml @@ -1,4 +1,4 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/siderolabs/talos/refs/heads/release-1.11/website/content/v1.11/schemas/config.schema.json +# yaml-language-server: $schema=https://raw.githubusercontent.com/siderolabs/talos/refs/heads/release-1.12/website/content/v1.12/schemas/config.schema.json machine: # This is only needed on nodes that will have storage sysctls: diff --git a/talos/patches/system/allow-control-plane-workloads.yaml b/talos/patches/system/allow-control-plane-workloads.yaml index d9ac291..acc9f1a 100644 --- a/talos/patches/system/allow-control-plane-workloads.yaml +++ b/talos/patches/system/allow-control-plane-workloads.yaml @@ -1,3 +1,3 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/siderolabs/talos/refs/heads/release-1.11/website/content/v1.11/schemas/config.schema.json +# yaml-language-server: $schema=https://raw.githubusercontent.com/siderolabs/talos/refs/heads/release-1.12/website/content/v1.12/schemas/config.schema.json cluster: allowSchedulingOnControlPlanes: true diff --git a/talos/patches/system/dns.yaml.jinja b/talos/patches/system/dns.yaml.jinja new file mode 100644 index 0000000..df6305a --- /dev/null +++ b/talos/patches/system/dns.yaml.jinja @@ -0,0 +1,7 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/siderolabs/talos/refs/heads/release-1.12/website/content/v1.12/schemas/config.schema.json +apiVersion: v1alpha1 +kind: ResolverConfig +nameservers: + {% for dns in node.network.dns %} + - address: {{ dns }} + {% endfor %} diff --git a/talos/patches/system/hostname.yaml b/talos/patches/system/hostname.yaml index 2506b2e..ce19682 100644 --- a/talos/patches/system/hostname.yaml +++ b/talos/patches/system/hostname.yaml @@ -1,4 +1,5 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/siderolabs/talos/refs/heads/release-1.11/website/content/v1.11/schemas/config.schema.json -machine: - network: - hostname: "{{node.hostname}}" +# yaml-language-server: $schema=https://raw.githubusercontent.com/siderolabs/talos/refs/heads/release-1.12/website/content/v1.12/schemas/config.schema.json +apiVersion: v1alpha1 +kind: HostnameConfig +hostname: "{{node.hostname}}" +auto: "off" diff --git a/talos/patches/system/install-disk.yaml b/talos/patches/system/install-disk.yaml index 227efb7..0c17d35 100644 --- a/talos/patches/system/install-disk.yaml +++ b/talos/patches/system/install-disk.yaml @@ -1,4 +1,4 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/siderolabs/talos/refs/heads/release-1.11/website/content/v1.11/schemas/config.schema.json +# yaml-language-server: $schema=https://raw.githubusercontent.com/siderolabs/talos/refs/heads/release-1.12/website/content/v1.12/schemas/config.schema.json machine: install: disk: "{{node.install.disk}}" diff --git a/talos/patches/system/network.yaml b/talos/patches/system/network.yaml deleted file mode 100644 index db0f37c..0000000 --- a/talos/patches/system/network.yaml +++ /dev/null @@ -1,11 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/siderolabs/talos/refs/heads/release-1.11/website/content/v1.11/schemas/config.schema.json -machine: - network: - interfaces: - - interface: "{{node.network.interface}}" - dhcp: false - addresses: - - "{{node.network.ip}}" - routes: - - network: 0.0.0.0/0 - gateway: "{{node.network.gateway}}" diff --git a/talos/patches/system/network.yaml.jinja b/talos/patches/system/network.yaml.jinja new file mode 100644 index 0000000..9e8248c --- /dev/null +++ b/talos/patches/system/network.yaml.jinja @@ -0,0 +1,10 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/siderolabs/talos/refs/heads/release-1.12/website/content/v1.12/schemas/config.schema.json +apiVersion: v1alpha1 +kind: LinkConfig +name: "{{node.network.interface}}" +up: true +mtu: 9000 +addresses: + - address: "{{node.network.ip}}/{{ node.network.netmask | to_prefix }}" +routes: + - gateway: "{{node.network.gateway}}" diff --git a/talos/patches/system/ntp.yaml b/talos/patches/system/ntp.yaml new file mode 100644 index 0000000..7054d0c --- /dev/null +++ b/talos/patches/system/ntp.yaml @@ -0,0 +1,5 @@ +apiVersion: v1alpha1 +kind: TimeSyncConfig +ntp: + servers: + - "{{ node.ntp }}" diff --git a/templates/boot.ipxe b/templates/boot.ipxe index f25859f..f5cf7c6 100644 --- a/templates/boot.ipxe +++ b/templates/boot.ipxe @@ -13,9 +13,8 @@ goto node_${serial} || exit {%- if node.install.serial -%} # {{ cluster.name }}/{{ node.hostname }} :node_{{ node.install.serial }} -{% set ipArg = "ip=" ~ [node.network.ip, "" , node.network.gateway, node.network.netmask, node.hostname, node.network.interface, "", node.network.dns[0], node.network.dns[1], node.ntp]|join(":") -%} imgfree -kernel https://pxe.factory.talos.dev/image/{{ node.schematic }}/v{{ cluster.version.talos }}/kernel-{{ node.arch }} {{ ipArg }} {{ node.kernelArgs|join(" ") }} {% if node.install.auto %}talos.config={{httpUrl}}/configs/{{cluster.name}}/{{node.hostname}}.yaml{% endif +%} +kernel https://pxe.factory.talos.dev/image/{{ node.schematic }}/v{{ cluster.version.talos }}/kernel-{{ node.arch }} {{ node.kernelArgs|join(" ") }} {% if node.install.auto %}talos.config={{httpUrl}}/configs/{{cluster.name}}/{{node.hostname}}.yaml{% endif +%} initrd https://pxe.factory.talos.dev/image/{{ node.schematic }}/v{{ cluster.version.talos }}/initramfs-{{ node.arch }}.xz boot {% endif %}