Copy disabled (too large)
Download .txt
Showing preview only (21,312K chars total). Download the full file to get everything.
Repository: siderolabs/talos
Branch: main
Commit: 0a47f40b3cdf
Files: 3195
Total size: 19.7 MB
Directory structure:
gitextract_l8ced00e/
├── .codecov.yml
├── .conform.yaml
├── .dockerignore
├── .github/
│ ├── FUNDING.yml
│ ├── ISSUE_TEMPLATE/
│ │ ├── BUG_REPORT.md
│ │ ├── FEATURE_REQUEST.md
│ │ └── config.yml
│ ├── PULL_REQUEST_TEMPLATE.md
│ ├── renovate.json
│ └── workflows/
│ ├── ci.yaml
│ ├── dispatch.yaml
│ ├── grype-scan-cron.yaml
│ ├── integration-airgapped-cron.yaml
│ ├── integration-aws-cron.yaml
│ ├── integration-aws-nvidia-nonfree-lts-cron.yaml
│ ├── integration-aws-nvidia-nonfree-production-cron.yaml
│ ├── integration-aws-nvidia-oss-lts-cron.yaml
│ ├── integration-aws-nvidia-oss-production-cron.yaml
│ ├── integration-cilium-cron.yaml
│ ├── integration-conformance-cron.yaml
│ ├── integration-conformance-enforcing-cron.yaml
│ ├── integration-embedded-cron.yaml
│ ├── integration-extensions-cron.yaml
│ ├── integration-gcp-cron.yaml
│ ├── integration-image-cache-cron.yaml
│ ├── integration-image-factory-cron.yaml
│ ├── integration-images-cron.yaml
│ ├── integration-misc-0-cron.yaml
│ ├── integration-misc-1-cron.yaml
│ ├── integration-misc-1-enforcing-cron.yaml
│ ├── integration-misc-2-cron.yaml
│ ├── integration-misc-3-cron.yaml
│ ├── integration-misc-3-enforcing-cron.yaml
│ ├── integration-misc-4-cron.yaml
│ ├── integration-misc-4-enforcing-cron.yaml
│ ├── integration-provision-0-cron.yaml
│ ├── integration-provision-1-cron.yaml
│ ├── integration-provision-2-cron.yaml
│ ├── integration-provision-3-cron.yaml
│ ├── integration-qemu-cron.yaml
│ ├── integration-qemu-csi-longhorn-cron.yaml
│ ├── integration-qemu-csi-openebs-cron.yaml
│ ├── integration-qemu-csi-rook-ceph-cron.yaml
│ ├── integration-qemu-encrypted-vip-cron.yaml
│ ├── integration-qemu-enforcing-cron.yaml
│ ├── integration-qemu-race-cron.yaml
│ ├── integration-reproducibility-test-cron.yaml
│ ├── integration-trusted-boot-cron.yaml
│ ├── integration-trusted-boot-enforcing-cron.yaml
│ ├── lock.yaml
│ ├── lock.yml
│ ├── slack-notify-ci-failure.yaml
│ ├── slack-notify.yaml
│ ├── stale.yaml
│ ├── stale.yml
│ └── update-homebrew.yaml
├── .gitignore
├── .golangci.yml
├── .kres.yaml
├── .markdownlint.json
├── .secrets.yaml
├── .sops.yaml
├── .textlintrc.json
├── ADOPTERS.md
├── CHANGELOG.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── Dockerfile
├── LICENSE
├── Makefile
├── README.md
├── SECURITY.md
├── api/
│ ├── buf.gen.yaml
│ ├── buf.yaml
│ ├── cluster/
│ │ └── cluster.proto
│ ├── common/
│ │ └── common.proto
│ ├── docs.markdown.tmpl
│ ├── inspect/
│ │ └── inspect.proto
│ ├── lock.binpb
│ ├── machine/
│ │ ├── debug.proto
│ │ ├── image.proto
│ │ ├── lifecycle.proto
│ │ └── machine.proto
│ ├── resource/
│ │ ├── config/
│ │ │ └── config.proto
│ │ ├── definitions/
│ │ │ ├── block/
│ │ │ │ └── block.proto
│ │ │ ├── cluster/
│ │ │ │ └── cluster.proto
│ │ │ ├── cri/
│ │ │ │ └── cri.proto
│ │ │ ├── enums/
│ │ │ │ └── enums.proto
│ │ │ ├── etcd/
│ │ │ │ └── etcd.proto
│ │ │ ├── extensions/
│ │ │ │ └── extensions.proto
│ │ │ ├── files/
│ │ │ │ └── files.proto
│ │ │ ├── hardware/
│ │ │ │ └── hardware.proto
│ │ │ ├── k8s/
│ │ │ │ └── k8s.proto
│ │ │ ├── kubeaccess/
│ │ │ │ └── kubeaccess.proto
│ │ │ ├── kubespan/
│ │ │ │ └── kubespan.proto
│ │ │ ├── network/
│ │ │ │ └── network.proto
│ │ │ ├── perf/
│ │ │ │ └── perf.proto
│ │ │ ├── proto/
│ │ │ │ └── proto.proto
│ │ │ ├── runtime/
│ │ │ │ └── runtime.proto
│ │ │ ├── secrets/
│ │ │ │ └── secrets.proto
│ │ │ ├── security/
│ │ │ │ └── security.proto
│ │ │ ├── siderolink/
│ │ │ │ └── siderolink.proto
│ │ │ ├── time/
│ │ │ │ └── time.proto
│ │ │ └── v1alpha1/
│ │ │ └── v1alpha1.proto
│ │ └── network/
│ │ └── device_config.proto
│ ├── security/
│ │ └── security.proto
│ ├── storage/
│ │ └── storage.proto
│ ├── time/
│ │ └── time.proto
│ └── vendor/
│ └── google/
│ ├── api/
│ │ └── expr/
│ │ └── v1alpha1/
│ │ ├── checked.proto
│ │ ├── eval.proto
│ │ ├── explain.proto
│ │ ├── syntax.proto
│ │ └── value.proto
│ └── rpc/
│ └── status.proto
├── cmd/
│ ├── installer/
│ │ ├── cmd/
│ │ │ ├── imager/
│ │ │ │ └── root.go
│ │ │ └── installer/
│ │ │ ├── install.go
│ │ │ └── root.go
│ │ ├── main.go
│ │ └── pkg/
│ │ └── install/
│ │ ├── errata.go
│ │ ├── install.go
│ │ ├── meta_value.go
│ │ ├── meta_value_test.go
│ │ └── preflight.go
│ └── talosctl/
│ ├── acompat/
│ │ └── acompat.go
│ ├── cmd/
│ │ ├── common/
│ │ │ └── common.go
│ │ ├── completion.go
│ │ ├── constants/
│ │ │ └── constants.go
│ │ ├── docs.go
│ │ ├── mgmt/
│ │ │ ├── cluster/
│ │ │ │ ├── cluster.go
│ │ │ │ ├── create/
│ │ │ │ │ ├── clusterops/
│ │ │ │ │ │ ├── configmaker/
│ │ │ │ │ │ │ ├── config_maker.go
│ │ │ │ │ │ │ ├── internal/
│ │ │ │ │ │ │ │ ├── makers/
│ │ │ │ │ │ │ │ │ ├── common.go
│ │ │ │ │ │ │ │ │ ├── common_test.go
│ │ │ │ │ │ │ │ │ ├── docker.go
│ │ │ │ │ │ │ │ │ ├── docker_test.go
│ │ │ │ │ │ │ │ │ ├── maker.go
│ │ │ │ │ │ │ │ │ ├── qemu.go
│ │ │ │ │ │ │ │ │ └── qemu_test.go
│ │ │ │ │ │ │ │ └── siderolinkbuilder/
│ │ │ │ │ │ │ │ ├── builder.go
│ │ │ │ │ │ │ │ ├── helpers_other.go
│ │ │ │ │ │ │ │ └── helpers_supported.go
│ │ │ │ │ │ │ └── preset/
│ │ │ │ │ │ │ ├── disk_image_preset.go
│ │ │ │ │ │ │ ├── iso_preset.go
│ │ │ │ │ │ │ ├── iso_secureboot_preset.go
│ │ │ │ │ │ │ ├── maintenance_preset.go
│ │ │ │ │ │ │ ├── preset.go
│ │ │ │ │ │ │ ├── preset_test.go
│ │ │ │ │ │ │ └── pxe_preset.go
│ │ │ │ │ │ ├── options.go
│ │ │ │ │ │ ├── options_linux.go
│ │ │ │ │ │ └── options_other.go
│ │ │ │ │ ├── cmd.go
│ │ │ │ │ ├── cmd_dev.go
│ │ │ │ │ ├── cmd_docker.go
│ │ │ │ │ ├── cmd_qemu.go
│ │ │ │ │ ├── create.go
│ │ │ │ │ ├── create_dev.go
│ │ │ │ │ ├── create_docker.go
│ │ │ │ │ ├── create_qemu.go
│ │ │ │ │ └── flags/
│ │ │ │ │ ├── agent.go
│ │ │ │ │ ├── disks.go
│ │ │ │ │ ├── disks_test.go
│ │ │ │ │ ├── virtiofs.go
│ │ │ │ │ └── virtiofs_test.go
│ │ │ │ ├── destroy.go
│ │ │ │ ├── internal/
│ │ │ │ │ └── firewallpatch/
│ │ │ │ │ └── firewallpatch.go
│ │ │ │ └── show.go
│ │ │ ├── debug/
│ │ │ │ ├── air-gapped.go
│ │ │ │ ├── debug.go
│ │ │ │ └── httproot/
│ │ │ │ └── debug.yaml
│ │ │ ├── dhcpd_launch.go
│ │ │ ├── dnsd_launch.go
│ │ │ ├── gen/
│ │ │ │ ├── ca.go
│ │ │ │ ├── config.go
│ │ │ │ ├── crt.go
│ │ │ │ ├── csr.go
│ │ │ │ ├── gen.go
│ │ │ │ ├── key.go
│ │ │ │ ├── keypair.go
│ │ │ │ ├── secrets.go
│ │ │ │ └── secureboot.go
│ │ │ ├── inject/
│ │ │ │ ├── inject.go
│ │ │ │ └── serviceaccount.go
│ │ │ ├── json_logs_launch.go
│ │ │ ├── kms_launch.go
│ │ │ ├── loadbalancer_launch.go
│ │ │ ├── machineconfig/
│ │ │ │ ├── gen.go
│ │ │ │ ├── machineconfig.go
│ │ │ │ └── patch.go
│ │ │ ├── qemu_launch.go
│ │ │ ├── root.go
│ │ │ ├── siderolink_launch.go
│ │ │ ├── validate.go
│ │ │ └── virtiofsd_launch.go
│ │ ├── root.go
│ │ └── talos/
│ │ ├── apply-config.go
│ │ ├── bootstrap.go
│ │ ├── cgroups.go
│ │ ├── cgroupsprinter/
│ │ │ ├── presets/
│ │ │ │ ├── cpu.yaml
│ │ │ │ ├── cpuset.yaml
│ │ │ │ ├── io.yaml
│ │ │ │ ├── memory.yaml
│ │ │ │ ├── process.yaml
│ │ │ │ ├── psi.yaml
│ │ │ │ └── swap.yaml
│ │ │ ├── presets.go
│ │ │ ├── presets_test.go
│ │ │ ├── schema.go
│ │ │ └── tree.go
│ │ ├── config.go
│ │ ├── config_test.go
│ │ ├── conformance.go
│ │ ├── containers.go
│ │ ├── copy.go
│ │ ├── crashdump.go
│ │ ├── dashboard.go
│ │ ├── debug.go
│ │ ├── disks.go
│ │ ├── diskusage.go
│ │ ├── dmesg.go
│ │ ├── edit.go
│ │ ├── etcd.go
│ │ ├── events.go
│ │ ├── get.go
│ │ ├── health.go
│ │ ├── image.go
│ │ ├── inspect.go
│ │ ├── install.go
│ │ ├── interfaces.go
│ │ ├── kubeconfig.go
│ │ ├── lifecycle/
│ │ │ └── lifecycle.go
│ │ ├── list.go
│ │ ├── logs.go
│ │ ├── memory.go
│ │ ├── meta.go
│ │ ├── mounts.go
│ │ ├── multiplex/
│ │ │ ├── multiplex.go
│ │ │ ├── stream.go
│ │ │ └── unary.go
│ │ ├── netstat.go
│ │ ├── output/
│ │ │ ├── json.go
│ │ │ ├── jsonpath.go
│ │ │ ├── jsonpath_test.go
│ │ │ ├── output.go
│ │ │ ├── table.go
│ │ │ └── yaml.go
│ │ ├── patch.go
│ │ ├── pcap.go
│ │ ├── processes.go
│ │ ├── pull/
│ │ │ └── pull.go
│ │ ├── read.go
│ │ ├── reboot.go
│ │ ├── reset.go
│ │ ├── restart.go
│ │ ├── rollback.go
│ │ ├── root.go
│ │ ├── rotate-ca.go
│ │ ├── routes.go
│ │ ├── service.go
│ │ ├── shutdown.go
│ │ ├── stats.go
│ │ ├── support.go
│ │ ├── time.go
│ │ ├── track.go
│ │ ├── upgrade-k8s.go
│ │ ├── upgrade.go
│ │ ├── version.go
│ │ └── wipe.go
│ ├── main.go
│ └── pkg/
│ ├── mgmt/
│ │ └── helpers/
│ │ ├── airgapped.go
│ │ ├── artifacts.go
│ │ ├── helpers_test.go
│ │ ├── image.go
│ │ └── wireguard.go
│ └── talos/
│ ├── action/
│ │ ├── node.go
│ │ └── tracker.go
│ ├── artifacts/
│ │ ├── arch.go
│ │ ├── fetch.go
│ │ └── images.go
│ ├── global/
│ │ └── client.go
│ ├── helpers/
│ │ ├── archive.go
│ │ ├── checks.go
│ │ ├── confirm.go
│ │ ├── error.go
│ │ ├── helpers_test.go
│ │ ├── labels.go
│ │ ├── mode.go
│ │ ├── resources.go
│ │ └── stream.go
│ └── yamlstrip/
│ ├── testdata/
│ │ ├── malformed.in.yaml
│ │ ├── malformed.out.yaml
│ │ ├── multidoc.in.yaml
│ │ └── multidoc.out.yaml
│ ├── yamlstrip.go
│ └── yamlstrip_test.go
├── go.mod
├── go.sum
├── go.work
├── hack/
│ ├── boilerplate.txt
│ ├── cleanup.sh
│ ├── cloud-image-uploader/
│ │ ├── README.md
│ │ ├── aws.go
│ │ ├── factory.go
│ │ ├── gcp.go
│ │ ├── go.mod
│ │ ├── go.sum
│ │ ├── main.go
│ │ ├── options.go
│ │ ├── role-policy.json
│ │ └── trust-policy.json
│ ├── cloud-image-uploader.sh
│ ├── containerd.toml
│ ├── cri-containerd.toml
│ ├── cri-plugin.part
│ ├── extra-modules.conf
│ ├── fix-artifacts.sh
│ ├── labeled-squashfs.sh
│ ├── lvm.conf
│ ├── modules-amd64.txt
│ ├── modules-arm64.txt
│ ├── nfsmount.conf
│ ├── release.sh
│ ├── release.toml
│ ├── sbom.sh
│ ├── start-registry-proxies.sh
│ ├── test/
│ │ ├── cis/
│ │ │ ├── kube-bench-master.yaml
│ │ │ └── kube-bench-node.yaml
│ │ ├── e2e-aws-prepare.sh
│ │ ├── e2e-aws.sh
│ │ ├── e2e-azure.sh
│ │ ├── e2e-cloud-tf.sh
│ │ ├── e2e-docker.sh
│ │ ├── e2e-embedded.sh
│ │ ├── e2e-gcp-prepare.sh
│ │ ├── e2e-gcp.sh
│ │ ├── e2e-image-factory.sh
│ │ ├── e2e-iso.sh
│ │ ├── e2e-qemu.sh
│ │ ├── e2e.sh
│ │ ├── patches/
│ │ │ ├── airgapped-timesync.yaml
│ │ │ ├── cilium-kubeproxy.yaml
│ │ │ ├── cilium-no-kubeproxy.yaml
│ │ │ ├── dm-raid-module.yaml
│ │ │ ├── ephemeral-min-max.yaml
│ │ │ ├── ephemeral-nvme.yaml
│ │ │ ├── extensions.yaml
│ │ │ ├── flannel-netpol.yaml
│ │ │ ├── image-cache-encrypted.yaml
│ │ │ ├── image-cache.yaml
│ │ │ ├── image-verification.yaml
│ │ │ ├── longhorn-cp.yaml
│ │ │ ├── longhorn.yaml
│ │ │ ├── node-address-v2.yaml
│ │ │ ├── openebs-cp.yaml
│ │ │ ├── openebs.yaml
│ │ │ ├── proxied-registry.yaml
│ │ │ ├── rook-ceph.yaml
│ │ │ ├── usernamespace.yaml
│ │ │ └── watchdog.yaml
│ │ ├── provision-tests.sh
│ │ └── tfvars/
│ │ ├── aws.jq
│ │ ├── azure.jq
│ │ ├── gcp.jq
│ │ └── nvidia.yaml
│ ├── udevd/
│ │ ├── 40-vm-hotadd.rules
│ │ ├── 90-selinux.rules
│ │ └── 99-default.link
│ └── zoneinfo/
│ └── Etc/
│ └── UTC
├── internal/
│ ├── app/
│ │ ├── apid/
│ │ │ ├── debug.go
│ │ │ ├── main.go
│ │ │ ├── pkg/
│ │ │ │ ├── backend/
│ │ │ │ │ ├── apid.go
│ │ │ │ │ ├── apid_factory.go
│ │ │ │ │ ├── apid_factory_test.go
│ │ │ │ │ ├── apid_test.go
│ │ │ │ │ └── backend.go
│ │ │ │ ├── director/
│ │ │ │ │ ├── director.go
│ │ │ │ │ ├── director_test.go
│ │ │ │ │ ├── local_address.go
│ │ │ │ │ └── mocks_test.go
│ │ │ │ └── provider/
│ │ │ │ ├── provider.go
│ │ │ │ └── provider_test.go
│ │ │ └── service.go
│ │ ├── auditd/
│ │ │ └── auditd.go
│ │ ├── dashboard/
│ │ │ └── main.go
│ │ ├── debug/
│ │ │ ├── container_streams.go
│ │ │ └── debug.go
│ │ ├── images/
│ │ │ ├── images.go
│ │ │ └── verify.go
│ │ ├── init/
│ │ │ └── main.go
│ │ ├── internal/
│ │ │ ├── ctrhelper/
│ │ │ │ └── ctrhelper.go
│ │ │ └── machinehelper/
│ │ │ └── machinehelper.go
│ │ ├── lifecycle/
│ │ │ ├── container.go
│ │ │ └── lifecycle.go
│ │ ├── machined/
│ │ │ ├── internal/
│ │ │ │ └── server/
│ │ │ │ └── v1alpha1/
│ │ │ │ ├── v1alpha1_cluster.go
│ │ │ │ ├── v1alpha1_images.go
│ │ │ │ ├── v1alpha1_inspect.go
│ │ │ │ ├── v1alpha1_meta.go
│ │ │ │ ├── v1alpha1_monitoring.go
│ │ │ │ ├── v1alpha1_server.go
│ │ │ │ ├── v1alpha1_time.go
│ │ │ │ └── v1alpha1_time_test.go
│ │ │ ├── main.go
│ │ │ ├── pkg/
│ │ │ │ ├── adapters/
│ │ │ │ │ ├── block/
│ │ │ │ │ │ ├── mount.go
│ │ │ │ │ │ ├── volume_config.go
│ │ │ │ │ │ └── volume_mount_status.go
│ │ │ │ │ ├── cluster/
│ │ │ │ │ │ ├── cluster.go
│ │ │ │ │ │ ├── identity.go
│ │ │ │ │ │ └── identity_test.go
│ │ │ │ │ ├── hardware/
│ │ │ │ │ │ ├── hardware.go
│ │ │ │ │ │ ├── memorymodule.go
│ │ │ │ │ │ ├── processor.go
│ │ │ │ │ │ └── system_information.go
│ │ │ │ │ ├── k8s/
│ │ │ │ │ │ ├── k8s.go
│ │ │ │ │ │ ├── manifest.go
│ │ │ │ │ │ ├── manifest_test.go
│ │ │ │ │ │ ├── static_pod.go
│ │ │ │ │ │ ├── static_pod_status.go
│ │ │ │ │ │ └── testdata/
│ │ │ │ │ │ └── list.yaml
│ │ │ │ │ ├── kubespan/
│ │ │ │ │ │ ├── identity.go
│ │ │ │ │ │ ├── identity_test.go
│ │ │ │ │ │ ├── kubespan.go
│ │ │ │ │ │ ├── peer_status.go
│ │ │ │ │ │ └── peer_status_test.go
│ │ │ │ │ ├── network/
│ │ │ │ │ │ ├── bond_master_spec.go
│ │ │ │ │ │ ├── bond_master_spec_test.go
│ │ │ │ │ │ ├── bridge_master_spec.go
│ │ │ │ │ │ ├── bridge_master_spec_test.go
│ │ │ │ │ │ ├── ipset.go
│ │ │ │ │ │ ├── ipset_test.go
│ │ │ │ │ │ ├── network.go
│ │ │ │ │ │ ├── nftables_rule.go
│ │ │ │ │ │ ├── nftables_rule_test.go
│ │ │ │ │ │ ├── vlan_spec.go
│ │ │ │ │ │ ├── vlan_spec_test.go
│ │ │ │ │ │ ├── vrf_master_spec.go
│ │ │ │ │ │ ├── vrf_master_spec_test.go
│ │ │ │ │ │ ├── wireguard_spec.go
│ │ │ │ │ │ └── wireguard_spec_test.go
│ │ │ │ │ ├── perf/
│ │ │ │ │ │ ├── cpu.go
│ │ │ │ │ │ ├── mem.go
│ │ │ │ │ │ └── perf.go
│ │ │ │ │ ├── secrets/
│ │ │ │ │ │ ├── encryption_salt.go
│ │ │ │ │ │ ├── encryption_salt_test.go
│ │ │ │ │ │ └── secrets.go
│ │ │ │ │ └── wireguard/
│ │ │ │ │ └── wireguard.go
│ │ │ │ ├── automaton/
│ │ │ │ │ ├── blockautomaton/
│ │ │ │ │ │ ├── blockmachine.go
│ │ │ │ │ │ ├── volume_mount.go
│ │ │ │ │ │ └── volume_mount_test.go
│ │ │ │ │ └── machine.go
│ │ │ │ ├── controllers/
│ │ │ │ │ ├── block/
│ │ │ │ │ │ ├── block.go
│ │ │ │ │ │ ├── devices.go
│ │ │ │ │ │ ├── devices_test.go
│ │ │ │ │ │ ├── discovery.go
│ │ │ │ │ │ ├── disks.go
│ │ │ │ │ │ ├── internal/
│ │ │ │ │ │ │ ├── inotify/
│ │ │ │ │ │ │ │ ├── inotify.go
│ │ │ │ │ │ │ │ └── inotify_test.go
│ │ │ │ │ │ │ ├── kobject/
│ │ │ │ │ │ │ │ ├── kobject.go
│ │ │ │ │ │ │ │ └── kobject_test.go
│ │ │ │ │ │ │ ├── sysblock/
│ │ │ │ │ │ │ │ ├── sysblock.go
│ │ │ │ │ │ │ │ └── sysblock_test.go
│ │ │ │ │ │ │ └── volumes/
│ │ │ │ │ │ │ ├── close.go
│ │ │ │ │ │ │ ├── disk.go
│ │ │ │ │ │ │ ├── disk_test.go
│ │ │ │ │ │ │ ├── encrypt.go
│ │ │ │ │ │ │ ├── encryption_meta.go
│ │ │ │ │ │ │ ├── encryption_meta_test.go
│ │ │ │ │ │ │ ├── format.go
│ │ │ │ │ │ │ ├── grow.go
│ │ │ │ │ │ │ ├── grow_test.go
│ │ │ │ │ │ │ ├── helpers_test.go
│ │ │ │ │ │ │ ├── locate.go
│ │ │ │ │ │ │ ├── locate_test.go
│ │ │ │ │ │ │ ├── partition.go
│ │ │ │ │ │ │ ├── partition_test.go
│ │ │ │ │ │ │ ├── volumeconfig/
│ │ │ │ │ │ │ │ ├── system_volumes.go
│ │ │ │ │ │ │ │ ├── system_volumes_test.go
│ │ │ │ │ │ │ │ ├── types.go
│ │ │ │ │ │ │ │ ├── user_volumes.go
│ │ │ │ │ │ │ │ ├── user_volumes_test.go
│ │ │ │ │ │ │ │ ├── volume_config_builder.go
│ │ │ │ │ │ │ │ └── volume_config_builder_test.go
│ │ │ │ │ │ │ ├── volumes.go
│ │ │ │ │ │ │ └── volumes_test.go
│ │ │ │ │ │ ├── lvm.go
│ │ │ │ │ │ ├── mount.go
│ │ │ │ │ │ ├── mount_request.go
│ │ │ │ │ │ ├── mount_request_test.go
│ │ │ │ │ │ ├── mount_status.go
│ │ │ │ │ │ ├── mount_status_test.go
│ │ │ │ │ │ ├── mount_test.go
│ │ │ │ │ │ ├── swap_status.go
│ │ │ │ │ │ ├── swap_status_test.go
│ │ │ │ │ │ ├── symlinks.go
│ │ │ │ │ │ ├── system_disk.go
│ │ │ │ │ │ ├── system_disk_test.go
│ │ │ │ │ │ ├── testdata/
│ │ │ │ │ │ │ └── procswaps.txt
│ │ │ │ │ │ ├── user_disk_config.go
│ │ │ │ │ │ ├── user_disk_config_test.go
│ │ │ │ │ │ ├── volume_config.go
│ │ │ │ │ │ ├── volume_config_test.go
│ │ │ │ │ │ ├── volume_manager.go
│ │ │ │ │ │ ├── zswap_config.go
│ │ │ │ │ │ └── zswap_status.go
│ │ │ │ │ ├── cluster/
│ │ │ │ │ │ ├── affiliate_merge.go
│ │ │ │ │ │ ├── affiliate_merge_test.go
│ │ │ │ │ │ ├── cluster.go
│ │ │ │ │ │ ├── cluster_test.go
│ │ │ │ │ │ ├── config.go
│ │ │ │ │ │ ├── config_test.go
│ │ │ │ │ │ ├── discovery_service.go
│ │ │ │ │ │ ├── discovery_service_test.go
│ │ │ │ │ │ ├── endpoint.go
│ │ │ │ │ │ ├── endpoint_test.go
│ │ │ │ │ │ ├── info.go
│ │ │ │ │ │ ├── info_test.go
│ │ │ │ │ │ ├── kubernetes_pull.go
│ │ │ │ │ │ ├── kubernetes_push.go
│ │ │ │ │ │ ├── local_affiliate.go
│ │ │ │ │ │ ├── local_affiliate_test.go
│ │ │ │ │ │ ├── member.go
│ │ │ │ │ │ ├── member_test.go
│ │ │ │ │ │ ├── node_identity.go
│ │ │ │ │ │ └── node_identity_test.go
│ │ │ │ │ ├── config/
│ │ │ │ │ │ ├── acquire.go
│ │ │ │ │ │ ├── acquire_test.go
│ │ │ │ │ │ ├── config.go
│ │ │ │ │ │ ├── machine_type.go
│ │ │ │ │ │ ├── persistence.go
│ │ │ │ │ │ └── persistence_test.go
│ │ │ │ │ ├── cri/
│ │ │ │ │ │ ├── cri.go
│ │ │ │ │ │ ├── cri_test.go
│ │ │ │ │ │ ├── export_test.go
│ │ │ │ │ │ ├── image_cache_config.go
│ │ │ │ │ │ ├── image_cache_config_test.go
│ │ │ │ │ │ ├── image_gc.go
│ │ │ │ │ │ ├── image_gc_test.go
│ │ │ │ │ │ ├── registries_config.go
│ │ │ │ │ │ ├── registries_config_test.go
│ │ │ │ │ │ ├── seccomp_profile.go
│ │ │ │ │ │ ├── seccomp_profile_file.go
│ │ │ │ │ │ ├── seccomp_profile_file_test.go
│ │ │ │ │ │ └── seccomp_profile_test.go
│ │ │ │ │ ├── ctest/
│ │ │ │ │ │ ├── assert.go
│ │ │ │ │ │ └── ctest.go
│ │ │ │ │ ├── etcd/
│ │ │ │ │ │ ├── advertised_peer.go
│ │ │ │ │ │ ├── config.go
│ │ │ │ │ │ ├── config_test.go
│ │ │ │ │ │ ├── etcd.go
│ │ │ │ │ │ ├── member.go
│ │ │ │ │ │ ├── member_test.go
│ │ │ │ │ │ ├── pki.go
│ │ │ │ │ │ ├── spec.go
│ │ │ │ │ │ └── spec_test.go
│ │ │ │ │ ├── files/
│ │ │ │ │ │ ├── cri_base_runtime_spec.go
│ │ │ │ │ │ ├── cri_base_runtime_spec_test.go
│ │ │ │ │ │ ├── cri_config_parts.go
│ │ │ │ │ │ ├── cri_registry_config.go
│ │ │ │ │ │ ├── etcfile.go
│ │ │ │ │ │ ├── etcfile_test.go
│ │ │ │ │ │ ├── files.go
│ │ │ │ │ │ ├── iqn.go
│ │ │ │ │ │ └── nqn.go
│ │ │ │ │ ├── hardware/
│ │ │ │ │ │ ├── hardware.go
│ │ │ │ │ │ ├── hardware_test.go
│ │ │ │ │ │ ├── pci_driver_rebind.go
│ │ │ │ │ │ ├── pci_driver_rebind_config.go
│ │ │ │ │ │ ├── pci_driver_rebind_config_test.go
│ │ │ │ │ │ ├── pcidevices.go
│ │ │ │ │ │ ├── pcr_status.go
│ │ │ │ │ │ ├── system.go
│ │ │ │ │ │ ├── system_test.go
│ │ │ │ │ │ └── testdata/
│ │ │ │ │ │ └── SuperMicro-Dual-Xeon.dmi
│ │ │ │ │ ├── k8s/
│ │ │ │ │ │ ├── address_filter.go
│ │ │ │ │ │ ├── address_filter_test.go
│ │ │ │ │ │ ├── control_plane.go
│ │ │ │ │ │ ├── control_plane_static_pod.go
│ │ │ │ │ │ ├── control_plane_static_pod_test.go
│ │ │ │ │ │ ├── control_plane_test.go
│ │ │ │ │ │ ├── endpoint.go
│ │ │ │ │ │ ├── extra_manifest.go
│ │ │ │ │ │ ├── extra_manifest_test.go
│ │ │ │ │ │ ├── internal/
│ │ │ │ │ │ │ ├── k8stemplates/
│ │ │ │ │ │ │ │ ├── apiserver.go
│ │ │ │ │ │ │ │ ├── coredns.go
│ │ │ │ │ │ │ │ ├── crds.go
│ │ │ │ │ │ │ │ ├── csr.go
│ │ │ │ │ │ │ │ ├── flannel.go
│ │ │ │ │ │ │ │ ├── k8stemplates.go
│ │ │ │ │ │ │ │ ├── k8stemplates_test.go
│ │ │ │ │ │ │ │ ├── kube-proxy.go
│ │ │ │ │ │ │ │ ├── kubeconfig.go
│ │ │ │ │ │ │ │ ├── kubelet.go
│ │ │ │ │ │ │ │ ├── talos.go
│ │ │ │ │ │ │ │ └── testdata/
│ │ │ │ │ │ │ │ ├── apiserver-encryption-aescbc.yaml
│ │ │ │ │ │ │ │ ├── apiserver-encryption-secretbox.yaml
│ │ │ │ │ │ │ │ ├── coredns-cluster-role-binding.yaml
│ │ │ │ │ │ │ │ ├── coredns-cluster-role.yaml
│ │ │ │ │ │ │ │ ├── coredns-configmap-cluster-domain.yaml
│ │ │ │ │ │ │ │ ├── coredns-configmap-no-cluster-domain.yaml
│ │ │ │ │ │ │ │ ├── coredns-deployment.yaml
│ │ │ │ │ │ │ │ ├── coredns-service-account.yaml
│ │ │ │ │ │ │ │ ├── coredns-service-dual.yaml
│ │ │ │ │ │ │ │ ├── coredns-service-ipv4.yaml
│ │ │ │ │ │ │ │ ├── coredns-service-ipv6.yaml
│ │ │ │ │ │ │ │ ├── csr-approver-role-binding.yaml
│ │ │ │ │ │ │ │ ├── csr-node-bootstrap.yaml
│ │ │ │ │ │ │ │ ├── csr-renewal-role-binding.yaml
│ │ │ │ │ │ │ │ ├── flannel-cluster-role-binding.yaml
│ │ │ │ │ │ │ │ ├── flannel-cluster-role-with-network-policies.yaml
│ │ │ │ │ │ │ │ ├── flannel-cluster-role.yaml
│ │ │ │ │ │ │ │ ├── flannel-configmap-dual.yaml
│ │ │ │ │ │ │ │ ├── flannel-configmap-v4.yaml
│ │ │ │ │ │ │ │ ├── flannel-configmap-v6.yaml
│ │ │ │ │ │ │ │ ├── flannel-daemonset-with-network-policies.yaml
│ │ │ │ │ │ │ │ ├── flannel-daemonset.yaml
│ │ │ │ │ │ │ │ ├── flannel-service-account.yaml
│ │ │ │ │ │ │ │ ├── kube-proxy-cluster-role-binding.yaml
│ │ │ │ │ │ │ │ ├── kube-proxy-daemonset.yaml
│ │ │ │ │ │ │ │ ├── kube-proxy-service-account.yaml
│ │ │ │ │ │ │ │ ├── kubeconfig-in-cluster.yaml
│ │ │ │ │ │ │ │ ├── kubelet-bootstrapping-token.yaml
│ │ │ │ │ │ │ │ ├── talos-nodes-rbac-cluster-role-binding.yaml
│ │ │ │ │ │ │ │ ├── talos-nodes-rbac-cluster-role.yaml
│ │ │ │ │ │ │ │ └── talos-service-account-crd.yaml
│ │ │ │ │ │ │ ├── nodename/
│ │ │ │ │ │ │ │ ├── nodename.go
│ │ │ │ │ │ │ │ └── nodename_test.go
│ │ │ │ │ │ │ └── nodewatch/
│ │ │ │ │ │ │ └── nodewatch.go
│ │ │ │ │ │ ├── k8s.go
│ │ │ │ │ │ ├── kubelet_config.go
│ │ │ │ │ │ ├── kubelet_config_test.go
│ │ │ │ │ │ ├── kubelet_service.go
│ │ │ │ │ │ ├── kubelet_spec.go
│ │ │ │ │ │ ├── kubelet_spec_test.go
│ │ │ │ │ │ ├── kubelet_static_pod.go
│ │ │ │ │ │ ├── kubeprism.go
│ │ │ │ │ │ ├── kubeprism_config.go
│ │ │ │ │ │ ├── kubeprism_config_test.go
│ │ │ │ │ │ ├── kubeprism_endpoints.go
│ │ │ │ │ │ ├── kubeprism_endpoints_test.go
│ │ │ │ │ │ ├── manifest.go
│ │ │ │ │ │ ├── manifest_apply.go
│ │ │ │ │ │ ├── manifest_test.go
│ │ │ │ │ │ ├── node_annotation_spec.go
│ │ │ │ │ │ ├── node_annotation_spec_test.go
│ │ │ │ │ │ ├── node_apply.go
│ │ │ │ │ │ ├── node_apply_test.go
│ │ │ │ │ │ ├── node_cordoned_spec.go
│ │ │ │ │ │ ├── node_cordoned_spec_test.go
│ │ │ │ │ │ ├── node_label_spec.go
│ │ │ │ │ │ ├── node_label_spec_test.go
│ │ │ │ │ │ ├── node_status.go
│ │ │ │ │ │ ├── node_taint_spec.go
│ │ │ │ │ │ ├── node_taint_spec_test.go
│ │ │ │ │ │ ├── nodeip.go
│ │ │ │ │ │ ├── nodeip_config.go
│ │ │ │ │ │ ├── nodeip_config_test.go
│ │ │ │ │ │ ├── nodeip_test.go
│ │ │ │ │ │ ├── nodename.go
│ │ │ │ │ │ ├── nodename_test.go
│ │ │ │ │ │ ├── render_config_static_pods.go
│ │ │ │ │ │ ├── render_secrets_static_pod.go
│ │ │ │ │ │ ├── static_endpoint.go
│ │ │ │ │ │ ├── static_endpoint_test.go
│ │ │ │ │ │ ├── static_pod_config.go
│ │ │ │ │ │ ├── static_pod_config_test.go
│ │ │ │ │ │ ├── static_pod_server.go
│ │ │ │ │ │ └── static_pod_server_test.go
│ │ │ │ │ ├── kubeaccess/
│ │ │ │ │ │ ├── config.go
│ │ │ │ │ │ ├── config_test.go
│ │ │ │ │ │ ├── endpoint.go
│ │ │ │ │ │ ├── endpoint_test.go
│ │ │ │ │ │ ├── kubeaccess.go
│ │ │ │ │ │ ├── serviceaccount/
│ │ │ │ │ │ │ └── crd_controller.go
│ │ │ │ │ │ └── serviceaccount.go
│ │ │ │ │ ├── kubespan/
│ │ │ │ │ │ ├── config.go
│ │ │ │ │ │ ├── config_test.go
│ │ │ │ │ │ ├── endpoint.go
│ │ │ │ │ │ ├── endpoint_test.go
│ │ │ │ │ │ ├── identity.go
│ │ │ │ │ │ ├── identity_test.go
│ │ │ │ │ │ ├── kubespan.go
│ │ │ │ │ │ ├── manager.go
│ │ │ │ │ │ ├── manager_test.go
│ │ │ │ │ │ ├── peer_spec.go
│ │ │ │ │ │ └── peer_spec_test.go
│ │ │ │ │ ├── network/
│ │ │ │ │ │ ├── address_config.go
│ │ │ │ │ │ ├── address_config_test.go
│ │ │ │ │ │ ├── address_event.go
│ │ │ │ │ │ ├── address_event_test.go
│ │ │ │ │ │ ├── address_merge.go
│ │ │ │ │ │ ├── address_merge_test.go
│ │ │ │ │ │ ├── address_spec.go
│ │ │ │ │ │ ├── address_spec_test.go
│ │ │ │ │ │ ├── address_status.go
│ │ │ │ │ │ ├── address_status_test.go
│ │ │ │ │ │ ├── cmdline.go
│ │ │ │ │ │ ├── cmdline_test.go
│ │ │ │ │ │ ├── device_config.go
│ │ │ │ │ │ ├── device_config_test.go
│ │ │ │ │ │ ├── dns_resolve_cache.go
│ │ │ │ │ │ ├── dns_resolve_cache_test.go
│ │ │ │ │ │ ├── dns_upstream.go
│ │ │ │ │ │ ├── etcfile.go
│ │ │ │ │ │ ├── etcfile_test.go
│ │ │ │ │ │ ├── ethernet_config.go
│ │ │ │ │ │ ├── ethernet_config_test.go
│ │ │ │ │ │ ├── ethernet_spec.go
│ │ │ │ │ │ ├── ethernet_status.go
│ │ │ │ │ │ ├── generic_merge.go
│ │ │ │ │ │ ├── hardware_addr.go
│ │ │ │ │ │ ├── hardware_addr_test.go
│ │ │ │ │ │ ├── hostdns_config.go
│ │ │ │ │ │ ├── hostname_config.go
│ │ │ │ │ │ ├── hostname_config_test.go
│ │ │ │ │ │ ├── hostname_merge.go
│ │ │ │ │ │ ├── hostname_merge_test.go
│ │ │ │ │ │ ├── hostname_spec.go
│ │ │ │ │ │ ├── hostname_spec_test.go
│ │ │ │ │ │ ├── internal/
│ │ │ │ │ │ │ ├── addressutil/
│ │ │ │ │ │ │ │ ├── addressutil.go
│ │ │ │ │ │ │ │ ├── addressutil_test.go
│ │ │ │ │ │ │ │ ├── broadcast.go
│ │ │ │ │ │ │ │ ├── broadcast_test.go
│ │ │ │ │ │ │ │ ├── compare.go
│ │ │ │ │ │ │ │ └── compare_test.go
│ │ │ │ │ │ │ └── probe/
│ │ │ │ │ │ │ ├── probe.go
│ │ │ │ │ │ │ └── probe_test.go
│ │ │ │ │ │ ├── link_alias_config.go
│ │ │ │ │ │ ├── link_alias_config_test.go
│ │ │ │ │ │ ├── link_alias_spec.go
│ │ │ │ │ │ ├── link_config.go
│ │ │ │ │ │ ├── link_config_test.go
│ │ │ │ │ │ ├── link_merge.go
│ │ │ │ │ │ ├── link_merge_test.go
│ │ │ │ │ │ ├── link_spec.go
│ │ │ │ │ │ ├── link_spec_test.go
│ │ │ │ │ │ ├── link_status.go
│ │ │ │ │ │ ├── link_status_test.go
│ │ │ │ │ │ ├── network.go
│ │ │ │ │ │ ├── network_test.go
│ │ │ │ │ │ ├── nftables_chain.go
│ │ │ │ │ │ ├── nftables_chain_config.go
│ │ │ │ │ │ ├── nftables_chain_config_test.go
│ │ │ │ │ │ ├── nftables_chain_test.go
│ │ │ │ │ │ ├── node_address.go
│ │ │ │ │ │ ├── node_address_sort_algorithm.go
│ │ │ │ │ │ ├── node_address_test.go
│ │ │ │ │ │ ├── operator/
│ │ │ │ │ │ │ ├── client_identifier.go
│ │ │ │ │ │ │ ├── dhcp4.go
│ │ │ │ │ │ │ ├── dhcp6.go
│ │ │ │ │ │ │ ├── operator.go
│ │ │ │ │ │ │ ├── vip/
│ │ │ │ │ │ │ │ ├── equinix_metal.go
│ │ │ │ │ │ │ │ ├── equinix_metal_test.go
│ │ │ │ │ │ │ │ ├── hcloud.go
│ │ │ │ │ │ │ │ ├── nop.go
│ │ │ │ │ │ │ │ └── vip.go
│ │ │ │ │ │ │ └── vip.go
│ │ │ │ │ │ ├── operator_config.go
│ │ │ │ │ │ ├── operator_config_test.go
│ │ │ │ │ │ ├── operator_merge.go
│ │ │ │ │ │ ├── operator_merge_test.go
│ │ │ │ │ │ ├── operator_spec.go
│ │ │ │ │ │ ├── operator_spec_test.go
│ │ │ │ │ │ ├── operator_vip_config.go
│ │ │ │ │ │ ├── operator_vip_config_test.go
│ │ │ │ │ │ ├── platform_config.go
│ │ │ │ │ │ ├── platform_config_apply.go
│ │ │ │ │ │ ├── platform_config_apply_test.go
│ │ │ │ │ │ ├── platform_config_load.go
│ │ │ │ │ │ ├── platform_config_load_test.go
│ │ │ │ │ │ ├── platform_config_store.go
│ │ │ │ │ │ ├── platform_config_store_test.go
│ │ │ │ │ │ ├── platform_config_test.go
│ │ │ │ │ │ ├── probe.go
│ │ │ │ │ │ ├── probe_config.go
│ │ │ │ │ │ ├── probe_config_test.go
│ │ │ │ │ │ ├── probe_merge.go
│ │ │ │ │ │ ├── probe_merge_test.go
│ │ │ │ │ │ ├── probe_test.go
│ │ │ │ │ │ ├── resolver_config.go
│ │ │ │ │ │ ├── resolver_config_test.go
│ │ │ │ │ │ ├── resolver_merge.go
│ │ │ │ │ │ ├── resolver_merge_test.go
│ │ │ │ │ │ ├── resolver_spec.go
│ │ │ │ │ │ ├── resolver_spec_test.go
│ │ │ │ │ │ ├── route_config.go
│ │ │ │ │ │ ├── route_config_test.go
│ │ │ │ │ │ ├── route_merge.go
│ │ │ │ │ │ ├── route_merge_test.go
│ │ │ │ │ │ ├── route_spec.go
│ │ │ │ │ │ ├── route_spec_test.go
│ │ │ │ │ │ ├── route_status.go
│ │ │ │ │ │ ├── route_status_test.go
│ │ │ │ │ │ ├── routing_rule_config.go
│ │ │ │ │ │ ├── routing_rule_config_test.go
│ │ │ │ │ │ ├── routing_rule_merge.go
│ │ │ │ │ │ ├── routing_rule_merge_test.go
│ │ │ │ │ │ ├── routing_rule_spec.go
│ │ │ │ │ │ ├── routing_rule_spec_test.go
│ │ │ │ │ │ ├── routing_rule_status.go
│ │ │ │ │ │ ├── routing_rule_status_test.go
│ │ │ │ │ │ ├── status.go
│ │ │ │ │ │ ├── status_test.go
│ │ │ │ │ │ ├── timeserver_config.go
│ │ │ │ │ │ ├── timeserver_config_test.go
│ │ │ │ │ │ ├── timeserver_merge.go
│ │ │ │ │ │ ├── timeserver_merge_test.go
│ │ │ │ │ │ ├── timeserver_spec.go
│ │ │ │ │ │ ├── timeserver_spec_test.go
│ │ │ │ │ │ ├── utils/
│ │ │ │ │ │ │ └── utils.go
│ │ │ │ │ │ └── watch/
│ │ │ │ │ │ ├── ethtool.go
│ │ │ │ │ │ ├── rtnetlink.go
│ │ │ │ │ │ ├── trigger.go
│ │ │ │ │ │ ├── trigger_test.go
│ │ │ │ │ │ └── watch.go
│ │ │ │ │ ├── perf/
│ │ │ │ │ │ ├── perf.go
│ │ │ │ │ │ └── perf_test.go
│ │ │ │ │ ├── runtime/
│ │ │ │ │ │ ├── api_service_config.go
│ │ │ │ │ │ ├── api_service_config_test.go
│ │ │ │ │ │ ├── booted_entry.go
│ │ │ │ │ │ ├── common_test.go
│ │ │ │ │ │ ├── devices_status.go
│ │ │ │ │ │ ├── diagnostics.go
│ │ │ │ │ │ ├── diagnostics_logger.go
│ │ │ │ │ │ ├── drop_upgrade_fallback.go
│ │ │ │ │ │ ├── drop_upgrade_fallback_test.go
│ │ │ │ │ │ ├── environment.go
│ │ │ │ │ │ ├── environment_test.go
│ │ │ │ │ │ ├── events_sink.go
│ │ │ │ │ │ ├── events_sink_config.go
│ │ │ │ │ │ ├── events_sink_config_test.go
│ │ │ │ │ │ ├── events_sink_test.go
│ │ │ │ │ │ ├── extension_service.go
│ │ │ │ │ │ ├── extension_service_config.go
│ │ │ │ │ │ ├── extension_service_config_files.go
│ │ │ │ │ │ ├── extension_service_config_files_test.go
│ │ │ │ │ │ ├── extension_service_config_test.go
│ │ │ │ │ │ ├── extension_service_test.go
│ │ │ │ │ │ ├── extension_status.go
│ │ │ │ │ │ ├── internal/
│ │ │ │ │ │ │ ├── diagnostics/
│ │ │ │ │ │ │ │ ├── address_overlap.go
│ │ │ │ │ │ │ │ ├── address_overlap_test.go
│ │ │ │ │ │ │ │ ├── diagnostic.go
│ │ │ │ │ │ │ │ └── kubelet_csr_not_approved.go
│ │ │ │ │ │ │ ├── filehash/
│ │ │ │ │ │ │ │ ├── filehash.go
│ │ │ │ │ │ │ │ └── filehash_test.go
│ │ │ │ │ │ │ ├── logfile/
│ │ │ │ │ │ │ │ ├── logfile.go
│ │ │ │ │ │ │ │ └── logfile_test.go
│ │ │ │ │ │ │ └── oom/
│ │ │ │ │ │ │ ├── oom.go
│ │ │ │ │ │ │ ├── oom_test.go
│ │ │ │ │ │ │ └── testdata/
│ │ │ │ │ │ │ ├── rank1/
│ │ │ │ │ │ │ │ └── kubepods/
│ │ │ │ │ │ │ │ ├── besteffort/
│ │ │ │ │ │ │ │ │ └── pod123/
│ │ │ │ │ │ │ │ │ ├── cgroup.procs
│ │ │ │ │ │ │ │ │ ├── memory.current
│ │ │ │ │ │ │ │ │ ├── memory.max
│ │ │ │ │ │ │ │ │ └── memory.peak
│ │ │ │ │ │ │ │ └── burstable/
│ │ │ │ │ │ │ │ └── podABC/
│ │ │ │ │ │ │ │ ├── cgroup.procs
│ │ │ │ │ │ │ │ ├── memory.current
│ │ │ │ │ │ │ │ ├── memory.max
│ │ │ │ │ │ │ │ └── memory.peak
│ │ │ │ │ │ │ ├── trigger-false/
│ │ │ │ │ │ │ │ ├── init/
│ │ │ │ │ │ │ │ │ └── memory.pressure
│ │ │ │ │ │ │ │ ├── memory.pressure
│ │ │ │ │ │ │ │ ├── podruntime/
│ │ │ │ │ │ │ │ │ └── memory.pressure
│ │ │ │ │ │ │ │ └── system/
│ │ │ │ │ │ │ │ └── memory.pressure
│ │ │ │ │ │ │ └── trigger-true/
│ │ │ │ │ │ │ ├── init/
│ │ │ │ │ │ │ │ └── memory.pressure
│ │ │ │ │ │ │ ├── kubepods/
│ │ │ │ │ │ │ │ └── besteffort/
│ │ │ │ │ │ │ │ └── memory.pressure
│ │ │ │ │ │ │ ├── memory.pressure
│ │ │ │ │ │ │ ├── podruntime/
│ │ │ │ │ │ │ │ └── memory.pressure
│ │ │ │ │ │ │ └── system/
│ │ │ │ │ │ │ └── memory.pressure
│ │ │ │ │ │ ├── kernel_cmdline.go
│ │ │ │ │ │ ├── kernel_cmdline_test.go
│ │ │ │ │ │ ├── kernel_module_config.go
│ │ │ │ │ │ ├── kernel_module_config_test.go
│ │ │ │ │ │ ├── kernel_module_spec.go
│ │ │ │ │ │ ├── kernel_param_config.go
│ │ │ │ │ │ ├── kernel_param_config_test.go
│ │ │ │ │ │ ├── kernel_param_defaults.go
│ │ │ │ │ │ ├── kernel_param_defaults_test.go
│ │ │ │ │ │ ├── kernel_param_spec.go
│ │ │ │ │ │ ├── kernel_param_spec_test.go
│ │ │ │ │ │ ├── kmsg_log.go
│ │ │ │ │ │ ├── kmsg_log_config.go
│ │ │ │ │ │ ├── kmsg_log_config_test.go
│ │ │ │ │ │ ├── kmsg_log_storage.go
│ │ │ │ │ │ ├── kmsg_log_test.go
│ │ │ │ │ │ ├── loaded_kernel_module.go
│ │ │ │ │ │ ├── loaded_kernel_module_test.go
│ │ │ │ │ │ ├── log_persistence.go
│ │ │ │ │ │ ├── log_persistence_test.go
│ │ │ │ │ │ ├── machine_status.go
│ │ │ │ │ │ ├── machine_status_publisher.go
│ │ │ │ │ │ ├── machine_status_test.go
│ │ │ │ │ │ ├── maintenance_config.go
│ │ │ │ │ │ ├── maintenance_config_test.go
│ │ │ │ │ │ ├── maintenance_service_inform.go
│ │ │ │ │ │ ├── mount_status.go
│ │ │ │ │ │ ├── oom.go
│ │ │ │ │ │ ├── runtime.go
│ │ │ │ │ │ ├── sbom_item.go
│ │ │ │ │ │ ├── sbom_item_test.go
│ │ │ │ │ │ ├── security_state.go
│ │ │ │ │ │ ├── testdata/
│ │ │ │ │ │ │ ├── ext-spdx/
│ │ │ │ │ │ │ │ └── tailscale.spdx.json
│ │ │ │ │ │ │ ├── extservices/
│ │ │ │ │ │ │ │ ├── foo.bar
│ │ │ │ │ │ │ │ ├── frr.yaml
│ │ │ │ │ │ │ │ ├── hello.yaml
│ │ │ │ │ │ │ │ ├── invalid.yaml
│ │ │ │ │ │ │ │ └── zduplicate.yaml
│ │ │ │ │ │ │ └── spdx/
│ │ │ │ │ │ │ └── test.spdx.json
│ │ │ │ │ │ ├── unique_token.go
│ │ │ │ │ │ ├── unique_token_test.go
│ │ │ │ │ │ ├── utils.go
│ │ │ │ │ │ ├── version.go
│ │ │ │ │ │ ├── watchdog_timer.go
│ │ │ │ │ │ ├── watchdog_timer_config.go
│ │ │ │ │ │ └── watchdog_timer_config_test.go
│ │ │ │ │ ├── secrets/
│ │ │ │ │ │ ├── api.go
│ │ │ │ │ │ ├── api_cert_sans.go
│ │ │ │ │ │ ├── api_cert_sans_test.go
│ │ │ │ │ │ ├── api_test.go
│ │ │ │ │ │ ├── data/
│ │ │ │ │ │ │ └── ca-certificates
│ │ │ │ │ │ ├── encryption_salt.go
│ │ │ │ │ │ ├── encryption_salt_test.go
│ │ │ │ │ │ ├── etcd.go
│ │ │ │ │ │ ├── etcd_test.go
│ │ │ │ │ │ ├── kubelet.go
│ │ │ │ │ │ ├── kubelet_test.go
│ │ │ │ │ │ ├── kubernetes.go
│ │ │ │ │ │ ├── kubernetes_cert_sans.go
│ │ │ │ │ │ ├── kubernetes_cert_sans_test.go
│ │ │ │ │ │ ├── kubernetes_dynamic_certs.go
│ │ │ │ │ │ ├── kubernetes_dynamic_certs_test.go
│ │ │ │ │ │ ├── kubernetes_test.go
│ │ │ │ │ │ ├── maintenance_cert_sans.go
│ │ │ │ │ │ ├── maintenance_cert_sans_test.go
│ │ │ │ │ │ ├── maintenance_root.go
│ │ │ │ │ │ ├── maintenance_root_test.go
│ │ │ │ │ │ ├── root.go
│ │ │ │ │ │ ├── root_test.go
│ │ │ │ │ │ ├── secrets.go
│ │ │ │ │ │ ├── trustd.go
│ │ │ │ │ │ ├── trustd_test.go
│ │ │ │ │ │ ├── trusted_roots.go
│ │ │ │ │ │ └── trusted_roots_test.go
│ │ │ │ │ ├── security/
│ │ │ │ │ │ ├── image_verification_config.go
│ │ │ │ │ │ ├── image_verification_config_test.go
│ │ │ │ │ │ ├── tuf_trusted_root.go
│ │ │ │ │ │ └── tuf_trusted_root_test.go
│ │ │ │ │ ├── siderolink/
│ │ │ │ │ │ ├── config.go
│ │ │ │ │ │ ├── config_test.go
│ │ │ │ │ │ ├── manager.go
│ │ │ │ │ │ ├── manager_test.go
│ │ │ │ │ │ ├── siderolink.go
│ │ │ │ │ │ ├── status.go
│ │ │ │ │ │ ├── status_test.go
│ │ │ │ │ │ └── userspace.go
│ │ │ │ │ ├── time/
│ │ │ │ │ │ ├── adjtime_status.go
│ │ │ │ │ │ ├── sync.go
│ │ │ │ │ │ ├── sync_test.go
│ │ │ │ │ │ └── time.go
│ │ │ │ │ ├── utils.go
│ │ │ │ │ └── v1alpha1/
│ │ │ │ │ ├── service.go
│ │ │ │ │ ├── utils.go
│ │ │ │ │ └── v1alpha1.go
│ │ │ │ ├── runtime/
│ │ │ │ │ ├── controller.go
│ │ │ │ │ ├── disk/
│ │ │ │ │ │ ├── disk.go
│ │ │ │ │ │ └── options.go
│ │ │ │ │ ├── doc.go
│ │ │ │ │ ├── drainer.go
│ │ │ │ │ ├── drainer_test.go
│ │ │ │ │ ├── emergency/
│ │ │ │ │ │ └── emergency.go
│ │ │ │ │ ├── errors.go
│ │ │ │ │ ├── events.go
│ │ │ │ │ ├── kernel_linux.go
│ │ │ │ │ ├── logging/
│ │ │ │ │ │ ├── circular.go
│ │ │ │ │ │ ├── extract.go
│ │ │ │ │ │ ├── extract_test.go
│ │ │ │ │ │ ├── file.go
│ │ │ │ │ │ ├── logging.go
│ │ │ │ │ │ ├── null.go
│ │ │ │ │ │ ├── sender_jsonlines.go
│ │ │ │ │ │ └── sender_jsonlines_test.go
│ │ │ │ │ ├── logging.go
│ │ │ │ │ ├── mode.go
│ │ │ │ │ ├── mode_test.go
│ │ │ │ │ ├── platform.go
│ │ │ │ │ ├── runtime.go
│ │ │ │ │ ├── sequencer.go
│ │ │ │ │ ├── sequencer_test.go
│ │ │ │ │ ├── state.go
│ │ │ │ │ ├── v1alpha1/
│ │ │ │ │ │ ├── acpi/
│ │ │ │ │ │ │ ├── acpi.go
│ │ │ │ │ │ │ └── acpi_test.go
│ │ │ │ │ │ ├── bootloader/
│ │ │ │ │ │ │ ├── bootloader.go
│ │ │ │ │ │ │ ├── bootloader_test.go
│ │ │ │ │ │ │ ├── dual/
│ │ │ │ │ │ │ │ └── dual.go
│ │ │ │ │ │ │ ├── efiutils/
│ │ │ │ │ │ │ │ └── efiutils.go
│ │ │ │ │ │ │ ├── grub/
│ │ │ │ │ │ │ │ ├── blocklist.go
│ │ │ │ │ │ │ │ ├── boot_label.go
│ │ │ │ │ │ │ │ ├── constants.go
│ │ │ │ │ │ │ │ ├── decode.go
│ │ │ │ │ │ │ │ ├── encode.go
│ │ │ │ │ │ │ │ ├── grub.go
│ │ │ │ │ │ │ │ ├── grub_test.go
│ │ │ │ │ │ │ │ ├── install.go
│ │ │ │ │ │ │ │ ├── probe.go
│ │ │ │ │ │ │ │ ├── quote.go
│ │ │ │ │ │ │ │ ├── quote_test.go
│ │ │ │ │ │ │ │ ├── revert.go
│ │ │ │ │ │ │ │ ├── testdata/
│ │ │ │ │ │ │ │ │ ├── grub_parse_test.cfg
│ │ │ │ │ │ │ │ │ ├── grub_write_no_reset_test.cfg
│ │ │ │ │ │ │ │ │ └── grub_write_test.cfg
│ │ │ │ │ │ │ │ └── upgrade.go
│ │ │ │ │ │ │ ├── kexec/
│ │ │ │ │ │ │ │ └── kexec.go
│ │ │ │ │ │ │ ├── mount/
│ │ │ │ │ │ │ │ └── mount.go
│ │ │ │ │ │ │ ├── options/
│ │ │ │ │ │ │ │ └── options.go
│ │ │ │ │ │ │ └── sdboot/
│ │ │ │ │ │ │ ├── efivars.go
│ │ │ │ │ │ │ ├── efivars_test.go
│ │ │ │ │ │ │ ├── export_test.go
│ │ │ │ │ │ │ ├── loader.conf
│ │ │ │ │ │ │ ├── sdboot.go
│ │ │ │ │ │ │ └── sdboot_test.go
│ │ │ │ │ │ ├── doc.go
│ │ │ │ │ │ ├── platform/
│ │ │ │ │ │ │ ├── akamai/
│ │ │ │ │ │ │ │ ├── akamai.go
│ │ │ │ │ │ │ │ ├── akamai_test.go
│ │ │ │ │ │ │ │ └── testdata/
│ │ │ │ │ │ │ │ ├── expected.yaml
│ │ │ │ │ │ │ │ ├── instance.json
│ │ │ │ │ │ │ │ └── network.json
│ │ │ │ │ │ │ ├── aws/
│ │ │ │ │ │ │ │ ├── aws.go
│ │ │ │ │ │ │ │ ├── aws_test.go
│ │ │ │ │ │ │ │ ├── metadata.go
│ │ │ │ │ │ │ │ └── testdata/
│ │ │ │ │ │ │ │ ├── expected.yaml
│ │ │ │ │ │ │ │ └── metadata.json
│ │ │ │ │ │ │ ├── azure/
│ │ │ │ │ │ │ │ ├── azure.go
│ │ │ │ │ │ │ │ ├── azure_test.go
│ │ │ │ │ │ │ │ ├── metadata.go
│ │ │ │ │ │ │ │ ├── register.go
│ │ │ │ │ │ │ │ └── testdata/
│ │ │ │ │ │ │ │ ├── compute.json
│ │ │ │ │ │ │ │ ├── expected.yaml
│ │ │ │ │ │ │ │ ├── interfaces.json
│ │ │ │ │ │ │ │ └── loadbalancer.json
│ │ │ │ │ │ │ ├── cloudstack/
│ │ │ │ │ │ │ │ ├── cloudstack.go
│ │ │ │ │ │ │ │ ├── cloudstack_test.go
│ │ │ │ │ │ │ │ ├── metadata.go
│ │ │ │ │ │ │ │ └── testdata/
│ │ │ │ │ │ │ │ ├── expected.yaml
│ │ │ │ │ │ │ │ └── metadata.json
│ │ │ │ │ │ │ ├── container/
│ │ │ │ │ │ │ │ ├── container.go
│ │ │ │ │ │ │ │ └── internal/
│ │ │ │ │ │ │ │ └── files/
│ │ │ │ │ │ │ │ ├── hostname.go
│ │ │ │ │ │ │ │ ├── hostname_test.go
│ │ │ │ │ │ │ │ ├── resolv.go
│ │ │ │ │ │ │ │ ├── resolv_test.go
│ │ │ │ │ │ │ │ └── testdata/
│ │ │ │ │ │ │ │ ├── hostname
│ │ │ │ │ │ │ │ └── resolv.conf
│ │ │ │ │ │ │ ├── digitalocean/
│ │ │ │ │ │ │ │ ├── digitalocean.go
│ │ │ │ │ │ │ │ ├── digitalocean_test.go
│ │ │ │ │ │ │ │ ├── metadata.go
│ │ │ │ │ │ │ │ └── testdata/
│ │ │ │ │ │ │ │ ├── expected.yaml
│ │ │ │ │ │ │ │ └── metadata.json
│ │ │ │ │ │ │ ├── equinixmetal/
│ │ │ │ │ │ │ │ ├── equinix.go
│ │ │ │ │ │ │ │ ├── equinix_test.go
│ │ │ │ │ │ │ │ ├── metadata.go
│ │ │ │ │ │ │ │ └── testdata/
│ │ │ │ │ │ │ │ ├── expected-2bonds.yaml
│ │ │ │ │ │ │ │ ├── expected.yaml
│ │ │ │ │ │ │ │ ├── metadata-2bonds.json
│ │ │ │ │ │ │ │ └── metadata.json
│ │ │ │ │ │ │ ├── errors/
│ │ │ │ │ │ │ │ └── errors.go
│ │ │ │ │ │ │ ├── exoscale/
│ │ │ │ │ │ │ │ ├── exoscale.go
│ │ │ │ │ │ │ │ ├── exoscale_test.go
│ │ │ │ │ │ │ │ ├── metadata.go
│ │ │ │ │ │ │ │ └── testdata/
│ │ │ │ │ │ │ │ ├── expected.yaml
│ │ │ │ │ │ │ │ └── metadata.json
│ │ │ │ │ │ │ ├── gcp/
│ │ │ │ │ │ │ │ ├── gcp.go
│ │ │ │ │ │ │ │ ├── gcp_test.go
│ │ │ │ │ │ │ │ ├── metadata.go
│ │ │ │ │ │ │ │ └── testdata/
│ │ │ │ │ │ │ │ ├── expected.yaml
│ │ │ │ │ │ │ │ ├── interfaces.json
│ │ │ │ │ │ │ │ └── metadata.json
│ │ │ │ │ │ │ ├── hcloud/
│ │ │ │ │ │ │ │ ├── export_test.go
│ │ │ │ │ │ │ │ ├── hcloud.go
│ │ │ │ │ │ │ │ ├── hcloud_test.go
│ │ │ │ │ │ │ │ ├── metadata.go
│ │ │ │ │ │ │ │ └── testdata/
│ │ │ │ │ │ │ │ ├── expected.yaml
│ │ │ │ │ │ │ │ ├── metadata.yaml
│ │ │ │ │ │ │ │ ├── userdata-base64.txt
│ │ │ │ │ │ │ │ └── userdata-plain.yaml
│ │ │ │ │ │ │ ├── internal/
│ │ │ │ │ │ │ │ ├── address/
│ │ │ │ │ │ │ │ │ └── address.go
│ │ │ │ │ │ │ │ ├── blockutils/
│ │ │ │ │ │ │ │ │ ├── blockutils.go
│ │ │ │ │ │ │ │ │ └── blockutils_test.go
│ │ │ │ │ │ │ │ └── netutils/
│ │ │ │ │ │ │ │ └── netutils.go
│ │ │ │ │ │ │ ├── metal/
│ │ │ │ │ │ │ │ ├── metal.go
│ │ │ │ │ │ │ │ ├── metal_test.go
│ │ │ │ │ │ │ │ ├── oauth2/
│ │ │ │ │ │ │ │ │ ├── oauth2.go
│ │ │ │ │ │ │ │ │ └── oauth2_test.go
│ │ │ │ │ │ │ │ ├── url/
│ │ │ │ │ │ │ │ │ ├── map.go
│ │ │ │ │ │ │ │ │ ├── map_test.go
│ │ │ │ │ │ │ │ │ ├── url.go
│ │ │ │ │ │ │ │ │ ├── url_test.go
│ │ │ │ │ │ │ │ │ ├── value.go
│ │ │ │ │ │ │ │ │ ├── variable.go
│ │ │ │ │ │ │ │ │ └── variable_test.go
│ │ │ │ │ │ │ │ └── url_test.go
│ │ │ │ │ │ │ ├── nocloud/
│ │ │ │ │ │ │ │ ├── metadata.go
│ │ │ │ │ │ │ │ ├── nocloud.go
│ │ │ │ │ │ │ │ ├── nocloud_test.go
│ │ │ │ │ │ │ │ └── testdata/
│ │ │ │ │ │ │ │ ├── expected-v1-pnap.yaml
│ │ │ │ │ │ │ │ ├── expected-v1.yaml
│ │ │ │ │ │ │ │ ├── expected-v2-serverscom.yaml
│ │ │ │ │ │ │ │ ├── expected-v2.yaml
│ │ │ │ │ │ │ │ ├── in-v1-pnap.yaml
│ │ │ │ │ │ │ │ ├── in-v1.yaml
│ │ │ │ │ │ │ │ ├── in-v2-cloud-init.yaml
│ │ │ │ │ │ │ │ ├── in-v2-nocloud.yaml
│ │ │ │ │ │ │ │ ├── in-v2-serverscom.yaml
│ │ │ │ │ │ │ │ └── metadata-nocloud.yaml
│ │ │ │ │ │ │ ├── opennebula/
│ │ │ │ │ │ │ │ ├── aliases_test.go
│ │ │ │ │ │ │ │ ├── dns_test.go
│ │ │ │ │ │ │ │ ├── hostname_test.go
│ │ │ │ │ │ │ │ ├── ipv6_test.go
│ │ │ │ │ │ │ │ ├── metadata.go
│ │ │ │ │ │ │ │ ├── onegate_test.go
│ │ │ │ │ │ │ │ ├── opennebula.go
│ │ │ │ │ │ │ │ ├── opennebula_test.go
│ │ │ │ │ │ │ │ ├── routes_test.go
│ │ │ │ │ │ │ │ ├── skip_test.go
│ │ │ │ │ │ │ │ └── testdata/
│ │ │ │ │ │ │ │ ├── expected.yaml
│ │ │ │ │ │ │ │ ├── expected_no_network_flag.yaml
│ │ │ │ │ │ │ │ ├── metadata.yaml
│ │ │ │ │ │ │ │ └── metadata_no_network_flag.yaml
│ │ │ │ │ │ │ ├── openstack/
│ │ │ │ │ │ │ │ ├── metadata.go
│ │ │ │ │ │ │ │ ├── openstack.go
│ │ │ │ │ │ │ │ ├── openstack_test.go
│ │ │ │ │ │ │ │ └── testdata/
│ │ │ │ │ │ │ │ ├── expected.yaml
│ │ │ │ │ │ │ │ ├── metadata.json
│ │ │ │ │ │ │ │ └── network.json
│ │ │ │ │ │ │ ├── oracle/
│ │ │ │ │ │ │ │ ├── metadata.go
│ │ │ │ │ │ │ │ ├── oracle.go
│ │ │ │ │ │ │ │ ├── oracle_test.go
│ │ │ │ │ │ │ │ └── testdata/
│ │ │ │ │ │ │ │ ├── expected.yaml
│ │ │ │ │ │ │ │ ├── metadata.json
│ │ │ │ │ │ │ │ └── metadatanetwork.json
│ │ │ │ │ │ │ ├── platform.go
│ │ │ │ │ │ │ ├── scaleway/
│ │ │ │ │ │ │ │ ├── metadata.go
│ │ │ │ │ │ │ │ ├── scaleway.go
│ │ │ │ │ │ │ │ ├── scaleway_test.go
│ │ │ │ │ │ │ │ └── testdata/
│ │ │ │ │ │ │ │ ├── expected-v1.yaml
│ │ │ │ │ │ │ │ ├── expected-v2.yaml
│ │ │ │ │ │ │ │ ├── expected-v3.yaml
│ │ │ │ │ │ │ │ ├── metadata-v1.json
│ │ │ │ │ │ │ │ ├── metadata-v2.json
│ │ │ │ │ │ │ │ └── metadata-v3.json
│ │ │ │ │ │ │ ├── upcloud/
│ │ │ │ │ │ │ │ ├── metadata.go
│ │ │ │ │ │ │ │ ├── testdata/
│ │ │ │ │ │ │ │ │ ├── expected.yaml
│ │ │ │ │ │ │ │ │ └── metadata.json
│ │ │ │ │ │ │ │ ├── upcloud.go
│ │ │ │ │ │ │ │ └── upcloud_test.go
│ │ │ │ │ │ │ ├── vmware/
│ │ │ │ │ │ │ │ ├── metadata.go
│ │ │ │ │ │ │ │ ├── testdata/
│ │ │ │ │ │ │ │ │ ├── expected-match-by-mac.yaml
│ │ │ │ │ │ │ │ │ ├── expected-match-by-name.yaml
│ │ │ │ │ │ │ │ │ ├── metadata-match-by-mac.yaml
│ │ │ │ │ │ │ │ │ └── metadata-match-by-name.yaml
│ │ │ │ │ │ │ │ ├── vmware.go
│ │ │ │ │ │ │ │ ├── vmware_other.go
│ │ │ │ │ │ │ │ ├── vmware_supported.go
│ │ │ │ │ │ │ │ └── vmware_test.go
│ │ │ │ │ │ │ └── vultr/
│ │ │ │ │ │ │ ├── metadata.go
│ │ │ │ │ │ │ ├── testdata/
│ │ │ │ │ │ │ │ ├── expected.yaml
│ │ │ │ │ │ │ │ └── metadata.json
│ │ │ │ │ │ │ ├── vultr.go
│ │ │ │ │ │ │ └── vultr_test.go
│ │ │ │ │ │ ├── v1alpha1_controller.go
│ │ │ │ │ │ ├── v1alpha1_controller_test.go
│ │ │ │ │ │ ├── v1alpha1_dbus.go
│ │ │ │ │ │ ├── v1alpha1_events.go
│ │ │ │ │ │ ├── v1alpha1_events_test.go
│ │ │ │ │ │ ├── v1alpha1_priority_lock.go
│ │ │ │ │ │ ├── v1alpha1_priority_lock_test.go
│ │ │ │ │ │ ├── v1alpha1_runtime.go
│ │ │ │ │ │ ├── v1alpha1_sequencer.go
│ │ │ │ │ │ ├── v1alpha1_sequencer_tasks.go
│ │ │ │ │ │ ├── v1alpha1_sequencer_test.go
│ │ │ │ │ │ └── v1alpha1_state.go
│ │ │ │ │ └── v1alpha2/
│ │ │ │ │ ├── adapters.go
│ │ │ │ │ ├── v1alpha2.go
│ │ │ │ │ ├── v1alpha2_controller.go
│ │ │ │ │ └── v1alpha2_state.go
│ │ │ │ ├── startup/
│ │ │ │ │ ├── cgroups.go
│ │ │ │ │ ├── startup.go
│ │ │ │ │ └── tasks.go
│ │ │ │ └── system/
│ │ │ │ ├── events/
│ │ │ │ │ ├── events.go
│ │ │ │ │ └── events_test.go
│ │ │ │ ├── export_test.go
│ │ │ │ ├── health/
│ │ │ │ │ ├── check.go
│ │ │ │ │ ├── health_test.go
│ │ │ │ │ ├── settings.go
│ │ │ │ │ └── status.go
│ │ │ │ ├── integration_test.go
│ │ │ │ ├── mocks_test.go
│ │ │ │ ├── runner/
│ │ │ │ │ ├── containerd/
│ │ │ │ │ │ ├── containerd.go
│ │ │ │ │ │ ├── containerd_test.go
│ │ │ │ │ │ ├── opts.go
│ │ │ │ │ │ └── stdin.go
│ │ │ │ │ ├── goroutine/
│ │ │ │ │ │ ├── goroutine.go
│ │ │ │ │ │ └── goroutine_test.go
│ │ │ │ │ ├── internal/
│ │ │ │ │ │ └── lastlog/
│ │ │ │ │ │ ├── lastlog.go
│ │ │ │ │ │ ├── lastlog_test.go
│ │ │ │ │ │ └── testdata/
│ │ │ │ │ │ └── kubelet.log
│ │ │ │ │ ├── process/
│ │ │ │ │ │ ├── process.go
│ │ │ │ │ │ └── process_test.go
│ │ │ │ │ ├── restart/
│ │ │ │ │ │ ├── restart.go
│ │ │ │ │ │ └── restart_test.go
│ │ │ │ │ ├── runner.go
│ │ │ │ │ └── runner_test.go
│ │ │ │ ├── service.go
│ │ │ │ ├── service_events.go
│ │ │ │ ├── service_runner.go
│ │ │ │ ├── service_runner_test.go
│ │ │ │ ├── services/
│ │ │ │ │ ├── apid.go
│ │ │ │ │ ├── auditd.go
│ │ │ │ │ ├── containerd.go
│ │ │ │ │ ├── cri.go
│ │ │ │ │ ├── dashboard.go
│ │ │ │ │ ├── etcd.go
│ │ │ │ │ ├── export_test.go
│ │ │ │ │ ├── extension.go
│ │ │ │ │ ├── extension_test.go
│ │ │ │ │ ├── kubelet.go
│ │ │ │ │ ├── machined.go
│ │ │ │ │ ├── machined_test.go
│ │ │ │ │ ├── mocks/
│ │ │ │ │ │ └── snapshotter.go
│ │ │ │ │ ├── registry/
│ │ │ │ │ │ ├── app/
│ │ │ │ │ │ │ └── main.go
│ │ │ │ │ │ ├── fs.go
│ │ │ │ │ │ ├── params.go
│ │ │ │ │ │ ├── readers.go
│ │ │ │ │ │ ├── registry.go
│ │ │ │ │ │ ├── registry_test.go
│ │ │ │ │ │ ├── store.go
│ │ │ │ │ │ ├── store_linux.go
│ │ │ │ │ │ ├── store_unix.go
│ │ │ │ │ │ └── store_windows.go
│ │ │ │ │ ├── registryd.go
│ │ │ │ │ ├── syslogd.go
│ │ │ │ │ ├── trustd.go
│ │ │ │ │ ├── udevd.go
│ │ │ │ │ └── utils.go
│ │ │ │ ├── system.go
│ │ │ │ ├── system_test.go
│ │ │ │ └── volumes.go
│ │ │ └── revert.go
│ │ ├── poweroff/
│ │ │ ├── main.go
│ │ │ └── poweroff_test.go
│ │ ├── resources/
│ │ │ └── access.go
│ │ ├── storaged/
│ │ │ └── server.go
│ │ ├── syslogd/
│ │ │ ├── internal/
│ │ │ │ └── parser/
│ │ │ │ ├── parse.go
│ │ │ │ └── parse_test.go
│ │ │ ├── syslogd.go
│ │ │ └── syslogd_test.go
│ │ └── trustd/
│ │ ├── internal/
│ │ │ ├── provider/
│ │ │ │ └── provider.go
│ │ │ └── reg/
│ │ │ ├── reg.go
│ │ │ └── reg_test.go
│ │ └── main.go
│ ├── integration/
│ │ ├── api/
│ │ │ ├── api.go
│ │ │ ├── apid.go
│ │ │ ├── apply-config.go
│ │ │ ├── cgroups.go
│ │ │ ├── common.go
│ │ │ ├── constants.go
│ │ │ ├── containers.go
│ │ │ ├── debug.go
│ │ │ ├── discovery.go
│ │ │ ├── diskusage.go
│ │ │ ├── dmesg.go
│ │ │ ├── environment.go
│ │ │ ├── etcd-recover.go
│ │ │ ├── etcd.go
│ │ │ ├── ethernet.go
│ │ │ ├── events.go
│ │ │ ├── extensions_nvidia.go
│ │ │ ├── extensions_qemu.go
│ │ │ ├── firewall.go
│ │ │ ├── hardware.go
│ │ │ ├── images.go
│ │ │ ├── kernel.go
│ │ │ ├── logs.go
│ │ │ ├── machine-status.go
│ │ │ ├── monitoring.go
│ │ │ ├── network-config.go
│ │ │ ├── node-annotations.go
│ │ │ ├── node-labels.go
│ │ │ ├── node-taints.go
│ │ │ ├── pci_driver_rebind.go
│ │ │ ├── platform.go
│ │ │ ├── probe-config.go
│ │ │ ├── process.go
│ │ │ ├── reboot.go
│ │ │ ├── reset.go
│ │ │ ├── resources.go
│ │ │ ├── rotate.go
│ │ │ ├── sbom.go
│ │ │ ├── security.go
│ │ │ ├── selinux.go
│ │ │ ├── serviceaccount.go
│ │ │ ├── siderolink.go
│ │ │ ├── testdata/
│ │ │ │ ├── nodeport.yaml
│ │ │ │ └── nvidia-gpu-operator.yaml
│ │ │ ├── trusted-roots.go
│ │ │ ├── trustedboot.go
│ │ │ ├── uki.go
│ │ │ ├── update-hostname.go
│ │ │ ├── version.go
│ │ │ ├── volumes.go
│ │ │ ├── watchdog.go
│ │ │ └── wipe.go
│ │ ├── base/
│ │ │ ├── api.go
│ │ │ ├── base.go
│ │ │ ├── cli.go
│ │ │ ├── cluster.go
│ │ │ ├── discovery_k8s.go
│ │ │ ├── discovery_nok8s.go
│ │ │ ├── errors.go
│ │ │ ├── flags.go
│ │ │ ├── k8s.go
│ │ │ └── run.go
│ │ ├── cli/
│ │ │ ├── apply-config.go
│ │ │ ├── cgroups.go
│ │ │ ├── cli.go
│ │ │ ├── completion.go
│ │ │ ├── config.go
│ │ │ ├── containers.go
│ │ │ ├── copy.go
│ │ │ ├── debug.go
│ │ │ ├── diskusage.go
│ │ │ ├── dmesg.go
│ │ │ ├── etcd.go
│ │ │ ├── gen.go
│ │ │ ├── health.go
│ │ │ ├── image.go
│ │ │ ├── inject.go
│ │ │ ├── jsonpath.go
│ │ │ ├── kubeconfig.go
│ │ │ ├── list.go
│ │ │ ├── logs.go
│ │ │ ├── machineconfig.go
│ │ │ ├── memory.go
│ │ │ ├── meta.go
│ │ │ ├── mounts.go
│ │ │ ├── netstat.go
│ │ │ ├── patch.go
│ │ │ ├── pcap.go
│ │ │ ├── pki.go
│ │ │ ├── processes.go
│ │ │ ├── read.go
│ │ │ ├── reboot.go
│ │ │ ├── restart.go
│ │ │ ├── services.go
│ │ │ ├── stats.go
│ │ │ ├── support.go
│ │ │ ├── testdata/
│ │ │ │ ├── inject/
│ │ │ │ │ ├── talosconfig-expected.yaml
│ │ │ │ │ └── talosconfig-input.yaml
│ │ │ │ ├── patches/
│ │ │ │ │ ├── delete-dummy-ap.yaml
│ │ │ │ │ └── dummy-ap.yaml
│ │ │ │ └── pki/
│ │ │ │ ├── ca.crt
│ │ │ │ ├── ca.key
│ │ │ │ ├── etcd/
│ │ │ │ │ ├── ca.crt
│ │ │ │ │ └── ca.key
│ │ │ │ ├── front-proxy-ca.crt
│ │ │ │ ├── front-proxy-ca.key
│ │ │ │ └── sa.key
│ │ │ ├── time.go
│ │ │ ├── validate.go
│ │ │ └── version.go
│ │ ├── integration_test.go
│ │ ├── k8s/
│ │ │ ├── apparmor.go
│ │ │ ├── constants.go
│ │ │ ├── k8s.go
│ │ │ ├── longhorn.go
│ │ │ ├── manifests.go
│ │ │ ├── oom.go
│ │ │ ├── openebs.go
│ │ │ ├── rook.go
│ │ │ ├── testdata/
│ │ │ │ ├── apparmor.yaml
│ │ │ │ ├── local-path-storage.yaml
│ │ │ │ ├── longhorn-iscsi-volume.yaml
│ │ │ │ ├── longhorn-v2-disk-patch.yaml
│ │ │ │ ├── longhorn-v2-engine-values.yaml
│ │ │ │ ├── longhorn-v2-storageclass.yaml
│ │ │ │ ├── longhorn-volumeattachment.yaml
│ │ │ │ ├── oom.yaml
│ │ │ │ ├── openebs-diskpool.yaml
│ │ │ │ ├── openebs-values.yaml
│ │ │ │ ├── pod-iscsi-volume.yaml
│ │ │ │ ├── rook-ceph-cluster-values.yaml
│ │ │ │ └── usernamespace.yaml
│ │ │ ├── tink.go
│ │ │ ├── usernamespace.go
│ │ │ └── version.go
│ │ ├── provision/
│ │ │ ├── k8s_compatibility.go
│ │ │ ├── maintenance_basic.go
│ │ │ ├── provision.go
│ │ │ └── upgrade.go
│ │ └── version_test.go
│ └── pkg/
│ ├── capability/
│ │ └── capability.go
│ ├── cgroup/
│ │ ├── cgroup.go
│ │ ├── cpu.go
│ │ └── cpu_test.go
│ ├── cgroups/
│ │ ├── cgroups.go
│ │ ├── raw.go
│ │ ├── reader.go
│ │ ├── tar.go
│ │ ├── tar_test.go
│ │ ├── value.go
│ │ └── value_test.go
│ ├── console/
│ │ └── console.go
│ ├── containermode/
│ │ └── containermode.go
│ ├── containers/
│ │ ├── container.go
│ │ ├── containerd/
│ │ │ ├── containerd.go
│ │ │ └── containerd_test.go
│ │ ├── containers_test.go
│ │ ├── cri/
│ │ │ ├── containerd/
│ │ │ │ ├── config.go
│ │ │ │ ├── config_test.go
│ │ │ │ ├── containerd.go
│ │ │ │ ├── hosts.go
│ │ │ │ ├── hosts_test.go
│ │ │ │ └── testdata/
│ │ │ │ └── cri.toml
│ │ │ ├── cri.go
│ │ │ └── cri_test.go
│ │ ├── image/
│ │ │ ├── console/
│ │ │ │ └── progress.go
│ │ │ ├── image.go
│ │ │ ├── progress/
│ │ │ │ └── pull_progress.go
│ │ │ ├── resolver.go
│ │ │ ├── resolver_test.go
│ │ │ └── verify/
│ │ │ ├── internal/
│ │ │ │ └── cosign/
│ │ │ │ ├── cosign.go
│ │ │ │ └── cosign_test.go
│ │ │ └── verify.go
│ │ ├── inspector.go
│ │ └── pod.go
│ ├── cri/
│ │ ├── client.go
│ │ ├── containers.go
│ │ ├── cri.go
│ │ ├── cri_test.go
│ │ ├── images.go
│ │ └── pods.go
│ ├── ctxutil/
│ │ └── ctxutil.go
│ ├── dashboard/
│ │ ├── apidata/
│ │ │ ├── apidata.go
│ │ │ ├── data.go
│ │ │ ├── diff.go
│ │ │ ├── node.go
│ │ │ └── source.go
│ │ ├── components/
│ │ │ ├── components.go
│ │ │ ├── diagnostics.go
│ │ │ ├── footer.go
│ │ │ ├── gauges.go
│ │ │ ├── graphs.go
│ │ │ ├── header.go
│ │ │ ├── horizontalline.go
│ │ │ ├── info.go
│ │ │ ├── kubernetesinfo.go
│ │ │ ├── logviewer.go
│ │ │ ├── networkinfo.go
│ │ │ ├── sparklines.go
│ │ │ ├── tables.go
│ │ │ ├── tables_test.go
│ │ │ └── talosinfo.go
│ │ ├── configurl.go
│ │ ├── context.go
│ │ ├── dashboard.go
│ │ ├── formdata.go
│ │ ├── formdata_test.go
│ │ ├── logdata/
│ │ │ └── logdata.go
│ │ ├── monitor.go
│ │ ├── networkconfig.go
│ │ ├── options.go
│ │ ├── resolver/
│ │ │ └── resolver.go
│ │ ├── resourcedata/
│ │ │ └── resourcedata.go
│ │ ├── summary.go
│ │ └── util/
│ │ └── util.go
│ ├── discovery/
│ │ └── registry/
│ │ ├── kubernetes.go
│ │ ├── kubernetes_test.go
│ │ └── registry.go
│ ├── dns/
│ │ ├── dns.go
│ │ ├── dns_test.go
│ │ ├── manager.go
│ │ └── runnner.go
│ ├── efivarfs/
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── boot.go
│ │ ├── boot_test.go
│ │ ├── devicepath.go
│ │ ├── devicepath_test.go
│ │ ├── efivarfs.go
│ │ ├── efivarfs_test.go
│ │ ├── mock.go
│ │ └── variables.go
│ ├── encryption/
│ │ ├── encryption.go
│ │ ├── encryption_test.go
│ │ ├── helpers/
│ │ │ └── helpers.go
│ │ ├── keys/
│ │ │ ├── keys.go
│ │ │ ├── kms.go
│ │ │ ├── nodeid.go
│ │ │ ├── nodeid_test.go
│ │ │ ├── options.go
│ │ │ ├── salted.go
│ │ │ ├── salted_test.go
│ │ │ ├── static.go
│ │ │ ├── static_test.go
│ │ │ ├── token.go
│ │ │ └── tpm2.go
│ │ └── node_params.go
│ ├── endpoint/
│ │ ├── endpoint.go
│ │ └── endpoint_test.go
│ ├── environment/
│ │ ├── environment.go
│ │ └── environment_test.go
│ ├── etcd/
│ │ ├── certs.go
│ │ ├── endpoints.go
│ │ ├── etcd.go
│ │ ├── local.go
│ │ └── lock.go
│ ├── extensions/
│ │ ├── compress.go
│ │ ├── discarder.go
│ │ ├── extensions.go
│ │ ├── extensions_test.go
│ │ ├── kernel_modules.go
│ │ ├── list.go
│ │ ├── list_test.go
│ │ └── testdata/
│ │ └── good/
│ │ └── extension1/
│ │ ├── manifest.yaml
│ │ └── rootfs/
│ │ └── usr/
│ │ └── lib/
│ │ ├── firmware/
│ │ │ └── amd/
│ │ │ └── cpu
│ │ └── ld-linux-x86-64.so.2
│ ├── install/
│ │ ├── install.go
│ │ ├── options.go
│ │ └── pull.go
│ ├── logind/
│ │ ├── broker.go
│ │ ├── dbus.go
│ │ ├── kubelet_mock_test.go
│ │ ├── logind.go
│ │ ├── logind_test.go
│ │ └── service.go
│ ├── measure/
│ │ ├── internal/
│ │ │ └── pcr/
│ │ │ ├── bank_data.go
│ │ │ ├── bank_data_test.go
│ │ │ ├── extend.go
│ │ │ ├── extend_test.go
│ │ │ ├── sections.go
│ │ │ ├── sign.go
│ │ │ ├── sign_test.go
│ │ │ └── testdata/
│ │ │ ├── a
│ │ │ ├── b
│ │ │ └── c
│ │ ├── measure.go
│ │ ├── measure_test.go
│ │ └── testdata/
│ │ └── pcr-signing-key.pem
│ ├── meta/
│ │ ├── internal/
│ │ │ └── adv/
│ │ │ ├── adv.go
│ │ │ ├── syslinux/
│ │ │ │ ├── syslinux.go
│ │ │ │ ├── syslinux_test.go
│ │ │ │ └── testdata/
│ │ │ │ └── adv.sys
│ │ │ └── talos/
│ │ │ ├── talos.go
│ │ │ └── talos_test.go
│ │ ├── meta.go
│ │ └── meta_test.go
│ ├── miniprocfs/
│ │ ├── miniprocfs.go
│ │ ├── processes.go
│ │ ├── processes_test.go
│ │ └── testdata/
│ │ ├── 1920080/
│ │ │ ├── cmdline
│ │ │ ├── comm
│ │ │ └── stat
│ │ ├── 3731034/
│ │ │ ├── cmdline
│ │ │ ├── comm
│ │ │ └── stat
│ │ ├── keys
│ │ └── kmsg
│ ├── mount/
│ │ ├── switchroot/
│ │ │ ├── switchroot.go
│ │ │ └── switchroot_test.go
│ │ └── v3/
│ │ ├── all.go
│ │ ├── helpers.go
│ │ ├── manager.go
│ │ ├── managers.go
│ │ ├── mount.go
│ │ ├── point.go
│ │ └── unmount.go
│ ├── msguid/
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── msguid.go
│ │ └── msguid_test.go
│ ├── ntp/
│ │ ├── consts.go
│ │ ├── interfaces.go
│ │ ├── internal/
│ │ │ └── spike/
│ │ │ ├── spike.go
│ │ │ └── spike_test.go
│ │ ├── ntp.go
│ │ └── ntp_test.go
│ ├── partition/
│ │ ├── constants.go
│ │ ├── format.go
│ │ ├── helpers.go
│ │ ├── partition.go
│ │ └── wipe.go
│ ├── pcap/
│ │ └── pcap.go
│ ├── pci/
│ │ ├── pci.go
│ │ └── sysfs.go
│ ├── rng/
│ │ ├── pool.go
│ │ ├── rng.go
│ │ └── tpm.go
│ ├── rootfs/
│ │ └── rootfs_test.go
│ ├── secureboot/
│ │ ├── database/
│ │ │ ├── certs/
│ │ │ │ ├── db/
│ │ │ │ │ ├── MicCorUEFCA2011_2011-06-27.der
│ │ │ │ │ ├── microsoft option rom uefi ca 2023.der
│ │ │ │ │ └── microsoft uefi ca 2023.der
│ │ │ │ └── kek/
│ │ │ │ ├── MicCorKEKCA2011_2011-06-24.der
│ │ │ │ └── microsoft corporation kek 2k ca 2023.der
│ │ │ └── database.go
│ │ ├── pesign/
│ │ │ ├── pesign.go
│ │ │ ├── pesign_test.go
│ │ │ └── testdata/
│ │ │ └── systemd-bootx64.efi
│ │ ├── secureboot.go
│ │ └── tpm2/
│ │ ├── keys.go
│ │ ├── pcr.go
│ │ ├── pcr_test.go
│ │ ├── policy.go
│ │ ├── policy_test.go
│ │ ├── seal.go
│ │ ├── signature.go
│ │ ├── testdata/
│ │ │ └── pcr-signing-crt.pem
│ │ ├── tpm2.go
│ │ └── unseal.go
│ ├── selinux/
│ │ ├── policy/
│ │ │ ├── file_contexts
│ │ │ ├── policy.33
│ │ │ └── selinux/
│ │ │ ├── common/
│ │ │ │ ├── classmaps.cil
│ │ │ │ ├── files.cil
│ │ │ │ ├── network.cil
│ │ │ │ ├── processes.cil
│ │ │ │ └── typeattributes.cil
│ │ │ ├── immutable/
│ │ │ │ ├── classes.cil
│ │ │ │ ├── fs.cil
│ │ │ │ ├── preamble.cil
│ │ │ │ ├── roles.cil
│ │ │ │ └── sids.cil
│ │ │ └── services/
│ │ │ ├── cri.cil
│ │ │ ├── dashboard.cil
│ │ │ ├── kubelet.cil
│ │ │ ├── machined.cil
│ │ │ ├── selinux.cil
│ │ │ ├── system-containerd.cil
│ │ │ ├── system-containers.cil
│ │ │ └── udev.cil
│ │ └── selinux.go
│ ├── smbios/
│ │ ├── oem.go
│ │ └── smbios.go
│ ├── timex/
│ │ └── timex.go
│ ├── toml/
│ │ ├── merge.go
│ │ ├── merge_test.go
│ │ ├── testdata/
│ │ │ ├── 1.toml
│ │ │ ├── 2.toml
│ │ │ ├── 3.toml
│ │ │ └── expected.toml
│ │ └── toml.go
│ ├── tpm/
│ │ ├── tpm_linux.go
│ │ └── tpm_other.go
│ ├── uki/
│ │ ├── assemble.go
│ │ ├── generate.go
│ │ ├── internal/
│ │ │ └── pe/
│ │ │ ├── extract.go
│ │ │ ├── extract_test.go
│ │ │ ├── native.go
│ │ │ ├── objcopy.go
│ │ │ ├── pe.go
│ │ │ ├── pe_test.go
│ │ │ └── testdata/
│ │ │ ├── addonx64.efi.stub
│ │ │ └── linuxx64.efi.stub
│ │ ├── kernel.go
│ │ ├── kernel_test.go
│ │ ├── sbat.go
│ │ ├── sbat_test.go
│ │ ├── testdata/
│ │ │ └── kernel
│ │ ├── uki.go
│ │ └── uki_test.go
│ └── zboot/
│ └── zboot.go
├── pkg/
│ ├── archiver/
│ │ ├── archiver.go
│ │ ├── archiver_test.go
│ │ ├── tar.go
│ │ ├── tar_test.go
│ │ ├── untar.go
│ │ ├── walker.go
│ │ └── walker_test.go
│ ├── argsbuilder/
│ │ ├── argsbuilder_args.go
│ │ ├── argsbuilder_interface.go
│ │ └── argsbuilder_test.go
│ ├── bytesize/
│ │ ├── bytesize.go
│ │ └── bytesize_test.go
│ ├── chunker/
│ │ ├── chunker.go
│ │ ├── file/
│ │ │ ├── file.go
│ │ │ └── file_test.go
│ │ └── stream/
│ │ ├── stream.go
│ │ └── stream_test.go
│ ├── cli/
│ │ ├── cli.go
│ │ ├── context.go
│ │ ├── output.go
│ │ └── should.go
│ ├── cluster/
│ │ ├── apply-config.go
│ │ ├── bootstrap.go
│ │ ├── check/
│ │ │ ├── apid.go
│ │ │ ├── check.go
│ │ │ ├── check_test.go
│ │ │ ├── default.go
│ │ │ ├── diagnostics.go
│ │ │ ├── discovery.go
│ │ │ ├── etcd.go
│ │ │ ├── events.go
│ │ │ ├── kubernetes.go
│ │ │ ├── nodes.go
│ │ │ ├── options.go
│ │ │ ├── reporter.go
│ │ │ └── service.go
│ │ ├── cluster.go
│ │ ├── cluster_test.go
│ │ ├── config.go
│ │ ├── crashdump.go
│ │ ├── hydrophone/
│ │ │ ├── hydrophone.go
│ │ │ └── product.go
│ │ ├── kubelet.go
│ │ ├── kubernetes/
│ │ │ ├── compat.go
│ │ │ ├── compat_test.go
│ │ │ ├── detect.go
│ │ │ ├── kubelet.go
│ │ │ ├── kubernetes.go
│ │ │ ├── kubernetes_test.go
│ │ │ ├── patch.go
│ │ │ ├── talos_managed.go
│ │ │ ├── upgrade.go
│ │ │ └── upgrade_test.go
│ │ ├── kubernetes.go
│ │ ├── local.go
│ │ ├── logsaarchive.go
│ │ └── provision.go
│ ├── conditions/
│ │ ├── all.go
│ │ ├── all_test.go
│ │ ├── conditions.go
│ │ ├── files.go
│ │ ├── files_test.go
│ │ ├── kubeconfig.go
│ │ ├── none.go
│ │ ├── poll.go
│ │ └── poll_test.go
│ ├── download/
│ │ ├── download.go
│ │ ├── download_test.go
│ │ └── tftp.go
│ ├── filetree/
│ │ ├── chown.go
│ │ └── filetree.go
│ ├── flags/
│ │ └── flags.go
│ ├── follow/
│ │ ├── follow.go
│ │ └── follow_test.go
│ ├── grpc/
│ │ ├── factory/
│ │ │ ├── factory.go
│ │ │ └── factory_test.go
│ │ ├── gen/
│ │ │ ├── gen_test.go
│ │ │ ├── local.go
│ │ │ └── remote.go
│ │ ├── middleware/
│ │ │ ├── auth/
│ │ │ │ └── basic/
│ │ │ │ ├── basic.go
│ │ │ │ ├── token.go
│ │ │ │ ├── username_and_password.go
│ │ │ │ └── username_and_password_test.go
│ │ │ ├── authz/
│ │ │ │ ├── authorizer.go
│ │ │ │ ├── authorizer_test.go
│ │ │ │ ├── context.go
│ │ │ │ ├── injector.go
│ │ │ │ └── metadata.go
│ │ │ └── log/
│ │ │ ├── log.go
│ │ │ └── log_test.go
│ │ └── proxy/
│ │ └── backend/
│ │ ├── backend.go
│ │ ├── local.go
│ │ └── local_test.go
│ ├── httpdefaults/
│ │ ├── httpdefaults.go
│ │ ├── tls.go
│ │ └── useragent.go
│ ├── imager/
│ │ ├── cache/
│ │ │ └── cache.go
│ │ ├── embed.go
│ │ ├── embed_test.go
│ │ ├── extensions/
│ │ │ ├── contents.go
│ │ │ ├── extensions.go
│ │ │ ├── printer.go
│ │ │ └── rebuild.go
│ │ ├── filemap/
│ │ │ ├── filemap.go
│ │ │ └── filemap_test.go
│ │ ├── imager.go
│ │ ├── imager_test.go
│ │ ├── iso/
│ │ │ ├── grub.cfg
│ │ │ ├── grub.go
│ │ │ ├── hybrid.go
│ │ │ ├── iso.go
│ │ │ ├── iso_test.go
│ │ │ ├── loader.conf.tmpl
│ │ │ └── uefi.go
│ │ ├── out.go
│ │ ├── ova/
│ │ │ └── ova.go
│ │ ├── overlay/
│ │ │ └── executor/
│ │ │ └── executor.go
│ │ ├── post.go
│ │ ├── profile/
│ │ │ ├── customization.go
│ │ │ ├── deep_copy.generated.go
│ │ │ ├── default.go
│ │ │ ├── input.go
│ │ │ ├── internal/
│ │ │ │ └── signer/
│ │ │ │ ├── aws/
│ │ │ │ │ ├── aws.go
│ │ │ │ │ ├── aws_test.go
│ │ │ │ │ ├── pcr.go
│ │ │ │ │ └── secureboot.go
│ │ │ │ ├── azure/
│ │ │ │ │ ├── azure.go
│ │ │ │ │ ├── azure_test.go
│ │ │ │ │ ├── pcr.go
│ │ │ │ │ └── secureboot.go
│ │ │ │ └── file/
│ │ │ │ ├── pcr.go
│ │ │ │ └── secureboot.go
│ │ │ ├── output.go
│ │ │ ├── output_test.go
│ │ │ ├── outputkind_enumer.go
│ │ │ ├── profile.go
│ │ │ ├── profile_test.go
│ │ │ └── testdata/
│ │ │ ├── akamai-amd64-1.10.0.yaml
│ │ │ ├── akamai-amd64-1.11.0.yaml
│ │ │ ├── akamai-amd64-1.12.0.yaml
│ │ │ ├── akamai-amd64-1.13.0.yaml
│ │ │ ├── akamai-amd64-1.9.0.yaml
│ │ │ ├── akamai-arm64-1.10.0.yaml
│ │ │ ├── akamai-arm64-1.11.0.yaml
│ │ │ ├── akamai-arm64-1.12.0.yaml
│ │ │ ├── akamai-arm64-1.13.0.yaml
│ │ │ ├── akamai-arm64-1.9.0.yaml
│ │ │ ├── aws-amd64-1.10.0.yaml
│ │ │ ├── aws-amd64-1.11.0.yaml
│ │ │ ├── aws-amd64-1.12.0.yaml
│ │ │ ├── aws-amd64-1.13.0.yaml
│ │ │ ├── aws-amd64-1.9.0.yaml
│ │ │ ├── aws-arm64-1.10.0.yaml
│ │ │ ├── aws-arm64-1.11.0.yaml
│ │ │ ├── aws-arm64-1.12.0.yaml
│ │ │ ├── aws-arm64-1.13.0.yaml
│ │ │ ├── aws-arm64-1.9.0.yaml
│ │ │ ├── azure-amd64-1.10.0.yaml
│ │ │ ├── azure-amd64-1.11.0.yaml
│ │ │ ├── azure-amd64-1.12.0.yaml
│ │ │ ├── azure-amd64-1.13.0.yaml
│ │ │ ├── azure-amd64-1.9.0.yaml
│ │ │ ├── azure-arm64-1.10.0.yaml
│ │ │ ├── azure-arm64-1.11.0.yaml
│ │ │ ├── azure-arm64-1.12.0.yaml
│ │ │ ├── azure-arm64-1.13.0.yaml
│ │ │ ├── azure-arm64-1.9.0.yaml
│ │ │ ├── cloudstack-amd64-1.10.0.yaml
│ │ │ ├── cloudstack-amd64-1.11.0.yaml
│ │ │ ├── cloudstack-amd64-1.12.0.yaml
│ │ │ ├── cloudstack-amd64-1.13.0.yaml
│ │ │ ├── cloudstack-amd64-1.9.0.yaml
│ │ │ ├── cloudstack-arm64-1.10.0.yaml
│ │ │ ├── cloudstack-arm64-1.11.0.yaml
│ │ │ ├── cloudstack-arm64-1.12.0.yaml
│ │ │ ├── cloudstack-arm64-1.13.0.yaml
│ │ │ ├── cloudstack-arm64-1.9.0.yaml
│ │ │ ├── digital-ocean-amd64-1.10.0.yaml
│ │ │ ├── digital-ocean-amd64-1.11.0.yaml
│ │ │ ├── digital-ocean-amd64-1.12.0.yaml
│ │ │ ├── digital-ocean-amd64-1.13.0.yaml
│ │ │ ├── digital-ocean-amd64-1.9.0.yaml
│ │ │ ├── digital-ocean-arm64-1.10.0.yaml
│ │ │ ├── digital-ocean-arm64-1.11.0.yaml
│ │ │ ├── digital-ocean-arm64-1.12.0.yaml
│ │ │ ├── digital-ocean-arm64-1.13.0.yaml
│ │ │ ├── digital-ocean-arm64-1.9.0.yaml
│ │ │ ├── exoscale-amd64-1.10.0.yaml
│ │ │ ├── exoscale-amd64-1.11.0.yaml
│ │ │ ├── exoscale-amd64-1.12.0.yaml
│ │ │ ├── exoscale-amd64-1.13.0.yaml
│ │ │ ├── exoscale-amd64-1.9.0.yaml
│ │ │ ├── exoscale-arm64-1.10.0.yaml
│ │ │ ├── exoscale-arm64-1.11.0.yaml
│ │ │ ├── exoscale-arm64-1.12.0.yaml
│ │ │ ├── exoscale-arm64-1.13.0.yaml
│ │ │ ├── exoscale-arm64-1.9.0.yaml
│ │ │ ├── gcp-amd64-1.10.0.yaml
│ │ │ ├── gcp-amd64-1.11.0.yaml
│ │ │ ├── gcp-amd64-1.12.0.yaml
│ │ │ ├── gcp-amd64-1.13.0.yaml
│ │ │ ├── gcp-amd64-1.9.0.yaml
│ │ │ ├── gcp-arm64-1.10.0.yaml
│ │ │ ├── gcp-arm64-1.11.0.yaml
│ │ │ ├── gcp-arm64-1.12.0.yaml
│ │ │ ├── gcp-arm64-1.13.0.yaml
│ │ │ ├── gcp-arm64-1.9.0.yaml
│ │ │ ├── hcloud-amd64-1.10.0.yaml
│ │ │ ├── hcloud-amd64-1.11.0.yaml
│ │ │ ├── hcloud-amd64-1.12.0.yaml
│ │ │ ├── hcloud-amd64-1.13.0.yaml
│ │ │ ├── hcloud-amd64-1.9.0.yaml
│ │ │ ├── hcloud-arm64-1.10.0.yaml
│ │ │ ├── hcloud-arm64-1.11.0.yaml
│ │ │ ├── hcloud-arm64-1.12.0.yaml
│ │ │ ├── hcloud-arm64-1.13.0.yaml
│ │ │ ├── hcloud-arm64-1.9.0.yaml
│ │ │ ├── installer-amd64-1.10.0.yaml
│ │ │ ├── installer-amd64-1.11.0.yaml
│ │ │ ├── installer-amd64-1.12.0.yaml
│ │ │ ├── installer-amd64-1.13.0.yaml
│ │ │ ├── installer-amd64-1.9.0.yaml
│ │ │ ├── installer-arm64-1.10.0.yaml
│ │ │ ├── installer-arm64-1.11.0.yaml
│ │ │ ├── installer-arm64-1.12.0.yaml
│ │ │ ├── installer-arm64-1.13.0.yaml
│ │ │ ├── installer-arm64-1.9.0.yaml
│ │ │ ├── iso-amd64-1.10.0.yaml
│ │ │ ├── iso-amd64-1.11.0.yaml
│ │ │ ├── iso-amd64-1.12.0.yaml
│ │ │ ├── iso-amd64-1.13.0.yaml
│ │ │ ├── iso-amd64-1.9.0.yaml
│ │ │ ├── iso-arm64-1.10.0.yaml
│ │ │ ├── iso-arm64-1.11.0.yaml
│ │ │ ├── iso-arm64-1.12.0.yaml
│ │ │ ├── iso-arm64-1.13.0.yaml
│ │ │ ├── iso-arm64-1.9.0.yaml
│ │ │ ├── metal-amd64-1.10.0.yaml
│ │ │ ├── metal-amd64-1.11.0.yaml
│ │ │ ├── metal-amd64-1.12.0.yaml
│ │ │ ├── metal-amd64-1.13.0.yaml
│ │ │ ├── metal-amd64-1.9.0.yaml
│ │ │ ├── metal-arm64-1.10.0.yaml
│ │ │ ├── metal-arm64-1.11.0.yaml
│ │ │ ├── metal-arm64-1.12.0.yaml
│ │ │ ├── metal-arm64-1.13.0.yaml
│ │ │ ├── metal-arm64-1.9.0.yaml
│ │ │ ├── metal-uki-amd64-1.10.0.yaml
│ │ │ ├── metal-uki-amd64-1.11.0.yaml
│ │ │ ├── metal-uki-amd64-1.12.0.yaml
│ │ │ ├── metal-uki-amd64-1.13.0.yaml
│ │ │ ├── metal-uki-amd64-1.9.0.yaml
│ │ │ ├── metal-uki-arm64-1.10.0.yaml
│ │ │ ├── metal-uki-arm64-1.11.0.yaml
│ │ │ ├── metal-uki-arm64-1.12.0.yaml
│ │ │ ├── metal-uki-arm64-1.13.0.yaml
│ │ │ ├── metal-uki-arm64-1.9.0.yaml
│ │ │ ├── nocloud-amd64-1.10.0.yaml
│ │ │ ├── nocloud-amd64-1.11.0.yaml
│ │ │ ├── nocloud-amd64-1.12.0.yaml
│ │ │ ├── nocloud-amd64-1.13.0.yaml
│ │ │ ├── nocloud-amd64-1.9.0.yaml
│ │ │ ├── nocloud-arm64-1.10.0.yaml
│ │ │ ├── nocloud-arm64-1.11.0.yaml
│ │ │ ├── nocloud-arm64-1.12.0.yaml
│ │ │ ├── nocloud-arm64-1.13.0.yaml
│ │ │ ├── nocloud-arm64-1.9.0.yaml
│ │ │ ├── opennebula-amd64-1.10.0.yaml
│ │ │ ├── opennebula-amd64-1.11.0.yaml
│ │ │ ├── opennebula-amd64-1.12.0.yaml
│ │ │ ├── opennebula-amd64-1.13.0.yaml
│ │ │ ├── opennebula-amd64-1.9.0.yaml
│ │ │ ├── opennebula-arm64-1.10.0.yaml
│ │ │ ├── opennebula-arm64-1.11.0.yaml
│ │ │ ├── opennebula-arm64-1.12.0.yaml
│ │ │ ├── opennebula-arm64-1.13.0.yaml
│ │ │ ├── opennebula-arm64-1.9.0.yaml
│ │ │ ├── openstack-amd64-1.10.0.yaml
│ │ │ ├── openstack-amd64-1.11.0.yaml
│ │ │ ├── openstack-amd64-1.12.0.yaml
│ │ │ ├── openstack-amd64-1.13.0.yaml
│ │ │ ├── openstack-amd64-1.9.0.yaml
│ │ │ ├── openstack-arm64-1.10.0.yaml
│ │ │ ├── openstack-arm64-1.11.0.yaml
│ │ │ ├── openstack-arm64-1.12.0.yaml
│ │ │ ├── openstack-arm64-1.13.0.yaml
│ │ │ ├── openstack-arm64-1.9.0.yaml
│ │ │ ├── oracle-amd64-1.10.0.yaml
│ │ │ ├── oracle-amd64-1.11.0.yaml
│ │ │ ├── oracle-amd64-1.12.0.yaml
│ │ │ ├── oracle-amd64-1.13.0.yaml
│ │ │ ├── oracle-amd64-1.9.0.yaml
│ │ │ ├── oracle-arm64-1.10.0.yaml
│ │ │ ├── oracle-arm64-1.11.0.yaml
│ │ │ ├── oracle-arm64-1.12.0.yaml
│ │ │ ├── oracle-arm64-1.13.0.yaml
│ │ │ ├── oracle-arm64-1.9.0.yaml
│ │ │ ├── scaleway-amd64-1.10.0.yaml
│ │ │ ├── scaleway-amd64-1.11.0.yaml
│ │ │ ├── scaleway-amd64-1.12.0.yaml
│ │ │ ├── scaleway-amd64-1.13.0.yaml
│ │ │ ├── scaleway-amd64-1.9.0.yaml
│ │ │ ├── scaleway-arm64-1.10.0.yaml
│ │ │ ├── scaleway-arm64-1.11.0.yaml
│ │ │ ├── scaleway-arm64-1.12.0.yaml
│ │ │ ├── scaleway-arm64-1.13.0.yaml
│ │ │ ├── scaleway-arm64-1.9.0.yaml
│ │ │ ├── secureboot-installer-amd64-1.10.0.yaml
│ │ │ ├── secureboot-installer-amd64-1.11.0.yaml
│ │ │ ├── secureboot-installer-amd64-1.12.0.yaml
│ │ │ ├── secureboot-installer-amd64-1.13.0.yaml
│ │ │ ├── secureboot-installer-amd64-1.9.0.yaml
│ │ │ ├── secureboot-installer-arm64-1.10.0.yaml
│ │ │ ├── secureboot-installer-arm64-1.11.0.yaml
│ │ │ ├── secureboot-installer-arm64-1.12.0.yaml
│ │ │ ├── secureboot-installer-arm64-1.13.0.yaml
│ │ │ ├── secureboot-installer-arm64-1.9.0.yaml
│ │ │ ├── secureboot-iso-amd64-1.10.0.yaml
│ │ │ ├── secureboot-iso-amd64-1.11.0.yaml
│ │ │ ├── secureboot-iso-amd64-1.12.0.yaml
│ │ │ ├── secureboot-iso-amd64-1.13.0.yaml
│ │ │ ├── secureboot-iso-amd64-1.9.0.yaml
│ │ │ ├── secureboot-iso-arm64-1.10.0.yaml
│ │ │ ├── secureboot-iso-arm64-1.11.0.yaml
│ │ │ ├── secureboot-iso-arm64-1.12.0.yaml
│ │ │ ├── secureboot-iso-arm64-1.13.0.yaml
│ │ │ ├── secureboot-iso-arm64-1.9.0.yaml
│ │ │ ├── secureboot-metal-amd64-1.10.0.yaml
│ │ │ ├── secureboot-metal-amd64-1.11.0.yaml
│ │ │ ├── secureboot-metal-amd64-1.12.0.yaml
│ │ │ ├── secureboot-metal-amd64-1.13.0.yaml
│ │ │ ├── secureboot-metal-amd64-1.9.0.yaml
│ │ │ ├── secureboot-metal-arm64-1.10.0.yaml
│ │ │ ├── secureboot-metal-arm64-1.11.0.yaml
│ │ │ ├── secureboot-metal-arm64-1.12.0.yaml
│ │ │ ├── secureboot-metal-arm64-1.13.0.yaml
│ │ │ ├── secureboot-metal-arm64-1.9.0.yaml
│ │ │ ├── secureboot-metal-uki-amd64-1.10.0.yaml
│ │ │ ├── secureboot-metal-uki-amd64-1.11.0.yaml
│ │ │ ├── secureboot-metal-uki-amd64-1.12.0.yaml
│ │ │ ├── secureboot-metal-uki-amd64-1.13.0.yaml
│ │ │ ├── secureboot-metal-uki-amd64-1.9.0.yaml
│ │ │ ├── secureboot-metal-uki-arm64-1.10.0.yaml
│ │ │ ├── secureboot-metal-uki-arm64-1.11.0.yaml
│ │ │ ├── secureboot-metal-uki-arm64-1.12.0.yaml
│ │ │ ├── secureboot-metal-uki-arm64-1.13.0.yaml
│ │ │ ├── secureboot-metal-uki-arm64-1.9.0.yaml
│ │ │ ├── upcloud-amd64-1.10.0.yaml
│ │ │ ├── upcloud-amd64-1.11.0.yaml
│ │ │ ├── upcloud-amd64-1.12.0.yaml
│ │ │ ├── upcloud-amd64-1.13.0.yaml
│ │ │ ├── upcloud-amd64-1.9.0.yaml
│ │ │ ├── upcloud-arm64-1.10.0.yaml
│ │ │ ├── upcloud-arm64-1.11.0.yaml
│ │ │ ├── upcloud-arm64-1.12.0.yaml
│ │ │ ├── upcloud-arm64-1.13.0.yaml
│ │ │ ├── upcloud-arm64-1.9.0.yaml
│ │ │ ├── vmware-amd64-1.10.0.yaml
│ │ │ ├── vmware-amd64-1.11.0.yaml
│ │ │ ├── vmware-amd64-1.12.0.yaml
│ │ │ ├── vmware-amd64-1.13.0.yaml
│ │ │ ├── vmware-amd64-1.9.0.yaml
│ │ │ ├── vmware-arm64-1.10.0.yaml
│ │ │ ├── vmware-arm64-1.11.0.yaml
│ │ │ ├── vmware-arm64-1.12.0.yaml
│ │ │ ├── vmware-arm64-1.13.0.yaml
│ │ │ ├── vmware-arm64-1.9.0.yaml
│ │ │ ├── vultr-amd64-1.10.0.yaml
│ │ │ ├── vultr-amd64-1.11.0.yaml
│ │ │ ├── vultr-amd64-1.12.0.yaml
│ │ │ ├── vultr-amd64-1.13.0.yaml
│ │ │ ├── vultr-amd64-1.9.0.yaml
│ │ │ ├── vultr-arm64-1.10.0.yaml
│ │ │ ├── vultr-arm64-1.11.0.yaml
│ │ │ ├── vultr-arm64-1.12.0.yaml
│ │ │ ├── vultr-arm64-1.13.0.yaml
│ │ │ └── vultr-arm64-1.9.0.yaml
│ │ ├── progress.go
│ │ ├── qemuimg/
│ │ │ └── qemuimg.go
│ │ ├── utils/
│ │ │ ├── copy.go
│ │ │ ├── epoch.go
│ │ │ ├── raw.go
│ │ │ ├── touch.go
│ │ │ └── utils.go
│ │ └── vmdkconvert/
│ │ └── vmdkconvert.go
│ ├── images/
│ │ ├── images.go
│ │ └── list.go
│ ├── kernel/
│ │ ├── kernel.go
│ │ └── kspp/
│ │ └── kspp.go
│ ├── kubeconfig/
│ │ ├── generate.go
│ │ ├── generate_test.go
│ │ └── kubeconfig.go
│ ├── kubernetes/
│ │ ├── errors.go
│ │ ├── inject/
│ │ │ └── serviceaccount.go
│ │ ├── klog.go
│ │ ├── kubelet/
│ │ │ └── kubelet.go
│ │ ├── kubernetes.go
│ │ ├── version.go
│ │ └── version_test.go
│ ├── logging/
│ │ ├── error_suppress.go
│ │ ├── error_suppress_test.go
│ │ ├── logging.go
│ │ └── zap.go
│ ├── machinery/
│ │ ├── api/
│ │ │ ├── api.go
│ │ │ ├── cluster/
│ │ │ │ ├── cluster.pb.go
│ │ │ │ ├── cluster_grpc.pb.go
│ │ │ │ └── cluster_vtproto.pb.go
│ │ │ ├── common/
│ │ │ │ ├── common.pb.go
│ │ │ │ └── common_vtproto.pb.go
│ │ │ ├── inspect/
│ │ │ │ ├── inspect.pb.go
│ │ │ │ ├── inspect_grpc.pb.go
│ │ │ │ └── inspect_vtproto.pb.go
│ │ │ ├── machine/
│ │ │ │ ├── debug.pb.go
│ │ │ │ ├── debug_grpc.pb.go
│ │ │ │ ├── debug_vtproto.pb.go
│ │ │ │ ├── image.go
│ │ │ │ ├── image.pb.go
│ │ │ │ ├── image_grpc.pb.go
│ │ │ │ ├── image_vtproto.pb.go
│ │ │ │ ├── lifecycle.go
│ │ │ │ ├── lifecycle.pb.go
│ │ │ │ ├── lifecycle_grpc.pb.go
│ │ │ │ ├── lifecycle_vtproto.pb.go
│ │ │ │ ├── machine.pb.go
│ │ │ │ ├── machine_grpc.pb.go
│ │ │ │ └── machine_vtproto.pb.go
│ │ │ ├── resource/
│ │ │ │ ├── config/
│ │ │ │ │ ├── config.pb.go
│ │ │ │ │ └── config_vtproto.pb.go
│ │ │ │ ├── definitions/
│ │ │ │ │ ├── block/
│ │ │ │ │ │ ├── block.pb.go
│ │ │ │ │ │ └── block_vtproto.pb.go
│ │ │ │ │ ├── cluster/
│ │ │ │ │ │ ├── cluster.pb.go
│ │ │ │ │ │ └── cluster_vtproto.pb.go
│ │ │ │ │ ├── cri/
│ │ │ │ │ │ ├── cri.pb.go
│ │ │ │ │ │ └── cri_vtproto.pb.go
│ │ │ │ │ ├── enums/
│ │ │ │ │ │ └── enums.pb.go
│ │ │ │ │ ├── etcd/
│ │ │ │ │ │ ├── etcd.pb.go
│ │ │ │ │ │ └── etcd_vtproto.pb.go
│ │ │ │ │ ├── extensions/
│ │ │ │ │ │ ├── extensions.pb.go
│ │ │ │ │ │ └── extensions_vtproto.pb.go
│ │ │ │ │ ├── files/
│ │ │ │ │ │ ├── files.pb.go
│ │ │ │ │ │ └── files_vtproto.pb.go
│ │ │ │ │ ├── hardware/
│ │ │ │ │ │ ├── hardware.pb.go
│ │ │ │ │ │ └── hardware_vtproto.pb.go
│ │ │ │ │ ├── k8s/
│ │ │ │ │ │ ├── k8s.pb.go
│ │ │ │ │ │ └── k8s_vtproto.pb.go
│ │ │ │ │ ├── kubeaccess/
│ │ │ │ │ │ ├── kubeaccess.pb.go
│ │ │ │ │ │ └── kubeaccess_vtproto.pb.go
│ │ │ │ │ ├── kubespan/
│ │ │ │ │ │ ├── kubespan.pb.go
│ │ │ │ │ │ └── kubespan_vtproto.pb.go
│ │ │ │ │ ├── network/
│ │ │ │ │ │ ├── network.pb.go
│ │ │ │ │ │ └── network_vtproto.pb.go
│ │ │ │ │ ├── perf/
│ │ │ │ │ │ ├── perf.pb.go
│ │ │ │ │ │ └── perf_vtproto.pb.go
│ │ │ │ │ ├── proto/
│ │ │ │ │ │ ├── proto.pb.go
│ │ │ │ │ │ └── proto_vtproto.pb.go
│ │ │ │ │ ├── runtime/
│ │ │ │ │ │ ├── runtime.pb.go
│ │ │ │ │ │ └── runtime_vtproto.pb.go
│ │ │ │ │ ├── secrets/
│ │ │ │ │ │ ├── secrets.pb.go
│ │ │ │ │ │ └── secrets_vtproto.pb.go
│ │ │ │ │ ├── security/
│ │ │ │ │ │ ├── security.pb.go
│ │ │ │ │ │ └── security_vtproto.pb.go
│ │ │ │ │ ├── siderolink/
│ │ │ │ │ │ ├── siderolink.pb.go
│ │ │ │ │ │ └── siderolink_vtproto.pb.go
│ │ │ │ │ ├── time/
│ │ │ │ │ │ ├── time.pb.go
│ │ │ │ │ │ └── time_vtproto.pb.go
│ │ │ │ │ └── v1alpha1/
│ │ │ │ │ ├── v1alpha1.pb.go
│ │ │ │ │ └── v1alpha1_vtproto.pb.go
│ │ │ │ └── network/
│ │ │ │ ├── device_config.pb.go
│ │ │ │ └── device_config_vtproto.pb.go
│ │ │ ├── security/
│ │ │ │ ├── security.pb.go
│ │ │ │ ├── security_grpc.pb.go
│ │ │ │ └── security_vtproto.pb.go
│ │ │ ├── storage/
│ │ │ │ ├── storage.pb.go
│ │ │ │ ├── storage_grpc.pb.go
│ │ │ │ └── storage_vtproto.pb.go
│ │ │ └── time/
│ │ │ ├── time.pb.go
│ │ │ ├── time_grpc.pb.go
│ │ │ └── time_vtproto.pb.go
│ │ ├── cel/
│ │ │ ├── build.go
│ │ │ ├── build_test.go
│ │ │ ├── cel.go
│ │ │ ├── cel_test.go
│ │ │ └── celenv/
│ │ │ ├── celenv.go
│ │ │ └── celenv_test.go
│ │ ├── client/
│ │ │ ├── basic_auth.go
│ │ │ ├── client.go
│ │ │ ├── client_test.go
│ │ │ ├── config/
│ │ │ │ ├── config.go
│ │ │ │ ├── config_test.go
│ │ │ │ └── path.go
│ │ │ ├── connection.go
│ │ │ ├── connection_test.go
│ │ │ ├── context.go
│ │ │ ├── dialer/
│ │ │ │ ├── dialer.go
│ │ │ │ ├── dialer_test.go
│ │ │ │ └── proxy.go
│ │ │ ├── events.go
│ │ │ ├── export_test.go
│ │ │ ├── grpc_connection_wrapper.go
│ │ │ ├── insecure_credentials.go
│ │ │ ├── inspect.go
│ │ │ ├── options.go
│ │ │ ├── peer.go
│ │ │ ├── reply.go
│ │ │ ├── reply_test.go
│ │ │ ├── resolver/
│ │ │ │ ├── resolver.go
│ │ │ │ ├── roundrobin.go
│ │ │ │ └── roundrobin_test.go
│ │ │ ├── resources.go
│ │ │ ├── secure_credentials.go
│ │ │ ├── status.go
│ │ │ └── status_test.go
│ │ ├── compatibility/
│ │ │ ├── compatibility.go
│ │ │ ├── kubernetes_version.go
│ │ │ ├── kubernetes_version_test.go
│ │ │ ├── talos110/
│ │ │ │ └── talos110.go
│ │ │ ├── talos111/
│ │ │ │ └── talos111.go
│ │ │ ├── talos112/
│ │ │ │ └── talos112.go
│ │ │ ├── talos113/
│ │ │ │ └── talos113.go
│ │ │ ├── talos12/
│ │ │ │ └── talos12.go
│ │ │ ├── talos13/
│ │ │ │ └── talos13.go
│ │ │ ├── talos14/
│ │ │ │ └── talos14.go
│ │ │ ├── talos15/
│ │ │ │ └── talos15.go
│ │ │ ├── talos16/
│ │ │ │ └── talos16.go
│ │ │ ├── talos17/
│ │ │ │ └── talos17.go
│ │ │ ├── talos18/
│ │ │ │ └── talos18.go
│ │ │ ├── talos19/
│ │ │ │ └── talos19.go
│ │ │ ├── talos_version.go
│ │ │ └── talos_version_test.go
│ │ ├── config/
│ │ │ ├── bundle/
│ │ │ │ ├── bundle.go
│ │ │ │ ├── bundle_test.go
│ │ │ │ └── options.go
│ │ │ ├── config/
│ │ │ │ ├── cluster.go
│ │ │ │ ├── config.go
│ │ │ │ ├── cri.go
│ │ │ │ ├── document.go
│ │ │ │ ├── encoder.go
│ │ │ │ ├── extension_service_config.go
│ │ │ │ ├── helpers.go
│ │ │ │ ├── kubespan.go
│ │ │ │ ├── machine.go
│ │ │ │ ├── network.go
│ │ │ │ ├── pci_driver_rebind.go
│ │ │ │ ├── runtime.go
│ │ │ │ ├── security.go
│ │ │ │ ├── siderolink.go
│ │ │ │ ├── validate.go
│ │ │ │ └── volume.go
│ │ │ ├── config.go
│ │ │ ├── config_schema_test.go
│ │ │ ├── configdiff/
│ │ │ │ ├── configdiff.go
│ │ │ │ ├── configdiff_test.go
│ │ │ │ ├── mergepatch.go
│ │ │ │ ├── mergepatch_test.go
│ │ │ │ └── testdata/
│ │ │ │ ├── modified.yaml
│ │ │ │ └── original.yaml
│ │ │ ├── configloader/
│ │ │ │ ├── configloader.go
│ │ │ │ ├── configloader_fuzz_test.go
│ │ │ │ ├── configloader_test.go
│ │ │ │ ├── internal/
│ │ │ │ │ └── decoder/
│ │ │ │ │ ├── decoder.go
│ │ │ │ │ ├── decoder_test.go
│ │ │ │ │ ├── delete.go
│ │ │ │ │ ├── delete_test.go
│ │ │ │ │ ├── selector.go
│ │ │ │ │ └── testdata/
│ │ │ │ │ ├── delete/
│ │ │ │ │ │ ├── delete.yaml
│ │ │ │ │ │ └── delete_expected.yaml
│ │ │ │ │ └── double/
│ │ │ │ │ └── v1alpha1.yaml
│ │ │ │ └── testdata/
│ │ │ │ ├── controlplane.test
│ │ │ │ ├── empty1.test
│ │ │ │ ├── empty2.test
│ │ │ │ ├── fuzz/
│ │ │ │ │ └── FuzzConfigLoader/
│ │ │ │ │ └── dfd1adfe630cffc2
│ │ │ │ ├── multidoc1.test
│ │ │ │ ├── multidoc2.test
│ │ │ │ ├── multidoc3.test
│ │ │ │ └── worker.test
│ │ │ ├── configpatcher/
│ │ │ │ ├── apply.go
│ │ │ │ ├── apply_test.go
│ │ │ │ ├── configpatcher.go
│ │ │ │ ├── configpatcher_test.go
│ │ │ │ ├── json6902.go
│ │ │ │ ├── load.go
│ │ │ │ ├── load_test.go
│ │ │ │ ├── strategic.go
│ │ │ │ └── testdata/
│ │ │ │ ├── apply/
│ │ │ │ │ ├── config.yaml
│ │ │ │ │ ├── expected.yaml
│ │ │ │ │ ├── expected_manifests.yaml
│ │ │ │ │ ├── jsonpatch1.yaml
│ │ │ │ │ ├── jsonpatch2.yaml
│ │ │ │ │ ├── strategic1.yaml
│ │ │ │ │ ├── strategic2.yaml
│ │ │ │ │ ├── strategic3.yaml
│ │ │ │ │ └── strategic4.yaml
│ │ │ │ ├── auditpolicy/
│ │ │ │ │ ├── config.yaml
│ │ │ │ │ ├── expected.yaml
│ │ │ │ │ └── patch1.yaml
│ │ │ │ ├── multidoc/
│ │ │ │ │ ├── config.yaml
│ │ │ │ │ ├── expected.yaml
│ │ │ │ │ ├── jsonpatch.yaml
│ │ │ │ │ ├── strategic1.yaml
│ │ │ │ │ └── strategic2.yaml
│ │ │ │ ├── patch.json
│ │ │ │ ├── patch.yaml
│ │ │ │ ├── patchdelete/
│ │ │ │ │ ├── config.yaml
│ │ │ │ │ ├── controlplane_expected.yaml
│ │ │ │ │ ├── controlplane_orig.yaml
│ │ │ │ │ ├── expected.yaml
│ │ │ │ │ ├── strategic1.yaml
│ │ │ │ │ ├── strategic2.yaml
│ │ │ │ │ ├── strategic3.yaml
│ │ │ │ │ └── strategic4.yaml
│ │ │ │ ├── patchdeletemissing/
│ │ │ │ │ ├── config.yaml
│ │ │ │ │ └── strategic1.yaml
│ │ │ │ ├── patchlink/
│ │ │ │ │ ├── base.yaml
│ │ │ │ │ ├── expected.yaml
│ │ │ │ │ └── patch.yaml
│ │ │ │ └── strategic.yaml
│ │ │ ├── container/
│ │ │ │ ├── container.go
│ │ │ │ └── container_test.go
│ │ │ ├── contract.go
│ │ │ ├── contract_test.go
│ │ │ ├── encoder/
│ │ │ │ ├── documentation.go
│ │ │ │ ├── encoder.go
│ │ │ │ ├── encoder_test.go
│ │ │ │ ├── markdown.go
│ │ │ │ ├── markdown.tmpl
│ │ │ │ └── options.go
│ │ │ ├── generate/
│ │ │ │ ├── controlplane.go
│ │ │ │ ├── example_test.go
│ │ │ │ ├── generate.go
│ │ │ │ ├── generate_test.go
│ │ │ │ ├── init.go
│ │ │ │ ├── network.go
│ │ │ │ ├── options.go
│ │ │ │ ├── registry.go
│ │ │ │ ├── secrets/
│ │ │ │ │ ├── bundle.go
│ │ │ │ │ ├── ca.go
│ │ │ │ │ ├── clock.go
│ │ │ │ │ ├── generate_test.go
│ │ │ │ │ ├── marshal_test.go
│ │ │ │ │ ├── secrets.go
│ │ │ │ │ ├── testdata/
│ │ │ │ │ │ ├── invalid-secrets.yaml
│ │ │ │ │ │ └── secrets.yaml
│ │ │ │ │ ├── utils.go
│ │ │ │ │ └── validate_test.go
│ │ │ │ ├── stdpatches/
│ │ │ │ │ ├── stdpatches.go
│ │ │ │ │ └── stdpatches_test.go
│ │ │ │ ├── talosconfig.go
│ │ │ │ └── worker.go
│ │ │ ├── internal/
│ │ │ │ ├── cis/
│ │ │ │ │ ├── cis.go
│ │ │ │ │ └── cis_test.go
│ │ │ │ ├── documentid/
│ │ │ │ │ └── documentid.go
│ │ │ │ └── registry/
│ │ │ │ ├── registry.go
│ │ │ │ └── registry_test.go
│ │ │ ├── machine/
│ │ │ │ ├── machine.go
│ │ │ │ ├── machine_test.go
│ │ │ │ └── type_string.go
│ │ │ ├── merge/
│ │ │ │ ├── merge.go
│ │ │ │ └── merge_test.go
│ │ │ ├── provider.go
│ │ │ ├── schemas/
│ │ │ │ ├── README.md
│ │ │ │ ├── config.schema.json
│ │ │ │ └── v1alpha1_config.schema.json
│ │ │ ├── types/
│ │ │ │ ├── block/
│ │ │ │ │ ├── block.go
│ │ │ │ │ ├── block_doc.go
│ │ │ │ │ ├── blockhelpers/
│ │ │ │ │ │ └── blockhelpers.go
│ │ │ │ │ ├── byte_size.go
│ │ │ │ │ ├── deep_copy.generated.go
│ │ │ │ │ ├── encryption.go
│ │ │ │ │ ├── existing_volume_config.go
│ │ │ │ │ ├── existing_volume_config_test.go
│ │ │ │ │ ├── external_volume_config.go
│ │ │ │ │ ├── external_volume_config_test.go
│ │ │ │ │ ├── percentage_size.go
│ │ │ │ │ ├── raw_volume_config.go
│ │ │ │ │ ├── raw_volume_config_test.go
│ │ │ │ │ ├── size.go
│ │ │ │ │ ├── size_test.go
│ │ │ │ │ ├── swap_volume_config.go
│ │ │ │ │ ├── swap_volume_config_test.go
│ │ │ │ │ ├── testdata/
│ │ │ │ │ │ ├── existingvolumeconfig_selector.yaml
│ │ │ │ │ │ ├── externalvolumeconfig_basicvirtiofs.yaml
│ │ │ │ │ │ ├── rawvolumeconfig_diskselector.yaml
│ │ │ │ │ │ ├── rawvolumeconfig_encrypted.yaml
│ │ │ │ │ │ ├── swapvolumeconfig_diskselector.yaml
│ │ │ │ │ │ ├── swapvolumeconfig_encrypted.yaml
│ │ │ │ │ │ ├── uservolumeconfig_diskselector.yaml
│ │ │ │ │ │ ├── uservolumeconfig_encrypted.yaml
│ │ │ │ │ │ ├── uservolumeconfig_prjquota.yaml
│ │ │ │ │ │ ├── volumeconfig_diskselector.yaml
│ │ │ │ │ │ ├── volumeconfig_empty.yaml
│ │ │ │ │ │ ├── volumeconfig_maxsize.yaml
│ │ │ │ │ │ ├── volumeconfig_negativemaxsize.yaml
│ │ │ │ │ │ ├── volumeconfig_state.yaml
│ │ │ │ │ │ ├── volumeconfig_tpm_encryption_no_options.yaml
│ │ │ │ │ │ ├── volumeconfig_tpm_encryption_with_pcr_settings.yaml
│ │ │ │ │ │ ├── volumeconfig_tpm_encryption_with_pcrs_disabled.yaml
│ │ │ │ │ │ ├── zswapconfig_full.yaml
│ │ │ │ │ │ └── zswapconfig_min.yaml
│ │ │ │ │ ├── user_volume_config.go
│ │ │ │ │ ├── user_volume_config_test.go
│ │ │ │ │ ├── volume_config.go
│ │ │ │ │ ├── volume_config_test.go
│ │ │ │ │ ├── zswap_config.go
│ │ │ │ │ └── zswap_config_test.go
│ │ │ │ ├── cri/
│ │ │ │ │ ├── cri.go
│ │ │ │ │ ├── cri_doc.go
│ │ │ │ │ ├── deep_copy.generated.go
│ │ │ │ │ ├── registry_auth.go
│ │ │ │ │ ├── registry_auth_test.go
│ │ │ │ │ ├── registry_mirror.go
│ │ │ │ │ ├── registry_mirror_test.go
│ │ │ │ │ ├── registry_tls.go
│ │ │ │ │ ├── registry_tls_test.go
│ │ │ │ │ └── testdata/
│ │ │ │ │ ├── registryauthconfig.yaml
│ │ │ │ │ ├── registrymirrorconfig.yaml
│ │ │ │ │ └── registrytlsconfig.yaml
│ │ │ │ ├── hardware/
│ │ │ │ │ ├── deep_copy.generated.go
│ │ │ │ │ ├── hardware.go
│ │ │ │ │ ├── hardware_doc.go
│ │ │ │ │ ├── pci_driver_rebind_config.go
│ │ │ │ │ ├── pci_driver_rebind_config_test.go
│ │ │ │ │ └── testdata/
│ │ │ │ │ └── pcidriverrebindconfig.yaml
│ │ │ │ ├── meta/
│ │ │ │ │ ├── certificate_key.go
│ │ │ │ │ ├── meta.go
│ │ │ │ │ └── url.go
│ │ │ │ ├── network/
│ │ │ │ │ ├── blackhole_route.go
│ │ │ │ │ ├── blackhole_route_test.go
│ │ │ │ │ ├── bond.go
│ │ │ │ │ ├── bond_test.go
│ │ │ │ │ ├── bridge.go
│ │ │ │ │ ├── bridge_test.go
│ │ │ │ │ ├── deep_copy.generated.go
│ │ │ │ │ ├── default_action_config.go
│ │ │ │ │ ├── default_action_config_test.go
│ │ │ │ │ ├── dhcp4.go
│ │ │ │ │ ├── dhcp4_test.go
│ │ │ │ │ ├── dhcp6.go
│ │ │ │ │ ├── dhcp6_test.go
│ │ │ │ │ ├── dummy.go
│ │ │ │ │ ├── dummy_test.go
│ │ │ │ │ ├── ethernet.go
│ │ │ │ │ ├── ethernet_test.go
│ │ │ │ │ ├── hcloud_vip.go
│ │ │ │ │ ├── hcloud_vip_test.go
│ │ │ │ │ ├── hostname.go
│ │ │ │ │ ├── hostname_test.go
│ │ │ │ │ ├── kubespan.go
│ │ │ │ │ ├── kubespan_endpoints.go
│ │ │ │ │ ├── kubespan_endpoints_test.go
│ │ │ │ │ ├── kubespan_test.go
│ │ │ │ │ ├── layer2_vip.go
│ │ │ │ │ ├── layer2_vip_test.go
│ │ │ │ │ ├── link.go
│ │ │ │ │ ├── link_alias.go
│ │ │ │ │ ├── link_alias_test.go
│ │ │ │ │ ├── link_test.go
│ │ │ │ │ ├── network.go
│ │ │ │ │ ├── network_doc.go
│ │ │ │ │ ├── port_range.go
│ │ │ │ │ ├── port_range_test.go
│ │ │ │ │ ├── resolver.go
│ │ │ │ │ ├── resolver_test.go
│ │ │ │ │ ├── routing_rule.go
│ │ │ │ │ ├── routing_rule_test.go
│ │ │ │ │ ├── rule_config.go
│ │ │ │ │ ├── rule_config_test.go
│ │ │ │ │ ├── static_host.go
│ │ │ │ │ ├── static_host_test.go
│ │ │ │ │ ├── tcp_probe.go
│ │ │ │ │ ├── tcp_probe_test.go
│ │ │ │ │ ├── testdata/
│ │ │ │ │ │ ├── blackholerouteconfig.yaml
│ │ │ │ │ │ ├── bondconfig.yaml
│ │ │ │ │ │ ├── bridgeconfig.yaml
│ │ │ │ │ │ ├── defaultactionconfig.yaml
│ │ │ │ │ │ ├── dhcpv4config.yaml
│ │ │ │ │ │ ├── dhcpv6config.yaml
│ │ │ │ │ │ ├── dummylinkconfig.yaml
│ │ │ │ │ │ ├── ethernetconfig.yaml
│ │ │ │ │ │ ├── hcloudvipconfig.yaml
│ │ │ │ │ │ ├── hostnameconfig.yaml
│ │ │ │ │ │ ├── kubespanconfig.yaml
│ │ │ │ │ │ ├── kubespanendpointsconfig.yaml
│ │ │ │ │ │ ├── layer2vipconfig.yaml
│ │ │ │ │ │ ├── linkaliasconfig.yaml
│ │ │ │ │ │ ├── linkconfig.yaml
│ │ │ │ │ │ ├── resolverconfig.yaml
│ │ │ │ │ │ ├── routingruleconfig.yaml
│ │ │ │ │ │ ├── ruleconfig.yaml
│ │ │ │ │ │ ├── statichostconfig.yaml
│ │ │ │ │ │ ├── tcpprobeconfig.yaml
│ │ │ │ │ │ ├── timesyncconfig.yaml
│ │ │ │ │ │ ├── vlanconfig.yaml
│ │ │ │ │ │ ├── vrfconfig.yaml
│ │ │ │ │ │ ├── wireguardconfig.yaml
│ │ │ │ │ │ └── wireguardconfig_redacted.yaml
│ │ │ │ │ ├── time_sync.go
│ │ │ │ │ ├── time_sync_test.go
│ │ │ │ │ ├── vlan.go
│ │ │ │ │ ├── vlan_test.go
│ │ │ │ │ ├── vrf.go
│ │ │ │ │ ├── vrf_test.go
│ │ │ │ │ ├── wireguard.go
│ │ │ │ │ ├── wireguard_test.go
│ │ │ │ │ └── yaml.go
│ │ │ │ ├── runtime/
│ │ │ │ │ ├── deep_copy.generated.go
│ │ │ │ │ ├── environment.go
│ │ │ │ │ ├── environment_test.go
│ │ │ │ │ ├── event_sink.go
│ │ │ │ │ ├── event_sink_test.go
│ │ │ │ │ ├── extensions/
│ │ │ │ │ │ ├── deep_copy.generated.go
│ │ │ │ │ │ ├── extensions.go
│ │ │ │ │ │ ├── extensions_doc.go
│ │ │ │ │ │ ├── service_config.go
│ │ │ │ │ │ ├── service_config_test.go
│ │ │ │ │ │ └── testdata/
│ │ │ │ │ │ └── extension_service_config.yaml
│ │ │ │ │ ├── kmsg_log.go
│ │ │ │ │ ├── kmsg_log_test.go
│ │ │ │ │ ├── oom.go
│ │ │ │ │ ├── oom_test.go
│ │ │ │ │ ├── runtime.go
│ │ │ │ │ ├── runtime_doc.go
│ │ │ │ │ ├── testdata/
│ │ │ │ │ │ ├── environment.yaml
│ │ │ │ │ │ ├── eventsink.yaml
│ │ │ │ │ │ ├── kmsglog.yaml
│ │ │ │ │ │ ├── oom.yaml
│ │ │ │ │ │ └── watchdogtimer.yaml
│ │ │ │ │ ├── watchdog_timer.go
│ │ │ │ │ └── watchdog_timer_test.go
│ │ │ │ ├── security/
│ │ │ │ │ ├── deep_copy.generated.go
│ │ │ │ │ ├── image_verification.go
│ │ │ │ │ ├── image_verification_test.go
│ │ │ │ │ ├── security.go
│ │ │ │ │ ├── security_doc.go
│ │ │ │ │ ├── testdata/
│ │ │ │ │ │ ├── imageverificationconfig.yaml
│ │ │ │ │ │ └── trustedrootsconfig.yaml
│ │ │ │ │ ├── trusted_roots.go
│ │ │ │ │ └── trusted_roots_test.go
│ │ │ │ ├── siderolink/
│ │ │ │ │ ├── deep_copy.generated.go
│ │ │ │ │ ├── siderolink.go
│ │ │ │ │ ├── siderolink_doc.go
│ │ │ │ │ ├── siderolink_test.go
│ │ │ │ │ └── testdata/
│ │ │ │ │ └── document.yaml
│ │ │ │ ├── types.go
│ │ │ │ └── v1alpha1/
│ │ │ │ ├── doc.go
│ │ │ │ ├── testdata/
│ │ │ │ │ ├── stability/
│ │ │ │ │ │ ├── patch.yaml
│ │ │ │ │ │ ├── secrets.yaml
│ │ │ │ │ │ ├── v1.10/
│ │ │ │ │ │ │ ├── base-controlplane.yaml
│ │ │ │ │ │ │ ├── base-worker.yaml
│ │ │ │ │ │ │ ├── overrides-controlplane.yaml
│ │ │ │ │ │ │ └── overrides-worker.yaml
│ │ │ │ │ │ ├── v1.11/
│ │ │ │ │ │ │ ├── base-controlplane.yaml
│ │ │ │ │ │ │ ├── base-worker.yaml
│ │ │ │ │ │ │ ├── overrides-controlplane.yaml
│ │ │ │ │ │ │ └── overrides-worker.yaml
│ │ │ │ │ │ ├── v1.12/
│ │ │ │ │ │ │ ├── base-controlplane.yaml
│ │ │ │ │ │ │ ├── base-worker.yaml
│ │ │ │ │ │ │ ├── overrides-controlplane.yaml
│ │ │ │ │ │ │ └── overrides-worker.yaml
│ │ │ │ │ │ ├── v1.13/
│ │ │ │ │ │ │ ├── base-controlplane.yaml
│ │ │ │ │ │ │ ├── base-worker.yaml
│ │ │ │ │ │ │ ├── overrides-controlplane.yaml
│ │ │ │ │ │ │ └── overrides-worker.yaml
│ │ │ │ │ │ ├── v1.3/
│ │ │ │ │ │ │ ├── base-controlplane.yaml
│ │ │ │ │ │ │ ├── base-worker.yaml
│ │ │ │ │ │ │ ├── overrides-controlplane.yaml
│ │ │ │ │ │ │ └── overrides-worker.yaml
│ │ │ │ │ │ ├── v1.4/
│ │ │ │ │ │ │ ├── base-controlplane.yaml
│ │ │ │ │ │ │ ├── base-worker.yaml
│ │ │ │ │ │ │ ├── overrides-controlplane.yaml
│ │ │ │ │ │ │ └── overrides-worker.yaml
│ │ │ │ │ │ ├── v1.5/
│ │ │ │ │ │ │ ├── base-controlplane.yaml
│ │ │ │ │ │ │ ├── base-worker.yaml
│ │ │ │ │ │ │ ├── overrides-controlplane.yaml
│ │ │ │ │ │ │ └── overrides-worker.yaml
│ │ │ │ │ │ ├── v1.6/
│ │ │ │ │ │ │ ├── base-controlplane.yaml
│ │ │ │ │ │ │ ├── base-worker.yaml
│ │ │ │ │ │ │ ├── overrides-controlplane.yaml
│ │ │ │ │ │ │ └── overrides-worker.yaml
│ │ │ │ │ │ ├── v1.7/
│ │ │ │ │ │ │ ├── base-controlplane.yaml
│ │ │ │ │ │ │ ├── base-worker.yaml
│ │ │ │ │ │ │ ├── overrides-controlplane.yaml
│ │ │ │ │ │ │ └── overrides-worker.yaml
│ │ │ │ │ │ ├── v1.8/
│ │ │ │ │ │ │ ├── base-controlplane.yaml
│ │ │ │ │ │ │ ├── base-worker.yaml
│ │ │ │ │ │ │ ├── overrides-controlplane.yaml
│ │ │ │ │ │ │ └── overrides-worker.yaml
│ │ │ │ │ │ └── v1.9/
│ │ │ │ │ │ ├── base-controlplane.yaml
│ │ │ │ │ │ ├── base-worker.yaml
│ │ │ │ │ │ ├── overrides-controlplane.yaml
│ │ │ │ │ │ └── overrides-worker.yaml
│ │ │ │ │ └── strategic/
│ │ │ │ │ ├── 001/
│ │ │ │ │ │ ├── expected.yaml
│ │ │ │ │ │ ├── left.yaml
│ │ │ │ │ │ └── right.yaml
│ │ │ │ │ ├── 002/
│ │ │ │ │ │ ├── expected.yaml
│ │ │ │ │ │ ├── left.yaml
│ │ │ │ │ │ └── right.yaml
│ │ │ │ │ ├── 003/
│ │ │ │ │ │ ├── expected.yaml
│ │ │ │ │ │ ├── left.yaml
│ │ │ │ │ │ └── right.yaml
│ │ │ │ │ ├── 004/
│ │ │ │ │ │ ├── expected.yaml
│ │ │ │ │ │ ├── left.yaml
│ │ │ │ │ │ └── right.yaml
│ │ │ │ │ ├── 005/
│ │ │ │ │ │ ├── expected.yaml
│ │ │ │ │ │ ├── left.yaml
│ │ │ │ │ │ └── right.yaml
│ │ │ │ │ └── 006/
│ │ │ │ │ ├── expected.yaml
│ │ │ │ │ ├── left.yaml
│ │ │ │ │ └── right.yaml
│ │ │ │ ├── v1alpha1_admissionplugin.go
│ │ │ │ ├── v1alpha1_apiserverconfig.go
│ │ │ │ ├── v1alpha1_authorizaationconfigauthorizer.go
│ │ │ │ ├── v1alpha1_clusterconfig.go
│ │ │ │ ├── v1alpha1_cniconfig.go
│ │ │ │ ├── v1alpha1_controllermanagerconfig.go
│ │ │ │ ├── v1alpha1_discoveryconfig.go
│ │ │ │ ├── v1alpha1_etcdconfig.go
│ │ │ │ ├── v1alpha1_examples.go
│ │ │ │ ├── v1alpha1_externalcloudproviderconfig.go
│ │ │ │ ├── v1alpha1_features.go
│ │ │ │ ├── v1alpha1_inlinemanifest.go
│ │ │ │ ├── v1alpha1_kernel.go
│ │ │ │ ├── v1alpha1_kubernetestalosapiaccess.go
│ │ │ │ ├── v1alpha1_logging.go
│ │ │ │ ├── v1alpha1_marshal.go
│ │ │ │ ├── v1alpha1_marshal_test.go
│ │ │ │ ├── v1alpha1_network_bridge.go
│ │ │ │ ├── v1alpha1_network_bridge_test.go
│ │ │ │ ├── v1alpha1_network_options.go
│ │ │ │ ├── v1alpha1_provider.go
│ │ │ │ ├── v1alpha1_provider_test.go
│ │ │ │ ├── v1alpha1_proxyconfig.go
│ │ │ │ ├── v1alpha1_redact_test.go
│ │ │ │ ├── v1alpha1_resourcesconfig.go
│ │ │ │ ├── v1alpha1_schedulerconfig.go
│ │ │ │ ├── v1alpha1_stability_test.go
│ │ │ │ ├── v1alpha1_strategic_merge_test.go
│ │ │ │ ├── v1alpha1_types.go
│ │ │ │ ├── v1alpha1_types_doc.go
│ │ │ │ ├── v1alpha1_unstructured.go
│ │ │ │ ├── v1alpha1_unstructured_test.go
│ │ │ │ ├── v1alpha1_validation.go
│ │ │ │ ├── v1alpha1_validation_test.go
│ │ │ │ └── zz_generated.deepcopy.go
│ │ │ └── validation/
│ │ │ ├── mode.go
│ │ │ └── validation.go
│ │ ├── constants/
│ │ │ ├── amd64.go
│ │ │ ├── amd64_v1.go
│ │ │ ├── constants.go
│ │ │ └── environment.go
│ │ ├── extensions/
│ │ │ ├── config.go
│ │ │ ├── deep_copy.generated.go
│ │ │ ├── extensions.go
│ │ │ ├── extensions_test.go
│ │ │ ├── load.go
│ │ │ ├── metadata.go
│ │ │ ├── services/
│ │ │ │ ├── restart_kind.go
│ │ │ │ ├── restartkind_enumer.go
│ │ │ │ ├── services.go
│ │ │ │ ├── services_test.go
│ │ │ │ └── testdata/
│ │ │ │ └── hello.yaml
│ │ │ ├── testdata/
│ │ │ │ ├── bad/
│ │ │ │ │ ├── badpaths/
│ │ │ │ │ │ ├── manifest.yaml
│ │ │ │ │ │ └── rootfs/
│ │ │ │ │ │ └── boot/
│ │ │ │ │ │ └── vmlinuz
│ │ │ │ │ ├── emptymanifest/
│ │ │ │ │ │ └── manifest.yaml
│ │ │ │ │ ├── norootfs/
│ │ │ │ │ │ └── manifest.yaml
│ │ │ │ │ ├── usrmerge/
│ │ │ │ │ │ └── manifest.yaml
│ │ │ │ │ └── wrongfiles/
│ │ │ │ │ └── a
│ │ │ │ └── good/
│ │ │ │ └── extension1/
│ │ │ │ ├── manifest.yaml
│ │ │ │ └── rootfs/
│ │ │ │ └── usr/
│ │ │ │ └── lib/
│ │ │ │ ├── firmware/
│ │ │ │ │ └── amd/
│ │ │ │ │ └── cpu
│ │ │ │ └── ld-linux-x86-64.so.2
│ │ │ └── validate.go
│ │ ├── fipsmode/
│ │ │ ├── fipsmode.go
│ │ │ └── fipsmode_test.go
│ │ ├── formatters/
│ │ │ └── formatters.go
│ │ ├── gendata/
│ │ │ ├── data/
│ │ │ │ ├── artifacts
│ │ │ │ ├── name
│ │ │ │ ├── pkgs
│ │ │ │ ├── registry
│ │ │ │ ├── sha
│ │ │ │ ├── tag
│ │ │ │ ├── tools
│ │ │ │ └── username
│ │ │ └── gendata.go
│ │ ├── go.mod
│ │ ├── go.sum
│ │ ├── imager/
│ │ │ ├── imageropts/
│ │ │ │ ├── bootloaderkind_enumer.go
│ │ │ │ └── imageropts.go
│ │ │ └── quirks/
│ │ │ ├── partitions.go
│ │ │ ├── quirks.go
│ │ │ └── quirks_test.go
│ │ ├── kernel/
│ │ │ ├── kernel.go
│ │ │ └── kernel_test.go
│ │ ├── kubelet/
│ │ │ └── kubelet.go
│ │ ├── labels/
│ │ │ ├── validate.go
│ │ │ └── validate_test.go
│ │ ├── meta/
│ │ │ ├── constants.go
│ │ │ ├── meta.go
│ │ │ └── meta_test.go
│ │ ├── nethelpers/
│ │ │ ├── address_flags.go
│ │ │ ├── addresssortalgorithm.go
│ │ │ ├── adlacpactive.go
│ │ │ ├── adselect.go
│ │ │ ├── arpalltargets.go
│ │ │ ├── arpalltargets_enumer.go
│ │ │ ├── arpvalidate.go
│ │ │ ├── autohostnamekind.go
│ │ │ ├── bondmode.go
│ │ │ ├── bondxmithashpolicy.go
│ │ │ ├── client_identifier.go
│ │ │ ├── conntrack_state.go
│ │ │ ├── default_action.go
│ │ │ ├── device.go
│ │ │ ├── duplex.go
│ │ │ ├── failovermac.go
│ │ │ ├── failovermac_enumer.go
│ │ │ ├── failovermac_test.go
│ │ │ ├── family.go
│ │ │ ├── host_port.go
│ │ │ ├── hwaddr.go
│ │ │ ├── icmp_type.go
│ │ │ ├── lacprate.go
│ │ │ ├── linkflag.go
│ │ │ ├── linktype.go
│ │ │ ├── match_operator.go
│ │ │ ├── nethelpers.go
│ │ │ ├── nftables_chain_hook.go
│ │ │ ├── nftables_chain_priority.go
│ │ │ ├── nftables_chain_type.go
│ │ │ ├── nftables_verdict.go
│ │ │ ├── operstate.go
│ │ │ ├── port.go
│ │ │ ├── primaryreselect.go
│ │ │ ├── protocol.go
│ │ │ ├── routeflags.go
│ │ │ ├── routeflags_test.go
│ │ │ ├── routeprotocol.go
│ │ │ ├── routetype.go
│ │ │ ├── routingruleaction.go
│ │ │ ├── routingtable.go
│ │ │ ├── scope.go
│ │ │ ├── status.go
│ │ │ ├── vlan.go
│ │ │ ├── vlan_test.go
│ │ │ ├── vlanprotocol.go
│ │ │ └── wol.go
│ │ ├── overlay/
│ │ │ ├── adapter/
│ │ │ │ └── adapter.go
│ │ │ └── overlay.go
│ │ ├── platforms/
│ │ │ ├── platforms.go
│ │ │ ├── platforms_test.go
│ │ │ ├── sbcs.go
│ │ │ └── sbcs_test.go
│ │ ├── proto/
│ │ │ ├── proto.go
│ │ │ ├── proto_test.go
│ │ │ └── resource.go
│ │ ├── resources/
│ │ │ ├── block/
│ │ │ │ ├── block.go
│ │ │ │ ├── block_test.go
│ │ │ │ ├── deep_copy.generated.go
│ │ │ │ ├── device.go
│ │ │ │ ├── discovered_volume.go
│ │ │ │ ├── discovery_refresh_request.go
│ │ │ │ ├── discovery_refresh_status.go
│ │ │ │ ├── disk.go
│ │ │ │ ├── encryptionkeytype.go
│ │ │ │ ├── encryptionprovidertype.go
│ │ │ │ ├── filesystemtype.go
│ │ │ │ ├── fsparametertype.go
│ │ │ │ ├── mount_request.go
│ │ │ │ ├── mount_status.go
│ │ │ │ ├── swap_status.go
│ │ │ │ ├── symlink.go
│ │ │ │ ├── system_disk.go
│ │ │ │ ├── user_disk_config_status.go
│ │ │ │ ├── volume_config.go
│ │ │ │ ├── volume_config_test.go
│ │ │ │ ├── volume_lifecycle.go
│ │ │ │ ├── volume_mount_request.go
│ │ │ │ ├── volume_mount_status.go
│ │ │ │ ├── volume_status.go
│ │ │ │ ├── volumephase.go
│ │ │ │ ├── volumetype.go
│ │ │ │ ├── volumetype_enumer.go
│ │ │ │ └── zswap_status.go
│ │ │ ├── cluster/
│ │ │ │ ├── affiliate.go
│ │ │ │ ├── affiliate_test.go
│ │ │ │ ├── cluster.go
│ │ │ │ ├── cluster_test.go
│ │ │ │ ├── config.go
│ │ │ │ ├── deep_copy.generated.go
│ │ │ │ ├── identity.go
│ │ │ │ ├── info.go
│ │ │ │ └── member.go
│ │ │ ├── config/
│ │ │ │ ├── config.go
│ │ │ │ ├── config_test.go
│ │ │ │ ├── machine_config.go
│ │ │ │ ├── machine_config_test.go
│ │ │ │ ├── machine_type.go
│ │ │ │ └── machine_type_test.go
│ │ │ ├── cri/
│ │ │ │ ├── cri.go
│ │ │ │ ├── cri_test.go
│ │ │ │ ├── deep_copy.generated.go
│ │ │ │ ├── image_cache_config.go
│ │ │ │ ├── imagecachecopystatus_enumer.go
│ │ │ │ ├── imagecachestatus.go
│ │ │ │ ├── imagecachestatus_enumer.go
│ │ │ │ ├── registries_config.go
│ │ │ │ └── seccomp_profile.go
│ │ │ ├── etcd/
│ │ │ │ ├── condition.go
│ │ │ │ ├── config.go
│ │ │ │ ├── deep_copy.generated.go
│ │ │ │ ├── etcd.go
│ │ │ │ ├── etcd_test.go
│ │ │ │ ├── member.go
│ │ │ │ ├── pki_status.go
│ │ │ │ └── spec.go
│ │ │ ├── files/
│ │ │ │ ├── deep_copy.generated.go
│ │ │ │ ├── etcfile_spec.go
│ │ │ │ ├── etcfile_status.go
│ │ │ │ ├── files.go
│ │ │ │ └── files_test.go
│ │ │ ├── hardware/
│ │ │ │ ├── deep_copy.generated.go
│ │ │ │ ├── hardware.go
│ │ │ │ ├── hardware_test.go
│ │ │ │ ├── memorymodule.go
│ │ │ │ ├── pci_driver_rebind_config.go
│ │ │ │ ├── pci_driver_rebind_status.go
│ │ │ │ ├── pcidevice.go
│ │ │ │ ├── pcr_status.go
│ │ │ │ ├── processor.go
│ │ │ │ └── system_information.go
│ │ │ ├── k8s/
│ │ │ │ ├── admissioncontrol_config.go
│ │ │ │ ├── apiserver_config.go
│ │ │ │ ├── auditpolicy_config.go
│ │ │ │ ├── authorization_config.go
│ │ │ │ ├── config_status.go
│ │ │ │ ├── controllermanager_config.go
│ │ │ │ ├── deep_copy.generated.go
│ │ │ │ ├── endpoint.go
│ │ │ │ ├── endpoint_test.go
│ │ │ │ ├── extramanifests_config.go
│ │ │ │ ├── k8s.go
│ │ │ │ ├── k8s_test.go
│ │ │ │ ├── kubelet_config.go
│ │ │ │ ├── kubelet_lifecycle.go
│ │ │ │ ├── kubelet_spec.go
│ │ │ │ ├── kubeprism.go
│ │ │ │ ├── kubeprism_config.go
│ │ │ │ ├── kubeprism_endpoints.go
│ │ │ │ ├── manifest.go
│ │ │ │ ├── manifest_status.go
│ │ │ │ ├── manifests_config.go
│ │ │ │ ├── node_annotation_spec.go
│ │ │ │ ├── node_cordoned_spec.go
│ │ │ │ ├── node_label_spec.go
│ │ │ │ ├── node_status.go
│ │ │ │ ├── node_taint_spec.go
│ │ │ │ ├── nodeip.go
│ │ │ │ ├── nodeip_config.go
│ │ │ │ ├── nodename.go
│ │ │ │ ├── scheduler_config.go
│ │ │ │ ├── secrets_status.go
│ │ │ │ ├── static_pod.go
│ │ │ │ ├── static_pod_server_status.go
│ │ │ │ └── static_pod_status.go
│ │ │ ├── kubeaccess/
│ │ │ │ ├── config.go
│ │ │ │ ├── kubeaccess.go
│ │ │ │ └── kubeaccess_test.go
│ │ │ ├── kubespan/
│ │ │ │ ├── config.go
│ │ │ │ ├── deep_copy.generated.go
│ │ │ │ ├── endpoint.go
│ │ │ │ ├── identity.go
│ │ │ │ ├── kubespan.go
│ │ │ │ ├── kubespan_test.go
│ │ │ │ ├── peer_spec.go
│ │ │ │ ├── peer_state.go
│ │ │ │ ├── peer_status.go
│ │ │ │ └── peerstate_string.go
│ │ │ ├── network/
│ │ │ │ ├── address_spec.go
│ │ │ │ ├── address_spec_test.go
│ │ │ │ ├── address_status.go
│ │ │ │ ├── condition.go
│ │ │ │ ├── condition_test.go
│ │ │ │ ├── configlayer.go
│ │ │ │ ├── configlayer_enumer.go
│ │ │ │ ├── deep_copy.generated.go
│ │ │ │ ├── device_config_spec.go
│ │ │ │ ├── device_config_spec_test.go
│ │ │ │ ├── dns_resolve_cache.go
│ │ │ │ ├── dns_upstream.go
│ │ │ │ ├── ethernet_spec.go
│ │ │ │ ├── ethernet_status.go
│ │ │ │ ├── hardrware_addr.go
│ │ │ │ ├── hostdns_config.go
│ │ │ │ ├── hostname_spec.go
│ │ │ │ ├── hostname_spec_test.go
│ │ │ │ ├── hostname_status.go
│ │ │ │ ├── link.go
│ │ │ │ ├── link_alias_spec.go
│ │ │ │ ├── link_name_resolver.go
│ │ │ │ ├── link_name_resolver_test.go
│ │ │ │ ├── link_refresh.go
│ │ │ │ ├── link_spec.go
│ │ │ │ ├── link_spec_test.go
│ │ │ │ ├── link_status.go
│ │ │ │ ├── link_status_test.go
│ │ │ │ ├── link_test.go
│ │ │ │ ├── network.go
│ │ │ │ ├── network_test.go
│ │ │ │ ├── nftables_chain.go
│ │ │ │ ├── node_address.go
│ │ │ │ ├── node_address_filter.go
│ │ │ │ ├── node_address_sort_algorithm.go
│ │ │ │ ├── operator.go
│ │ │ │ ├── operator_spec.go
│ │ │ │ ├── operator_spec_test.go
│ │ │ │ ├── platform_config.go
│ │ │ │ ├── platform_config_test.go
│ │ │ │ ├── probe_spec.go
│ │ │ │ ├── probe_status.go
│ │ │ │ ├── resolver_spec.go
│ │ │ │ ├── resolver_spec_test.go
│ │ │ │ ├── resolver_status.go
│ │ │ │ ├── route_spec.go
│ │ │ │ ├── route_spec_test.go
│ │ │ │ ├── route_status.go
│ │ │ │ ├── routing_rule_spec.go
│ │ │ │ ├── routing_rule_status.go
│ │ │ │ ├── status.go
│ │ │ │ ├── timeserver_spec.go
│ │ │ │ ├── timeserver_spec_test.go
│ │ │ │ ├── timeserver_status.go
│ │ │ │ ├── ula.go
│ │ │ │ └── ula_test.go
│ │ │ ├── perf/
│ │ │ │ ├── cpu.go
│ │ │ │ ├── deep_copy.generated.go
│ │ │ │ ├── mem.go
│ │ │ │ ├── perf.go
│ │ │ │ └── perf_test.go
│ │ │ ├── resources.go
│ │ │ ├── runtime/
│ │ │ │ ├── api_service_config.go
│ │ │ │ ├── booted_entry_status.go
│ │ │ │ ├── condition.go
│ │ │ │ ├── condition_test.go
│ │ │ │ ├── deep_copy.generated.go
│ │ │ │ ├── devices_status.go
│ │ │ │ ├── diagnostic.go
│ │ │ │ ├── environment.go
│ │ │ │ ├── event_sink_config.go
│ │ │ │ ├── extension_services_config.go
│ │ │ │ ├── extension_services_config_status.go
│ │ │ │ ├── extension_status.go
│ │ │ │ ├── fipsstate_enumer.go
│ │ │ │ ├── kernel_cmdline.go
│ │ │ │ ├── kernel_module_spec.go
│ │ │ │ ├── kernel_params_spec.go
│ │ │ │ ├── kernel_params_status.go
│ │ │ │ ├── kmsg_log_config.go
│ │ │ │ ├── loaded_kernel_module.go
│ │ │ │ ├── machine_reset_signal.go
│ │ │ │ ├── machine_status.go
│ │ │ │ ├── machinestage.go
│ │ │ │ ├── machinestage_enumer.go
│ │ │ │ ├── machinestage_test.go
│ │ │ │ ├── maintenance_config.go
│ │ │ │ ├── maintenance_request.go
│ │ │ │ ├── meta_key.go
│ │ │ │ ├── meta_loaded.go
│ │ │ │ ├── mount_status.go
│ │ │ │ ├── oom.go
│ │ │ │ ├── oom_action.go
│ │ │ │ ├── pcirebind_status.go
│ │ │ │ ├── platform_metadata.go
│ │ │ │ ├── runtime.go
│ │ │ │ ├── runtime_test.go
│ │ │ │ ├── sbom_item.go
│ │ │ │ ├── security_status.go
│ │ │ │ ├── selinuxstate_enumer.go
│ │ │ │ ├── unique_machine_token.go
│ │ │ │ ├── version.go
│ │ │ │ ├── watchdog_timer_config.go
│ │ │ │ └── watchdog_timer_status.go
│ │ │ ├── secrets/
│ │ │ │ ├── api.go
│ │ │ │ ├── api_test.go
│ │ │ │ ├── cert_sans.go
│ │ │ │ ├── condition.go
│ │ │ │ ├── deep_copy.generated.go
│ │ │ │ ├── encryption_salt.go
│ │ │ │ ├── etcd.go
│ │ │ │ ├── etcd_root.go
│ │ │ │ ├── kubelet.go
│ │ │ │ ├── kubernetes.go
│ │ │ │ ├── kubernetes_certs.go
│ │ │ │ ├── kubernetes_root.go
│ │ │ │ ├── maintenance_root.go
│ │ │ │ ├── os_root.go
│ │ │ │ ├── secrets.go
│ │ │ │ ├── secrets_test.go
│ │ │ │ ├── trustd.go
│ │ │ │ └── trustd_test.go
│ │ │ ├── security/
│ │ │ │ ├── deep_copy.generated.go
│ │ │ │ ├── image_verification_rule.go
│ │ │ │ ├── security.go
│ │ │ │ ├── security_test.go
│ │ │ │ └── tuf_trusted_root.go
│ │ │ ├── siderolink/
│ │ │ │ ├── deep_copy.generated.go
│ │ │ │ ├── siderolink.go
│ │ │ │ ├── siderolink_status.go
│ │ │ │ ├── siderolink_test.go
│ │ │ │ └── siderolink_tunnel.go
│ │ │ ├── time/
│ │ │ │ ├── adjtime_status.go
│ │ │ │ ├── condition.go
│ │ │ │ ├── deep_copy.generated.go
│ │ │ │ ├── status.go
│ │ │ │ ├── time.go
│ │ │ │ └── time_test.go
│ │ │ └── v1alpha1/
│ │ │ ├── acquire_config_spec.go
│ │ │ ├── acquire_config_status.go
│ │ │ ├── deep_copy.generated.go
│ │ │ ├── service.go
│ │ │ ├── v1alpha1.go
│ │ │ └── v1alpha1_test.go
│ │ ├── role/
│ │ │ ├── role.go
│ │ │ └── role_test.go
│ │ ├── textdiff/
│ │ │ ├── testdata/
│ │ │ │ └── fuzz/
│ │ │ │ └── FuzzDiff/
│ │ │ │ ├── 4436c698e19c9ea6
│ │ │ │ ├── 72f7d10cdb1b4c78
│ │ │ │ └── e8e3f58f18e0ab28
│ │ │ ├── textdiff.go
│ │ │ └── textdiff_test.go
│ │ ├── version/
│ │ │ ├── gen.go
│ │ │ ├── os-release
│ │ │ ├── osrelease.go
│ │ │ ├── osrelease_test.go
│ │ │ └── version.go
│ │ └── yamlutils/
│ │ ├── yamlutils.go
│ │ └── yamlutils_test.go
│ ├── makefs/
│ │ ├── ext4.go
│ │ ├── ext4_test.go
│ │ ├── makefs.go
│ │ ├── makefs_test.go
│ │ ├── protofile.go
│ │ ├── protofile_test.go
│ │ ├── testdata/
│ │ │ ├── deeply_nested.proto
│ │ │ ├── nested_directories.proto
│ │ │ ├── simple_directory.proto
│ │ │ └── symlinks.proto
│ │ ├── vfat.go
│ │ ├── vfat_test.go
│ │ ├── xfs.go
│ │ └── xfs_test.go
│ ├── minimal/
│ │ └── limits.go
│ ├── provision/
│ │ ├── access/
│ │ │ ├── access.go
│ │ │ ├── access_test.go
│ │ │ └── adapter.go
│ │ ├── internal/
│ │ │ ├── cniutils/
│ │ │ │ └── cniutils.go
│ │ │ └── inmemhttp/
│ │ │ ├── inmemhttp.go
│ │ │ └── inmemhttp_test.go
│ │ ├── options.go
│ │ ├── providers/
│ │ │ ├── docker/
│ │ │ │ ├── create.go
│ │ │ │ ├── destroy.go
│ │ │ │ ├── docker.go
│ │ │ │ ├── docker_test.go
│ │ │ │ ├── image.go
│ │ │ │ ├── network.go
│ │ │ │ ├── node.go
│ │ │ │ ├── reflect.go
│ │ │ │ └── result.go
│ │ │ ├── factory.go
│ │ │ ├── qemu/
│ │ │ │ ├── arch.go
│ │ │ │ ├── arch_darwin.go
│ │ │ │ ├── arch_linux.go
│ │ │ │ ├── controller.go
│ │ │ │ ├── create.go
│ │ │ │ ├── destroy.go
│ │ │ │ ├── launch.go
│ │ │ │ ├── launch_darwin.go
│ │ │ │ ├── launch_linux.go
│ │ │ │ ├── node.go
│ │ │ │ ├── node_darwin.go
│ │ │ │ ├── node_linux.go
│ │ │ │ ├── pflash.go
│ │ │ │ ├── preflight.go
│ │ │ │ ├── preflight_darwin.go
│ │ │ │ ├── preflight_linux.go
│ │ │ │ ├── qemu.go
│ │ │ │ └── tpm2.go
│ │ │ ├── qemu.go
│ │ │ ├── qemu_other.go
│ │ │ └── vm/
│ │ │ ├── controller.go
│ │ │ ├── dhcpd.go
│ │ │ ├── dhcpd_darwin.go
│ │ │ ├── dhcpd_linux.go
│ │ │ ├── disk.go
│ │ │ ├── dnsd.go
│ │ │ ├── dnsd_darwin.go
│ │ │ ├── dnsd_linux.go
│ │ │ ├── image_cache.go
│ │ │ ├── internal/
│ │ │ │ ├── ethtool/
│ │ │ │ │ ├── ethtool_linux.go
│ │ │ │ │ └── ethtool_other.go
│ │ │ │ └── ipxe/
│ │ │ │ ├── data/
│ │ │ │ │ └── ipxe/
│ │ │ │ │ ├── amd64/
│ │ │ │ │ │ └── snp.efi
│ │ │ │ │ └── arm64/
│ │ │ │ │ └── snp.efi
│ │ │ │ └── ipxe.go
│ │ │ ├── ipam.go
│ │ │ ├── json-logs.go
│ │ │ ├── kms.go
│ │ │ ├── launch.go
│ │ │ ├── loadbalancer.go
│ │ │ ├── loadbalancer_darwin.go
│ │ │ ├── loadbalancer_linux.go
│ │ │ ├── network.go
│ │ │ ├── network_darwin.go
│ │ │ ├── network_linux.go
│ │ │ ├── network_test.go
│ │ │ ├── node.go
│ │ │ ├── process.go
│ │ │ ├── reflect.go
│ │ │ ├── siderolink-agent.go
│ │ │ ├── state.go
│ │ │ ├── tftpd.go
│ │ │ ├── virtiofsd.go
│ │ │ ├── virtiofsd_darwin.go
│ │ │ ├── virtiofsd_linux.go
│ │ │ └── vm.go
│ │ ├── provision.go
│ │ ├── provision_test.go
│ │ ├── request.go
│ │ ├── result.go
│ │ ├── state.go
│ │ ├── state_linux.go
│ │ └── state_other.go
│ ├── reporter/
│ │ └── reporter.go
│ ├── rotate/
│ │ └── pki/
│ │ ├── internal/
│ │ │ └── helpers/
│ │ │ └── helpers.go
│ │ ├── kubernetes/
│ │ │ └── kubernetes.go
│ │ └── talos/
│ │ └── talos.go
│ ├── safepath/
│ │ ├── safepath.go
│ │ └── safepath_test.go
│ ├── splash/
│ │ └── splash.go
│ ├── startup/
│ │ ├── maxprocs.go
│ │ └── startup.go
│ └── xfs/
│ ├── fsopen/
│ │ ├── fsopen_linux.go
│ │ ├── fsopen_other.go
│ │ └── options_linux.go
│ ├── fsopen_test.go
│ ├── helpers_linux.go
│ ├── opentree/
│ │ ├── opentree_linux.go
│ │ └── opentree_other.go
│ ├── opentree_test.go
│ ├── osroot.go
│ ├── osroot_test.go
│ ├── root.go
│ ├── root_linux.go
│ └── root_test.go
├── tools/
│ ├── docgen/
│ │ ├── go.mod
│ │ ├── go.sum
│ │ ├── main.go
│ │ ├── main_test.go
│ │ └── schema.go
│ ├── go.mod
│ ├── go.sum
│ ├── gotagsrewrite/
│ │ ├── ast.go
│ │ ├── go.mod
│ │ ├── go.sum
│ │ ├── main.go
│ │ ├── main_test.go
│ │ └── testdata/
│ │ ├── a.golden
│ │ └── a.orig
│ └── structprotogen/
│ ├── ast/
│ │ └── ast.go
│ ├── consts/
│ │ └── consts.go
│ ├── go.mod
│ ├── go.sum
│ ├── loader/
│ │ └── loader.go
│ ├── main.go
│ ├── proto/
│ │ └── proto.go
│ ├── sliceutil/
│ │ └── sliceutils.go
│ └── types/
│ └── types.go
└── website/
├── content/
│ └── v1.13/
│ ├── reference/
│ │ ├── _index.md
│ │ ├── api.md
│ │ ├── cli.md
│ │ ├── configuration/
│ │ │ ├── _index.md
│ │ │ ├── block/
│ │ │ │ ├── _index.md
│ │ │ │ ├── existingvolumeconfig.md
│ │ │ │ ├── externalvolumeconfig.md
│ │ │ │ ├── rawvolumeconfig.md
│ │ │ │ ├── swapvolumeconfig.md
│ │ │ │ ├── uservolumeconfig.md
│ │ │ │ ├── volumeconfig.md
│ │ │ │ └── zswapconfig.md
│ │ │ ├── cri/
│ │ │ │ ├── _index.md
│ │ │ │ ├── registryauthconfig.md
│ │ │ │ ├── registrymirrorconfig.md
│ │ │ │ └── registrytlsconfig.md
│ │ │ ├── extensions/
│ │ │ │ ├── _index.md
│ │ │ │ └── extensionserviceconfig.md
│ │ │ ├── hardware/
│ │ │ │ ├── _index.md
│ │ │ │ └── pcidriverrebindconfig.md
│ │ │ ├── network/
│ │ │ │ ├── _index.md
│ │ │ │ ├── blackholerouteconfig.md
│ │ │ │ ├── bondconfig.md
│ │ │ │ ├── bridgeconfig.md
│ │ │ │ ├── dhcpv4config.md
│ │ │ │ ├── dhcpv6config.md
│ │ │ │ ├── dummylinkconfig.md
│ │ │ │ ├── ethernetconfig.md
│ │ │ │ ├── hcloudvipconfig.md
│ │ │ │ ├── hostnameconfig.md
│ │ │ │ ├── kubespanconfig.md
│ │ │ │ ├── kubespanendpointsconfig.md
│ │ │ │ ├── layer2vipconfig.md
│ │ │ │ ├── linkaliasconfig.md
│ │ │ │ ├── linkconfig.md
│ │ │ │ ├── networkdefaultactionconfig.md
│ │ │ │ ├── networkruleconfig.md
│ │ │ │ ├── resolverconfig.md
│ │ │ │ ├── routingruleconfig.md
│ │ │ │ ├── statichostconfig.md
│ │ │ │ ├── tcpprobeconfig.md
│ │ │ │ ├── timesyncconfig.md
│ │ │ │ ├── vlanconfig.md
│ │ │ │ ├── vrfconfig.md
│ │ │ │ └── wireguardconfig.md
│ │ │ ├── runtime/
│ │ │ │ ├── _index.md
│ │ │ │ ├── environmentconfig.md
│ │ │ │ ├── eventsinkconfig.md
│ │ │ │ ├── kmsglogconfig.md
│ │ │ │ ├── oomconfig.md
│ │ │ │ └── watchdogtimerconfig.md
│ │ │ ├── security/
│ │ │ │ ├── _index.md
│ │ │ │ ├── imageverificationconfig.md
│ │ │ │ └── trustedrootsconfig.md
│ │ │ ├── siderolink/
│ │ │ │ ├── _index.md
│ │ │ │ └── siderolinkconfig.md
│ │ │ └── v1alpha1/
│ │ │ ├── _index.md
│ │ │ └── config.md
│ │ └── kernel.md
│ └── schemas/
│ ├── config.schema.json
│ └── v1alpha1_config.schema.json
└── static/
└── install
================================================
FILE CONTENTS
================================================
================================================
FILE: .codecov.yml
================================================
codecov:
require_ci_to_pass: false
coverage:
status:
project:
default:
target: 15%
threshold: 0.5%
base: auto
if_ci_failed: success
patch: off
comment: false
================================================
FILE: .conform.yaml
================================================
# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.
#
# Generated on 2025-12-25T11:36:39Z by kres 26be706.
policies:
- type: commit
spec:
dco: true
gpg:
required: true
identity:
gitHubOrganization: siderolabs
spellcheck:
locale: US
maximumOfOneCommit: false
header:
length: 89
imperative: true
case: lower
invalidLastCharacters: .
body:
required: true
conventional:
types:
- chore
- docs
- perf
- refactor
- style
- test
- release
scopes:
- apid
- machined
- networkd
- talosctl
- trustd
- talosctl
- kernel
- security
- ci
- ^v1.13
- type: license
spec:
skipPaths:
- .git/
- testdata/
includeSuffixes:
- .go
excludeSuffixes:
- .pb.go
- .pb.gw.go
- _string.go
- _enumer.go
- _string_linux.go
- zz_generated.deepcopy.go
header: |
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
================================================
FILE: .dockerignore
================================================
**
!api
!selinux
!cmd
!docs
!hack
!internal
!pkg
!website
!tools
!.golangci.yml
!.markdownlint.json
!.textlintrc.json
!go.mod
!go.sum
!go.work
!README.md
!CONTRIBUTING.md
!_out/uki-certs
================================================
FILE: .github/FUNDING.yml
================================================
# These are supported funding model platforms
github: [siderolabs]
================================================
FILE: .github/ISSUE_TEMPLATE/BUG_REPORT.md
================================================
---
name: Bug Report
about: Report a bug.
title: ""
labels: ""
assignees: ""
---
## Bug Report
### Description
### Logs
### Environment
- Talos version: [`talosctl version --nodes <problematic nodes>`]
- Kubernetes version: [`kubectl version`]
- Platform:
================================================
FILE: .github/ISSUE_TEMPLATE/FEATURE_REQUEST.md
================================================
---
name: Feature Requests
about: Create a feature request.
title: ""
labels: ""
assignees: ""
---
## Feature Request
### Description
================================================
FILE: .github/ISSUE_TEMPLATE/config.yml
================================================
blank_issues_enabled: false
contact_links:
- name: Question
url: https://github.com/siderolabs/talos/discussions
about: Ask a question about Talos Linux.
- name: Community
url: https://taloscommunity.slack.com
about: Join the community. (Not an official support channel.) Get your invite by visiting https://inviter.co/sidero-labs-community.
- name: Get Enterprise Support
url: https://www.siderolabs.com/support/
about: Get commercial support from the Sidero Labs team, with SLAs for every issue.
================================================
FILE: .github/PULL_REQUEST_TEMPLATE.md
================================================
# Pull Request
<!--
## Note to the Contributor
We encourage contributors to go through a proposal process to discuss major changes.
Before your PR is allowed to run through CI, the maintainers of Talos will first have to approve the PR.
-->
## What? (description)
## Why? (reasoning)
## Acceptance
Please use the following checklist:
- [ ] you linked an issue (if applicable)
- [ ] you included tests (if applicable)
- [ ] you ran conformance (`make conformance`)
- [ ] you formatted your code (`make fmt`)
- [ ] you linted your code (`make lint`)
- [ ] you generated documentation (`make docs`)
- [ ] you ran unit-tests (`make unit-tests`)
> See `make help` for a description of the available targets.
================================================
FILE: .github/renovate.json
================================================
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"description": "THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.",
"prHeader": "Update Request | Renovate Bot",
"extends": [
":dependencyDashboard",
":gitSignOff",
":semanticCommitScopeDisabled",
"schedule:earlyMondays"
],
"customManagers": [
{
"customType": "regex",
"versioningTemplate": "{{#if versioning}}{{versioning}}{{else}}semver{{/if}}",
"managerFilePatterns": [
"/Makefile/"
],
"matchStrings": [
"# renovate: datasource=(?<datasource>.*?)(?:\\s+extractVersion=(?<extractVersion>.+?))?\\s+depName=(?<depName>.+?)\\s.*_VERSION\\s+\\?=\\s+(?<currentValue>.+)"
]
},
{
"customType": "regex",
"versioningTemplate": "{{#if versioning}}{{versioning}}{{else}}semver{{/if}}",
"managerFilePatterns": [
"/pkg/machinery/constants/constants.go/"
],
"matchStrings": [
"\\/\\/\\s+renovate: datasource=(?<datasource>.*?)(?:\\s+extractVersion=(?<extractVersion>.+?))?(?:\\s+versioning=(?<versioning>.+?))?\\s+depName=(?<depName>.+?)?\\s.*Version\\s+=\\s+\\\"(?<currentValue>.+?)\\\""
]
},
{
"customType": "regex",
"versioningTemplate": "{{#if versioning}}{{versioning}}{{else}}semver{{/if}}",
"managerFilePatterns": [
"/internal/integration/k8s/constants.go/",
"/internal/integration/api/constants.go/"
],
"matchStrings": [
"\\/\\/\\s+renovate: datasource=(?<datasource>.*?)(?:\\s+extractVersion=(?<extractVersion>.+?))?(?:\\s+versioning=(?<versioning>.+?))?\\s+depName=(?<depName>.+?)?(?:\\s+registryUrl=(?<registryUrl>.+?))?\\s.*Version\\s+=\\s+\\\"(?<currentValue>.+?)\\\""
]
},
{
"customType": "regex",
"datasourceTemplate": "docker",
"depNameTemplate": "docker/dockerfile-upstream",
"versioningTemplate": "docker",
"managerFilePatterns": [
"/Dockerfile/"
],
"matchStrings": [
"# syntax = docker\\/dockerfile-upstream:(?<currentValue>.*)"
]
}
],
"packageRules": [
{
"groupName": "dependencies",
"matchUpdateTypes": [
"major",
"minor",
"patch",
"pin",
"digest"
]
},
{
"enabled": false,
"matchFileNames": [
"website/**"
]
},
{
"versioning": "regex:^(?<major>\\d+)\\.(?<minor>\\d+)",
"matchPackageNames": [
"golang/go"
]
}
],
"separateMajorMinor": false
}
================================================
FILE: .github/workflows/ci.yaml
================================================
# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.
#
# Generated on 2026-03-16T15:20:50Z by kres e68c408.
concurrency:
group: ${{ github.head_ref || github.run_id }}
cancel-in-progress: true
"on":
push:
branches:
- main
- release-*
tags:
- v*
pull_request:
branches:
- main
- release-*
name: default
jobs:
base-lint:
permissions:
actions: read
contents: write
issues: read
packages: write
pull-requests: read
runs-on:
group: large
if: (!startsWith(github.head_ref, 'renovate/') && !startsWith(github.head_ref, 'dependabot/'))
needs:
- default
steps:
- name: gather-system-info
id: system-info
uses: kenchan0130/actions-system-info@59699597e84e80085a750998045983daa49274c4 # version: v1.4.0
continue-on-error: true
- name: print-system-info
run: |
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
OUTPUTS=(
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
"Hostname: ${{ steps.system-info.outputs.hostname }}"
"NodeName: ${NODE_NAME}"
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
"Name: ${{ steps.system-info.outputs.name }}"
"Platform: ${{ steps.system-info.outputs.platform }}"
"Release: ${{ steps.system-info.outputs.release }}"
"Total memory: ${MEMORY_GB} GB"
)
for OUTPUT in "${OUTPUTS[@]}";do
echo "${OUTPUT}"
done
continue-on-error: true
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Set up Docker Buildx
id: setup-buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # version: v4.0.0
with:
driver: remote
endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234
timeout-minutes: 10
- name: Download artifacts
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # version: v8.0.0
with:
name: talos-artifacts
path: _out
- name: Fix artifact permissions
run: |
xargs -a _out/executable-artifacts -I {} chmod +x {}
- name: ci-temp-release-tag
run: |
make ci-temp-release-tag
- name: lint
run: |
make lint
base-unit-tests:
permissions:
actions: read
contents: write
issues: read
packages: write
pull-requests: read
runs-on:
group: large
if: (!startsWith(github.head_ref, 'renovate/') && !startsWith(github.head_ref, 'dependabot/'))
needs:
- default
steps:
- name: gather-system-info
id: system-info
uses: kenchan0130/actions-system-info@59699597e84e80085a750998045983daa49274c4 # version: v1.4.0
continue-on-error: true
- name: print-system-info
run: |
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
OUTPUTS=(
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
"Hostname: ${{ steps.system-info.outputs.hostname }}"
"NodeName: ${NODE_NAME}"
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
"Name: ${{ steps.system-info.outputs.name }}"
"Platform: ${{ steps.system-info.outputs.platform }}"
"Release: ${{ steps.system-info.outputs.release }}"
"Total memory: ${MEMORY_GB} GB"
)
for OUTPUT in "${OUTPUTS[@]}";do
echo "${OUTPUT}"
done
continue-on-error: true
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Set up Docker Buildx
id: setup-buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # version: v4.0.0
with:
driver: remote
endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234
timeout-minutes: 10
- name: Download artifacts
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # version: v8.0.0
with:
name: talos-artifacts
path: _out
- name: Fix artifact permissions
run: |
xargs -a _out/executable-artifacts -I {} chmod +x {}
- name: ci-temp-release-tag
run: |
make ci-temp-release-tag
- name: unit-tests
run: |
make unit-tests
- name: unit-tests-fips
run: |
make unit-tests-fips
- name: unit-tests-race
run: |
make unit-tests-race
- name: coverage
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # version: v5.5.2
with:
files: _out/coverage.txt
token: ${{ secrets.CODECOV_TOKEN }}
timeout-minutes: 3
default:
permissions:
actions: read
contents: write
issues: read
packages: write
pull-requests: read
runs-on:
group: large
if: (!startsWith(github.head_ref, 'renovate/') && !startsWith(github.head_ref, 'dependabot/')) && github.event_name == 'pull_request'
outputs:
labels: ${{ steps.retrieve-pr-labels.outputs.result }}
steps:
- name: gather-system-info
id: system-info
uses: kenchan0130/actions-system-info@59699597e84e80085a750998045983daa49274c4 # version: v1.4.0
continue-on-error: true
- name: print-system-info
run: |
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
OUTPUTS=(
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
"Hostname: ${{ steps.system-info.outputs.hostname }}"
"NodeName: ${NODE_NAME}"
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
"Name: ${{ steps.system-info.outputs.name }}"
"Platform: ${{ steps.system-info.outputs.platform }}"
"Release: ${{ steps.system-info.outputs.release }}"
"Total memory: ${MEMORY_GB} GB"
)
for OUTPUT in "${OUTPUTS[@]}";do
echo "${OUTPUT}"
done
continue-on-error: true
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Set up Docker Buildx
id: setup-buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # version: v4.0.0
with:
driver: remote
endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234
timeout-minutes: 10
- name: ci-temp-release-tag
run: |
make ci-temp-release-tag
- name: external-artifacts
run: |
make external-artifacts
- name: generate
run: |
make generate docs
- name: uki-certs
env:
PLATFORM: linux/amd64
run: |
make uki-certs
- name: check-dirty
run: |
make check-dirty
- name: build
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
PUSH: "true"
run: |
make talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer-base imager talos _out/integration-test-linux-amd64
- name: talosctl-cni-bundle
run: |
make talosctl-cni-bundle
- name: sbom
run: |
make sbom
- name: iso
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
IMAGER_ARGS: --extra-kernel-arg=console=ttyS0
run: |
make iso secureboot-iso
- name: images-essential
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
IMAGER_ARGS: --extra-kernel-arg=console=ttyS0
PLATFORM: linux/amd64,linux/arm64
run: |
make images-essential
- name: Generate executable list
run: |
find _out -type f -executable > _out/executable-artifacts
- name: save artifacts
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # version: v7.0.0
with:
name: talos-artifacts
path: |
_out
retention-days: "5"
- name: Retrieve PR labels
id: retrieve-pr-labels
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # version: v8.0.0
with:
retries: "3"
script: |
if (context.eventName != "pull_request") { return "[]" }
const resp = await github.rest.issues.get({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
})
return resp.data.labels.map(label => label.name)
e2e-docker-short:
permissions:
actions: read
contents: write
issues: read
packages: write
pull-requests: read
runs-on:
group: large
if: (!startsWith(github.head_ref, 'renovate/') && !startsWith(github.head_ref, 'dependabot/'))
needs:
- default
steps:
- name: gather-system-info
id: system-info
uses: kenchan0130/actions-system-info@59699597e84e80085a750998045983daa49274c4 # version: v1.4.0
continue-on-error: true
- name: print-system-info
run: |
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
OUTPUTS=(
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
"Hostname: ${{ steps.system-info.outputs.hostname }}"
"NodeName: ${NODE_NAME}"
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
"Name: ${{ steps.system-info.outputs.name }}"
"Platform: ${{ steps.system-info.outputs.platform }}"
"Release: ${{ steps.system-info.outputs.release }}"
"Total memory: ${MEMORY_GB} GB"
)
for OUTPUT in "${OUTPUTS[@]}";do
echo "${OUTPUT}"
done
continue-on-error: true
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Download artifacts
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # version: v8.0.0
with:
name: talos-artifacts
path: _out
- name: Fix artifact permissions
run: |
xargs -a _out/executable-artifacts -I {} chmod +x {}
- name: ci-temp-release-tag
run: |
make ci-temp-release-tag
- name: e2e-docker
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
SHORT_INTEGRATION_TEST: "yes"
run: |
make e2e-docker
- name: save artifacts
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # version: v7.0.0
with:
name: talos-logs-e2e-docker-short
path: |-
/tmp/logs-*.tar.gz
/tmp/support-*.zip
retention-days: "5"
e2e-iso:
permissions:
actions: read
contents: write
issues: read
packages: write
pull-requests: read
runs-on:
group: large
if: (!startsWith(github.head_ref, 'renovate/') && !startsWith(github.head_ref, 'dependabot/'))
needs:
- default
steps:
- name: gather-system-info
id: system-info
uses: kenchan0130/actions-system-info@59699597e84e80085a750998045983daa49274c4 # version: v1.4.0
continue-on-error: true
- name: print-system-info
run: |
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
OUTPUTS=(
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
"Hostname: ${{ steps.system-info.outputs.hostname }}"
"NodeName: ${NODE_NAME}"
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
"Name: ${{ steps.system-info.outputs.name }}"
"Platform: ${{ steps.system-info.outputs.platform }}"
"Release: ${{ steps.system-info.outputs.release }}"
"Total memory: ${MEMORY_GB} GB"
)
for OUTPUT in "${OUTPUTS[@]}";do
echo "${OUTPUT}"
done
continue-on-error: true
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Download artifacts
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # version: v8.0.0
with:
name: talos-artifacts
path: _out
- name: Fix artifact permissions
run: |
xargs -a _out/executable-artifacts -I {} chmod +x {}
- name: ci-temp-release-tag
run: |
make ci-temp-release-tag
- name: e2e-iso
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
run: |
sudo -E make e2e-iso
- name: save artifacts
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # version: v7.0.0
with:
name: talos-logs-e2e-iso
path: |-
/tmp/logs-*.tar.gz
/tmp/support-*.zip
retention-days: "5"
e2e-qemu-short:
permissions:
actions: read
contents: write
issues: read
packages: write
pull-requests: read
runs-on:
group: large
if: (!startsWith(github.head_ref, 'renovate/') && !startsWith(github.head_ref, 'dependabot/'))
needs:
- default
steps:
- name: gather-system-info
id: system-info
uses: kenchan0130/actions-system-info@59699597e84e80085a750998045983daa49274c4 # version: v1.4.0
continue-on-error: true
- name: print-system-info
run: |
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
OUTPUTS=(
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
"Hostname: ${{ steps.system-info.outputs.hostname }}"
"NodeName: ${NODE_NAME}"
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
"Name: ${{ steps.system-info.outputs.name }}"
"Platform: ${{ steps.system-info.outputs.platform }}"
"Release: ${{ steps.system-info.outputs.release }}"
"Total memory: ${MEMORY_GB} GB"
)
for OUTPUT in "${OUTPUTS[@]}";do
echo "${OUTPUT}"
done
continue-on-error: true
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Download artifacts
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # version: v8.0.0
with:
name: talos-artifacts
path: _out
- name: Fix artifact permissions
run: |
xargs -a _out/executable-artifacts -I {} chmod +x {}
- name: ci-temp-release-tag
run: |
make ci-temp-release-tag
- name: e2e-qemu
env:
GITHUB_STEP_NAME: ${{ github.job}}-e2e-qemu-short
IMAGE_REGISTRY: registry.dev.siderolabs.io
SHORT_INTEGRATION_TEST: "yes"
WITH_CONFIG_PATCH: '@hack/test/patches/image-verification.yaml'
run: |
sudo -E make e2e-qemu
- name: save artifacts
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # version: v7.0.0
with:
name: talos-logs-e2e-qemu-short
path: |-
/tmp/logs-*.tar.gz
/tmp/support-*.zip
retention-days: "5"
grype-scan:
permissions:
actions: read
contents: write
issues: read
packages: write
pull-requests: read
runs-on:
group: large
if: (!startsWith(github.head_ref, 'renovate/') && !startsWith(github.head_ref, 'dependabot/'))
needs:
- default
steps:
- name: gather-system-info
id: system-info
uses: kenchan0130/actions-system-info@59699597e84e80085a750998045983daa49274c4 # version: v1.4.0
continue-on-error: true
- name: print-system-info
run: |
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
OUTPUTS=(
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
"Hostname: ${{ steps.system-info.outputs.hostname }}"
"NodeName: ${NODE_NAME}"
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
"Name: ${{ steps.system-info.outputs.name }}"
"Platform: ${{ steps.system-info.outputs.platform }}"
"Release: ${{ steps.system-info.outputs.release }}"
"Total memory: ${MEMORY_GB} GB"
)
for OUTPUT in "${OUTPUTS[@]}";do
echo "${OUTPUT}"
done
continue-on-error: true
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Set up Docker Buildx
id: setup-buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # version: v4.0.0
with:
driver: remote
endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234
timeout-minutes: 10
- name: login-to-registry
uses: docker/login-action@b45d80f862d83dbcd57f89517bcf500b2ab88fb2 # version: v4.0.0
with:
password: ${{ secrets.GITHUB_TOKEN }}
registry: ghcr.io
username: ${{ github.repository_owner }}
- name: local-grype-scan-result
env:
DEST: _out
run: |
make local-grype-scan-result
- name: target-grype-validate
run: |
make target-grype-validate
- name: save artifacts
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # version: v7.0.0
with:
name: talos-grype-scan-result
path: |
_out/grype-scan.log
retention-days: "5"
integration-airgapped:
permissions:
actions: read
contents: write
issues: read
packages: write
pull-requests: read
runs-on:
group: large
if: contains(fromJSON(needs.default.outputs.labels), 'integration/misc') || contains(fromJSON(needs.default.outputs.labels), 'integration/airgapped') || contains(fromJSON(needs.default.outputs.labels), 'integration/release-gate')
needs:
- default
steps:
- name: gather-system-info
id: system-info
uses: kenchan0130/actions-system-info@59699597e84e80085a750998045983daa49274c4 # version: v1.4.0
continue-on-error: true
- name: print-system-info
run: |
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
OUTPUTS=(
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
"Hostname: ${{ steps.system-info.outputs.hostname }}"
"NodeName: ${NODE_NAME}"
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
"Name: ${{ steps.system-info.outputs.name }}"
"Platform: ${{ steps.system-info.outputs.platform }}"
"Release: ${{ steps.system-info.outputs.release }}"
"Total memory: ${MEMORY_GB} GB"
)
for OUTPUT in "${OUTPUTS[@]}";do
echo "${OUTPUT}"
done
continue-on-error: true
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Set up Docker Buildx
id: setup-buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # version: v4.0.0
with:
driver: remote
endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234
timeout-minutes: 10
- name: Download artifacts
if: github.event_name != 'schedule'
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # version: v8.0.0
with:
name: talos-artifacts
path: _out
- name: Fix artifact permissions
if: github.event_name != 'schedule'
run: |
xargs -a _out/executable-artifacts -I {} chmod +x {}
- name: ci-temp-release-tag
if: github.event_name != 'schedule'
run: |
make ci-temp-release-tag
- name: build
if: github.event_name == 'schedule'
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
PUSH: "true"
run: |
make talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer-base imager talos _out/integration-test-linux-amd64
- name: talosctl-cni-bundle
if: github.event_name == 'schedule'
run: |
make talosctl-cni-bundle
- name: integration-images-list
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
run: |
make integration-images-list
- name: e2e-airgapped-no-proxy
env:
GITHUB_STEP_NAME: ${{ github.job}}-e2e-no-proxy
IMAGE_REGISTRY: registry.dev.siderolabs.io
SHORT_INTEGRATION_TEST: "yes"
WITH_AIRGAPPED: no-proxy
WITH_CLUSTER_DISCOVERY: "false"
run: |
sudo -E make e2e-qemu
- name: e2e-airgapped-http-proxy
env:
GITHUB_STEP_NAME: ${{ github.job}}-e2e-http-proxy
IMAGE_REGISTRY: registry.dev.siderolabs.io
SHORT_INTEGRATION_TEST: "yes"
WITH_AIRGAPPED: http-proxy
WITH_CONFIG_PATCH: '@hack/test/patches/image-verification.yaml'
run: |
sudo -E make e2e-qemu
- name: e2e-airgapped-secure-proxy
env:
GITHUB_STEP_NAME: ${{ github.job}}-e2e-secure-proxy
IMAGE_REGISTRY: registry.dev.siderolabs.io
SHORT_INTEGRATION_TEST: "yes"
WITH_AIRGAPPED: secure-http-proxy
WITH_CONFIG_PATCH: '@hack/test/patches/image-verification.yaml'
run: |
sudo -E make e2e-qemu
- name: e2e-airgapped-reverse-proxy
env:
GITHUB_STEP_NAME: ${{ github.job}}-e2e-reverse-proxy
IMAGE_REGISTRY: registry.dev.siderolabs.io
SHORT_INTEGRATION_TEST: "yes"
WITH_AIRGAPPED: https-reverse-proxy
WITH_CONFIG_PATCH: '@hack/test/patches/image-verification.yaml'
run: |
sudo -E make e2e-qemu
- name: save artifacts
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # version: v7.0.0
with:
name: talos-logs-integration-airgapped
path: |-
/tmp/logs-*.tar.gz
/tmp/support-*.zip
/tmp/airgapped*.log
retention-days: "5"
integration-aws:
permissions:
actions: read
contents: write
issues: read
packages: write
pull-requests: read
runs-on:
group: generic
if: contains(fromJSON(needs.default.outputs.labels), 'integration/aws') || contains(fromJSON(needs.default.outputs.labels), 'integration/release-gate')
needs:
- default
steps:
- name: gather-system-info
id: system-info
uses: kenchan0130/actions-system-info@59699597e84e80085a750998045983daa49274c4 # version: v1.4.0
continue-on-error: true
- name: print-system-info
run: |
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
OUTPUTS=(
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
"Hostname: ${{ steps.system-info.outputs.hostname }}"
"NodeName: ${NODE_NAME}"
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
"Name: ${{ steps.system-info.outputs.name }}"
"Platform: ${{ steps.system-info.outputs.platform }}"
"Release: ${{ steps.system-info.outputs.release }}"
"Total memory: ${MEMORY_GB} GB"
)
for OUTPUT in "${OUTPUTS[@]}";do
echo "${OUTPUT}"
done
continue-on-error: true
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Set up Docker Buildx
id: setup-buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # version: v4.0.0
with:
driver: remote
endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234
timeout-minutes: 10
- name: Mask secrets
run: |
echo "$(sops -d .secrets.yaml | yq -e '.secrets | to_entries[] | "::add-mask::" + .value')"
- name: Set secrets for job
run: |
sops -d .secrets.yaml | yq -e '.secrets | to_entries[] | .key + "=" + .value' >> "$GITHUB_ENV"
- name: Download artifacts
if: github.event_name != 'schedule'
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # version: v8.0.0
with:
name: talos-artifacts
path: _out
- name: Fix artifact permissions
if: github.event_name != 'schedule'
run: |
xargs -a _out/executable-artifacts -I {} chmod +x {}
- name: ci-temp-release-tag
if: github.event_name != 'schedule'
run: |
make ci-temp-release-tag
- name: uki-certs
if: github.event_name == 'schedule'
env:
PLATFORM: linux/amd64
run: |
make uki-certs
- name: build
if: github.event_name == 'schedule'
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
PUSH: "true"
run: |
make talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer-base imager talos _out/integration-test-linux-amd64
- name: talosctl-cni-bundle
if: github.event_name == 'schedule'
run: |
make talosctl-cni-bundle
- name: images-essential
if: github.event_name == 'schedule'
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
run: |
make images-essential
- name: image-aws
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
run: |
make image-aws
- name: e2e-aws-prepare
env:
E2E_AWS_TARGET: default
IMAGE_REGISTRY: registry.dev.siderolabs.io
run: |
make e2e-aws-prepare
- name: checkout contrib
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
with:
path: _out/contrib
ref: main
repository: siderolabs/contrib
- name: setup tf
uses: hashicorp/setup-terraform@5e8dbf3c6d9deaf4193ca7a8fb23f2ac83bb6c85 # version: v4.0.0
with:
terraform_wrapper: "false"
- name: tf apply
env:
TF_E2E_ACTION: apply
TF_E2E_TEST_TYPE: aws
TF_SCRIPT_DIR: _out/contrib
run: |
make e2e-cloud-tf
- name: e2e-aws
run: |
make e2e-aws
- name: tf destroy
if: always()
env:
TF_E2E_ACTION: destroy
TF_E2E_REFRESH_ON_DESTROY: "false"
TF_E2E_TEST_TYPE: aws
TF_SCRIPT_DIR: _out/contrib
run: |
make e2e-cloud-tf
integration-aws-nvidia-nonfree-lts:
permissions:
actions: read
contents: write
issues: read
packages: write
pull-requests: read
runs-on:
group: generic
if: contains(fromJSON(needs.default.outputs.labels), 'integration/aws-nvidia-nonfree-lts') || contains(fromJSON(needs.default.outputs.labels), 'integration/aws-nvidia-nonfree') || contains(fromJSON(needs.default.outputs.labels), 'integration/aws-nvidia')
needs:
- default
steps:
- name: gather-system-info
id: system-info
uses: kenchan0130/actions-system-info@59699597e84e80085a750998045983daa49274c4 # version: v1.4.0
continue-on-error: true
- name: print-system-info
run: |
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
OUTPUTS=(
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
"Hostname: ${{ steps.system-info.outputs.hostname }}"
"NodeName: ${NODE_NAME}"
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
"Name: ${{ steps.system-info.outputs.name }}"
"Platform: ${{ steps.system-info.outputs.platform }}"
"Release: ${{ steps.system-info.outputs.release }}"
"Total memory: ${MEMORY_GB} GB"
)
for OUTPUT in "${OUTPUTS[@]}";do
echo "${OUTPUT}"
done
continue-on-error: true
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Set up Docker Buildx
id: setup-buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # version: v4.0.0
with:
driver: remote
endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234
timeout-minutes: 10
- name: Mask secrets
run: |
echo "$(sops -d .secrets.yaml | yq -e '.secrets | to_entries[] | "::add-mask::" + .value')"
- name: Set secrets for job
run: |
sops -d .secrets.yaml | yq -e '.secrets | to_entries[] | .key + "=" + .value' >> "$GITHUB_ENV"
- name: Download artifacts
if: github.event_name != 'schedule'
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # version: v8.0.0
with:
name: talos-artifacts
path: _out
- name: Fix artifact permissions
if: github.event_name != 'schedule'
run: |
xargs -a _out/executable-artifacts -I {} chmod +x {}
- name: ci-temp-release-tag
if: github.event_name != 'schedule'
run: |
make ci-temp-release-tag
- name: generate
if: github.event_name == 'schedule'
run: |
make generate
- name: uki-certs
if: github.event_name == 'schedule'
env:
PLATFORM: linux/amd64
run: |
make uki-certs
- name: build
if: github.event_name == 'schedule'
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
PUSH: "true"
run: |
make talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer-base imager talos _out/integration-test-linux-amd64
- name: talosctl-cni-bundle
if: github.event_name == 'schedule'
run: |
make talosctl-cni-bundle
- name: image-aws
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
run: |
make image-aws
- name: checkout extensions
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
with:
path: _out/extensions
ref: main
repository: siderolabs/extensions
- name: set variables
run: |
cat _out/talos-metadata >> "$GITHUB_ENV"
- name: build extensions
env:
PLATFORM: linux/amd64
PUSH: "true"
REGISTRY: registry.dev.siderolabs.io
run: |
make nvidia-container-toolkit-lts nonfree-kmod-nvidia-lts extensions-metadata -C _out/extensions
- name: e2e-aws-prepare
env:
E2E_AWS_TARGET: nvidia-nonfree-lts
EXTENSIONS_METADATA_FILE: _out/extensions/_out/extensions-metadata
IMAGE_REGISTRY: registry.dev.siderolabs.io
run: |
make e2e-aws-prepare
- name: checkout contrib
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
with:
path: _out/contrib
ref: main
repository: siderolabs/contrib
- name: setup tf
uses: hashicorp/setup-terraform@5e8dbf3c6d9deaf4193ca7a8fb23f2ac83bb6c85 # version: v4.0.0
with:
terraform_wrapper: "false"
- name: tf apply
env:
TF_E2E_ACTION: apply
TF_E2E_TEST_TYPE: aws
TF_SCRIPT_DIR: _out/contrib
run: |
make e2e-cloud-tf
- name: e2e-aws-nvidia-nonfree-lts
env:
EXTRA_TEST_ARGS: -talos.extensions.nvidia
INTEGRATION_TEST_RUN: TestIntegration/api.ExtensionsSuiteNVIDIA
run: |
make e2e-aws
- name: tf destroy
if: always()
env:
TF_E2E_ACTION: destroy
TF_E2E_REFRESH_ON_DESTROY: "false"
TF_E2E_TEST_TYPE: aws
TF_SCRIPT_DIR: _out/contrib
run: |
make e2e-cloud-tf
integration-aws-nvidia-nonfree-production:
permissions:
actions: read
contents: write
issues: read
packages: write
pull-requests: read
runs-on:
group: generic
if: contains(fromJSON(needs.default.outputs.labels), 'integration/aws-nvidia-nonfree-production') || contains(fromJSON(needs.default.outputs.labels), 'integration/aws-nvidia-nonfree') || contains(fromJSON(needs.default.outputs.labels), 'integration/aws-nvidia')
needs:
- default
steps:
- name: gather-system-info
id: system-info
uses: kenchan0130/actions-system-info@59699597e84e80085a750998045983daa49274c4 # version: v1.4.0
continue-on-error: true
- name: print-system-info
run: |
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
OUTPUTS=(
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
"Hostname: ${{ steps.system-info.outputs.hostname }}"
"NodeName: ${NODE_NAME}"
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
"Name: ${{ steps.system-info.outputs.name }}"
"Platform: ${{ steps.system-info.outputs.platform }}"
"Release: ${{ steps.system-info.outputs.release }}"
"Total memory: ${MEMORY_GB} GB"
)
for OUTPUT in "${OUTPUTS[@]}";do
echo "${OUTPUT}"
done
continue-on-error: true
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Set up Docker Buildx
id: setup-buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # version: v4.0.0
with:
driver: remote
endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234
timeout-minutes: 10
- name: Mask secrets
run: |
echo "$(sops -d .secrets.yaml | yq -e '.secrets | to_entries[] | "::add-mask::" + .value')"
- name: Set secrets for job
run: |
sops -d .secrets.yaml | yq -e '.secrets | to_entries[] | .key + "=" + .value' >> "$GITHUB_ENV"
- name: Download artifacts
if: github.event_name != 'schedule'
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # version: v8.0.0
with:
name: talos-artifacts
path: _out
- name: Fix artifact permissions
if: github.event_name != 'schedule'
run: |
xargs -a _out/executable-artifacts -I {} chmod +x {}
- name: ci-temp-release-tag
if: github.event_name != 'schedule'
run: |
make ci-temp-release-tag
- name: generate
if: github.event_name == 'schedule'
run: |
make generate
- name: uki-certs
if: github.event_name == 'schedule'
env:
PLATFORM: linux/amd64
run: |
make uki-certs
- name: build
if: github.event_name == 'schedule'
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
PUSH: "true"
run: |
make talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer-base imager talos _out/integration-test-linux-amd64
- name: talosctl-cni-bundle
if: github.event_name == 'schedule'
run: |
make talosctl-cni-bundle
- name: image-aws
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
run: |
make image-aws
- name: checkout extensions
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
with:
path: _out/extensions
ref: main
repository: siderolabs/extensions
- name: set variables
run: |
cat _out/talos-metadata >> "$GITHUB_ENV"
- name: build extensions
env:
PLATFORM: linux/amd64
PUSH: "true"
REGISTRY: registry.dev.siderolabs.io
run: |
make nvidia-container-toolkit-production nonfree-kmod-nvidia-production extensions-metadata -C _out/extensions
- name: e2e-aws-prepare
env:
E2E_AWS_TARGET: nvidia-nonfree-production
EXTENSIONS_METADATA_FILE: _out/extensions/_out/extensions-metadata
IMAGE_REGISTRY: registry.dev.siderolabs.io
run: |
make e2e-aws-prepare
- name: checkout contrib
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
with:
path: _out/contrib
ref: main
repository: siderolabs/contrib
- name: setup tf
uses: hashicorp/setup-terraform@5e8dbf3c6d9deaf4193ca7a8fb23f2ac83bb6c85 # version: v4.0.0
with:
terraform_wrapper: "false"
- name: tf apply
env:
TF_E2E_ACTION: apply
TF_E2E_TEST_TYPE: aws
TF_SCRIPT_DIR: _out/contrib
run: |
make e2e-cloud-tf
- name: e2e-aws-nvidia-nonfree-production
env:
EXTRA_TEST_ARGS: -talos.extensions.nvidia
INTEGRATION_TEST_RUN: TestIntegration/api.ExtensionsSuiteNVIDIA
run: |
make e2e-aws
- name: tf destroy
if: always()
env:
TF_E2E_ACTION: destroy
TF_E2E_REFRESH_ON_DESTROY: "false"
TF_E2E_TEST_TYPE: aws
TF_SCRIPT_DIR: _out/contrib
run: |
make e2e-cloud-tf
integration-aws-nvidia-oss-lts:
permissions:
actions: read
contents: write
issues: read
packages: write
pull-requests: read
runs-on:
group: generic
if: contains(fromJSON(needs.default.outputs.labels), 'integration/aws-nvidia-oss-lts') || contains(fromJSON(needs.default.outputs.labels), 'integration/aws-nvidia-oss') || contains(fromJSON(needs.default.outputs.labels), 'integration/aws-nvidia')
needs:
- default
steps:
- name: gather-system-info
id: system-info
uses: kenchan0130/actions-system-info@59699597e84e80085a750998045983daa49274c4 # version: v1.4.0
continue-on-error: true
- name: print-system-info
run: |
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
OUTPUTS=(
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
"Hostname: ${{ steps.system-info.outputs.hostname }}"
"NodeName: ${NODE_NAME}"
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
"Name: ${{ steps.system-info.outputs.name }}"
"Platform: ${{ steps.system-info.outputs.platform }}"
"Release: ${{ steps.system-info.outputs.release }}"
"Total memory: ${MEMORY_GB} GB"
)
for OUTPUT in "${OUTPUTS[@]}";do
echo "${OUTPUT}"
done
continue-on-error: true
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Set up Docker Buildx
id: setup-buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # version: v4.0.0
with:
driver: remote
endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234
timeout-minutes: 10
- name: Mask secrets
run: |
echo "$(sops -d .secrets.yaml | yq -e '.secrets | to_entries[] | "::add-mask::" + .value')"
- name: Set secrets for job
run: |
sops -d .secrets.yaml | yq -e '.secrets | to_entries[] | .key + "=" + .value' >> "$GITHUB_ENV"
- name: Download artifacts
if: github.event_name != 'schedule'
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # version: v8.0.0
with:
name: talos-artifacts
path: _out
- name: Fix artifact permissions
if: github.event_name != 'schedule'
run: |
xargs -a _out/executable-artifacts -I {} chmod +x {}
- name: ci-temp-release-tag
if: github.event_name != 'schedule'
run: |
make ci-temp-release-tag
- name: generate
if: github.event_name == 'schedule'
run: |
make generate
- name: uki-certs
if: github.event_name == 'schedule'
env:
PLATFORM: linux/amd64
run: |
make uki-certs
- name: build
if: github.event_name == 'schedule'
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
PUSH: "true"
run: |
make talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer-base imager talos _out/integration-test-linux-amd64
- name: talosctl-cni-bundle
if: github.event_name == 'schedule'
run: |
make talosctl-cni-bundle
- name: image-aws
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
run: |
make image-aws
- name: checkout extensions
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
with:
path: _out/extensions
ref: main
repository: siderolabs/extensions
- name: set variables
run: |
cat _out/talos-metadata >> "$GITHUB_ENV"
- name: build extensions
env:
PLATFORM: linux/amd64
PUSH: "true"
REGISTRY: registry.dev.siderolabs.io
run: |
make nvidia-container-toolkit-lts nvidia-open-gpu-kernel-modules-lts extensions-metadata -C _out/extensions
- name: e2e-aws-prepare
env:
E2E_AWS_TARGET: nvidia-oss-lts
EXTENSIONS_METADATA_FILE: _out/extensions/_out/extensions-metadata
IMAGE_REGISTRY: registry.dev.siderolabs.io
run: |
make e2e-aws-prepare
- name: checkout contrib
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
with:
path: _out/contrib
ref: main
repository: siderolabs/contrib
- name: setup tf
uses: hashicorp/setup-terraform@5e8dbf3c6d9deaf4193ca7a8fb23f2ac83bb6c85 # version: v4.0.0
with:
terraform_wrapper: "false"
- name: tf apply
env:
TF_E2E_ACTION: apply
TF_E2E_TEST_TYPE: aws
TF_SCRIPT_DIR: _out/contrib
run: |
make e2e-cloud-tf
- name: e2e-aws-nvidia-oss-lts
env:
EXTRA_TEST_ARGS: -talos.extensions.nvidia -talos.verifyukibooted=false
INTEGRATION_TEST_RUN: TestIntegration/api.ExtensionsSuiteNVIDIA
run: |
make e2e-aws
- name: tf destroy
if: always()
env:
TF_E2E_ACTION: destroy
TF_E2E_REFRESH_ON_DESTROY: "false"
TF_E2E_TEST_TYPE: aws
TF_SCRIPT_DIR: _out/contrib
run: |
make e2e-cloud-tf
integration-aws-nvidia-oss-production:
permissions:
actions: read
contents: write
issues: read
packages: write
pull-requests: read
runs-on:
group: generic
if: contains(fromJSON(needs.default.outputs.labels), 'integration/aws-nvidia-oss-production') || contains(fromJSON(needs.default.outputs.labels), 'integration/aws-nvidia-oss') || contains(fromJSON(needs.default.outputs.labels), 'integration/aws-nvidia')
needs:
- default
steps:
- name: gather-system-info
id: system-info
uses: kenchan0130/actions-system-info@59699597e84e80085a750998045983daa49274c4 # version: v1.4.0
continue-on-error: true
- name: print-system-info
run: |
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
OUTPUTS=(
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
"Hostname: ${{ steps.system-info.outputs.hostname }}"
"NodeName: ${NODE_NAME}"
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
"Name: ${{ steps.system-info.outputs.name }}"
"Platform: ${{ steps.system-info.outputs.platform }}"
"Release: ${{ steps.system-info.outputs.release }}"
"Total memory: ${MEMORY_GB} GB"
)
for OUTPUT in "${OUTPUTS[@]}";do
echo "${OUTPUT}"
done
continue-on-error: true
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Set up Docker Buildx
id: setup-buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # version: v4.0.0
with:
driver: remote
endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234
timeout-minutes: 10
- name: Mask secrets
run: |
echo "$(sops -d .secrets.yaml | yq -e '.secrets | to_entries[] | "::add-mask::" + .value')"
- name: Set secrets for job
run: |
sops -d .secrets.yaml | yq -e '.secrets | to_entries[] | .key + "=" + .value' >> "$GITHUB_ENV"
- name: Download artifacts
if: github.event_name != 'schedule'
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # version: v8.0.0
with:
name: talos-artifacts
path: _out
- name: Fix artifact permissions
if: github.event_name != 'schedule'
run: |
xargs -a _out/executable-artifacts -I {} chmod +x {}
- name: ci-temp-release-tag
if: github.event_name != 'schedule'
run: |
make ci-temp-release-tag
- name: generate
if: github.event_name == 'schedule'
run: |
make generate
- name: uki-certs
if: github.event_name == 'schedule'
env:
PLATFORM: linux/amd64
run: |
make uki-certs
- name: build
if: github.event_name == 'schedule'
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
PUSH: "true"
run: |
make talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer-base imager talos _out/integration-test-linux-amd64
- name: talosctl-cni-bundle
if: github.event_name == 'schedule'
run: |
make talosctl-cni-bundle
- name: image-aws
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
run: |
make image-aws
- name: checkout extensions
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
with:
path: _out/extensions
ref: main
repository: siderolabs/extensions
- name: set variables
run: |
cat _out/talos-metadata >> "$GITHUB_ENV"
- name: build extensions
env:
PLATFORM: linux/amd64
PUSH: "true"
REGISTRY: registry.dev.siderolabs.io
run: |
make nvidia-container-toolkit-production nvidia-open-gpu-kernel-modules-production extensions-metadata -C _out/extensions
- name: e2e-aws-prepare
env:
E2E_AWS_TARGET: nvidia-oss-production
EXTENSIONS_METADATA_FILE: _out/extensions/_out/extensions-metadata
IMAGE_REGISTRY: registry.dev.siderolabs.io
run: |
make e2e-aws-prepare
- name: checkout contrib
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
with:
path: _out/contrib
ref: main
repository: siderolabs/contrib
- name: setup tf
uses: hashicorp/setup-terraform@5e8dbf3c6d9deaf4193ca7a8fb23f2ac83bb6c85 # version: v4.0.0
with:
terraform_wrapper: "false"
- name: tf apply
env:
TF_E2E_ACTION: apply
TF_E2E_TEST_TYPE: aws
TF_SCRIPT_DIR: _out/contrib
run: |
make e2e-cloud-tf
- name: e2e-aws-nvidia-oss-production
env:
EXTRA_TEST_ARGS: -talos.extensions.nvidia -talos.verifyukibooted=false
INTEGRATION_TEST_RUN: TestIntegration/api.ExtensionsSuiteNVIDIA
run: |
make e2e-aws
- name: tf destroy
if: always()
env:
TF_E2E_ACTION: destroy
TF_E2E_REFRESH_ON_DESTROY: "false"
TF_E2E_TEST_TYPE: aws
TF_SCRIPT_DIR: _out/contrib
run: |
make e2e-cloud-tf
integration-cilium:
permissions:
actions: read
contents: write
issues: read
packages: write
pull-requests: read
runs-on:
group: large
if: contains(fromJSON(needs.default.outputs.labels), 'integration/cilium') || contains(fromJSON(needs.default.outputs.labels), 'integration/release-gate')
needs:
- default
steps:
- name: gather-system-info
id: system-info
uses: kenchan0130/actions-system-info@59699597e84e80085a750998045983daa49274c4 # version: v1.4.0
continue-on-error: true
- name: print-system-info
run: |
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
OUTPUTS=(
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
"Hostname: ${{ steps.system-info.outputs.hostname }}"
"NodeName: ${NODE_NAME}"
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
"Name: ${{ steps.system-info.outputs.name }}"
"Platform: ${{ steps.system-info.outputs.platform }}"
"Release: ${{ steps.system-info.outputs.release }}"
"Total memory: ${MEMORY_GB} GB"
)
for OUTPUT in "${OUTPUTS[@]}";do
echo "${OUTPUT}"
done
continue-on-error: true
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Set up Docker Buildx
id: setup-buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # version: v4.0.0
with:
driver: remote
endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234
timeout-minutes: 10
- name: Download artifacts
if: github.event_name != 'schedule'
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # version: v8.0.0
with:
name: talos-artifacts
path: _out
- name: Fix artifact permissions
if: github.event_name != 'schedule'
run: |
xargs -a _out/executable-artifacts -I {} chmod +x {}
- name: ci-temp-release-tag
if: github.event_name != 'schedule'
run: |
make ci-temp-release-tag
- name: build
if: github.event_name == 'schedule'
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
PUSH: "true"
run: |
make talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer-base imager talos _out/integration-test-linux-amd64
- name: talosctl-cni-bundle
if: github.event_name == 'schedule'
run: |
make talosctl-cni-bundle
- name: e2e-cilium
env:
GITHUB_STEP_NAME: ${{ github.job}}-e2e-cilium
IMAGE_REGISTRY: registry.dev.siderolabs.io
SHORT_INTEGRATION_TEST: "yes"
WITH_CONFIG_PATCH: '@hack/test/patches/cilium-no-kubeproxy.yaml'
WITH_CUSTOM_CNI: cilium
WITH_FIREWALL: accept
run: |
sudo -E make e2e-qemu
- name: e2e-cilium-strict
env:
CILIUM_INSTALL_TYPE: strict
GITHUB_STEP_NAME: ${{ github.job}}-e2e-cilium-strict
IMAGE_REGISTRY: registry.dev.siderolabs.io
SHORT_INTEGRATION_TEST: "yes"
WITH_CONFIG_PATCH: '@hack/test/patches/cilium-kubeproxy.yaml'
WITH_CUSTOM_CNI: cilium
WITH_FIREWALL: accept
run: |
sudo -E make e2e-qemu
- name: e2e-cilium-strict-kubespan
env:
CILIUM_INSTALL_TYPE: strict
GITHUB_STEP_NAME: ${{ github.job}}-e2e-cilium-strict-kubespan
IMAGE_REGISTRY: registry.dev.siderolabs.io
SHORT_INTEGRATION_TEST: "yes"
WITH_CONFIG_PATCH: '@hack/test/patches/cilium-kubeproxy.yaml'
WITH_CUSTOM_CNI: cilium
WITH_FIREWALL: accept
WITH_KUBESPAN: "true"
run: |
sudo -E make e2e-qemu
- name: save artifacts
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # version: v7.0.0
with:
name: talos-logs-integration-cilium
path: |-
/tmp/logs-*.tar.gz
/tmp/support-*.zip
retention-days: "5"
integration-cloud-images:
permissions:
actions: read
contents: write
issues: read
packages: write
pull-requests: read
runs-on:
group: generic
if: contains(fromJSON(needs.default.outputs.labels), 'integration/cloud-images')
needs:
- default
steps:
- name: gather-system-info
id: system-info
uses: kenchan0130/actions-system-info@59699597e84e80085a750998045983daa49274c4 # version: v1.4.0
continue-on-error: true
- name: print-system-info
run: |
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
OUTPUTS=(
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
"Hostname: ${{ steps.system-info.outputs.hostname }}"
"NodeName: ${NODE_NAME}"
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
"Name: ${{ steps.system-info.outputs.name }}"
"Platform: ${{ steps.system-info.outputs.platform }}"
"Release: ${{ steps.system-info.outputs.release }}"
"Total memory: ${MEMORY_GB} GB"
)
for OUTPUT in "${OUTPUTS[@]}";do
echo "${OUTPUT}"
done
continue-on-error: true
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Set up Docker Buildx
id: setup-buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # version: v4.0.0
with:
driver: remote
endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234
timeout-minutes: 10
- name: Mask secrets
run: |
echo "$(sops -d .secrets.yaml | yq -e '.secrets | to_entries[] | "::add-mask::" + .value')"
- name: Set secrets for job
run: |
sops -d .secrets.yaml | yq -e '.secrets | to_entries[] | .key + "=" + .value' >> "$GITHUB_ENV"
- name: Download artifacts
if: github.event_name != 'schedule'
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # version: v8.0.0
with:
name: talos-artifacts
path: _out
- name: Fix artifact permissions
if: github.event_name != 'schedule'
run: |
xargs -a _out/executable-artifacts -I {} chmod +x {}
- name: ci-temp-release-tag
if: github.event_name != 'schedule'
run: |
make ci-temp-release-tag
- name: build
if: github.event_name == 'schedule'
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
PUSH: "true"
run: |
make talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer-base imager talos _out/integration-test-linux-amd64
- name: images
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
run: |
make images
- name: cloud-images
run: |
make cloud-images
integration-conformance:
permissions:
actions: read
contents: write
issues: read
packages: write
pull-requests: read
runs-on:
group: large
if: contains(fromJSON(needs.default.outputs.labels), 'integration/conformance') || contains(fromJSON(needs.default.outputs.labels), 'integration/release-gate')
needs:
- default
steps:
- name: gather-system-info
id: system-info
uses: kenchan0130/actions-system-info@59699597e84e80085a750998045983daa49274c4 # version: v1.4.0
continue-on-error: true
- name: print-system-info
run: |
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
OUTPUTS=(
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
"Hostname: ${{ steps.system-info.outputs.hostname }}"
"NodeName: ${NODE_NAME}"
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
"Name: ${{ steps.system-info.outputs.name }}"
"Platform: ${{ steps.system-info.outputs.platform }}"
"Release: ${{ steps.system-info.outputs.release }}"
"Total memory: ${MEMORY_GB} GB"
)
for OUTPUT in "${OUTPUTS[@]}";do
echo "${OUTPUT}"
done
continue-on-error: true
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Set up Docker Buildx
id: setup-buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # version: v4.0.0
with:
driver: remote
endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234
timeout-minutes: 10
- name: Download artifacts
if: github.event_name != 'schedule'
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # version: v8.0.0
with:
name: talos-artifacts
path: _out
- name: Fix artifact permissions
if: github.event_name != 'schedule'
run: |
xargs -a _out/executable-artifacts -I {} chmod +x {}
- name: ci-temp-release-tag
if: github.event_name != 'schedule'
run: |
make ci-temp-release-tag
- name: build
if: github.event_name == 'schedule'
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
PUSH: "true"
run: |
make talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer-base imager talos _out/integration-test-linux-amd64
- name: talosctl-cni-bundle
if: github.event_name == 'schedule'
run: |
make talosctl-cni-bundle
- name: conformance-qemu
env:
GITHUB_STEP_NAME: ${{ github.job}}-conformance-qemu
IMAGE_REGISTRY: registry.dev.siderolabs.io
QEMU_CPUS_WORKERS: "6"
QEMU_MEMORY_WORKERS: "4096"
TEST_MODE: fast-conformance
WITH_CONFIG_PATCH: '@hack/test/patches/image-verification.yaml'
run: |
sudo -E make e2e-qemu
- name: save artifacts
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # version: v7.0.0
with:
name: talos-logs-integration-conformance
path: |-
/tmp/logs-*.tar.gz
/tmp/support-*.zip
retention-days: "5"
integration-conformance-enforcing:
permissions:
actions: read
contents: write
issues: read
packages: write
pull-requests: read
runs-on:
group: large
if: contains(fromJSON(needs.default.outputs.labels), 'integration/conformance-enforcing')
needs:
- default
steps:
- name: gather-system-info
id: system-info
uses: kenchan0130/actions-system-info@59699597e84e80085a750998045983daa49274c4 # version: v1.4.0
continue-on-error: true
- name: print-system-info
run: |
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
OUTPUTS=(
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
"Hostname: ${{ steps.system-info.outputs.hostname }}"
"NodeName: ${NODE_NAME}"
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
"Name: ${{ steps.system-info.outputs.name }}"
"Platform: ${{ steps.system-info.outputs.platform }}"
"Release: ${{ steps.system-info.outputs.release }}"
"Total memory: ${MEMORY_GB} GB"
)
for OUTPUT in "${OUTPUTS[@]}";do
echo "${OUTPUT}"
done
continue-on-error: true
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Set up Docker Buildx
id: setup-buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # version: v4.0.0
with:
driver: remote
endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234
timeout-minutes: 10
- name: Download artifacts
if: github.event_name != 'schedule'
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # version: v8.0.0
with:
name: talos-artifacts
path: _out
- name: Fix artifact permissions
if: github.event_name != 'schedule'
run: |
xargs -a _out/executable-artifacts -I {} chmod +x {}
- name: ci-temp-release-tag
if: github.event_name != 'schedule'
run: |
make ci-temp-release-tag
- name: build
if: github.event_name == 'schedule'
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
PUSH: "true"
run: |
make talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer-base imager talos _out/integration-test-linux-amd64
- name: uki-certs
if: github.event_name == 'schedule'
env:
PLATFORM: linux/amd64
run: |
make uki-certs
- name: talosctl-cni-bundle
if: github.event_name == 'schedule'
run: |
make talosctl-cni-bundle
- name: images-essential-enforcing
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
IMAGER_ARGS: --extra-kernel-arg=console=ttyS0 --extra-kernel-arg=enforcing=1
PLATFORM: linux/amd64,linux/arm64
PUSH: "true"
TAG_SUFFIX_OUT: -enforcing
run: |
make images-essential
- name: conformance-qemu
env:
EXTRA_TEST_ARGS: -talos.enforcing
GITHUB_STEP_NAME: ${{ github.job}}-conformance-qemu
IMAGE_REGISTRY: registry.dev.siderolabs.io
QEMU_CPUS_WORKERS: "6"
QEMU_MEMORY_WORKERS: "4096"
TAG_SUFFIX_IN: -enforcing
TEST_MODE: fast-conformance
WITH_ENFORCING: "true"
run: |
sudo -E make e2e-qemu
- name: save artifacts
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # version: v7.0.0
with:
name: talos-logs-integration-conformance-enforcing
path: |-
/tmp/logs-*.tar.gz
/tmp/support-*.zip
retention-days: "5"
integration-embedded:
permissions:
actions: read
contents: write
issues: read
packages: write
pull-requests: read
runs-on:
group: large
if: contains(fromJSON(needs.default.outputs.labels), 'integration/embedded') || contains(fromJSON(needs.default.outputs.labels), 'integration/release-gate')
needs:
- default
steps:
- name: gather-system-info
id: system-info
uses: kenchan0130/actions-system-info@59699597e84e80085a750998045983daa49274c4 # version: v1.4.0
continue-on-error: true
- name: print-system-info
run: |
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
OUTPUTS=(
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
"Hostname: ${{ steps.system-info.outputs.hostname }}"
"NodeName: ${NODE_NAME}"
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
"Name: ${{ steps.system-info.outputs.name }}"
"Platform: ${{ steps.system-info.outputs.platform }}"
"Release: ${{ steps.system-info.outputs.release }}"
"Total memory: ${MEMORY_GB} GB"
)
for OUTPUT in "${OUTPUTS[@]}";do
echo "${OUTPUT}"
done
continue-on-error: true
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Set up Docker Buildx
id: setup-buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # version: v4.0.0
with:
driver: remote
endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234
timeout-minutes: 10
- name: Download artifacts
if: github.event_name != 'schedule'
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # version: v8.0.0
with:
name: talos-artifacts
path: _out
- name: Fix artifact permissions
if: github.event_name != 'schedule'
run: |
xargs -a _out/executable-artifacts -I {} chmod +x {}
- name: ci-temp-release-tag
if: github.event_name != 'schedule'
run: |
make ci-temp-release-tag
- name: build
if: github.event_name == 'schedule'
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
PUSH: "true"
run: |
make talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer-base imager talos _out/integration-test-linux-amd64
- name: talosctl-cni-bundle
if: github.event_name == 'schedule'
run: |
make talosctl-cni-bundle
- name: e2e-embedded
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
run: |
sudo -E make e2e-embedded
- name: save artifacts
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # version: v7.0.0
with:
name: talos-logs-integration-embedded
path: |-
/tmp/logs-*.tar.gz
/tmp/support-*.zip
retention-days: "5"
integration-extensions:
permissions:
actions: read
contents: write
issues: read
packages: write
pull-requests: read
runs-on:
group: large
if: contains(fromJSON(needs.default.outputs.labels), 'integration/extensions') || contains(fromJSON(needs.default.outputs.labels), 'integration/release-gate')
needs:
- default
steps:
- name: gather-system-info
id: system-info
uses: kenchan0130/actions-system-info@59699597e84e80085a750998045983daa49274c4 # version: v1.4.0
continue-on-error: true
- name: print-system-info
run: |
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
OUTPUTS=(
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
"Hostname: ${{ steps.system-info.outputs.hostname }}"
"NodeName: ${NODE_NAME}"
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
"Name: ${{ steps.system-info.outputs.name }}"
"Platform: ${{ steps.system-info.outputs.platform }}"
"Release: ${{ steps.system-info.outputs.release }}"
"Total memory: ${MEMORY_GB} GB"
)
for OUTPUT in "${OUTPUTS[@]}";do
echo "${OUTPUT}"
done
continue-on-error: true
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Set up Docker Buildx
id: setup-buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # version: v4.0.0
with:
driver: remote
endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234
timeout-minutes: 10
- name: Download artifacts
if: github.event_name != 'schedule'
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # version: v8.0.0
with:
name: talos-artifacts
path: _out
- name: Fix artifact permissions
if: github.event_name != 'schedule'
run: |
xargs -a _out/executable-artifacts -I {} chmod +x {}
- name: ci-temp-release-tag
if: github.event_name != 'schedule'
run: |
make ci-temp-release-tag
- name: generate
if: github.event_name == 'schedule'
run: |
make generate
- name: build
if: github.event_name == 'schedule'
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
PUSH: "true"
run: |
make talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer-base imager talos _out/integration-test-linux-amd64
- name: talosctl-cni-bundle
if: github.event_name == 'schedule'
run: |
make talosctl-cni-bundle
- name: checkout extensions
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
with:
path: _out/extensions
ref: main
repository: siderolabs/extensions
- name: unshallow-extensions
run: |
git -C _out/extensions fetch --prune --unshallow
- name: set variables
run: |
cat _out/talos-metadata >> "$GITHUB_ENV"
- name: build extensions
env:
PLATFORM: linux/amd64
PUSH: "true"
REGISTRY: registry.dev.siderolabs.io
run: |
make all extensions-metadata -C _out/extensions
- name: installer extensions
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
run: |
make installer-with-extensions
- name: e2e-extensions
env:
EXTRA_TEST_ARGS: -talos.extensions.qemu
GITHUB_STEP_NAME: ${{ github.job}}-e2e-extensions
IMAGE_REGISTRY: registry.dev.siderolabs.io
QEMU_EXTRA_DISKS: "3"
QEMU_MEMORY_WORKERS: "4096"
QEMU_WORKERS: "1"
SHORT_INTEGRATION_TEST: "yes"
WITH_CONFIG_PATCH_WORKER: '@_out/installer-extensions-patch.yaml:@hack/test/patches/extensions.yaml:@hack/test/patches/dm-raid-module.yaml'
run: |
sudo -E make e2e-qemu
- name: save artifacts
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # version: v7.0.0
with:
name: talos-logs-integration-extensions
path: |-
/tmp/logs-*.tar.gz
/tmp/support-*.zip
retention-days: "5"
integration-gcp:
permissions:
actions: read
contents: write
issues: read
packages: write
pull-requests: read
runs-on:
group: generic
if: contains(fromJSON(needs.default.outputs.labels), 'integration/gcp') || contains(fromJSON(needs.default.outputs.labels), 'integration/release-gate')
needs:
- default
steps:
- name: gather-system-info
id: system-info
uses: kenchan0130/actions-system-info@59699597e84e80085a750998045983daa49274c4 # version: v1.4.0
continue-on-error: true
- name: print-system-info
run: |
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
OUTPUTS=(
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
"Hostname: ${{ steps.system-info.outputs.hostname }}"
"NodeName: ${NODE_NAME}"
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
"Name: ${{ steps.system-info.outputs.name }}"
"Platform: ${{ steps.system-info.outputs.platform }}"
"Release: ${{ steps.system-info.outputs.release }}"
"Total memory: ${MEMORY_GB} GB"
)
for OUTPUT in "${OUTPUTS[@]}";do
echo "${OUTPUT}"
done
continue-on-error: true
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Set up Docker Buildx
id: setup-buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # version: v4.0.0
with:
driver: remote
endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234
timeout-minutes: 10
- name: Mask secrets
run: |
echo "$(sops -d .secrets.yaml | yq -e '.secrets | to_entries[] | "::add-mask::" + .value')"
- name: Set secrets for job
run: |
sops -d .secrets.yaml | yq -e '.secrets | to_entries[] | .key + "=" + .value' >> "$GITHUB_ENV"
- name: Download artifacts
if: github.event_name != 'schedule'
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # version: v8.0.0
with:
name: talos-artifacts
path: _out
- name: Fix artifact permissions
if: github.event_name != 'schedule'
run: |
xargs -a _out/executable-artifacts -I {} chmod +x {}
- name: ci-temp-release-tag
if: github.event_name != 'schedule'
run: |
make ci-temp-release-tag
- name: uki-certs
if: github.event_name == 'schedule'
env:
PLATFORM: linux/amd64
run: |
make uki-certs
- name: build
if: github.event_name == 'schedule'
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
PUSH: "true"
run: |
make talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer-base imager talos _out/integration-test-linux-amd64
- name: talosctl-cni-bundle
if: github.event_name == 'schedule'
run: |
make talosctl-cni-bundle
- name: images-essential
if: github.event_name == 'schedule'
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
run: |
make images-essential
- name: image-gcp
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
run: |
make image-gcp
- name: e2e-gcp-prepare
run: |
make e2e-gcp-prepare
- name: checkout contrib
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
with:
path: _out/contrib
ref: main
repository: siderolabs/contrib
- name: setup tf
uses: hashicorp/setup-terraform@5e8dbf3c6d9deaf4193ca7a8fb23f2ac83bb6c85 # version: v4.0.0
with:
terraform_wrapper: "false"
- name: tf apply
env:
TF_E2E_ACTION: apply
TF_E2E_TEST_TYPE: gcp
TF_SCRIPT_DIR: _out/contrib
run: |
make e2e-cloud-tf
- name: e2e-gcp
run: |
make e2e-gcp
- name: tf destroy
if: always()
env:
TF_E2E_ACTION: destroy
TF_E2E_REFRESH_ON_DESTROY: "false"
TF_E2E_TEST_TYPE: gcp
TF_SCRIPT_DIR: _out/contrib
run: |
make e2e-cloud-tf
integration-image-cache:
permissions:
actions: read
contents: write
issues: read
packages: write
pull-requests: read
runs-on:
group: large
if: contains(fromJSON(needs.default.outputs.labels), 'integration/image-cache') || contains(fromJSON(needs.default.outputs.labels), 'integration/release-gate')
needs:
- default
steps:
- name: gather-system-info
id: system-info
uses: kenchan0130/actions-system-info@59699597e84e80085a750998045983daa49274c4 # version: v1.4.0
continue-on-error: true
- name: print-system-info
run: |
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
OUTPUTS=(
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
"Hostname: ${{ steps.system-info.outputs.hostname }}"
"NodeName: ${NODE_NAME}"
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
"Name: ${{ steps.system-info.outputs.name }}"
"Platform: ${{ steps.system-info.outputs.platform }}"
"Release: ${{ steps.system-info.outputs.release }}"
"Total memory: ${MEMORY_GB} GB"
)
for OUTPUT in "${OUTPUTS[@]}";do
echo "${OUTPUT}"
done
continue-on-error: true
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Set up Docker Buildx
id: setup-buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # version: v4.0.0
with:
driver: remote
endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234
timeout-minutes: 10
- name: Download artifacts
if: github.event_name != 'schedule'
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # version: v8.0.0
with:
name: talos-artifacts
path: _out
- name: Fix artifact permissions
if: github.event_name != 'schedule'
run: |
xargs -a _out/executable-artifacts -I {} chmod +x {}
- name: ci-temp-release-tag
if: github.event_name != 'schedule'
run: |
make ci-temp-release-tag
- name: uki-certs
if: github.event_name == 'schedule'
env:
PLATFORM: linux/amd64
run: |
make uki-certs
- name: build
if: github.event_name == 'schedule'
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
PUSH: "true"
run: |
make talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer-base imager
- name: talosctl-cni-bundle
if: github.event_name == 'schedule'
run: |
make talosctl-cni-bundle
- name: image-cache
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
PUSH: "true"
run: |
make cache-create
- name: e2e-image-cache
env:
GITHUB_STEP_NAME: ${{ github.job}}-e2e-image-cache
IMAGE_REGISTRY: registry.dev.siderolabs.io
REGISTRY_MIRROR_FLAGS: "no"
SHORT_INTEGRATION_TEST: "yes"
VIA_MAINTENANCE_MODE: "true"
WITH_CONFIG_PATCH: '@hack/test/patches/image-cache.yaml:@hack/test/patches/image-verification.yaml'
WITH_ISO: "true"
run: |
sudo -E make e2e-qemu
- name: e2e-image-cache-encrypted
env:
GITHUB_STEP_NAME: ${{ github.job}}-e2e-image-cache-encrypted
IMAGE_REGISTRY: registry.dev.siderolabs.io
REGISTRY_MIRROR_FLAGS: "no"
SHORT_INTEGRATION_TEST: "yes"
VIA_MAINTENANCE_MODE: "true"
WITH_CONFIG_PATCH: '@hack/test/patches/image-cache.yaml:@hack/test/patches/image-cache-encrypted.yaml:@hack/test/patches/image-verification.yaml'
WITH_ISO: "true"
run: |
sudo -E make e2e-qemu
- name: save artifacts
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # version: v7.0.0
with:
name: talos-logs-integration-image-cache
path: |-
/tmp/logs-*.tar.gz
/tmp/support-*.zip
retention-days: "5"
integration-image-factory:
permissions:
actions: read
contents: write
issues: read
packages: write
pull-requests: read
runs-on:
group: large
if: contains(fromJSON(needs.default.outputs.labels), 'integration/image-factory')
needs:
- default
steps:
- name: gather-system-info
id: system-info
uses: kenchan0130/actions-system-info@59699597e84e80085a750998045983daa49274c4 # version: v1.4.0
continue-on-error: true
- name: print-system-info
run: |
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
OUTPUTS=(
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
"Hostname: ${{ steps.system-info.outputs.hostname }}"
"NodeName: ${NODE_NAME}"
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
"Name: ${{ steps.system-info.outputs.name }}"
"Platform: ${{ steps.system-info.outputs.platform }}"
"Release: ${{ steps.system-info.outputs.release }}"
"Total memory: ${MEMORY_GB} GB"
)
for OUTPUT in "${OUTPUTS[@]}";do
echo "${OUTPUT}"
done
continue-on-error: true
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Set up Docker Buildx
id: setup-buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # version: v4.0.0
with:
driver: remote
endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234
timeout-minutes: 10
- name: Download artifacts
if: github.event_name != 'schedule'
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # version: v8.0.0
with:
name: talos-artifacts
path: _out
- name: Fix artifact permissions
if: github.event_name != 'schedule'
run: |
xargs -a _out/executable-artifacts -I {} chmod +x {}
- name: ci-temp-release-tag
if: github.event_name != 'schedule'
run: |
make ci-temp-release-tag
- name: uki-certs
if: github.event_name == 'schedule'
env:
PLATFORM: linux/amd64
run: |
make uki-certs
- name: build
if: github.event_name == 'schedule'
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
PUSH: "true"
run: |
make talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer-base imager talos _out/integration-test-linux-amd64
- name: talosctl-cni-bundle
if: github.event_name == 'schedule'
run: |
make talosctl-cni-bundle
- name: factory-1.11-iso
env:
FACTORY_BOOT_METHOD: iso
FACTORY_SCHEMATIC: 376567988ad370138ad8b2698212367b8edcb69b5fd68c80be1f2ec7d603b4ba
FACTORY_UPGRADE: "true"
FACTORY_UPGRADE_SCHEMATIC: cf9b7aab9ed7c365d5384509b4d31c02fdaa06d2b3ac6cc0bc806f28130eff1f
FACTORY_UPGRADE_VERSION: v1.11.6
FACTORY_VERSION: v1.11.5
GITHUB_STEP_NAME: ${{ github.job}}-factory-1.11-iso
KUBERNETES_VERSION: 1.34.3
run: |
sudo -E make e2e-image-factory
- name: factory-1.11-image
env:
FACTORY_BOOT_METHOD: disk-image
FACTORY_SCHEMATIC: 376567988ad370138ad8b2698212367b8edcb69b5fd68c80be1f2ec7d603b4ba
FACTORY_UPGRADE: "true"
FACTORY_UPGRADE_SCHEMATIC: cf9b7aab9ed7c365d5384509b4d31c02fdaa06d2b3ac6cc0bc806f28130eff1f
FACTORY_UPGRADE_VERSION: v1.11.6
FACTORY_VERSION: v1.11.5
GITHUB_STEP_NAME: ${{ github.job}}-factory-1.11-image
KUBERNETES_VERSION: 1.34.3
run: |
sudo -E make e2e-image-factory
- name: factory-1.11-pxe
env:
FACTORY_BOOT_METHOD: ipxe
FACTORY_SCHEMATIC: 376567988ad370138ad8b2698212367b8edcb69b5fd68c80be1f2ec7d603b4ba
FACTORY_VERSION: v1.11.6
GITHUB_STEP_NAME: ${{ github.job}}-factory-1.11-pxe
KUBERNETES_VERSION: 1.34.3
run: |
sudo -E make e2e-image-factory
- name: factory-1.11-secureboot
env:
FACTORY_BOOT_METHOD: secureboot-iso
FACTORY_SCHEMATIC: cf9b7aab9ed7c365d5384509b4d31c02fdaa06d2b3ac6cc0bc806f28130eff1f
FACTORY_UPGRADE: "true"
FACTORY_UPGRADE_SCHEMATIC: 376567988ad370138ad8b2698212367b8edcb69b5fd68c80be1f2ec7d603b4ba
FACTORY_UPGRADE_VERSION: v1.11.6
FACTORY_VERSION: v1.11.5
GITHUB_STEP_NAME: ${{ github.job}}-factory-1.11-secureboot
KUBERNETES_VERSION: 1.34.3
run: |
sudo -E make e2e-image-factory
- name: factory-1.10-secureboot
env:
FACTORY_BOOT_METHOD: secureboot-iso
FACTORY_SCHEMATIC: cf9b7aab9ed7c365d5384509b4d31c02fdaa06d2b3ac6cc0bc806f28130eff1f
FACTORY_UPGRADE: "true"
FACTORY_UPGRADE_SCHEMATIC: 376567988ad370138ad8b2698212367b8edcb69b5fd68c80be1f2ec7d603b4ba
FACTORY_UPGRADE_VERSION: v1.10.9
FACTORY_VERSION: v1.10.8
GITHUB_STEP_NAME: ${{ github.job}}-factory-1.10-secureboot
KUBERNETES_VERSION: 1.33.7
run: |
sudo -E make e2e-image-factory
- name: factory-1.10-iso
env:
FACTORY_BOOT_METHOD: iso
FACTORY_SCHEMATIC: 376567988ad370138ad8b2698212367b8edcb69b5fd68c80be1f2ec7d603b4ba
FACTORY_UPGRADE: "true"
FACTORY_UPGRADE_SCHEMATIC: cf9b7aab9ed7c365d5384509b4d31c02fdaa06d2b3ac6cc0bc806f28130eff1f
FACTORY_UPGRADE_VERSION: v1.10.9
FACTORY_VERSION: v1.10.8
GITHUB_STEP_NAME: ${{ github.job}}-factory-1.10-iso
KUBERNETES_VERSION: 1.33.7
run: |
sudo -E make e2e-image-factory
- name: factory-1.9-iso
env:
FACTORY_BOOT_METHOD: iso
FACTORY_SCHEMATIC: 376567988ad370138ad8b2698212367b8edcb69b5fd68c80be1f2ec7d603b4ba
FACTORY_UPGRADE: "true"
FACTORY_UPGRADE_SCHEMATIC: cf9b7aab9ed7c365d5384509b4d31c02fdaa06d2b3ac6cc0bc806f28130eff1f
FACTORY_UPGRADE_VERSION: v1.9.6
FACTORY_VERSION: v1.9.5
GITHUB_STEP_NAME: ${{ github.job}}-factory-1.9-iso
KUBERNETES_VERSION: 1.32.11
run: |
sudo -E make e2e-image-factory
- name: save artifacts
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # version: v7.0.0
with:
name: talos-logs-integration-image-factory
path: |-
/tmp/logs-*.tar.gz
/tmp/support-*.zip
retention-days: "5"
integration-images:
permissions:
actions: read
contents: write
issues: read
packages: write
pull-requests: read
runs-on:
group: generic
if: contains(fromJSON(needs.default.outputs.labels), 'integration/images') || contains(fromJSON(needs.default.outputs.labels), 'integration/release-gate')
needs:
- default
steps:
- name: gather-system-info
id: system-info
uses: kenchan0130/actions-system-info@59699597e84e80085a750998045983daa49274c4 # version: v1.4.0
continue-on-error: true
- name: print-system-info
run: |
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
OUTPUTS=(
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
"Hostname: ${{ steps.system-info.outputs.hostname }}"
"NodeName: ${NODE_NAME}"
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
"Name: ${{ steps.system-info.outputs.name }}"
"Platform: ${{ steps.system-info.outputs.platform }}"
"Release: ${{ steps.system-info.outputs.release }}"
"Total memory: ${MEMORY_GB} GB"
)
for OUTPUT in "${OUTPUTS[@]}";do
echo "${OUTPUT}"
done
continue-on-error: true
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Set up Docker Buildx
id: setup-buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # version: v4.0.0
with:
driver: remote
endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234
timeout-minutes: 10
- name: Download artifacts
if: github.event_name != 'schedule'
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # version: v8.0.0
with:
name: talos-artifacts
path: _out
- name: Fix artifact permissions
if: github.event_name != 'schedule'
run: |
xargs -a _out/executable-artifacts -I {} chmod +x {}
- name: ci-temp-release-tag
if: github.event_name != 'schedule'
run: |
make ci-temp-release-tag
- name: build
if: github.event_name == 'schedule'
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
PUSH: "true"
run: |
make talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer-base imager talos _out/integration-test-linux-amd64
- name: talosctl-cni-bundle
if: github.event_name == 'schedule'
run: |
make talosctl-cni-bundle
- name: images
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
run: |
make images
integration-misc-0:
permissions:
actions: read
contents: write
issues: read
packages: write
pull-requests: read
runs-on:
group: large
if: contains(fromJSON(needs.default.outputs.labels), 'integration/misc') || contains(fromJSON(needs.default.outputs.labels), 'integration/misc-0') || contains(fromJSON(needs.default.outputs.labels), 'integration/release-gate')
needs:
- default
steps:
- name: gather-system-info
id: system-info
uses: kenchan0130/actions-system-info@59699597e84e80085a750998045983daa49274c4 # version: v1.4.0
continue-on-error: true
- name: print-system-info
run: |
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
OUTPUTS=(
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
"Hostname: ${{ steps.system-info.outputs.hostname }}"
"NodeName: ${NODE_NAME}"
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
"Name: ${{ steps.system-info.outputs.name }}"
"Platform: ${{ steps.system-info.outputs.platform }}"
"Release: ${{ steps.system-info.outputs.release }}"
"Total memory: ${MEMORY_GB} GB"
)
for OUTPUT in "${OUTPUTS[@]}";do
echo "${OUTPUT}"
done
continue-on-error: true
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Set up Docker Buildx
id: setup-buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # version: v4.0.0
with:
driver: remote
endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234
timeout-minutes: 10
- name: Download artifacts
if: github.event_name != 'schedule'
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # version: v8.0.0
with:
name: talos-artifacts
path: _out
- name: Fix artifact permissions
if: github.event_name != 'schedule'
run: |
xargs -a _out/executable-artifacts -I {} chmod +x {}
- name: ci-temp-release-tag
if: github.event_name != 'schedule'
run: |
make ci-temp-release-tag
- name: build
if: github.event_name == 'schedule'
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
PUSH: "true"
run: |
make talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer-base imager talos _out/integration-test-linux-amd64
- name: talosctl-cni-bundle
if: github.event_name == 'schedule'
run: |
make talosctl-cni-bundle
- name: image-metal-uki
if: github.event_name == 'schedule'
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
run: |
make image-metal-uki
- name: e2e-firewall
env:
GITHUB_STEP_NAME: ${{ github.job}}-e2e-firewall
IMAGE_REGISTRY: registry.dev.siderolabs.io
SHORT_INTEGRATION_TEST: "yes"
WITH_FIREWALL: block
run: |
sudo -E make e2e-qemu
- name: e2e-canal-reset
env:
CUSTOM_CNI_URL: https://raw.githubusercontent.com/projectcalico/calico/v3.30.3/manifests/canal.yaml
GITHUB_STEP_NAME: ${{ github.job}}-e2e-canal-reset
IMAGE_REGISTRY: registry.dev.siderolabs.io
INTEGRATION_TEST_RUN: TestIntegration/api.ResetSuite/TestResetWithSpec
run: |
sudo -E make e2e-qemu
- name: e2e-controlplane-port
env:
GITHUB_STEP_NAME: ${{ github.job}}-e2e-controlplane-port
IMAGE_REGISTRY: registry.dev.siderolabs.io
SHORT_INTEGRATION_TEST: "yes"
WITH_CONFIG_PATCH: '@hack/test/patches/ephemeral-min-max.yaml'
WITH_CONTROL_PLANE_PORT: "443"
run: |
sudo -E make e2e-qemu
- name: e2e-uki-4k
env:
GITHUB_STEP_NAME: ${{ github.job}}-e2e-uki-4k
IMAGE_REGISTRY: registry.dev.siderolabs.io
SHORT_INTEGRATION_TEST: "yes"
WITH_4K_DISK: "true"
WITH_UKI_BOOT: "true"
run: |
sudo -E make e2e-qemu
- name: e2e-flannel-netpol
env:
GITHUB_STEP_NAME: ${{ github.job}}-e2e-flannel-netpol
IMAGE_REGISTRY: registry.dev.siderolabs.io
SHORT_INTEGRATION_TEST: "yes"
TEST_MODE: network-policy
WITH_CONFIG_PATCH: '@hack/test/patches/flannel-netpol.yaml'
run: |
sudo -E make e2e-qemu
- name: save artifacts
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # version: v7.0.0
with:
name: talos-logs-integration-misc-0
path: |-
/tmp/logs-*.tar.gz
/tmp/support-*.zip
retention-days: "5"
integration-misc-1:
permissions:
actions: read
contents: write
issues: read
packages: write
pull-requests: read
runs-on:
group: large
if: contains(fromJSON(needs.default.outputs.labels), 'integration/misc') || contains(fromJSON(needs.default.outputs.labels), 'integration/misc-1') || contains(fromJSON(needs.default.outputs.labels), 'integration/release-gate')
needs:
- default
steps:
- name: gather-system-info
id: system-info
uses: kenchan0130/actions-system-info@59699597e84e80085a750998045983daa49274c4 # version: v1.4.0
continue-on-error: true
- name: print-system-info
run: |
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
OUTPUTS=(
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
"Hostname: ${{ steps.system-info.outputs.hostname }}"
"NodeName: ${NODE_NAME}"
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
"Name: ${{ steps.system-info.outputs.name }}"
"Platform: ${{ steps.system-info.outputs.platform }}"
"Release: ${{ steps.system-info.outputs.release }}"
"Total memory: ${MEMORY_GB} GB"
)
for OUTPUT in "${OUTPUTS[@]}";do
echo "${OUTPUT}"
done
continue-on-error: true
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Set up Docker Buildx
id: setup-buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # version: v4.0.0
with:
driver: remote
endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234
timeout-minutes: 10
- name: Download artifacts
if: github.event_name != 'schedule'
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # version: v8.0.0
with:
name: talos-artifacts
path: _out
- name: Fix artifact permissions
if: github.event_name != 'schedule'
run: |
xargs -a _out/executable-artifacts -I {} chmod +x {}
- name: ci-temp-release-tag
if: github.event_name != 'schedule'
run: |
make ci-temp-release-tag
- name: build
if: github.event_name == 'schedule'
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
PUSH: "true"
run: |
make talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer-base imager talos _out/integration-test-linux-amd64
- name: talosctl-cni-bundle
if: github.event_name == 'schedule'
run: |
make talosctl-cni-bundle
- name: e2e-no-cluster-discovery
env:
GITHUB_STEP_NAME: ${{ github.job}}-e2e-no-cluster-discovery
IMAGE_REGISTRY: registry.dev.siderolabs.io
SHORT_INTEGRATION_TEST: "yes"
WITH_CLUSTER_DISCOVERY: "false"
run: |
sudo -E make e2e-qemu
- name: e2e-kubespan
env:
GITHUB_STEP_NAME: ${{ github.job}}-e2e-kubespan
IMAGE_REGISTRY: registry.dev.siderolabs.io
SHORT_INTEGRATION_TEST: "yes"
WITH_CLUSTER_DISCOVERY: "true"
WITH_KUBESPAN: "true"
run: |
sudo -E make e2e-qemu
- name: e2e-default-hostname
env:
DISABLE_DHCP_HOSTNAME: "true"
GITHUB_STEP_NAME: ${{ github.job}}-e2e-default-hostname
IMAGE_REGISTRY: registry.dev.siderolabs.io
SHORT_INTEGRATION_TEST: "yes"
VIA_MAINTENANCE_MODE: "true"
run: |
sudo -E make e2e-qemu
- name: e2e-min-requirements
env:
GITHUB_STEP_NAME: ${{ github.job}}-e2e-min-requirements
IMAGE_REGISTRY: registry.dev.siderolabs.io
QEMU_MEMORY_CONTROLPLANES: "2048"
QEMU_MEMORY_WORKERS: "1024"
QEMU_SYSTEM_DISK_SIZE: "10240"
SHORT_INTEGRATION_TEST: "yes"
run: |
sudo -E make e2e-qemu
- name: save artifacts
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # version: v7.0.0
with:
name: talos-logs-integration-misc-1
path: |-
/tmp/logs-*.tar.gz
/tmp/support-*.zip
retention-days: "5"
integration-misc-1-enforcing:
permissions:
actions: read
contents: write
issues: read
packages: write
pull-requests: read
runs-on:
group: large
if: contains(fromJSON(needs.default.outputs.labels), 'integration/misc-enforcing') || contains(fromJSON(needs.default.outputs.labels), 'integration/misc-1-enforcing') || contains(fromJSON(needs.default.outputs.labels), 'integration/release-gate')
needs:
- default
steps:
- name: gather-system-info
id: system-info
uses: kenchan0130/actions-system-info@59699597e84e80085a750998045983daa49274c4 # version: v1.4.0
continue-on-error: true
- name: print-system-info
run: |
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
OUTPUTS=(
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
"Hostname: ${{ steps.system-info.outputs.hostname }}"
"NodeName: ${NODE_NAME}"
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
"Name: ${{ steps.system-info.outputs.name }}"
"Platform: ${{ steps.system-info.outputs.platform }}"
"Release: ${{ steps.system-info.outputs.release }}"
"Total memory: ${MEMORY_GB} GB"
)
for OUTPUT in "${OUTPUTS[@]}";do
echo "${OUTPUT}"
done
continue-on-error: true
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Set up Docker Buildx
id: setup-buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # version: v4.0.0
with:
driver: remote
endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234
timeout-minutes: 10
- name: Download artifacts
if: github.event_name != 'schedule'
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # version: v8.0.0
with:
name: talos-artifacts
path: _out
- name: Fix artifact permissions
if: github.event_name != 'schedule'
run: |
xargs -a _out/executable-artifacts -I {} chmod +x {}
- name: ci-temp-release-tag
if: github.event_name != 'schedule'
run: |
make ci-temp-release-tag
- name: build
if: github.event_name == 'schedule'
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
PUSH: "true"
run: |
make talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer-base imager talos _out/integration-test-linux-amd64
- name: uki-certs
if: github.event_name == 'schedule'
env:
PLATFORM: linux/amd64
run: |
make uki-certs
- name: talosctl-cni-bundle
if: github.event_name == 'schedule'
run: |
make talosctl-cni-bundle
- name: images-essential-enforcing
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
IMAGER_ARGS: --extra-kernel-arg=console=ttyS0 --extra-kernel-arg=enforcing=1
PLATFORM: linux/amd64,linux/arm64
PUSH: "true"
TAG_SUFFIX_OUT: -enforcing
run: |
make images-essential
- name: e2e-no-cluster-discovery
env:
EXTRA_TEST_ARGS: -talos.enforcing
GITHUB_STEP_NAME: ${{ github.job}}-e2e-no-cluster-discovery
IMAGE_REGISTRY: registry.dev.siderolabs.io
SHORT_INTEGRATION_TEST: "yes"
TAG_SUFFIX_IN: -enforcing
WITH_CLUSTER_DISCOVERY: "false"
WITH_ENFORCING: "true"
run: |
sudo -E make e2e-qemu
- name: e2e-kubespan
env:
EXTRA_TEST_ARGS: -talos.enforcing
GITHUB_STEP_NAME: ${{ github.job}}-e2e-kubespan
IMAGE_REGISTRY: registry.dev.siderolabs.io
SHORT_INTEGRATION_TEST: "yes"
TAG_SUFFIX_IN: -enforcing
WITH_CLUSTER_DISCOVERY: "true"
WITH_ENFORCING: "true"
WITH_KUBESPAN: "true"
run: |
sudo -E make e2e-qemu
- name: e2e-default-hostname
env:
DISABLE_DHCP_HOSTNAME: "true"
EXTRA_TEST_ARGS: -talos.enforcing
GITHUB_STEP_NAME: ${{ github.job}}-e2e-default-hostname
IMAGE_REGISTRY: registry.dev.siderolabs.io
SHORT_INTEGRATION_TEST: "yes"
TAG_SUFFIX_IN: -enforcing
VIA_MAINTENANCE_MODE: "true"
WITH_ENFORCING: "true"
run: |
sudo -E make e2e-qemu
- name: e2e-min-requirements
env:
EXTRA_TEST_ARGS: -talos.enforcing
GITHUB_STEP_NAME: ${{ github.job}}-e2e-min-requirements
IMAGE_REGISTRY: registry.dev.siderolabs.io
QEMU_MEMORY_CONTROLPLANES: "2048"
QEMU_MEMORY_WORKERS: "1024"
QEMU_SYSTEM_DISK_SIZE: "10240"
SHORT_INTEGRATION_TEST: "yes"
TAG_SUFFIX_IN: -enforcing
WITH_ENFORCING: "true"
run: |
sudo -E make e2e-qemu
- name: save artifacts
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # version: v7.0.0
with:
name: talos-logs-integration-misc-1-enforcing
path: |-
/tmp/logs-*.tar.gz
/tmp/support-*.zip
retention-days: "5"
integration-misc-2:
permissions:
actions: read
contents: write
issues: read
packages: write
pull-requests: read
runs-on:
group: large
if: contains(fromJSON(needs.default.outputs.labels), 'integration/misc') || contains(fromJSON(needs.default.outputs.labels), 'integration/misc-2') || contains(fromJSON(needs.default.outputs.labels), 'integration/release-gate')
needs:
- default
steps:
- name: gather-system-info
id: system-info
uses: kenchan0130/actions-system-info@59699597e84e80085a750998045983daa49274c4 # version: v1.4.0
continue-on-error: true
- name: print-system-info
run: |
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
OUTPUTS=(
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
"Hostname: ${{ steps.system-info.outputs.hostname }}"
"NodeName: ${NODE_NAME}"
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
"Name: ${{ steps.system-info.outputs.name }}"
"Platform: ${{ steps.system-info.outputs.platform }}"
"Release: ${{ steps.system-info.outputs.release }}"
"Total memory: ${MEMORY_GB} GB"
)
for OUTPUT in "${OUTPUTS[@]}";do
echo "${OUTPUT}"
done
continue-on-error: true
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Set up Docker Buildx
id: setup-buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # version: v4.0.0
with:
driver: remote
endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234
timeout-minutes: 10
- name: Download artifacts
if: github.event_name != 'schedule'
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # version: v8.0.0
with:
name: talos-artifacts
path: _out
- name: Fix artifact permissions
if: github.event_name != 'schedule'
run: |
xargs -a _out/executable-artifacts -I {} chmod +x {}
- name: ci-temp-release-tag
if: github.event_name != 'schedule'
run: |
make ci-temp-release-tag
- name: uki-certs
if: github.event_name == 'schedule'
env:
PLATFORM: linux/amd64
run: |
make uki-certs
- name: build
if: github.event_name == 'schedule'
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
PUSH: "true"
run: |
make talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer-base imager talos _out/integration-test-linux-amd64
- name: talosctl-cni-bundle
if: github.event_name == 'schedule'
run: |
make talosctl-cni-bundle
- name: iso
if: github.event_name == 'schedule'
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
IMAGER_ARGS: --extra-kernel-arg=console=ttyS0
run: |
make iso
- name: images-essential
if: github.event_name == 'schedule'
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
run: |
make images-essential
- name: e2e-bios
env:
EXTRA_TEST_ARGS: -talos.verifyukibooted=false
GITHUB_STEP_NAME: ${{ github.job}}-e2e-bios
IMAGE_REGISTRY: registry.dev.siderolabs.io
SHORT_INTEGRATION_TEST: "yes"
WITH_UEFI: "false"
run: |
sudo -E make e2e-qemu
- name: e2e-bios-iso
env:
EXTRA_TEST_ARGS: -talos.verifyukibooted=false
GITHUB_STEP_NAME: ${{ github.job}}-e2e-bios-iso
IMAGE_REGISTRY: registry.dev.siderolabs.io
SHORT_INTEGRATION_TEST: "yes"
VIA_MAINTENANCE_MODE: "true"
WITH_ISO: "true"
WITH_UEFI: "false"
run: |
sudo -E make e2e-qemu
- name: e2e-disk-image
env:
GITHUB_STEP_NAME: ${{ github.job}}-e2e-disk-image
IMAGE_REGISTRY: registry.dev.siderolabs.io
SHORT_INTEGRATION_TEST: "yes"
USE_DISK_IMAGE: "true"
VIA_MAINTENANCE_MODE: "true"
WITH_DISK_ENCRYPTION: "true"
WITH_JSON_LOGS: "false"
run: |
sudo -E make e2e-qemu
- name: e2e-disk-image-bios
env:
EXTRA_TEST_ARGS: -talos.verifyukibooted=false
GITHUB_STEP_NAME: ${{ github.job}}-e2e-disk-image-bios
IMAGE_REGISTRY: registry.dev.siderolabs.io
SHORT_INTEGRATION_TEST: "yes"
USE_DISK_IMAGE: "true"
VIA_MAINTENANCE_MODE: "true"
WITH_DISK_ENCRYPTION: "true"
WITH_UEFI: "false"
run: |
sudo -E make e2e-qemu
- name: e2e-node-address-v2
env:
GITHUB_STEP_NAME: ${{ github.job}}-e2e-disk-image
IMAGE_REGISTRY: registry.dev.siderolabs.io
SHORT_INTEGRATION_TEST: "yes"
WITH_CONFIG_PATCH: '@hack/test/patches/node-address-v2.yaml'
run: |
sudo -E make e2e-qemu
- name: e2e-tpm1_2
env:
GITHUB_STEP_NAME: ${{ github.job}}-e2e-tpm1_2
IMAGE_REGISTRY: registry.dev.siderolabs.io
SHORT_INTEGRATION_TEST: "yes"
WITH_TPM1_2: "true"
run: |
sudo -E make e2e-qemu
- name: save artifacts
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # version: v7.0.0
with:
name: talos-logs-integration-misc-2
path: |-
/tmp/logs-*.tar.gz
/tmp/support-*.zip
retention-days: "5"
integration-misc-3:
permissions:
actions: read
contents: write
issues: read
packages: write
pull-requests: read
runs-on:
group: large
if: contains(fromJSON(needs.default.outputs.labels), 'integration/misc') || contains(fromJSON(needs.default.outputs.labels), 'integration/misc-3') || contains(fromJSON(needs.default.outputs.labels), 'integration/release-gate')
needs:
- default
steps:
- name: gather-system-info
id: system-info
uses: kenchan0130/actions-system-info@59699597e84e80085a750998045983daa49274c4 # version: v1.4.0
continue-on-error: true
- name: print-system-info
run: |
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
OUTPUTS=(
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
"Hostname: ${{ steps.system-info.outputs.hostname }}"
"NodeName: ${NODE_NAME}"
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
"Name: ${{ steps.system-info.outputs.name }}"
"Platform: ${{ steps.system-info.outputs.platform }}"
"Release: ${{ steps.system-info.outputs.release }}"
"Total memory: ${MEMORY_GB} GB"
)
for OUTPUT in "${OUTPUTS[@]}";do
echo "${OUTPUT}"
done
continue-on-error: true
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Set up Docker Buildx
id: setup-buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # version: v4.0.0
with:
driver: remote
endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234
timeout-minutes: 10
- name: Download artifacts
if: github.event_name != 'schedule'
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # version: v8.0.0
with:
name: talos-artifacts
path: _out
- name: Fix artifact permissions
if: github.event_name != 'schedule'
run: |
xargs -a _out/executable-artifacts -I {} chmod +x {}
- name: ci-temp-release-tag
if: github.event_name != 'schedule'
run: |
make ci-temp-release-tag
- name: build
if: github.event_name == 'schedule'
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
PUSH: "true"
run: |
make talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer-base imager talos _out/integration-test-linux-amd64
- name: talosctl-cni-bundle
if: github.event_name == 'schedule'
run: |
make talosctl-cni-bundle
- name: e2e-network-chaos
env:
GITHUB_STEP_NAME: ${{ github.job}}-e2e-network-chaos
IMAGE_REGISTRY: registry.dev.siderolabs.io
SHORT_INTEGRATION_TEST: "yes"
WITH_NETWORK_CHAOS: "yes"
run: |
sudo -E make e2e-qemu
- name: e2e-metal-iso
env:
GITHUB_STEP_NAME: ${{ github.job}}-e2e-metal-iso
IMAGE_REGISTRY: registry.dev.siderolabs.io
SHORT_INTEGRATION_TEST: "yes"
WITH_CONFIG_INJECTION_METHOD: metal-iso
run: |
sudo -E make e2e-qemu
- name: e2e-iommu-pcidriverrebind
env:
GITHUB_STEP_NAME: ${{ github.job}}-e2e-iommu-pcidriverrebind
IMAGE_REGISTRY: registry.dev.siderolabs.io
SHORT_INTEGRATION_TEST: "yes"
WITH_IOMMU: "yes"
run: |
sudo -E make e2e-qemu
- name: save artifacts
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # version: v7.0.0
with:
name: talos-logs-integration-misc-3
path: |-
/tmp/logs-*.tar.gz
/tmp/support-*.zip
retention-days: "5"
integration-misc-3-enforcing:
permissions:
actions: read
contents: write
issues: read
packages: write
pull-requests: read
runs-on:
group: large
if: contains(fromJSON(needs.default.outputs.labels), 'integration/misc-enforcing') || contains(fromJSON(needs.default.outputs.labels), 'integration/misc-3-enforcing')
needs:
- default
steps:
- name: gather-system-info
id: system-info
uses: kenchan0130/actions-system-info@59699597e84e80085a750998045983daa49274c4 # version: v1.4.0
continue-on-error: true
- name: print-system-info
run: |
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
OUTPUTS=(
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
"Hostname: ${{ steps.system-info.outputs.hostname }}"
"NodeName: ${NODE_NAME}"
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
"Name: ${{ steps.system-info.outputs.name }}"
"Platform: ${{ steps.system-info.outputs.platform }}"
"Release: ${{ steps.system-info.outputs.release }}"
"Total memory: ${MEMORY_GB} GB"
)
for OUTPUT in "${OUTPUTS[@]}";do
echo "${OUTPUT}"
done
continue-on-error: true
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Set up Docker Buildx
id: setup-buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # version: v4.0.0
with:
driver: remote
endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234
timeout-minutes: 10
- name: Download artifacts
if: github.event_name != 'schedule'
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # version: v8.0.0
with:
name: talos-artifacts
path: _out
- name: Fix artifact permissions
if: github.event_name != 'schedule'
run: |
xargs -a _out/executable-artifacts -I {} chmod +x {}
- name: ci-temp-release-tag
if: github.event_name != 'schedule'
run: |
make ci-temp-release-tag
- name: build
if: github.event_name == 'schedule'
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
PUSH: "true"
run: |
make talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer-base imager talos _out/integration-test-linux-amd64
- name: uki-certs
if: github.event_name == 'schedule'
env:
PLATFORM: linux/amd64
run: |
make uki-certs
- name: talosctl-cni-bundle
if: github.event_name == 'schedule'
run: |
make talosctl-cni-bundle
- name: images-essential-enforcing
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
IMAGER_ARGS: --extra-kernel-arg=console=ttyS0 --extra-kernel-arg=enforcing=1
PLATFORM: linux/amd64,linux/arm64
PUSH: "true"
TAG_SUFFIX_OUT: -enforcing
run: |
make images-essential
- name: e2e-network-chaos
env:
EXTRA_TEST_ARGS: -talos.enforcing
GITHUB_STEP_NAME: ${{ github.job}}-e2e-network-chaos
IMAGE_REGISTRY: registry.dev.siderolabs.io
SHORT_INTEGRATION_TEST: "yes"
TAG_SUFFIX_IN: -enforcing
WITH_ENFORCING: "true"
WITH_NETWORK_CHAOS: "yes"
run: |
sudo -E make e2e-qemu
- name: e2e-metal-iso
env:
EXTRA_TEST_ARGS: -talos.enforcing
GITHUB_STEP_NAME: ${{ github.job}}-e2e-metal-iso
IMAGE_REGISTRY: registry.dev.siderolabs.io
SHORT_INTEGRATION_TEST: "yes"
TAG_SUFFIX_IN: -enforcing
WITH_CONFIG_INJECTION_METHOD: metal-iso
WITH_ENFORCING: "true"
run: |
sudo -E make e2e-qemu
- name: e2e-iommu-pcidriverrebind
env:
EXTRA_TEST_ARGS: -talos.enforcing
GITHUB_STEP_NAME: ${{ github.job}}-e2e-iommu-pcidriverrebind
IMAGE_REGISTRY: registry.dev.siderolabs.io
SHORT_INTEGRATION_TEST: "yes"
TAG_SUFFIX_IN: -enforcing
WITH_ENFORCING: "true"
WITH_IOMMU: "yes"
run: |
sudo -E make e2e-qemu
- name: save artifacts
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # version: v7.0.0
with:
name: talos-logs-integration-misc-3-enforcing
path: |-
/tmp/logs-*.tar.gz
/tmp/support-*.zip
retention-days: "5"
integration-misc-4:
permissions:
actions: read
contents: write
issues: read
packages: write
pull-requests: read
runs-on:
group: large
if: contains(fromJSON(needs.default.outputs.labels), 'integration/misc') || contains(fromJSON(needs.default.outputs.labels), 'integration/misc-4') || contains(fromJSON(needs.default.outputs.labels), 'integration/release-gate')
needs:
- default
steps:
- name: gather-system-info
id: system-info
uses: kenchan0130/actions-system-info@59699597e84e80085a750998045983daa49274c4 # version: v1.4.0
continue-on-error: true
- name: print-system-info
run: |
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
OUTPUTS=(
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
"Hostname: ${{ steps.system-info.outputs.hostname }}"
"NodeName: ${NODE_NAME}"
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
"Name: ${{ steps.system-info.outputs.name }}"
"Platform: ${{ steps.system-info.outputs.platform }}"
"Release: ${{ steps.system-info.outputs.release }}"
"Total memory: ${MEMORY_GB} GB"
)
for OUTPUT in "${OUTPUTS[@]}";do
echo "${OUTPUT}"
done
continue-on-error: true
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Set up Docker Buildx
id: setup-buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # version: v4.0.0
with:
driver: remote
endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234
timeout-minutes: 10
- name: Download artifacts
if: github.event_name != 'schedule'
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # version: v8.0.0
with:
name: talos-artifacts
path: _out
- name: Fix artifact permissions
if: github.event_name != 'schedule'
run: |
xargs -a _out/executable-artifacts -I {} chmod +x {}
- name: ci-temp-release-tag
if: github.event_name != 'schedule'
run: |
make ci-temp-release-tag
- name: build
if: github.event_name == 'schedule'
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
PUSH: "true"
run: |
make talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer-base imager talos _out/integration-test-linux-amd64
- name: talosctl-cni-bundle
if: github.event_name == 'schedule'
run: |
make talosctl-cni-bundle
- name: e2e-siderolink
env:
GITHUB_STEP_NAME: ${{ github.job}}-e2e-siderolink
IMAGE_REGISTRY: registry.dev.siderolabs.io
SHORT_INTEGRATION_TEST: "yes"
VIA_MAINTENANCE_MODE: "true"
WITH_SIDEROLINK_AGENT: "true"
run: |
sudo -E make e2e-qemu
- name: e2e-siderolink-tunnel
env:
GITHUB_STEP_NAME: ${{ github.job}}-e2e-siderolink-tunnel
IMAGE_REGISTRY: registry.dev.siderolabs.io
SHORT_INTEGRATION_TEST: "yes"
VIA_MAINTENANCE_MODE: "true"
WITH_SIDEROLINK_AGENT: tunnel
run: |
sudo -E make e2e-qemu
- name: e2e-siderolink-tls
env:
GITHUB_STEP_NAME: ${{ github.job}}-e2e-siderolink-tls
IMAGE_REGISTRY: registry.dev.siderolabs.io
SHORT_INTEGRATION_TEST: "yes"
VIA_MAINTENANCE_MODE: "true"
WITH_SIDEROLINK_AGENT: wireguard+tls
run: |
sudo -E make e2e-qemu
- name: e2e-apparmor
env:
GITHUB_STEP_NAME: ${{ github.job}}-e2e-apparmor
IMAGE_REGISTRY: registry.dev.siderolabs.io
SHORT_INTEGRATION_TEST: "yes"
WITH_APPARMOR_LSM_ENABLED: "yes"
run: |
sudo -E make e2e-qemu
- name: e2e-k8s-user-namespace
env:
GITHUB_STEP_NAME: ${{ github.job}}-e2e-k8s-user-namespace
IMAGE_REGISTRY: registry.dev.siderolabs.io
SHORT_INTEGRATION_TEST: "yes"
WITH_CONFIG_PATCH: '@hack/test/patches/usernamespace.yaml'
run: |
sudo -E make e2e-qemu
- name: save artifacts
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # version: v7.0.0
with:
name: talos-logs-integration-misc-4
path: |-
/tmp/logs-*.tar.gz
/tmp/support-*.zip
retention-days: "5"
integration-misc-4-enforcing:
permissions:
actions: read
contents: write
issues: read
packages: write
pull-requests: read
runs-on:
group: large
if: contains(fromJSON(needs.default.outputs.labels), 'integration/misc-enforcing') || contains(fromJSON(needs.default.outputs.labels), 'integration/misc-4-enforcing') || contains(fromJSON(needs.default.outputs.labels), 'integration/release-gate')
needs:
- default
steps:
- name: gather-system-info
id: system-info
uses: kenchan0130/actions-system-info@59699597e84e80085a750998045983daa49274c4 # version: v1.4.0
continue-on-error: true
- name: print-system-info
run: |
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
OUTPUTS=(
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
"Hostname: ${{ steps.system-info.outputs.hostname }}"
"NodeName: ${NODE_NAME}"
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
"Name: ${{ steps.system-info.outputs.name }}"
"Platform: ${{ steps.system-info.outputs.platform }}"
"Release: ${{ steps.system-info.outputs.release }}"
"Total memory: ${MEMORY_GB} GB"
)
for OUTPUT in "${OUTPUTS[@]}";do
echo "${OUTPUT}"
done
continue-on-error: true
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Set up Docker Buildx
id: setup-buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # version: v4.0.0
with:
driver: remote
endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234
timeout-minutes: 10
- name: Download artifacts
if: github.event_name != 'schedule'
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # version: v8.0.0
with:
name: talos-artifacts
path: _out
- name: Fix artifact permissions
if: github.event_name != 'schedule'
run: |
xargs -a _out/executable-artifacts -I {} chmod +x {}
- name: ci-temp-release-tag
if: github.event_name != 'schedule'
run: |
make ci-temp-release-tag
- name: build
if: github.event_name == 'schedule'
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
PUSH: "true"
run: |
make talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer-base imager talos _out/integration-test-linux-amd64
- name: uki-certs
if: github.event_name == 'schedule'
env:
PLATFORM: linux/amd64
run: |
make uki-certs
- name: talosctl-cni-bundle
if: github.event_name == 'schedule'
run: |
make talosctl-cni-bundle
- name: images-essential-enforcing
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
IMAGER_ARGS: --extra-kernel-arg=console=ttyS0 --extra-kernel-arg=enforcing=1
PLATFORM: linux/amd64,linux/arm64
PUSH: "true"
TAG_SUFFIX_OUT: -enforcing
run: |
make images-essential
- name: e2e-siderolink
env:
EXTRA_TEST_ARGS: -talos.enforcing
GITHUB_STEP_NAME: ${{ github.job}}-e2e-siderolink
IMAGE_REGISTRY: registry.dev.siderolabs.io
SHORT_INTEGRATION_TEST: "yes"
TAG_SUFFIX_IN: -enforcing
VIA_MAINTENANCE_MODE: "true"
WITH_ENFORCING: "true"
WITH_SIDEROLINK_AGENT: "true"
run: |
sudo -E make e2e-qemu
- name: e2e-siderolink-tunnel
env:
EXTRA_TEST_ARGS: -talos.enforcing
GITHUB_STEP_NAME: ${{ github.job}}-e2e-siderolink-tunnel
IMAGE_REGISTRY: registry.dev.siderolabs.io
SHORT_INTEGRATION_TEST: "yes"
TAG_SUFFIX_IN: -enforcing
VIA_MAINTENANCE_MODE: "true"
WITH_ENFORCING: "true"
WITH_SIDEROLINK_AGENT: tunnel
run: |
sudo -E make e2e-qemu
- name: e2e-siderolink-tls
env:
EXTRA_TEST_ARGS: -talos.enforcing
GITHUB_STEP_NAME: ${{ github.job}}-e2e-siderolink-tls
IMAGE_REGISTRY: registry.dev.siderolabs.io
SHORT_INTEGRATION_TEST: "yes"
TAG_SUFFIX_IN: -enforcing
VIA_MAINTENANCE_MODE: "true"
WITH_ENFORCING: "true"
WITH_SIDEROLINK_AGENT: wireguard+tls
run: |
sudo -E make e2e-qemu
- name: e2e-apparmor
env:
GITHUB_STEP_NAME: ${{ github.job}}-e2e-apparmor
IMAGE_REGISTRY: registry.dev.siderolabs.io
SHORT_INTEGRATION_TEST: "yes"
WITH_APPARMOR_LSM_ENABLED: "yes"
run: |
sudo -E make e2e-qemu
- name: e2e-k8s-user-namespace
env:
EXTRA_TEST_ARGS: -talos.enforcing
GITHUB_STEP_NAME: ${{ github.job}}-e2e-k8s-user-namespace
IMAGE_REGISTRY: registry.dev.siderolabs.io
SHORT_INTEGRATION_TEST: "yes"
TAG_SUFFIX_IN: -enforcing
WITH_CONFIG_PATCH: '@hack/test/patches/usernamespace.yaml'
WITH_ENFORCING: "true"
run: |
sudo -E make e2e-qemu
- name: save artifacts
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # version: v7.0.0
with:
name: talos-logs-integration-misc-4-enforcing
path: |-
/tmp/logs-*.tar.gz
/tmp/support-*.zip
retention-days: "5"
integration-provision-0:
permissions:
actions: read
contents: write
issues: read
packages: write
pull-requests: read
runs-on:
group: large
if: contains(fromJSON(needs.default.outputs.labels), 'integration/provision') || contains(fromJSON(needs.default.outputs.labels), 'integration/provision-0') || contains(fromJSON(needs.default.outputs.labels), 'integration/release-gate')
needs:
- default
steps:
- name: gather-system-info
id: system-info
uses: kenchan0130/actions-system-info@59699597e84e80085a750998045983daa49274c4 # version: v1.4.0
continue-on-error: true
- name: print-system-info
run: |
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
OUTPUTS=(
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
"Hostname: ${{ steps.system-info.outputs.hostname }}"
"NodeName: ${NODE_NAME}"
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
"Name: ${{ steps.system-info.outputs.name }}"
"Platform: ${{ steps.system-info.outputs.platform }}"
"Release: ${{ steps.system-info.outputs.release }}"
"Total memory: ${MEMORY_GB} GB"
)
for OUTPUT in "${OUTPUTS[@]}";do
echo "${OUTPUT}"
done
continue-on-error: true
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Set up Docker Buildx
id: setup-buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # version: v4.0.0
with:
driver: remote
endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234
timeout-minutes: 10
- name: Download artifacts
if: github.event_name != 'schedule'
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # version: v8.0.0
with:
name: talos-artifacts
path: _out
- name: Fix artifact permissions
if: github.event_name != 'schedule'
run: |
xargs -a _out/executable-artifacts -I {} chmod +x {}
- name: ci-temp-release-tag
if: github.event_name != 'schedule'
run: |
make ci-temp-release-tag
- name: build
if: github.event_name == 'schedule'
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
PUSH: "true"
run: |
make talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer-base imager talos _out/integration-test-linux-amd64
- name: uki-certs
if: github.event_name == 'schedule'
env:
PLATFORM: linux/amd64
run: |
make uki-certs
- name: talosctl-cni-bundle
if: github.event_name == 'schedule'
run: |
make talosctl-cni-bundle
- name: images-essential
if: github.event_name == 'schedule'
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
IMAGER_ARGS: --extra-kernel-arg=console=ttyS0
PLATFORM: linux/amd64,linux/arm64
run: |
make images-essential
- name: provision-tests-prepare
run: |
make provision-tests-prepare
- name: provision-tests-track-0
env:
GRPC_ENFORCE_ALPN_ENABLED: "false"
IMAGE_REGISTRY: registry.dev.siderolabs.io
run: |
sudo -E make provision-tests-track-0
- name: save artifacts
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # version: v7.0.0
with:
name: talos-logs-integration-provision-0
path: |-
/tmp/logs-*.tar.gz
/tmp/support-*.zip
retention-days: "5"
integration-provision-1:
permissions:
actions: read
contents: write
issues: read
packages: write
pull-requests: read
runs-on:
group: large
if: contains(fromJSON(needs.default.outputs.labels), 'integration/provision') || contains(fromJSON(needs.default.outputs.labels), 'integration/provision-1') || contains(fromJSON(needs.default.outputs.labels), 'integration/release-gate')
needs:
- default
steps:
- name: gather-system-info
id: system-info
uses: kenchan0130/actions-system-info@59699597e84e80085a750998045983daa49274c4 # version: v1.4.0
continue-on-error: true
- name: print-system-info
run: |
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
OUTPUTS=(
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
"Hostname: ${{ steps.system-info.outputs.hostname }}"
"NodeName: ${NODE_NAME}"
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
"Name: ${{ steps.system-info.outputs.name }}"
"Platform: ${{ steps.system-info.outputs.platform }}"
"Release: ${{ steps.system-info.outputs.release }}"
"Total memory: ${MEMORY_GB} GB"
)
for OUTPUT in "${OUTPUTS[@]}";do
echo "${OUTPUT}"
done
continue-on-error: true
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Set up Docker Buildx
id: setup-buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # version: v4.0.0
with:
driver: remote
endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234
timeout-minutes: 10
- name: Download artifacts
if: github.event_name != 'schedule'
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # version: v8.0.0
with:
name: talos-artifacts
path: _out
- name: Fix artifact permissions
if: github.event_name != 'schedule'
run: |
xargs -a _out/executable-artifacts -I {} chmod +x {}
- name: ci-temp-release-tag
if: github.event_name != 'schedule'
run: |
make ci-temp-release-tag
- name: build
if: github.event_name == 'schedule'
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
PUSH: "true"
run: |
make talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer-base imager talos _out/integration-test-linux-amd64
- name: talosctl-cni-bundle
if: github.event_name == 'schedule'
run: |
make talosctl-cni-bundle
- name: provision-tests-prepare
run: |
make provision-tests-prepare
- name: provision-tests-track-1
env:
GRPC_ENFORCE_ALPN_ENABLED: "false"
IMAGE_REGISTRY: registry.dev.siderolabs.io
run: |
sudo -E make provision-tests-track-1
- name: save artifacts
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # version: v7.0.0
with:
name: talos-logs-integration-provision-1
path: |-
/tmp/logs-*.tar.gz
/tmp/support-*.zip
retention-days: "5"
integration-provision-2:
permissions:
actions: read
contents: write
issues: read
packages: write
pull-requests: read
runs-on:
group: large
if: contains(fromJSON(needs.default.outputs.labels), 'integration/provision') || contains(fromJSON(needs.default.outputs.labels), 'integration/provision-2') || contains(fromJSON(needs.default.outputs.labels), 'integration/release-gate')
needs:
- default
steps:
- name: gather-system-info
id: system-info
uses: kenchan0130/actions-system-info@59699597e84e80085a750998045983daa49274c4 # version: v1.4.0
continue-on-error: true
- name: print-system-info
run: |
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
OUTPUTS=(
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
"Hostname: ${{ steps.system-info.outputs.hostname }}"
"NodeName: ${NODE_NAME}"
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
"Name: ${{ steps.system-info.outputs.name }}"
"Platform: ${{ steps.system-info.outputs.platform }}"
"Release: ${{ steps.system-info.outputs.release }}"
"Total memory: ${MEMORY_GB} GB"
)
for OUTPUT in "${OUTPUTS[@]}";do
echo "${OUTPUT}"
done
continue-on-error: true
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Set up Docker Buildx
id: setup-buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # version: v4.0.0
with:
driver: remote
endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234
timeout-minutes: 10
- name: Download artifacts
if: github.event_name != 'schedule'
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # version: v8.0.0
with:
name: talos-artifacts
path: _out
- name: Fix artifact permissions
if: github.event_name != 'schedule'
run: |
xargs -a _out/executable-artifacts -I {} chmod +x {}
- name: ci-temp-release-tag
if: github.event_name != 'schedule'
run: |
make ci-temp-release-tag
- name: build
if: github.event_name == 'schedule'
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
PUSH: "true"
run: |
make talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer-base imager talos _out/integration-test-linux-amd64
- name: talosctl-cni-bundle
if: github.event_name == 'schedule'
run: |
make talosctl-cni-bundle
- name: installer
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
IMAGER_ARGS: --extra-kernel-arg=talos.extra_cmdline=extra-super-cmdline
PLATFORM: linux/amd64,linux/arm64
TAG_SUFFIX_OUT: -extra-cmdline
run: |
make installer
- name: provision-tests-prepare
run: |
make provision-tests-prepare
- name: provision-tests-track-2
env:
GRPC_ENFORCE_ALPN_ENABLED: "false"
IMAGE_REGISTRY: registry.dev.siderolabs.io
run: |
sudo -E make provision-tests-track-2
- name: save artifacts
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # version: v7.0.0
with:
name: talos-logs-integration-provision-2
path: |-
/tmp/logs-*.tar.gz
/tmp/support-*.zip
retention-days: "5"
integration-provision-3:
permissions:
actions: read
contents: write
issues: read
packages: write
pull-requests: read
runs-on:
group: large
if: contains(fromJSON(needs.default.outputs.labels), 'integration/provision') || contains(fromJSON(needs.default.outputs.labels), 'integration/provision-3') || contains(fromJSON(needs.default.outputs.labels), 'integration/release-gate')
needs:
- default
steps:
- name: gather-system-info
id: system-info
uses: kenchan0130/actions-system-info@59699597e84e80085a750998045983daa49274c4 # version: v1.4.0
continue-on-error: true
- name: print-system-info
run: |
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
OUTPUTS=(
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
"Hostname: ${{ steps.system-info.outputs.hostname }}"
"NodeName: ${NODE_NAME}"
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
"Name: ${{ steps.system-info.outputs.name }}"
"Platform: ${{ steps.system-info.outputs.platform }}"
"Release: ${{ steps.system-info.outputs.release }}"
"Total memory: ${MEMORY_GB} GB"
)
for OUTPUT in "${OUTPUTS[@]}";do
echo "${OUTPUT}"
done
continue-on-error: true
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Set up Docker Buildx
id: setup-buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # version: v4.0.0
with:
driver: remote
endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234
timeout-minutes: 10
- name: Download artifacts
if: github.event_name != 'schedule'
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # version: v8.0.0
with:
name: talos-artifacts
path: _out
- name: Fix artifact permissions
if: github.event_name != 'schedule'
run: |
xargs -a _out/executable-artifacts -I {} chmod +x {}
- name: ci-temp-release-tag
if: github.event_name != 'schedule'
run: |
make ci-temp-release-tag
- name: build
if: github.event_name == 'schedule'
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
PUSH: "true"
run: |
make talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer-base imager talos _out/integration-test-linux-amd64
- name: talosctl-cni-bundle
if: github.event_name == 'schedule'
run: |
make talosctl-cni-bundle
- name: provision-tests-prepare
run: |
make provision-tests-prepare
- name: provision-tests-track-3
env:
GRPC_ENFORCE_ALPN_ENABLED: "false"
IMAGE_REGISTRY: registry.dev.siderolabs.io
run: |
sudo -E make provision-tests-track-3
- name: save artifacts
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # version: v7.0.0
with:
name: talos-logs-integration-provision-3
path: |-
/tmp/logs-*.tar.gz
/tmp/support-*.zip
retention-days: "5"
integration-qemu:
permissions:
actions: read
contents: write
issues: read
packages: write
pull-requests: read
runs-on:
group: large
if: contains(fromJSON(needs.default.outputs.labels), 'integration/qemu') || contains(fromJSON(needs.default.outputs.labels), 'integration/release-gate')
needs:
- default
steps:
- name: gather-system-info
id: system-info
uses: kenchan0130/actions-system-info@59699597e84e80085a750998045983daa49274c4 # version: v1.4.0
continue-on-error: true
- name: print-system-info
run: |
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
OUTPUTS=(
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
"Hostname: ${{ steps.system-info.outputs.hostname }}"
"NodeName: ${NODE_NAME}"
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
"Name: ${{ steps.system-info.outputs.name }}"
"Platform: ${{ steps.system-info.outputs.platform }}"
"Release: ${{ steps.system-info.outputs.release }}"
"Total memory: ${MEMORY_GB} GB"
)
for OUTPUT in "${OUTPUTS[@]}";do
echo "${OUTPUT}"
done
continue-on-error: true
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Set up Docker Buildx
id: setup-buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # version: v4.0.0
with:
driver: remote
endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234
timeout-minutes: 10
- name: Download artifacts
if: github.event_name != 'schedule'
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # version: v8.0.0
with:
name: talos-artifacts
path: _out
- name: Fix artifact permissions
if: github.event_name != 'schedule'
run: |
xargs -a _out/executable-artifacts -I {} chmod +x {}
- name: ci-temp-release-tag
if: github.event_name != 'schedule'
run: |
make ci-temp-release-tag
- name: build
if: github.event_name == 'schedule'
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
PUSH: "true"
run: |
make talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer-base imager talos _out/integration-test-linux-amd64
- name: talosctl-cni-bundle
if: github.event_name == 'schedule'
run: |
make talosctl-cni-bundle
- name: e2e-qemu
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
QEMU_EXTRA_DISKS: "4"
QEMU_EXTRA_DISKS_DRIVERS: virtiofs,ide,nvme
QEMU_EXTRA_DISKS_SIZE: "10240"
QEMU_EXTRA_DISKS_TAGS: disk0
USER_DISKS_MOUNTS: /var/mnt/extra,/var/mnt/p1,/var/mnt/p2
WITH_CONFIG_PATCH: '@hack/test/patches/image-verification.yaml'
WITH_CONFIG_PATCH_WORKER: '@hack/test/patches/ephemeral-nvme.yaml:@hack/test/patches/dm-raid-module.yaml'
WITH_USER_DISK: "true"
run: |
sudo -E make e2e-qemu
- name: save artifacts
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # version: v7.0.0
with:
name: talos-logs-integration-qemu
path: |-
/tmp/logs-*.tar.gz
/tmp/support-*.zip
retention-days: "5"
integration-qemu-csi-longhorn:
permissions:
actions: read
contents: write
issues: read
packages: write
pull-requests: read
runs-on:
group: large
if: contains(fromJSON(needs.default.outputs.labels), 'integration/qemu-csi') || contains(fromJSON(needs.default.outputs.labels), 'integration/extensions') || contains(fromJSON(needs.default.outputs.labels), 'integration/qemu-csi-longhorn') || contains(fromJSON(needs.default.outputs.labels), 'integration/release-gate')
needs:
- default
steps:
- name: gather-system-info
id: system-info
uses: kenchan0130/actions-system-info@59699597e84e80085a750998045983daa49274c4 # version: v1.4.0
continue-on-error: true
- name: print-system-info
run: |
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
OUTPUTS=(
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
"Hostname: ${{ steps.system-info.outputs.hostname }}"
"NodeName: ${NODE_NAME}"
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
"Name: ${{ steps.system-info.outputs.name }}"
"Platform: ${{ steps.system-info.outputs.platform }}"
"Release: ${{ steps.system-info.outputs.release }}"
"Total memory: ${MEMORY_GB} GB"
)
for OUTPUT in "${OUTPUTS[@]}";do
echo "${OUTPUT}"
done
continue-on-error: true
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Set up Docker Buildx
id: setup-buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # version: v4.0.0
with:
driver: remote
endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234
timeout-minutes: 10
- name: Download artifacts
if: github.event_name != 'schedule'
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # version: v8.0.0
with:
name: talos-artifacts
path: _out
- name: Fix artifact permissions
if: github.event_name != 'schedule'
run: |
xargs -a _out/executable-artifacts -I {} chmod +x {}
- name: ci-temp-release-tag
if: github.event_name != 'schedule'
run: |
make ci-temp-release-tag
- name: generate
if: github.event_name == 'schedule'
run: |
make generate
- name: build
if: github.event_name == 'schedule'
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
PUSH: "true"
run: |
make talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer-base imager talos _out/integration-test-linux-amd64
- name: talosctl-cni-bundle
if: github.event_name == 'schedule'
run: |
make talosctl-cni-bundle
- name: checkout extensions
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
with:
path: _out/extensions
ref: main
repository: siderolabs/extensions
- name: set variables
run: |
cat _out/talos-metadata >> "$GITHUB_ENV"
- name: build extensions
env:
PLATFORM: linux/amd64
PUSH: "true"
REGISTRY: registry.dev.siderolabs.io
run: |
make iscsi-tools util-linux-tools extensions-metadata -C _out/extensions
- name: installer extensions
env:
EXTENSIONS_FILTER_COMMAND: grep -E '/iscsi-tools|util-linux-tools'
IMAGE_REGISTRY: registry.dev.siderolabs.io
run: |
make installer-with-extensions
- name: kubelet-fat-patch
run: |
make kubelet-fat-patch
- name: e2e-qemu-csi-longhorn
env:
EXTRA_TEST_ARGS: -talos.csi=longhorn
GITHUB_STEP_NAME: ${{ github.job}}-e2e-qemu-csi-longhorn
IMAGE_REGISTRY: registry.dev.siderolabs.io
QEMU_EXTRA_DISKS: "1"
QEMU_EXTRA_DISKS_DRIVERS: nvme
QEMU_EXTRA_DISKS_SIZE: "12288"
QEMU_MEMORY_WORKERS: "8192"
QEMU_SYSTEM_DISK_SIZE: "20480"
QEMU_WORKERS: "3"
SHORT_INTEGRATION_TEST: "yes"
WITH_CONFIG_PATCH_CONTROLPLANE: '@hack/test/patches/longhorn-cp.yaml'
WITH_CONFIG_PATCH_WORKER: '@_out/installer-extensions-patch.yaml:@_out/kubelet-fat-patch.yaml:@hack/test/patches/longhorn.yaml'
run: |
sudo -E make e2e-qemu
- name: save artifacts
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # version: v7.0.0
with:
name: fio-integration-qemu-csi-longhorn
path: |
/tmp/fio-*.json
retention-days: "180"
- name: save artifacts
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # version: v7.0.0
with:
name: talos-logs-integration-qemu-csi-longhorn
path: |-
/tmp/logs-*.tar.gz
/tmp/support-*.zip
retention-days: "5"
integration-qemu-csi-openebs:
permissions:
actions: read
contents: write
issues: read
packages: write
pull-requests: read
runs-on:
group: large
if: contains(fromJSON(needs.default.outputs.labels), 'integration/qemu-csi') || contains(fromJSON(needs.default.outputs.labels), 'integration/qemu-csi-openebs') || contains(fromJSON(needs.default.outputs.labels), 'integration/release-gate')
needs:
- default
steps:
- name: gather-system-info
id: system-info
uses: kenchan0130/actions-system-info@59699597e84e80085a750998045983daa49274c4 # version: v1.4.0
continue-on-error: true
- name: print-system-info
run: |
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
OUTPUTS=(
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
"Hostname: ${{ steps.system-info.outputs.hostname }}"
"NodeName: ${NODE_NAME}"
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
"Name: ${{ steps.system-info.outputs.name }}"
"Platform: ${{ steps.system-info.outputs.platform }}"
"Release: ${{ steps.system-info.outputs.release }}"
"Total memory: ${MEMORY_GB} GB"
)
for OUTPUT in "${OUTPUTS[@]}";do
echo "${OUTPUT}"
done
continue-on-error: true
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Set up Docker Buildx
id: setup-buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # version: v4.0.0
with:
driver: remote
endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234
timeout-minutes: 10
- name: Download artifacts
if: github.event_name != 'schedule'
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # version: v8.0.0
with:
name: talos-artifacts
path: _out
- name: Fix artifact permissions
if: github.event_name != 'schedule'
run: |
xargs -a _out/executable-artifacts -I {} chmod +x {}
- name: ci-temp-release-tag
if: github.event_name != 'schedule'
run: |
make ci-temp-release-tag
- name: build
if: github.event_name == 'schedule'
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
PUSH: "true"
run: |
make talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer-base imager talos _out/integration-test-linux-amd64
- name: talosctl-cni-bundle
if: github.event_name == 'schedule'
run: |
make talosctl-cni-bundle
- name: e2e-qemu-csi-openebs
env:
EXTRA_TEST_ARGS: -talos.csi=openebs
GITHUB_STEP_NAME: ${{ github.job}}-e2e-qemu-csi-openebs
IMAGE_REGISTRY: registry.dev.siderolabs.io
QEMU_CPUS_WORKERS: "4"
QEMU_EXTRA_DISKS: "1"
QEMU_EXTRA_DISKS_SIZE: "12288"
QEMU_MEMORY_WORKERS: "8192"
QEMU_WORKERS: "3"
SHORT_INTEGRATION_TEST: "yes"
WITH_CONFIG_PATCH_CONTROLPLANE: '@hack/test/patches/openebs-cp.yaml'
WITH_CONFIG_PATCH_WORKER: '@hack/test/patches/openebs.yaml'
run: |
sudo -E make e2e-qemu
- name: save artifacts
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # version: v7.0.0
with:
name: fio-integration-qemu-csi-openebs
path: |
/tmp/fio-*.json
retention-days: "180"
- name: save artifacts
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # version: v7.0.0
with:
name: talos-logs-integration-qemu-csi-openebs
path: |-
/tmp/logs-*.tar.gz
/tmp/support-*.zip
retention-days: "5"
integration-qemu-csi-rook-ceph:
permissions:
actions: read
contents: write
issues: read
packages: write
pull-requests: read
runs-on:
group: large
if: contains(fromJSON(needs.default.outputs.labels), 'integration/qemu-csi') || contains(fromJSON(needs.default.outputs.labels), 'integration/qemu-csi-rook-ceph') || contains(fromJSON(needs.default.outputs.labels), 'integration/release-gate')
needs:
- default
steps:
- name: gather-system-info
id: system-info
uses: kenchan0130/actions-system-info@59699597e84e80085a750998045983daa49274c4 # version: v1.4.0
continue-on-error: true
- name: print-system-info
run: |
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
OUTPUTS=(
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
"Hostname: ${{ steps.system-info.outputs.hostname }}"
"NodeName: ${NODE_NAME}"
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
"Name: ${{ steps.system-info.outputs.name }}"
"Platform: ${{ steps.system-info.outputs.platform }}"
"Release: ${{ steps.system-info.outputs.release }}"
"Total memory: ${MEMORY_GB} GB"
)
for OUTPUT in "${OUTPUTS[@]}";do
echo "${OUTPUT}"
done
continue-on-error: true
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Set up Docker Buildx
id: setup-buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # version: v4.0.0
with:
driver: remote
endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234
timeout-minutes: 10
- name: Download artifacts
if: github.event_name != 'schedule'
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # version: v8.0.0
with:
name: talos-artifacts
path: _out
- name: Fix artifact permissions
if: github.event_name != 'schedule'
run: |
xargs -a _out/executable-artifacts -I {} chmod +x {}
- name: ci-temp-release-tag
if: github.event_name != 'schedule'
run: |
make ci-temp-release-tag
- name: build
if: github.event_name == 'schedule'
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
PUSH: "true"
run: |
make talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer-base imager talos _out/integration-test-linux-amd64
- name: talosctl-cni-bundle
if: github.event_name == 'schedule'
run: |
make talosctl-cni-bundle
- name: e2e-qemu-csi-rook-ceph
env:
EXTRA_TEST_ARGS: -talos.csi=rook-ceph
GITHUB_STEP_NAME: ${{ github.job}}-e2e-qemu-csi-rook-ceph
IMAGE_REGISTRY: registry.dev.siderolabs.io
QEMU_CPUS_WORKERS: "6"
QEMU_EXTRA_DISKS: "1"
QEMU_EXTRA_DISKS_SIZE: "12288"
QEMU_MEMORY_WORKERS: "8192"
QEMU_WORKERS: "3"
SHORT_INTEGRATION_TEST: "yes"
WITH_CONFIG_PATCH_CONTROLPLANE: '@hack/test/patches/rook-ceph.yaml'
run: |
sudo -E make e2e-qemu
- name: save artifacts
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # version: v7.0.0
with:
name: fio-integration-qemu-csi-rook-ceph
path: |
/tmp/fio-*.json
retention-days: "180"
- name: save artifacts
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # version: v7.0.0
with:
name: talos-logs-integration-qemu-csi-rook-ceph
path: |-
/tmp/logs-*.tar.gz
/tmp/support-*.zip
retention-days: "5"
integration-qemu-encrypted-vip:
permissions:
actions: read
contents: write
issues: read
packages: write
pull-requests: read
runs-on:
group: large
if: contains(fromJSON(needs.default.outputs.labels), 'integration/qemu-encrypted-vip') || contains(fromJSON(needs.default.outputs.labels), 'integration/release-gate')
needs:
- default
steps:
- name: gather-system-info
id: system-info
uses: kenchan0130/actions-system-info@59699597e84e80085a750998045983daa49274c4 # version: v1.4.0
continue-on-error: true
- name: print-system-info
run: |
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
OUTPUTS=(
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
"Hostname: ${{ steps.system-info.outputs.hostname }}"
"NodeName: ${NODE_NAME}"
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
"Name: ${{ steps.system-info.outputs.name }}"
"Platform: ${{ steps.system-info.outputs.platform }}"
"Release: ${{ steps.system-info.outputs.release }}"
"Total memory: ${MEMORY_GB} GB"
)
for OUTPUT in "${OUTPUTS[@]}";do
echo "${OUTPUT}"
done
continue-on-error: true
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Set up Docker Buildx
id: setup-buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # version: v4.0.0
with:
driver: remote
endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234
timeout-minutes: 10
- name: Download artifacts
if: github.event_name != 'schedule'
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # version: v8.0.0
with:
name: talos-artifacts
path: _out
- name: Fix artifact permissions
if: github.event_name != 'schedule'
run: |
xargs -a _out/executable-artifacts -I {} chmod +x {}
- name: ci-temp-release-tag
if: github.event_name != 'schedule'
run: |
make ci-temp-release-tag
- name: build
if: github.event_name == 'schedule'
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
PUSH: "true"
run: |
make talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer-base imager talos _out/integration-test-linux-amd64
- name: talosctl-cni-bundle
if: github.event_name == 'schedule'
run: |
make talosctl-cni-bundle
- name: e2e-qemu
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
QEMU_EXTRA_DISKS: "4"
QEMU_EXTRA_DISKS_DRIVERS: virtiofs,ide,nvme
QEMU_EXTRA_DISKS_SIZE: "10240"
QEMU_EXTRA_DISKS_TAGS: disk0
WITH_CONFIG_PATCH: '@hack/test/patches/image-verification.yaml'
WITH_CONFIG_PATCH_WORKER: '@hack/test/patches/ephemeral-nvme.yaml:@hack/test/patches/dm-raid-module.yaml'
WITH_DISK_ENCRYPTION: "true"
WITH_KUBESPAN: "true"
WITH_VIRTUAL_IP: "true"
run: |
sudo -E make e2e-qemu
- name: save artifacts
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # version: v7.0.0
with:
name: talos-logs-integration-qemu-encrypted-vip
path: |-
/tmp/logs-*.tar.gz
/tmp/support-*.zip
retention-days: "5"
integration-qemu-enforcing:
permissions:
actions: read
contents: write
issues: read
packages: write
pull-requests: read
runs-on:
group: large
if: contains(fromJSON(needs.default.outputs.labels), 'integration/qemu-enforcing') || contains(fromJSON(needs.default.outputs.labels), 'integration/release-gate')
needs:
- default
steps:
- name: gather-system-info
id: system-info
uses: kenchan0130/actions-system-info@59699597e84e80085a750998045983daa49274c4 # version: v1.4.0
continue-on-error: true
- name: print-system-info
run: |
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
OUTPUTS=(
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
"Hostname: ${{ steps.system-info.outputs.hostname }}"
"NodeName: ${NODE_NAME}"
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
"Name: ${{ steps.system-info.outputs.name }}"
"Platform: ${{ steps.system-info.outputs.platform }}"
"Release: ${{ steps.system-info.outputs.release }}"
"Total memory: ${MEMORY_GB} GB"
)
for OUTPUT in "${OUTPUTS[@]}";do
echo "${OUTPUT}"
done
continue-on-error: true
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Set up Docker Buildx
id: setup-buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # version: v4.0.0
with:
driver: remote
endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234
timeout-minutes: 10
- name: Download artifacts
if: github.event_name != 'schedule'
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # version: v8.0.0
with:
name: talos-artifacts
path: _out
- name: Fix artifact permissions
if: github.event_name != 'schedule'
run: |
xargs -a _out/executable-artifacts -I {} chmod +x {}
- name: ci-temp-release-tag
if: github.event_name != 'schedule'
run: |
make ci-temp-release-tag
- name: build
if: github.event_name == 'schedule'
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
PUSH: "true"
run: |
make talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer-base imager talos _out/integration-test-linux-amd64
- name: uki-certs
if: github.event_name == 'schedule'
env:
PLATFORM: linux/amd64
run: |
make uki-certs
- name: talosctl-cni-bundle
if: github.event_name == 'schedule'
run: |
make talosctl-cni-bundle
- name: images-essential-enforcing
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
IMAGER_ARGS: --extra-kernel-arg=console=ttyS0 --extra-kernel-arg=enforcing=1
PLATFORM: linux/amd64,linux/arm64
PUSH: "true"
TAG_SUFFIX_OUT: -enforcing
run: |
make images-essential
- name: e2e-qemu
env:
EXTRA_TEST_ARGS: -talos.enforcing
IMAGE_REGISTRY: registry.dev.siderolabs.io
QEMU_EXTRA_DISKS: "3"
QEMU_EXTRA_DISKS_DRIVERS: ide,nvme
QEMU_EXTRA_DISKS_SIZE: "10240"
TAG_SUFFIX_IN: -enforcing
USER_DISKS_MOUNTS: /var/mnt/extra,/var/mnt/p1,/var/mnt/p2
WITH_CONFIG_PATCH: '@hack/test/patches/image-verification.yaml'
WITH_CONFIG_PATCH_WORKER: '@hack/test/patches/ephemeral-nvme.yaml:@hack/test/patches/dm-raid-module.yaml'
WITH_ENFORCING: "true"
WITH_USER_DISK: "true"
run: |
sudo -E make e2e-qemu
- name: save artifacts
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # version: v7.0.0
with:
name: talos-logs-integration-qemu-enforcing
path: |-
/tmp/logs-*.tar.gz
/tmp/support-*.zip
retention-days: "5"
integration-qemu-race:
permissions:
actions: read
contents: write
issues: read
packages: write
pull-requests: read
runs-on:
group: large
if: contains(fromJSON(needs.default.outputs.labels), 'integration/qemu-race') || contains(fromJSON(needs.default.outputs.labels), 'integration/release-gate')
needs:
- default
steps:
- name: gather-system-info
id: system-info
uses: kenchan0130/actions-system-info@59699597e84e80085a750998045983daa49274c4 # version: v1.4.0
continue-on-error: true
- name: print-system-info
run: |
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
OUTPUTS=(
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
"Hostname: ${{ steps.system-info.outputs.hostname }}"
"NodeName: ${NODE_NAME}"
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
"Name: ${{ steps.system-info.outputs.name }}"
"Platform: ${{ steps.system-info.outputs.platform }}"
"Release: ${{ steps.system-info.outputs.release }}"
"Total memory: ${MEMORY_GB} GB"
)
for OUTPUT in "${OUTPUTS[@]}";do
echo "${OUTPUT}"
done
continue-on-error: true
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Set up Docker Buildx
id: setup-buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # version: v4.0.0
with:
driver: remote
endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234
timeout-minutes: 10
- name: Download artifacts
if: github.event_name != 'schedule'
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # version: v8.0.0
with:
name: talos-artifacts
path: _out
- name: Fix artifact permissions
if: github.event_name != 'schedule'
run: |
xargs -a _out/executable-artifacts -I {} chmod +x {}
- name: ci-temp-release-tag
if: github.event_name != 'schedule'
run: |
make ci-temp-release-tag
- name: build
if: github.event_name == 'schedule'
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
PUSH: "true"
run: |
make talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer-base imager talos _out/integration-test-linux-amd64
- name: talosctl-cni-bundle
if: github.event_name == 'schedule'
run: |
make talosctl-cni-bundle
- name: build-race
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64
PUSH: "true"
TAG_SUFFIX: -race
WITH_RACE: "1"
run: |
make initramfs installer-base imager installer
- name: e2e-qemu-race
env:
EXTRA_TEST_ARGS: -talos.race
GITHUB_STEP_NAME: ${{ github.job}}-e2e-qemu-race
IMAGE_REGISTRY: registry.dev.siderolabs.io
QEMU_EXTRA_DISKS: "4"
QEMU_EXTRA_DISKS_DRIVERS: virtiofs,ide,nvme
QEMU_EXTRA_DISKS_SIZE: "10240"
QEMU_EXTRA_DISKS_TAGS: disk0
QEMU_MEMORY_CONTROLPLANES: "4096"
QEMU_MEMORY_WORKERS: "4096"
TAG_SUFFIX: -race
WITH_CONFIG_PATCH_WORKER: '@hack/test/patches/ephemeral-nvme.yaml:@hack/test/patches/dm-raid-module.yaml'
run: |
sudo -E make e2e-qemu
- name: save artifacts
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # version: v7.0.0
with:
name: talos-logs-integration-qemu-race
path: |-
/tmp/logs-*.tar.gz
/tmp/support-*.zip
retention-days: "5"
integration-reproducibility-test:
permissions:
actions: read
contents: write
issues: read
packages: write
pull-requests: read
runs-on:
group: large
if: contains(fromJSON(needs.default.outputs.labels), 'integration/reproducibility-test') || contains(fromJSON(needs.default.outputs.labels), 'integration/release-gate')
needs:
- default
steps:
- name: gather-system-info
id: system-info
uses: kenchan0130/actions-system-info@59699597e84e80085a750998045983daa49274c4 # version: v1.4.0
continue-on-error: true
- name: print-system-info
run: |
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
OUTPUTS=(
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
"Hostname: ${{ steps.system-info.outputs.hostname }}"
"NodeName: ${NODE_NAME}"
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
"Name: ${{ steps.system-info.outputs.name }}"
"Platform: ${{ steps.system-info.outputs.platform }}"
"Release: ${{ steps.system-info.outputs.release }}"
"Total memory: ${MEMORY_GB} GB"
)
for OUTPUT in "${OUTPUTS[@]}";do
echo "${OUTPUT}"
done
continue-on-error: true
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Set up Docker Buildx
id: setup-buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # version: v4.0.0
with:
driver: remote
endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234
timeout-minutes: 10
- name: Download artifacts
if: github.event_name != 'schedule'
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # version: v8.0.0
with:
name: talos-artifacts
path: _out
- name: Fix artifact permissions
if: github.event_name != 'schedule'
run: |
xargs -a _out/executable-artifacts -I {} chmod +x {}
- name: ci-temp-release-tag
if: github.event_name != 'schedule'
run: |
make ci-temp-release-tag
- name: reproducibility-test
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
run: |
make reproducibility-test
integration-trusted-boot:
permissions:
actions: read
contents: write
issues: read
packages: write
pull-requests: read
runs-on:
group: large
if: contains(fromJSON(needs.default.outputs.labels), 'integration/trusted-boot') || contains(fromJSON(needs.default.outputs.labels), 'integration/release-gate')
needs:
- default
steps:
- name: gather-system-info
id: system-info
uses: kenchan0130/actions-system-info@59699597e84e80085a750998045983daa49274c4 # version: v1.4.0
continue-on-error: true
- name: print-system-info
run: |
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
OUTPUTS=(
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
"Hostname: ${{ steps.system-info.outputs.hostname }}"
"NodeName: ${NODE_NAME}"
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
"Name: ${{ steps.system-info.outputs.name }}"
"Platform: ${{ steps.system-info.outputs.platform }}"
"Release: ${{ steps.system-info.outputs.release }}"
"Total memory: ${MEMORY_GB} GB"
)
for OUTPUT in "${OUTPUTS[@]}";do
echo "${OUTPUT}"
done
continue-on-error: true
- name: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # version: v6.0.2
- name: Unshallow
run: |
git fetch --prune --unshallow
- name: Set up Docker Buildx
id: setup-buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # version: v4.0.0
with:
driver: remote
endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234
timeout-minutes: 10
- name: Download artifacts
if: github.event_name != 'schedule'
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # version: v8.0.0
with:
name: talos-artifacts
path: _out
- name: Fix artifact permissions
if: github.event_name != 'schedule'
run: |
xargs -a _out/executable-artifacts -I {} chmod +x {}
- name: ci-temp-release-tag
if: github.event_name != 'schedule'
run: |
make ci-temp-release-tag
- name: uki-certs
if: github.event_name == 'schedule'
env:
PLATFORM: linux/amd64
run: |
make uki-certs
- name: build
if: github.event_name == 'schedule'
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
PLATFORM: linux/amd64,linux/arm64
PUSH: "true"
run: |
make talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer-base imager talos _out/integration-test-linux-amd64
- name: talosctl-cni-bundle
if: github.event_name == 'schedule'
run: |
make talosctl-cni-bundle
- name: images-essential
if: github.event_name == 'schedule'
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
IMAGER_ARGS: --extra-kernel-arg=console=ttyS0
PLATFORM: linux/amd64,linux/arm64
run: |
make images-essential
- name: secureboot-iso
if: github.event_name == 'schedule'
env:
IMAGE_REGISTRY: registry.dev.siderolabs.io
IMAGER_ARGS: --extra-kernel-arg=console=ttyS0
PLATFORM: linux/amd64,linux/arm64
run: |
make secureboot-iso
- name: integration-trusted-boot
env:
EXTRA_TEST_ARGS: -talos.trustedboot
GITHUB_STEP_NAME: ${{ github.job}}-integration-trusted-boot
IMAGE_REGISTRY: registry.dev.siderolabs.io
VIA_MAINTENANCE_MODE: "true"
WITH_CONFIG_PATCH: '@hack/test/patches/image-verification.yaml'
WITH_TRUSTED_BOOT_ISO: "true"
run: |
sudo -E make e2e-qemu
- name: save artifacts
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # version: v7.0.0
with:
name: talos-logs-integration-trusted-boot
path: |-
/tmp/logs-*.tar.gz
/tmp/support-*.zip
retention-days: "5"
integration-trusted-boot-enforcing:
permissions:
actions: read
contents: write
issues: read
packages: write
pull-requests: read
runs-on:
group: large
if: contains(fromJSON(needs.default.outputs.labels), 'integration/trusted-boot-enforcing')
needs:
- default
steps:
- name: gather-system-info
id: system-info
uses: kenchan0130/actions-system-info@59699597e84e80085a750998045983daa49274c4 # version: v1.4.0
continue-on-error: true
- name: print-system-info
run: |
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
OUTPUTS=(
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
"Hostname: ${{ steps.system-info.outputs.hostname }}"
"NodeName: ${NODE_NAME}"
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
"Name: ${{ steps.system-
gitextract_l8ced00e/
├── .codecov.yml
├── .conform.yaml
├── .dockerignore
├── .github/
│ ├── FUNDING.yml
│ ├── ISSUE_TEMPLATE/
│ │ ├── BUG_REPORT.md
│ │ ├── FEATURE_REQUEST.md
│ │ └── config.yml
│ ├── PULL_REQUEST_TEMPLATE.md
│ ├── renovate.json
│ └── workflows/
│ ├── ci.yaml
│ ├── dispatch.yaml
│ ├── grype-scan-cron.yaml
│ ├── integration-airgapped-cron.yaml
│ ├── integration-aws-cron.yaml
│ ├── integration-aws-nvidia-nonfree-lts-cron.yaml
│ ├── integration-aws-nvidia-nonfree-production-cron.yaml
│ ├── integration-aws-nvidia-oss-lts-cron.yaml
│ ├── integration-aws-nvidia-oss-production-cron.yaml
│ ├── integration-cilium-cron.yaml
│ ├── integration-conformance-cron.yaml
│ ├── integration-conformance-enforcing-cron.yaml
│ ├── integration-embedded-cron.yaml
│ ├── integration-extensions-cron.yaml
│ ├── integration-gcp-cron.yaml
│ ├── integration-image-cache-cron.yaml
│ ├── integration-image-factory-cron.yaml
│ ├── integration-images-cron.yaml
│ ├── integration-misc-0-cron.yaml
│ ├── integration-misc-1-cron.yaml
│ ├── integration-misc-1-enforcing-cron.yaml
│ ├── integration-misc-2-cron.yaml
│ ├── integration-misc-3-cron.yaml
│ ├── integration-misc-3-enforcing-cron.yaml
│ ├── integration-misc-4-cron.yaml
│ ├── integration-misc-4-enforcing-cron.yaml
│ ├── integration-provision-0-cron.yaml
│ ├── integration-provision-1-cron.yaml
│ ├── integration-provision-2-cron.yaml
│ ├── integration-provision-3-cron.yaml
│ ├── integration-qemu-cron.yaml
│ ├── integration-qemu-csi-longhorn-cron.yaml
│ ├── integration-qemu-csi-openebs-cron.yaml
│ ├── integration-qemu-csi-rook-ceph-cron.yaml
│ ├── integration-qemu-encrypted-vip-cron.yaml
│ ├── integration-qemu-enforcing-cron.yaml
│ ├── integration-qemu-race-cron.yaml
│ ├── integration-reproducibility-test-cron.yaml
│ ├── integration-trusted-boot-cron.yaml
│ ├── integration-trusted-boot-enforcing-cron.yaml
│ ├── lock.yaml
│ ├── lock.yml
│ ├── slack-notify-ci-failure.yaml
│ ├── slack-notify.yaml
│ ├── stale.yaml
│ ├── stale.yml
│ └── update-homebrew.yaml
├── .gitignore
├── .golangci.yml
├── .kres.yaml
├── .markdownlint.json
├── .secrets.yaml
├── .sops.yaml
├── .textlintrc.json
├── ADOPTERS.md
├── CHANGELOG.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── Dockerfile
├── LICENSE
├── Makefile
├── README.md
├── SECURITY.md
├── api/
│ ├── buf.gen.yaml
│ ├── buf.yaml
│ ├── cluster/
│ │ └── cluster.proto
│ ├── common/
│ │ └── common.proto
│ ├── docs.markdown.tmpl
│ ├── inspect/
│ │ └── inspect.proto
│ ├── lock.binpb
│ ├── machine/
│ │ ├── debug.proto
│ │ ├── image.proto
│ │ ├── lifecycle.proto
│ │ └── machine.proto
│ ├── resource/
│ │ ├── config/
│ │ │ └── config.proto
│ │ ├── definitions/
│ │ │ ├── block/
│ │ │ │ └── block.proto
│ │ │ ├── cluster/
│ │ │ │ └── cluster.proto
│ │ │ ├── cri/
│ │ │ │ └── cri.proto
│ │ │ ├── enums/
│ │ │ │ └── enums.proto
│ │ │ ├── etcd/
│ │ │ │ └── etcd.proto
│ │ │ ├── extensions/
│ │ │ │ └── extensions.proto
│ │ │ ├── files/
│ │ │ │ └── files.proto
│ │ │ ├── hardware/
│ │ │ │ └── hardware.proto
│ │ │ ├── k8s/
│ │ │ │ └── k8s.proto
│ │ │ ├── kubeaccess/
│ │ │ │ └── kubeaccess.proto
│ │ │ ├── kubespan/
│ │ │ │ └── kubespan.proto
│ │ │ ├── network/
│ │ │ │ └── network.proto
│ │ │ ├── perf/
│ │ │ │ └── perf.proto
│ │ │ ├── proto/
│ │ │ │ └── proto.proto
│ │ │ ├── runtime/
│ │ │ │ └── runtime.proto
│ │ │ ├── secrets/
│ │ │ │ └── secrets.proto
│ │ │ ├── security/
│ │ │ │ └── security.proto
│ │ │ ├── siderolink/
│ │ │ │ └── siderolink.proto
│ │ │ ├── time/
│ │ │ │ └── time.proto
│ │ │ └── v1alpha1/
│ │ │ └── v1alpha1.proto
│ │ └── network/
│ │ └── device_config.proto
│ ├── security/
│ │ └── security.proto
│ ├── storage/
│ │ └── storage.proto
│ ├── time/
│ │ └── time.proto
│ └── vendor/
│ └── google/
│ ├── api/
│ │ └── expr/
│ │ └── v1alpha1/
│ │ ├── checked.proto
│ │ ├── eval.proto
│ │ ├── explain.proto
│ │ ├── syntax.proto
│ │ └── value.proto
│ └── rpc/
│ └── status.proto
├── cmd/
│ ├── installer/
│ │ ├── cmd/
│ │ │ ├── imager/
│ │ │ │ └── root.go
│ │ │ └── installer/
│ │ │ ├── install.go
│ │ │ └── root.go
│ │ ├── main.go
│ │ └── pkg/
│ │ └── install/
│ │ ├── errata.go
│ │ ├── install.go
│ │ ├── meta_value.go
│ │ ├── meta_value_test.go
│ │ └── preflight.go
│ └── talosctl/
│ ├── acompat/
│ │ └── acompat.go
│ ├── cmd/
│ │ ├── common/
│ │ │ └── common.go
│ │ ├── completion.go
│ │ ├── constants/
│ │ │ └── constants.go
│ │ ├── docs.go
│ │ ├── mgmt/
│ │ │ ├── cluster/
│ │ │ │ ├── cluster.go
│ │ │ │ ├── create/
│ │ │ │ │ ├── clusterops/
│ │ │ │ │ │ ├── configmaker/
│ │ │ │ │ │ │ ├── config_maker.go
│ │ │ │ │ │ │ ├── internal/
│ │ │ │ │ │ │ │ ├── makers/
│ │ │ │ │ │ │ │ │ ├── common.go
│ │ │ │ │ │ │ │ │ ├── common_test.go
│ │ │ │ │ │ │ │ │ ├── docker.go
│ │ │ │ │ │ │ │ │ ├── docker_test.go
│ │ │ │ │ │ │ │ │ ├── maker.go
│ │ │ │ │ │ │ │ │ ├── qemu.go
│ │ │ │ │ │ │ │ │ └── qemu_test.go
│ │ │ │ │ │ │ │ └── siderolinkbuilder/
│ │ │ │ │ │ │ │ ├── builder.go
│ │ │ │ │ │ │ │ ├── helpers_other.go
│ │ │ │ │ │ │ │ └── helpers_supported.go
│ │ │ │ │ │ │ └── preset/
│ │ │ │ │ │ │ ├── disk_image_preset.go
│ │ │ │ │ │ │ ├── iso_preset.go
│ │ │ │ │ │ │ ├── iso_secureboot_preset.go
│ │ │ │ │ │ │ ├── maintenance_preset.go
│ │ │ │ │ │ │ ├── preset.go
│ │ │ │ │ │ │ ├── preset_test.go
│ │ │ │ │ │ │ └── pxe_preset.go
│ │ │ │ │ │ ├── options.go
│ │ │ │ │ │ ├── options_linux.go
│ │ │ │ │ │ └── options_other.go
│ │ │ │ │ ├── cmd.go
│ │ │ │ │ ├── cmd_dev.go
│ │ │ │ │ ├── cmd_docker.go
│ │ │ │ │ ├── cmd_qemu.go
│ │ │ │ │ ├── create.go
│ │ │ │ │ ├── create_dev.go
│ │ │ │ │ ├── create_docker.go
│ │ │ │ │ ├── create_qemu.go
│ │ │ │ │ └── flags/
│ │ │ │ │ ├── agent.go
│ │ │ │ │ ├── disks.go
│ │ │ │ │ ├── disks_test.go
│ │ │ │ │ ├── virtiofs.go
│ │ │ │ │ └── virtiofs_test.go
│ │ │ │ ├── destroy.go
│ │ │ │ ├── internal/
│ │ │ │ │ └── firewallpatch/
│ │ │ │ │ └── firewallpatch.go
│ │ │ │ └── show.go
│ │ │ ├── debug/
│ │ │ │ ├── air-gapped.go
│ │ │ │ ├── debug.go
│ │ │ │ └── httproot/
│ │ │ │ └── debug.yaml
│ │ │ ├── dhcpd_launch.go
│ │ │ ├── dnsd_launch.go
│ │ │ ├── gen/
│ │ │ │ ├── ca.go
│ │ │ │ ├── config.go
│ │ │ │ ├── crt.go
│ │ │ │ ├── csr.go
│ │ │ │ ├── gen.go
│ │ │ │ ├── key.go
│ │ │ │ ├── keypair.go
│ │ │ │ ├── secrets.go
│ │ │ │ └── secureboot.go
│ │ │ ├── inject/
│ │ │ │ ├── inject.go
│ │ │ │ └── serviceaccount.go
│ │ │ ├── json_logs_launch.go
│ │ │ ├── kms_launch.go
│ │ │ ├── loadbalancer_launch.go
│ │ │ ├── machineconfig/
│ │ │ │ ├── gen.go
│ │ │ │ ├── machineconfig.go
│ │ │ │ └── patch.go
│ │ │ ├── qemu_launch.go
│ │ │ ├── root.go
│ │ │ ├── siderolink_launch.go
│ │ │ ├── validate.go
│ │ │ └── virtiofsd_launch.go
│ │ ├── root.go
│ │ └── talos/
│ │ ├── apply-config.go
│ │ ├── bootstrap.go
│ │ ├── cgroups.go
│ │ ├── cgroupsprinter/
│ │ │ ├── presets/
│ │ │ │ ├── cpu.yaml
│ │ │ │ ├── cpuset.yaml
│ │ │ │ ├── io.yaml
│ │ │ │ ├── memory.yaml
│ │ │ │ ├── process.yaml
│ │ │ │ ├── psi.yaml
│ │ │ │ └── swap.yaml
│ │ │ ├── presets.go
│ │ │ ├── presets_test.go
│ │ │ ├── schema.go
│ │ │ └── tree.go
│ │ ├── config.go
│ │ ├── config_test.go
│ │ ├── conformance.go
│ │ ├── containers.go
│ │ ├── copy.go
│ │ ├── crashdump.go
│ │ ├── dashboard.go
│ │ ├── debug.go
│ │ ├── disks.go
│ │ ├── diskusage.go
│ │ ├── dmesg.go
│ │ ├── edit.go
│ │ ├── etcd.go
│ │ ├── events.go
│ │ ├── get.go
│ │ ├── health.go
│ │ ├── image.go
│ │ ├── inspect.go
│ │ ├── install.go
│ │ ├── interfaces.go
│ │ ├── kubeconfig.go
│ │ ├── lifecycle/
│ │ │ └── lifecycle.go
│ │ ├── list.go
│ │ ├── logs.go
│ │ ├── memory.go
│ │ ├── meta.go
│ │ ├── mounts.go
│ │ ├── multiplex/
│ │ │ ├── multiplex.go
│ │ │ ├── stream.go
│ │ │ └── unary.go
│ │ ├── netstat.go
│ │ ├── output/
│ │ │ ├── json.go
│ │ │ ├── jsonpath.go
│ │ │ ├── jsonpath_test.go
│ │ │ ├── output.go
│ │ │ ├── table.go
│ │ │ └── yaml.go
│ │ ├── patch.go
│ │ ├── pcap.go
│ │ ├── processes.go
│ │ ├── pull/
│ │ │ └── pull.go
│ │ ├── read.go
│ │ ├── reboot.go
│ │ ├── reset.go
│ │ ├── restart.go
│ │ ├── rollback.go
│ │ ├── root.go
│ │ ├── rotate-ca.go
│ │ ├── routes.go
│ │ ├── service.go
│ │ ├── shutdown.go
│ │ ├── stats.go
│ │ ├── support.go
│ │ ├── time.go
│ │ ├── track.go
│ │ ├── upgrade-k8s.go
│ │ ├── upgrade.go
│ │ ├── version.go
│ │ └── wipe.go
│ ├── main.go
│ └── pkg/
│ ├── mgmt/
│ │ └── helpers/
│ │ ├── airgapped.go
│ │ ├── artifacts.go
│ │ ├── helpers_test.go
│ │ ├── image.go
│ │ └── wireguard.go
│ └── talos/
│ ├── action/
│ │ ├── node.go
│ │ └── tracker.go
│ ├── artifacts/
│ │ ├── arch.go
│ │ ├── fetch.go
│ │ └── images.go
│ ├── global/
│ │ └── client.go
│ ├── helpers/
│ │ ├── archive.go
│ │ ├── checks.go
│ │ ├── confirm.go
│ │ ├── error.go
│ │ ├── helpers_test.go
│ │ ├── labels.go
│ │ ├── mode.go
│ │ ├── resources.go
│ │ └── stream.go
│ └── yamlstrip/
│ ├── testdata/
│ │ ├── malformed.in.yaml
│ │ ├── malformed.out.yaml
│ │ ├── multidoc.in.yaml
│ │ └── multidoc.out.yaml
│ ├── yamlstrip.go
│ └── yamlstrip_test.go
├── go.mod
├── go.sum
├── go.work
├── hack/
│ ├── boilerplate.txt
│ ├── cleanup.sh
│ ├── cloud-image-uploader/
│ │ ├── README.md
│ │ ├── aws.go
│ │ ├── factory.go
│ │ ├── gcp.go
│ │ ├── go.mod
│ │ ├── go.sum
│ │ ├── main.go
│ │ ├── options.go
│ │ ├── role-policy.json
│ │ └── trust-policy.json
│ ├── cloud-image-uploader.sh
│ ├── containerd.toml
│ ├── cri-containerd.toml
│ ├── cri-plugin.part
│ ├── extra-modules.conf
│ ├── fix-artifacts.sh
│ ├── labeled-squashfs.sh
│ ├── lvm.conf
│ ├── modules-amd64.txt
│ ├── modules-arm64.txt
│ ├── nfsmount.conf
│ ├── release.sh
│ ├── release.toml
│ ├── sbom.sh
│ ├── start-registry-proxies.sh
│ ├── test/
│ │ ├── cis/
│ │ │ ├── kube-bench-master.yaml
│ │ │ └── kube-bench-node.yaml
│ │ ├── e2e-aws-prepare.sh
│ │ ├── e2e-aws.sh
│ │ ├── e2e-azure.sh
│ │ ├── e2e-cloud-tf.sh
│ │ ├── e2e-docker.sh
│ │ ├── e2e-embedded.sh
│ │ ├── e2e-gcp-prepare.sh
│ │ ├── e2e-gcp.sh
│ │ ├── e2e-image-factory.sh
│ │ ├── e2e-iso.sh
│ │ ├── e2e-qemu.sh
│ │ ├── e2e.sh
│ │ ├── patches/
│ │ │ ├── airgapped-timesync.yaml
│ │ │ ├── cilium-kubeproxy.yaml
│ │ │ ├── cilium-no-kubeproxy.yaml
│ │ │ ├── dm-raid-module.yaml
│ │ │ ├── ephemeral-min-max.yaml
│ │ │ ├── ephemeral-nvme.yaml
│ │ │ ├── extensions.yaml
│ │ │ ├── flannel-netpol.yaml
│ │ │ ├── image-cache-encrypted.yaml
│ │ │ ├── image-cache.yaml
│ │ │ ├── image-verification.yaml
│ │ │ ├── longhorn-cp.yaml
│ │ │ ├── longhorn.yaml
│ │ │ ├── node-address-v2.yaml
│ │ │ ├── openebs-cp.yaml
│ │ │ ├── openebs.yaml
│ │ │ ├── proxied-registry.yaml
│ │ │ ├── rook-ceph.yaml
│ │ │ ├── usernamespace.yaml
│ │ │ └── watchdog.yaml
│ │ ├── provision-tests.sh
│ │ └── tfvars/
│ │ ├── aws.jq
│ │ ├── azure.jq
│ │ ├── gcp.jq
│ │ └── nvidia.yaml
│ ├── udevd/
│ │ ├── 40-vm-hotadd.rules
│ │ ├── 90-selinux.rules
│ │ └── 99-default.link
│ └── zoneinfo/
│ └── Etc/
│ └── UTC
├── internal/
│ ├── app/
│ │ ├── apid/
│ │ │ ├── debug.go
│ │ │ ├── main.go
│ │ │ ├── pkg/
│ │ │ │ ├── backend/
│ │ │ │ │ ├── apid.go
│ │ │ │ │ ├── apid_factory.go
│ │ │ │ │ ├── apid_factory_test.go
│ │ │ │ │ ├── apid_test.go
│ │ │ │ │ └── backend.go
│ │ │ │ ├── director/
│ │ │ │ │ ├── director.go
│ │ │ │ │ ├── director_test.go
│ │ │ │ │ ├── local_address.go
│ │ │ │ │ └── mocks_test.go
│ │ │ │ └── provider/
│ │ │ │ ├── provider.go
│ │ │ │ └── provider_test.go
│ │ │ └── service.go
│ │ ├── auditd/
│ │ │ └── auditd.go
│ │ ├── dashboard/
│ │ │ └── main.go
│ │ ├── debug/
│ │ │ ├── container_streams.go
│ │ │ └── debug.go
│ │ ├── images/
│ │ │ ├── images.go
│ │ │ └── verify.go
│ │ ├── init/
│ │ │ └── main.go
│ │ ├── internal/
│ │ │ ├── ctrhelper/
│ │ │ │ └── ctrhelper.go
│ │ │ └── machinehelper/
│ │ │ └── machinehelper.go
│ │ ├── lifecycle/
│ │ │ ├── container.go
│ │ │ └── lifecycle.go
│ │ ├── machined/
│ │ │ ├── internal/
│ │ │ │ └── server/
│ │ │ │ └── v1alpha1/
│ │ │ │ ├── v1alpha1_cluster.go
│ │ │ │ ├── v1alpha1_images.go
│ │ │ │ ├── v1alpha1_inspect.go
│ │ │ │ ├── v1alpha1_meta.go
│ │ │ │ ├── v1alpha1_monitoring.go
│ │ │ │ ├── v1alpha1_server.go
│ │ │ │ ├── v1alpha1_time.go
│ │ │ │ └── v1alpha1_time_test.go
│ │ │ ├── main.go
│ │ │ ├── pkg/
│ │ │ │ ├── adapters/
│ │ │ │ │ ├── block/
│ │ │ │ │ │ ├── mount.go
│ │ │ │ │ │ ├── volume_config.go
│ │ │ │ │ │ └── volume_mount_status.go
│ │ │ │ │ ├── cluster/
│ │ │ │ │ │ ├── cluster.go
│ │ │ │ │ │ ├── identity.go
│ │ │ │ │ │ └── identity_test.go
│ │ │ │ │ ├── hardware/
│ │ │ │ │ │ ├── hardware.go
│ │ │ │ │ │ ├── memorymodule.go
│ │ │ │ │ │ ├── processor.go
│ │ │ │ │ │ └── system_information.go
│ │ │ │ │ ├── k8s/
│ │ │ │ │ │ ├── k8s.go
│ │ │ │ │ │ ├── manifest.go
│ │ │ │ │ │ ├── manifest_test.go
│ │ │ │ │ │ ├── static_pod.go
│ │ │ │ │ │ ├── static_pod_status.go
│ │ │ │ │ │ └── testdata/
│ │ │ │ │ │ └── list.yaml
│ │ │ │ │ ├── kubespan/
│ │ │ │ │ │ ├── identity.go
│ │ │ │ │ │ ├── identity_test.go
│ │ │ │ │ │ ├── kubespan.go
│ │ │ │ │ │ ├── peer_status.go
│ │ │ │ │ │ └── peer_status_test.go
│ │ │ │ │ ├── network/
│ │ │ │ │ │ ├── bond_master_spec.go
│ │ │ │ │ │ ├── bond_master_spec_test.go
│ │ │ │ │ │ ├── bridge_master_spec.go
│ │ │ │ │ │ ├── bridge_master_spec_test.go
│ │ │ │ │ │ ├── ipset.go
│ │ │ │ │ │ ├── ipset_test.go
│ │ │ │ │ │ ├── network.go
│ │ │ │ │ │ ├── nftables_rule.go
│ │ │ │ │ │ ├── nftables_rule_test.go
│ │ │ │ │ │ ├── vlan_spec.go
│ │ │ │ │ │ ├── vlan_spec_test.go
│ │ │ │ │ │ ├── vrf_master_spec.go
│ │ │ │ │ │ ├── vrf_master_spec_test.go
│ │ │ │ │ │ ├── wireguard_spec.go
│ │ │ │ │ │ └── wireguard_spec_test.go
│ │ │ │ │ ├── perf/
│ │ │ │ │ │ ├── cpu.go
│ │ │ │ │ │ ├── mem.go
│ │ │ │ │ │ └── perf.go
│ │ │ │ │ ├── secrets/
│ │ │ │ │ │ ├── encryption_salt.go
│ │ │ │ │ │ ├── encryption_salt_test.go
│ │ │ │ │ │ └── secrets.go
│ │ │ │ │ └── wireguard/
│ │ │ │ │ └── wireguard.go
│ │ │ │ ├── automaton/
│ │ │ │ │ ├── blockautomaton/
│ │ │ │ │ │ ├── blockmachine.go
│ │ │ │ │ │ ├── volume_mount.go
│ │ │ │ │ │ └── volume_mount_test.go
│ │ │ │ │ └── machine.go
│ │ │ │ ├── controllers/
│ │ │ │ │ ├── block/
│ │ │ │ │ │ ├── block.go
│ │ │ │ │ │ ├── devices.go
│ │ │ │ │ │ ├── devices_test.go
│ │ │ │ │ │ ├── discovery.go
│ │ │ │ │ │ ├── disks.go
│ │ │ │ │ │ ├── internal/
│ │ │ │ │ │ │ ├── inotify/
│ │ │ │ │ │ │ │ ├── inotify.go
│ │ │ │ │ │ │ │ └── inotify_test.go
│ │ │ │ │ │ │ ├── kobject/
│ │ │ │ │ │ │ │ ├── kobject.go
│ │ │ │ │ │ │ │ └── kobject_test.go
│ │ │ │ │ │ │ ├── sysblock/
│ │ │ │ │ │ │ │ ├── sysblock.go
│ │ │ │ │ │ │ │ └── sysblock_test.go
│ │ │ │ │ │ │ └── volumes/
│ │ │ │ │ │ │ ├── close.go
│ │ │ │ │ │ │ ├── disk.go
│ │ │ │ │ │ │ ├── disk_test.go
│ │ │ │ │ │ │ ├── encrypt.go
│ │ │ │ │ │ │ ├── encryption_meta.go
│ │ │ │ │ │ │ ├── encryption_meta_test.go
│ │ │ │ │ │ │ ├── format.go
│ │ │ │ │ │ │ ├── grow.go
│ │ │ │ │ │ │ ├── grow_test.go
│ │ │ │ │ │ │ ├── helpers_test.go
│ │ │ │ │ │ │ ├── locate.go
│ │ │ │ │ │ │ ├── locate_test.go
│ │ │ │ │ │ │ ├── partition.go
│ │ │ │ │ │ │ ├── partition_test.go
│ │ │ │ │ │ │ ├── volumeconfig/
│ │ │ │ │ │ │ │ ├── system_volumes.go
│ │ │ │ │ │ │ │ ├── system_volumes_test.go
│ │ │ │ │ │ │ │ ├── types.go
│ │ │ │ │ │ │ │ ├── user_volumes.go
│ │ │ │ │ │ │ │ ├── user_volumes_test.go
│ │ │ │ │ │ │ │ ├── volume_config_builder.go
│ │ │ │ │ │ │ │ └── volume_config_builder_test.go
│ │ │ │ │ │ │ ├── volumes.go
│ │ │ │ │ │ │ └── volumes_test.go
│ │ │ │ │ │ ├── lvm.go
│ │ │ │ │ │ ├── mount.go
│ │ │ │ │ │ ├── mount_request.go
│ │ │ │ │ │ ├── mount_request_test.go
│ │ │ │ │ │ ├── mount_status.go
│ │ │ │ │ │ ├── mount_status_test.go
│ │ │ │ │ │ ├── mount_test.go
│ │ │ │ │ │ ├── swap_status.go
│ │ │ │ │ │ ├── swap_status_test.go
│ │ │ │ │ │ ├── symlinks.go
│ │ │ │ │ │ ├── system_disk.go
│ │ │ │ │ │ ├── system_disk_test.go
│ │ │ │ │ │ ├── testdata/
│ │ │ │ │ │ │ └── procswaps.txt
│ │ │ │ │ │ ├── user_disk_config.go
│ │ │ │ │ │ ├── user_disk_config_test.go
│ │ │ │ │ │ ├── volume_config.go
│ │ │ │ │ │ ├── volume_config_test.go
│ │ │ │ │ │ ├── volume_manager.go
│ │ │ │ │ │ ├── zswap_config.go
│ │ │ │ │ │ └── zswap_status.go
│ │ │ │ │ ├── cluster/
│ │ │ │ │ │ ├── affiliate_merge.go
│ │ │ │ │ │ ├── affiliate_merge_test.go
│ │ │ │ │ │ ├── cluster.go
│ │ │ │ │ │ ├── cluster_test.go
│ │ │ │ │ │ ├── config.go
│ │ │ │ │ │ ├── config_test.go
│ │ │ │ │ │ ├── discovery_service.go
│ │ │ │ │ │ ├── discovery_service_test.go
│ │ │ │ │ │ ├── endpoint.go
│ │ │ │ │ │ ├── endpoint_test.go
│ │ │ │ │ │ ├── info.go
│ │ │ │ │ │ ├── info_test.go
│ │ │ │ │ │ ├── kubernetes_pull.go
│ │ │ │ │ │ ├── kubernetes_push.go
│ │ │ │ │ │ ├── local_affiliate.go
│ │ │ │ │ │ ├── local_affiliate_test.go
│ │ │ │ │ │ ├── member.go
│ │ │ │ │ │ ├── member_test.go
│ │ │ │ │ │ ├── node_identity.go
│ │ │ │ │ │ └── node_identity_test.go
│ │ │ │ │ ├── config/
│ │ │ │ │ │ ├── acquire.go
│ │ │ │ │ │ ├── acquire_test.go
│ │ │ │ │ │ ├── config.go
│ │ │ │ │ │ ├── machine_type.go
│ │ │ │ │ │ ├── persistence.go
│ │ │ │ │ │ └── persistence_test.go
│ │ │ │ │ ├── cri/
│ │ │ │ │ │ ├── cri.go
│ │ │ │ │ │ ├── cri_test.go
│ │ │ │ │ │ ├── export_test.go
│ │ │ │ │ │ ├── image_cache_config.go
│ │ │ │ │ │ ├── image_cache_config_test.go
│ │ │ │ │ │ ├── image_gc.go
│ │ │ │ │ │ ├── image_gc_test.go
│ │ │ │ │ │ ├── registries_config.go
│ │ │ │ │ │ ├── registries_config_test.go
│ │ │ │ │ │ ├── seccomp_profile.go
│ │ │ │ │ │ ├── seccomp_profile_file.go
│ │ │ │ │ │ ├── seccomp_profile_file_test.go
│ │ │ │ │ │ └── seccomp_profile_test.go
│ │ │ │ │ ├── ctest/
│ │ │ │ │ │ ├── assert.go
│ │ │ │ │ │ └── ctest.go
│ │ │ │ │ ├── etcd/
│ │ │ │ │ │ ├── advertised_peer.go
│ │ │ │ │ │ ├── config.go
│ │ │ │ │ │ ├── config_test.go
│ │ │ │ │ │ ├── etcd.go
│ │ │ │ │ │ ├── member.go
│ │ │ │ │ │ ├── member_test.go
│ │ │ │ │ │ ├── pki.go
│ │ │ │ │ │ ├── spec.go
│ │ │ │ │ │ └── spec_test.go
│ │ │ │ │ ├── files/
│ │ │ │ │ │ ├── cri_base_runtime_spec.go
│ │ │ │ │ │ ├── cri_base_runtime_spec_test.go
│ │ │ │ │ │ ├── cri_config_parts.go
│ │ │ │ │ │ ├── cri_registry_config.go
│ │ │ │ │ │ ├── etcfile.go
│ │ │ │ │ │ ├── etcfile_test.go
│ │ │ │ │ │ ├── files.go
│ │ │ │ │ │ ├── iqn.go
│ │ │ │ │ │ └── nqn.go
│ │ │ │ │ ├── hardware/
│ │ │ │ │ │ ├── hardware.go
│ │ │ │ │ │ ├── hardware_test.go
│ │ │ │ │ │ ├── pci_driver_rebind.go
│ │ │ │ │ │ ├── pci_driver_rebind_config.go
│ │ │ │ │ │ ├── pci_driver_rebind_config_test.go
│ │ │ │ │ │ ├── pcidevices.go
│ │ │ │ │ │ ├── pcr_status.go
│ │ │ │ │ │ ├── system.go
│ │ │ │ │ │ ├── system_test.go
│ │ │ │ │ │ └── testdata/
│ │ │ │ │ │ └── SuperMicro-Dual-Xeon.dmi
│ │ │ │ │ ├── k8s/
│ │ │ │ │ │ ├── address_filter.go
│ │ │ │ │ │ ├── address_filter_test.go
│ │ │ │ │ │ ├── control_plane.go
│ │ │ │ │ │ ├── control_plane_static_pod.go
│ │ │ │ │ │ ├── control_plane_static_pod_test.go
│ │ │ │ │ │ ├── control_plane_test.go
│ │ │ │ │ │ ├── endpoint.go
│ │ │ │ │ │ ├── extra_manifest.go
│ │ │ │ │ │ ├── extra_manifest_test.go
│ │ │ │ │ │ ├── internal/
│ │ │ │ │ │ │ ├── k8stemplates/
│ │ │ │ │ │ │ │ ├── apiserver.go
│ │ │ │ │ │ │ │ ├── coredns.go
│ │ │ │ │ │ │ │ ├── crds.go
│ │ │ │ │ │ │ │ ├── csr.go
│ │ │ │ │ │ │ │ ├── flannel.go
│ │ │ │ │ │ │ │ ├── k8stemplates.go
│ │ │ │ │ │ │ │ ├── k8stemplates_test.go
│ │ │ │ │ │ │ │ ├── kube-proxy.go
│ │ │ │ │ │ │ │ ├── kubeconfig.go
│ │ │ │ │ │ │ │ ├── kubelet.go
│ │ │ │ │ │ │ │ ├── talos.go
│ │ │ │ │ │ │ │ └── testdata/
│ │ │ │ │ │ │ │ ├── apiserver-encryption-aescbc.yaml
│ │ │ │ │ │ │ │ ├── apiserver-encryption-secretbox.yaml
│ │ │ │ │ │ │ │ ├── coredns-cluster-role-binding.yaml
│ │ │ │ │ │ │ │ ├── coredns-cluster-role.yaml
│ │ │ │ │ │ │ │ ├── coredns-configmap-cluster-domain.yaml
│ │ │ │ │ │ │ │ ├── coredns-configmap-no-cluster-domain.yaml
│ │ │ │ │ │ │ │ ├── coredns-deployment.yaml
│ │ │ │ │ │ │ │ ├── coredns-service-account.yaml
│ │ │ │ │ │ │ │ ├── coredns-service-dual.yaml
│ │ │ │ │ │ │ │ ├── coredns-service-ipv4.yaml
│ │ │ │ │ │ │ │ ├── coredns-service-ipv6.yaml
│ │ │ │ │ │ │ │ ├── csr-approver-role-binding.yaml
│ │ │ │ │ │ │ │ ├── csr-node-bootstrap.yaml
│ │ │ │ │ │ │ │ ├── csr-renewal-role-binding.yaml
│ │ │ │ │ │ │ │ ├── flannel-cluster-role-binding.yaml
│ │ │ │ │ │ │ │ ├── flannel-cluster-role-with-network-policies.yaml
│ │ │ │ │ │ │ │ ├── flannel-cluster-role.yaml
│ │ │ │ │ │ │ │ ├── flannel-configmap-dual.yaml
│ │ │ │ │ │ │ │ ├── flannel-configmap-v4.yaml
│ │ │ │ │ │ │ │ ├── flannel-configmap-v6.yaml
│ │ │ │ │ │ │ │ ├── flannel-daemonset-with-network-policies.yaml
│ │ │ │ │ │ │ │ ├── flannel-daemonset.yaml
│ │ │ │ │ │ │ │ ├── flannel-service-account.yaml
│ │ │ │ │ │ │ │ ├── kube-proxy-cluster-role-binding.yaml
│ │ │ │ │ │ │ │ ├── kube-proxy-daemonset.yaml
│ │ │ │ │ │ │ │ ├── kube-proxy-service-account.yaml
│ │ │ │ │ │ │ │ ├── kubeconfig-in-cluster.yaml
│ │ │ │ │ │ │ │ ├── kubelet-bootstrapping-token.yaml
│ │ │ │ │ │ │ │ ├── talos-nodes-rbac-cluster-role-binding.yaml
│ │ │ │ │ │ │ │ ├── talos-nodes-rbac-cluster-role.yaml
│ │ │ │ │ │ │ │ └── talos-service-account-crd.yaml
│ │ │ │ │ │ │ ├── nodename/
│ │ │ │ │ │ │ │ ├── nodename.go
│ │ │ │ │ │ │ │ └── nodename_test.go
│ │ │ │ │ │ │ └── nodewatch/
│ │ │ │ │ │ │ └── nodewatch.go
│ │ │ │ │ │ ├── k8s.go
│ │ │ │ │ │ ├── kubelet_config.go
│ │ │ │ │ │ ├── kubelet_config_test.go
│ │ │ │ │ │ ├── kubelet_service.go
│ │ │ │ │ │ ├── kubelet_spec.go
│ │ │ │ │ │ ├── kubelet_spec_test.go
│ │ │ │ │ │ ├── kubelet_static_pod.go
│ │ │ │ │ │ ├── kubeprism.go
│ │ │ │ │ │ ├── kubeprism_config.go
│ │ │ │ │ │ ├── kubeprism_config_test.go
│ │ │ │ │ │ ├── kubeprism_endpoints.go
│ │ │ │ │ │ ├── kubeprism_endpoints_test.go
│ │ │ │ │ │ ├── manifest.go
│ │ │ │ │ │ ├── manifest_apply.go
│ │ │ │ │ │ ├── manifest_test.go
│ │ │ │ │ │ ├── node_annotation_spec.go
│ │ │ │ │ │ ├── node_annotation_spec_test.go
│ │ │ │ │ │ ├── node_apply.go
│ │ │ │ │ │ ├── node_apply_test.go
│ │ │ │ │ │ ├── node_cordoned_spec.go
│ │ │ │ │ │ ├── node_cordoned_spec_test.go
│ │ │ │ │ │ ├── node_label_spec.go
│ │ │ │ │ │ ├── node_label_spec_test.go
│ │ │ │ │ │ ├── node_status.go
│ │ │ │ │ │ ├── node_taint_spec.go
│ │ │ │ │ │ ├── node_taint_spec_test.go
│ │ │ │ │ │ ├── nodeip.go
│ │ │ │ │ │ ├── nodeip_config.go
│ │ │ │ │ │ ├── nodeip_config_test.go
│ │ │ │ │ │ ├── nodeip_test.go
│ │ │ │ │ │ ├── nodename.go
│ │ │ │ │ │ ├── nodename_test.go
│ │ │ │ │ │ ├── render_config_static_pods.go
│ │ │ │ │ │ ├── render_secrets_static_pod.go
│ │ │ │ │ │ ├── static_endpoint.go
│ │ │ │ │ │ ├── static_endpoint_test.go
│ │ │ │ │ │ ├── static_pod_config.go
│ │ │ │ │ │ ├── static_pod_config_test.go
│ │ │ │ │ │ ├── static_pod_server.go
│ │ │ │ │ │ └── static_pod_server_test.go
│ │ │ │ │ ├── kubeaccess/
│ │ │ │ │ │ ├── config.go
│ │ │ │ │ │ ├── config_test.go
│ │ │ │ │ │ ├── endpoint.go
│ │ │ │ │ │ ├── endpoint_test.go
│ │ │ │ │ │ ├── kubeaccess.go
│ │ │ │ │ │ ├── serviceaccount/
│ │ │ │ │ │ │ └── crd_controller.go
│ │ │ │ │ │ └── serviceaccount.go
│ │ │ │ │ ├── kubespan/
│ │ │ │ │ │ ├── config.go
│ │ │ │ │ │ ├── config_test.go
│ │ │ │ │ │ ├── endpoint.go
│ │ │ │ │ │ ├── endpoint_test.go
│ │ │ │ │ │ ├── identity.go
│ │ │ │ │ │ ├── identity_test.go
│ │ │ │ │ │ ├── kubespan.go
│ │ │ │ │ │ ├── manager.go
│ │ │ │ │ │ ├── manager_test.go
│ │ │ │ │ │ ├── peer_spec.go
│ │ │ │ │ │ └── peer_spec_test.go
│ │ │ │ │ ├── network/
│ │ │ │ │ │ ├── address_config.go
│ │ │ │ │ │ ├── address_config_test.go
│ │ │ │ │ │ ├── address_event.go
│ │ │ │ │ │ ├── address_event_test.go
│ │ │ │ │ │ ├── address_merge.go
│ │ │ │ │ │ ├── address_merge_test.go
│ │ │ │ │ │ ├── address_spec.go
│ │ │ │ │ │ ├── address_spec_test.go
│ │ │ │ │ │ ├── address_status.go
│ │ │ │ │ │ ├── address_status_test.go
│ │ │ │ │ │ ├── cmdline.go
│ │ │ │ │ │ ├── cmdline_test.go
│ │ │ │ │ │ ├── device_config.go
│ │ │ │ │ │ ├── device_config_test.go
│ │ │ │ │ │ ├── dns_resolve_cache.go
│ │ │ │ │ │ ├── dns_resolve_cache_test.go
│ │ │ │ │ │ ├── dns_upstream.go
│ │ │ │ │ │ ├── etcfile.go
│ │ │ │ │ │ ├── etcfile_test.go
│ │ │ │ │ │ ├── ethernet_config.go
│ │ │ │ │ │ ├── ethernet_config_test.go
│ │ │ │ │ │ ├── ethernet_spec.go
│ │ │ │ │ │ ├── ethernet_status.go
│ │ │ │ │ │ ├── generic_merge.go
│ │ │ │ │ │ ├── hardware_addr.go
│ │ │ │ │ │ ├── hardware_addr_test.go
│ │ │ │ │ │ ├── hostdns_config.go
│ │ │ │ │ │ ├── hostname_config.go
│ │ │ │ │ │ ├── hostname_config_test.go
│ │ │ │ │ │ ├── hostname_merge.go
│ │ │ │ │ │ ├── hostname_merge_test.go
│ │ │ │ │ │ ├── hostname_spec.go
│ │ │ │ │ │ ├── hostname_spec_test.go
│ │ │ │ │ │ ├── internal/
│ │ │ │ │ │ │ ├── addressutil/
│ │ │ │ │ │ │ │ ├── addressutil.go
│ │ │ │ │ │ │ │ ├── addressutil_test.go
│ │ │ │ │ │ │ │ ├── broadcast.go
│ │ │ │ │ │ │ │ ├── broadcast_test.go
│ │ │ │ │ │ │ │ ├── compare.go
│ │ │ │ │ │ │ │ └── compare_test.go
│ │ │ │ │ │ │ └── probe/
│ │ │ │ │ │ │ ├── probe.go
│ │ │ │ │ │ │ └── probe_test.go
│ │ │ │ │ │ ├── link_alias_config.go
│ │ │ │ │ │ ├── link_alias_config_test.go
│ │ │ │ │ │ ├── link_alias_spec.go
│ │ │ │ │ │ ├── link_config.go
│ │ │ │ │ │ ├── link_config_test.go
│ │ │ │ │ │ ├── link_merge.go
│ │ │ │ │ │ ├── link_merge_test.go
│ │ │ │ │ │ ├── link_spec.go
│ │ │ │ │ │ ├── link_spec_test.go
│ │ │ │ │ │ ├── link_status.go
│ │ │ │ │ │ ├── link_status_test.go
│ │ │ │ │ │ ├── network.go
│ │ │ │ │ │ ├── network_test.go
│ │ │ │ │ │ ├── nftables_chain.go
│ │ │ │ │ │ ├── nftables_chain_config.go
│ │ │ │ │ │ ├── nftables_chain_config_test.go
│ │ │ │ │ │ ├── nftables_chain_test.go
│ │ │ │ │ │ ├── node_address.go
│ │ │ │ │ │ ├── node_address_sort_algorithm.go
│ │ │ │ │ │ ├── node_address_test.go
│ │ │ │ │ │ ├── operator/
│ │ │ │ │ │ │ ├── client_identifier.go
│ │ │ │ │ │ │ ├── dhcp4.go
│ │ │ │ │ │ │ ├── dhcp6.go
│ │ │ │ │ │ │ ├── operator.go
│ │ │ │ │ │ │ ├── vip/
│ │ │ │ │ │ │ │ ├── equinix_metal.go
│ │ │ │ │ │ │ │ ├── equinix_metal_test.go
│ │ │ │ │ │ │ │ ├── hcloud.go
│ │ │ │ │ │ │ │ ├── nop.go
│ │ │ │ │ │ │ │ └── vip.go
│ │ │ │ │ │ │ └── vip.go
│ │ │ │ │ │ ├── operator_config.go
│ │ │ │ │ │ ├── operator_config_test.go
│ │ │ │ │ │ ├── operator_merge.go
│ │ │ │ │ │ ├── operator_merge_test.go
│ │ │ │ │ │ ├── operator_spec.go
│ │ │ │ │ │ ├── operator_spec_test.go
│ │ │ │ │ │ ├── operator_vip_config.go
│ │ │ │ │ │ ├── operator_vip_config_test.go
│ │ │ │ │ │ ├── platform_config.go
│ │ │ │ │ │ ├── platform_config_apply.go
│ │ │ │ │ │ ├── platform_config_apply_test.go
│ │ │ │ │ │ ├── platform_config_load.go
│ │ │ │ │ │ ├── platform_config_load_test.go
│ │ │ │ │ │ ├── platform_config_store.go
│ │ │ │ │ │ ├── platform_config_store_test.go
│ │ │ │ │ │ ├── platform_config_test.go
│ │ │ │ │ │ ├── probe.go
│ │ │ │ │ │ ├── probe_config.go
│ │ │ │ │ │ ├── probe_config_test.go
│ │ │ │ │ │ ├── probe_merge.go
│ │ │ │ │ │ ├── probe_merge_test.go
│ │ │ │ │ │ ├── probe_test.go
│ │ │ │ │ │ ├── resolver_config.go
│ │ │ │ │ │ ├── resolver_config_test.go
│ │ │ │ │ │ ├── resolver_merge.go
│ │ │ │ │ │ ├── resolver_merge_test.go
│ │ │ │ │ │ ├── resolver_spec.go
│ │ │ │ │ │ ├── resolver_spec_test.go
│ │ │ │ │ │ ├── route_config.go
│ │ │ │ │ │ ├── route_config_test.go
│ │ │ │ │ │ ├── route_merge.go
│ │ │ │ │ │ ├── route_merge_test.go
│ │ │ │ │ │ ├── route_spec.go
│ │ │ │ │ │ ├── route_spec_test.go
│ │ │ │ │ │ ├── route_status.go
│ │ │ │ │ │ ├── route_status_test.go
│ │ │ │ │ │ ├── routing_rule_config.go
│ │ │ │ │ │ ├── routing_rule_config_test.go
│ │ │ │ │ │ ├── routing_rule_merge.go
│ │ │ │ │ │ ├── routing_rule_merge_test.go
│ │ │ │ │ │ ├── routing_rule_spec.go
│ │ │ │ │ │ ├── routing_rule_spec_test.go
│ │ │ │ │ │ ├── routing_rule_status.go
│ │ │ │ │ │ ├── routing_rule_status_test.go
│ │ │ │ │ │ ├── status.go
│ │ │ │ │ │ ├── status_test.go
│ │ │ │ │ │ ├── timeserver_config.go
│ │ │ │ │ │ ├── timeserver_config_test.go
│ │ │ │ │ │ ├── timeserver_merge.go
│ │ │ │ │ │ ├── timeserver_merge_test.go
│ │ │ │ │ │ ├── timeserver_spec.go
│ │ │ │ │ │ ├── timeserver_spec_test.go
│ │ │ │ │ │ ├── utils/
│ │ │ │ │ │ │ └── utils.go
│ │ │ │ │ │ └── watch/
│ │ │ │ │ │ ├── ethtool.go
│ │ │ │ │ │ ├── rtnetlink.go
│ │ │ │ │ │ ├── trigger.go
│ │ │ │ │ │ ├── trigger_test.go
│ │ │ │ │ │ └── watch.go
│ │ │ │ │ ├── perf/
│ │ │ │ │ │ ├── perf.go
│ │ │ │ │ │ └── perf_test.go
│ │ │ │ │ ├── runtime/
│ │ │ │ │ │ ├── api_service_config.go
│ │ │ │ │ │ ├── api_service_config_test.go
│ │ │ │ │ │ ├── booted_entry.go
│ │ │ │ │ │ ├── common_test.go
│ │ │ │ │ │ ├── devices_status.go
│ │ │ │ │ │ ├── diagnostics.go
│ │ │ │ │ │ ├── diagnostics_logger.go
│ │ │ │ │ │ ├── drop_upgrade_fallback.go
│ │ │ │ │ │ ├── drop_upgrade_fallback_test.go
│ │ │ │ │ │ ├── environment.go
│ │ │ │ │ │ ├── environment_test.go
│ │ │ │ │ │ ├── events_sink.go
│ │ │ │ │ │ ├── events_sink_config.go
│ │ │ │ │ │ ├── events_sink_config_test.go
│ │ │ │ │ │ ├── events_sink_test.go
│ │ │ │ │ │ ├── extension_service.go
│ │ │ │ │ │ ├── extension_service_config.go
│ │ │ │ │ │ ├── extension_service_config_files.go
│ │ │ │ │ │ ├── extension_service_config_files_test.go
│ │ │ │ │ │ ├── extension_service_config_test.go
│ │ │ │ │ │ ├── extension_service_test.go
│ │ │ │ │ │ ├── extension_status.go
│ │ │ │ │ │ ├── internal/
│ │ │ │ │ │ │ ├── diagnostics/
│ │ │ │ │ │ │ │ ├── address_overlap.go
│ │ │ │ │ │ │ │ ├── address_overlap_test.go
│ │ │ │ │ │ │ │ ├── diagnostic.go
│ │ │ │ │ │ │ │ └── kubelet_csr_not_approved.go
│ │ │ │ │ │ │ ├── filehash/
│ │ │ │ │ │ │ │ ├── filehash.go
│ │ │ │ │ │ │ │ └── filehash_test.go
│ │ │ │ │ │ │ ├── logfile/
│ │ │ │ │ │ │ │ ├── logfile.go
│ │ │ │ │ │ │ │ └── logfile_test.go
│ │ │ │ │ │ │ └── oom/
│ │ │ │ │ │ │ ├── oom.go
│ │ │ │ │ │ │ ├── oom_test.go
│ │ │ │ │ │ │ └── testdata/
│ │ │ │ │ │ │ ├── rank1/
│ │ │ │ │ │ │ │ └── kubepods/
│ │ │ │ │ │ │ │ ├── besteffort/
│ │ │ │ │ │ │ │ │ └── pod123/
│ │ │ │ │ │ │ │ │ ├── cgroup.procs
│ │ │ │ │ │ │ │ │ ├── memory.current
│ │ │ │ │ │ │ │ │ ├── memory.max
│ │ │ │ │ │ │ │ │ └── memory.peak
│ │ │ │ │ │ │ │ └── burstable/
│ │ │ │ │ │ │ │ └── podABC/
│ │ │ │ │ │ │ │ ├── cgroup.procs
│ │ │ │ │ │ │ │ ├── memory.current
│ │ │ │ │ │ │ │ ├── memory.max
│ │ │ │ │ │ │ │ └── memory.peak
│ │ │ │ │ │ │ ├── trigger-false/
│ │ │ │ │ │ │ │ ├── init/
│ │ │ │ │ │ │ │ │ └── memory.pressure
│ │ │ │ │ │ │ │ ├── memory.pressure
│ │ │ │ │ │ │ │ ├── podruntime/
│ │ │ │ │ │ │ │ │ └── memory.pressure
│ │ │ │ │ │ │ │ └── system/
│ │ │ │ │ │ │ │ └── memory.pressure
│ │ │ │ │ │ │ └── trigger-true/
│ │ │ │ │ │ │ ├── init/
│ │ │ │ │ │ │ │ └── memory.pressure
│ │ │ │ │ │ │ ├── kubepods/
│ │ │ │ │ │ │ │ └── besteffort/
│ │ │ │ │ │ │ │ └── memory.pressure
│ │ │ │ │ │ │ ├── memory.pressure
│ │ │ │ │ │ │ ├── podruntime/
│ │ │ │ │ │ │ │ └── memory.pressure
│ │ │ │ │ │ │ └── system/
│ │ │ │ │ │ │ └── memory.pressure
│ │ │ │ │ │ ├── kernel_cmdline.go
│ │ │ │ │ │ ├── kernel_cmdline_test.go
│ │ │ │ │ │ ├── kernel_module_config.go
│ │ │ │ │ │ ├── kernel_module_config_test.go
│ │ │ │ │ │ ├── kernel_module_spec.go
│ │ │ │ │ │ ├── kernel_param_config.go
│ │ │ │ │ │ ├── kernel_param_config_test.go
│ │ │ │ │ │ ├── kernel_param_defaults.go
│ │ │ │ │ │ ├── kernel_param_defaults_test.go
│ │ │ │ │ │ ├── kernel_param_spec.go
│ │ │ │ │ │ ├── kernel_param_spec_test.go
│ │ │ │ │ │ ├── kmsg_log.go
│ │ │ │ │ │ ├── kmsg_log_config.go
│ │ │ │ │ │ ├── kmsg_log_config_test.go
│ │ │ │ │ │ ├── kmsg_log_storage.go
│ │ │ │ │ │ ├── kmsg_log_test.go
│ │ │ │ │ │ ├── loaded_kernel_module.go
│ │ │ │ │ │ ├── loaded_kernel_module_test.go
│ │ │ │ │ │ ├── log_persistence.go
│ │ │ │ │ │ ├── log_persistence_test.go
│ │ │ │ │ │ ├── machine_status.go
│ │ │ │ │ │ ├── machine_status_publisher.go
│ │ │ │ │ │ ├── machine_status_test.go
│ │ │ │ │ │ ├── maintenance_config.go
│ │ │ │ │ │ ├── maintenance_config_test.go
│ │ │ │ │ │ ├── maintenance_service_inform.go
│ │ │ │ │ │ ├── mount_status.go
│ │ │ │ │ │ ├── oom.go
│ │ │ │ │ │ ├── runtime.go
│ │ │ │ │ │ ├── sbom_item.go
│ │ │ │ │ │ ├── sbom_item_test.go
│ │ │ │ │ │ ├── security_state.go
│ │ │ │ │ │ ├── testdata/
│ │ │ │ │ │ │ ├── ext-spdx/
│ │ │ │ │ │ │ │ └── tailscale.spdx.json
│ │ │ │ │ │ │ ├── extservices/
│ │ │ │ │ │ │ │ ├── foo.bar
│ │ │ │ │ │ │ │ ├── frr.yaml
│ │ │ │ │ │ │ │ ├── hello.yaml
│ │ │ │ │ │ │ │ ├── invalid.yaml
│ │ │ │ │ │ │ │ └── zduplicate.yaml
│ │ │ │ │ │ │ └── spdx/
│ │ │ │ │ │ │ └── test.spdx.json
│ │ │ │ │ │ ├── unique_token.go
│ │ │ │ │ │ ├── unique_token_test.go
│ │ │ │ │ │ ├── utils.go
│ │ │ │ │ │ ├── version.go
│ │ │ │ │ │ ├── watchdog_timer.go
│ │ │ │ │ │ ├── watchdog_timer_config.go
│ │ │ │ │ │ └── watchdog_timer_config_test.go
│ │ │ │ │ ├── secrets/
│ │ │ │ │ │ ├── api.go
│ │ │ │ │ │ ├── api_cert_sans.go
│ │ │ │ │ │ ├── api_cert_sans_test.go
│ │ │ │ │ │ ├── api_test.go
│ │ │ │ │ │ ├── data/
│ │ │ │ │ │ │ └── ca-certificates
│ │ │ │ │ │ ├── encryption_salt.go
│ │ │ │ │ │ ├── encryption_salt_test.go
│ │ │ │ │ │ ├── etcd.go
│ │ │ │ │ │ ├── etcd_test.go
│ │ │ │ │ │ ├── kubelet.go
│ │ │ │ │ │ ├── kubelet_test.go
│ │ │ │ │ │ ├── kubernetes.go
│ │ │ │ │ │ ├── kubernetes_cert_sans.go
│ │ │ │ │ │ ├── kubernetes_cert_sans_test.go
│ │ │ │ │ │ ├── kubernetes_dynamic_certs.go
│ │ │ │ │ │ ├── kubernetes_dynamic_certs_test.go
│ │ │ │ │ │ ├── kubernetes_test.go
│ │ │ │ │ │ ├── maintenance_cert_sans.go
│ │ │ │ │ │ ├── maintenance_cert_sans_test.go
│ │ │ │ │ │ ├── maintenance_root.go
│ │ │ │ │ │ ├── maintenance_root_test.go
│ │ │ │ │ │ ├── root.go
│ │ │ │ │ │ ├── root_test.go
│ │ │ │ │ │ ├── secrets.go
│ │ │ │ │ │ ├── trustd.go
│ │ │ │ │ │ ├── trustd_test.go
│ │ │ │ │ │ ├── trusted_roots.go
│ │ │ │ │ │ └── trusted_roots_test.go
│ │ │ │ │ ├── security/
│ │ │ │ │ │ ├── image_verification_config.go
│ │ │ │ │ │ ├── image_verification_config_test.go
│ │ │ │ │ │ ├── tuf_trusted_root.go
│ │ │ │ │ │ └── tuf_trusted_root_test.go
│ │ │ │ │ ├── siderolink/
│ │ │ │ │ │ ├── config.go
│ │ │ │ │ │ ├── config_test.go
│ │ │ │ │ │ ├── manager.go
│ │ │ │ │ │ ├── manager_test.go
│ │ │ │ │ │ ├── siderolink.go
│ │ │ │ │ │ ├── status.go
│ │ │ │ │ │ ├── status_test.go
│ │ │ │ │ │ └── userspace.go
│ │ │ │ │ ├── time/
│ │ │ │ │ │ ├── adjtime_status.go
│ │ │ │ │ │ ├── sync.go
│ │ │ │ │ │ ├── sync_test.go
│ │ │ │ │ │ └── time.go
│ │ │ │ │ ├── utils.go
│ │ │ │ │ └── v1alpha1/
│ │ │ │ │ ├── service.go
│ │ │ │ │ ├── utils.go
│ │ │ │ │ └── v1alpha1.go
│ │ │ │ ├── runtime/
│ │ │ │ │ ├── controller.go
│ │ │ │ │ ├── disk/
│ │ │ │ │ │ ├── disk.go
│ │ │ │ │ │ └── options.go
│ │ │ │ │ ├── doc.go
│ │ │ │ │ ├── drainer.go
│ │ │ │ │ ├── drainer_test.go
│ │ │ │ │ ├── emergency/
│ │ │ │ │ │ └── emergency.go
│ │ │ │ │ ├── errors.go
│ │ │ │ │ ├── events.go
│ │ │ │ │ ├── kernel_linux.go
│ │ │ │ │ ├── logging/
│ │ │ │ │ │ ├── circular.go
│ │ │ │ │ │ ├── extract.go
│ │ │ │ │ │ ├── extract_test.go
│ │ │ │ │ │ ├── file.go
│ │ │ │ │ │ ├── logging.go
│ │ │ │ │ │ ├── null.go
│ │ │ │ │ │ ├── sender_jsonlines.go
│ │ │ │ │ │ └── sender_jsonlines_test.go
│ │ │ │ │ ├── logging.go
│ │ │ │ │ ├── mode.go
│ │ │ │ │ ├── mode_test.go
│ │ │ │ │ ├── platform.go
│ │ │ │ │ ├── runtime.go
│ │ │ │ │ ├── sequencer.go
│ │ │ │ │ ├── sequencer_test.go
│ │ │ │ │ ├── state.go
│ │ │ │ │ ├── v1alpha1/
│ │ │ │ │ │ ├── acpi/
│ │ │ │ │ │ │ ├── acpi.go
│ │ │ │ │ │ │ └── acpi_test.go
│ │ │ │ │ │ ├── bootloader/
│ │ │ │ │ │ │ ├── bootloader.go
│ │ │ │ │ │ │ ├── bootloader_test.go
│ │ │ │ │ │ │ ├── dual/
│ │ │ │ │ │ │ │ └── dual.go
│ │ │ │ │ │ │ ├── efiutils/
│ │ │ │ │ │ │ │ └── efiutils.go
│ │ │ │ │ │ │ ├── grub/
│ │ │ │ │ │ │ │ ├── blocklist.go
│ │ │ │ │ │ │ │ ├── boot_label.go
│ │ │ │ │ │ │ │ ├── constants.go
│ │ │ │ │ │ │ │ ├── decode.go
│ │ │ │ │ │ │ │ ├── encode.go
│ │ │ │ │ │ │ │ ├── grub.go
│ │ │ │ │ │ │ │ ├── grub_test.go
│ │ │ │ │ │ │ │ ├── install.go
│ │ │ │ │ │ │ │ ├── probe.go
│ │ │ │ │ │ │ │ ├── quote.go
│ │ │ │ │ │ │ │ ├── quote_test.go
│ │ │ │ │ │ │ │ ├── revert.go
│ │ │ │ │ │ │ │ ├── testdata/
│ │ │ │ │ │ │ │ │ ├── grub_parse_test.cfg
│ │ │ │ │ │ │ │ │ ├── grub_write_no_reset_test.cfg
│ │ │ │ │ │ │ │ │ └── grub_write_test.cfg
│ │ │ │ │ │ │ │ └── upgrade.go
│ │ │ │ │ │ │ ├── kexec/
│ │ │ │ │ │ │ │ └── kexec.go
│ │ │ │ │ │ │ ├── mount/
│ │ │ │ │ │ │ │ └── mount.go
│ │ │ │ │ │ │ ├── options/
│ │ │ │ │ │ │ │ └── options.go
│ │ │ │ │ │ │ └── sdboot/
│ │ │ │ │ │ │ ├── efivars.go
│ │ │ │ │ │ │ ├── efivars_test.go
│ │ │ │ │ │ │ ├── export_test.go
│ │ │ │ │ │ │ ├── loader.conf
│ │ │ │ │ │ │ ├── sdboot.go
│ │ │ │ │ │ │ └── sdboot_test.go
│ │ │ │ │ │ ├── doc.go
│ │ │ │ │ │ ├── platform/
│ │ │ │ │ │ │ ├── akamai/
│ │ │ │ │ │ │ │ ├── akamai.go
│ │ │ │ │ │ │ │ ├── akamai_test.go
│ │ │ │ │ │ │ │ └── testdata/
│ │ │ │ │ │ │ │ ├── expected.yaml
│ │ │ │ │ │ │ │ ├── instance.json
│ │ │ │ │ │ │ │ └── network.json
│ │ │ │ │ │ │ ├── aws/
│ │ │ │ │ │ │ │ ├── aws.go
│ │ │ │ │ │ │ │ ├── aws_test.go
│ │ │ │ │ │ │ │ ├── metadata.go
│ │ │ │ │ │ │ │ └── testdata/
│ │ │ │ │ │ │ │ ├── expected.yaml
│ │ │ │ │ │ │ │ └── metadata.json
│ │ │ │ │ │ │ ├── azure/
│ │ │ │ │ │ │ │ ├── azure.go
│ │ │ │ │ │ │ │ ├── azure_test.go
│ │ │ │ │ │ │ │ ├── metadata.go
│ │ │ │ │ │ │ │ ├── register.go
│ │ │ │ │ │ │ │ └── testdata/
│ │ │ │ │ │ │ │ ├── compute.json
│ │ │ │ │ │ │ │ ├── expected.yaml
│ │ │ │ │ │ │ │ ├── interfaces.json
│ │ │ │ │ │ │ │ └── loadbalancer.json
│ │ │ │ │ │ │ ├── cloudstack/
│ │ │ │ │ │ │ │ ├── cloudstack.go
│ │ │ │ │ │ │ │ ├── cloudstack_test.go
│ │ │ │ │ │ │ │ ├── metadata.go
│ │ │ │ │ │ │ │ └── testdata/
│ │ │ │ │ │ │ │ ├── expected.yaml
│ │ │ │ │ │ │ │ └── metadata.json
│ │ │ │ │ │ │ ├── container/
│ │ │ │ │ │ │ │ ├── container.go
│ │ │ │ │ │ │ │ └── internal/
│ │ │ │ │ │ │ │ └── files/
│ │ │ │ │ │ │ │ ├── hostname.go
│ │ │ │ │ │ │ │ ├── hostname_test.go
│ │ │ │ │ │ │ │ ├── resolv.go
│ │ │ │ │ │ │ │ ├── resolv_test.go
│ │ │ │ │ │ │ │ └── testdata/
│ │ │ │ │ │ │ │ ├── hostname
│ │ │ │ │ │ │ │ └── resolv.conf
│ │ │ │ │ │ │ ├── digitalocean/
│ │ │ │ │ │ │ │ ├── digitalocean.go
│ │ │ │ │ │ │ │ ├── digitalocean_test.go
│ │ │ │ │ │ │ │ ├── metadata.go
│ │ │ │ │ │ │ │ └── testdata/
│ │ │ │ │ │ │ │ ├── expected.yaml
│ │ │ │ │ │ │ │ └── metadata.json
│ │ │ │ │ │ │ ├── equinixmetal/
│ │ │ │ │ │ │ │ ├── equinix.go
│ │ │ │ │ │ │ │ ├── equinix_test.go
│ │ │ │ │ │ │ │ ├── metadata.go
│ │ │ │ │ │ │ │ └── testdata/
│ │ │ │ │ │ │ │ ├── expected-2bonds.yaml
│ │ │ │ │ │ │ │ ├── expected.yaml
│ │ │ │ │ │ │ │ ├── metadata-2bonds.json
│ │ │ │ │ │ │ │ └── metadata.json
│ │ │ │ │ │ │ ├── errors/
│ │ │ │ │ │ │ │ └── errors.go
│ │ │ │ │ │ │ ├── exoscale/
│ │ │ │ │ │ │ │ ├── exoscale.go
│ │ │ │ │ │ │ │ ├── exoscale_test.go
│ │ │ │ │ │ │ │ ├── metadata.go
│ │ │ │ │ │ │ │ └── testdata/
│ │ │ │ │ │ │ │ ├── expected.yaml
│ │ │ │ │ │ │ │ └── metadata.json
│ │ │ │ │ │ │ ├── gcp/
│ │ │ │ │ │ │ │ ├── gcp.go
│ │ │ │ │ │ │ │ ├── gcp_test.go
│ │ │ │ │ │ │ │ ├── metadata.go
│ │ │ │ │ │ │ │ └── testdata/
│ │ │ │ │ │ │ │ ├── expected.yaml
│ │ │ │ │ │ │ │ ├── interfaces.json
│ │ │ │ │ │ │ │ └── metadata.json
│ │ │ │ │ │ │ ├── hcloud/
│ │ │ │ │ │ │ │ ├── export_test.go
│ │ │ │ │ │ │ │ ├── hcloud.go
│ │ │ │ │ │ │ │ ├── hcloud_test.go
│ │ │ │ │ │ │ │ ├── metadata.go
│ │ │ │ │ │ │ │ └── testdata/
│ │ │ │ │ │ │ │ ├── expected.yaml
│ │ │ │ │ │ │ │ ├── metadata.yaml
│ │ │ │ │ │ │ │ ├── userdata-base64.txt
│ │ │ │ │ │ │ │ └── userdata-plain.yaml
│ │ │ │ │ │ │ ├── internal/
│ │ │ │ │ │ │ │ ├── address/
│ │ │ │ │ │ │ │ │ └── address.go
│ │ │ │ │ │ │ │ ├── blockutils/
│ │ │ │ │ │ │ │ │ ├── blockutils.go
│ │ │ │ │ │ │ │ │ └── blockutils_test.go
│ │ │ │ │ │ │ │ └── netutils/
│ │ │ │ │ │ │ │ └── netutils.go
│ │ │ │ │ │ │ ├── metal/
│ │ │ │ │ │ │ │ ├── metal.go
│ │ │ │ │ │ │ │ ├── metal_test.go
│ │ │ │ │ │ │ │ ├── oauth2/
│ │ │ │ │ │ │ │ │ ├── oauth2.go
│ │ │ │ │ │ │ │ │ └── oauth2_test.go
│ │ │ │ │ │ │ │ ├── url/
│ │ │ │ │ │ │ │ │ ├── map.go
│ │ │ │ │ │ │ │ │ ├── map_test.go
│ │ │ │ │ │ │ │ │ ├── url.go
│ │ │ │ │ │ │ │ │ ├── url_test.go
│ │ │ │ │ │ │ │ │ ├── value.go
│ │ │ │ │ │ │ │ │ ├── variable.go
│ │ │ │ │ │ │ │ │ └── variable_test.go
│ │ │ │ │ │ │ │ └── url_test.go
│ │ │ │ │ │ │ ├── nocloud/
│ │ │ │ │ │ │ │ ├── metadata.go
│ │ │ │ │ │ │ │ ├── nocloud.go
│ │ │ │ │ │ │ │ ├── nocloud_test.go
│ │ │ │ │ │ │ │ └── testdata/
│ │ │ │ │ │ │ │ ├── expected-v1-pnap.yaml
│ │ │ │ │ │ │ │ ├── expected-v1.yaml
│ │ │ │ │ │ │ │ ├── expected-v2-serverscom.yaml
│ │ │ │ │ │ │ │ ├── expected-v2.yaml
│ │ │ │ │ │ │ │ ├── in-v1-pnap.yaml
│ │ │ │ │ │ │ │ ├── in-v1.yaml
│ │ │ │ │ │ │ │ ├── in-v2-cloud-init.yaml
│ │ │ │ │ │ │ │ ├── in-v2-nocloud.yaml
│ │ │ │ │ │ │ │ ├── in-v2-serverscom.yaml
│ │ │ │ │ │ │ │ └── metadata-nocloud.yaml
│ │ │ │ │ │ │ ├── opennebula/
│ │ │ │ │ │ │ │ ├── aliases_test.go
│ │ │ │ │ │ │ │ ├── dns_test.go
│ │ │ │ │ │ │ │ ├── hostname_test.go
│ │ │ │ │ │ │ │ ├── ipv6_test.go
│ │ │ │ │ │ │ │ ├── metadata.go
│ │ │ │ │ │ │ │ ├── onegate_test.go
│ │ │ │ │ │ │ │ ├── opennebula.go
│ │ │ │ │ │ │ │ ├── opennebula_test.go
│ │ │ │ │ │ │ │ ├── routes_test.go
│ │ │ │ │ │ │ │ ├── skip_test.go
│ │ │ │ │ │ │ │ └── testdata/
│ │ │ │ │ │ │ │ ├── expected.yaml
│ │ │ │ │ │ │ │ ├── expected_no_network_flag.yaml
│ │ │ │ │ │ │ │ ├── metadata.yaml
│ │ │ │ │ │ │ │ └── metadata_no_network_flag.yaml
│ │ │ │ │ │ │ ├── openstack/
│ │ │ │ │ │ │ │ ├── metadata.go
│ │ │ │ │ │ │ │ ├── openstack.go
│ │ │ │ │ │ │ │ ├── openstack_test.go
│ │ │ │ │ │ │ │ └── testdata/
│ │ │ │ │ │ │ │ ├── expected.yaml
│ │ │ │ │ │ │ │ ├── metadata.json
│ │ │ │ │ │ │ │ └── network.json
│ │ │ │ │ │ │ ├── oracle/
│ │ │ │ │ │ │ │ ├── metadata.go
│ │ │ │ │ │ │ │ ├── oracle.go
│ │ │ │ │ │ │ │ ├── oracle_test.go
│ │ │ │ │ │ │ │ └── testdata/
│ │ │ │ │ │ │ │ ├── expected.yaml
│ │ │ │ │ │ │ │ ├── metadata.json
│ │ │ │ │ │ │ │ └── metadatanetwork.json
│ │ │ │ │ │ │ ├── platform.go
│ │ │ │ │ │ │ ├── scaleway/
│ │ │ │ │ │ │ │ ├── metadata.go
│ │ │ │ │ │ │ │ ├── scaleway.go
│ │ │ │ │ │ │ │ ├── scaleway_test.go
│ │ │ │ │ │ │ │ └── testdata/
│ │ │ │ │ │ │ │ ├── expected-v1.yaml
│ │ │ │ │ │ │ │ ├── expected-v2.yaml
│ │ │ │ │ │ │ │ ├── expected-v3.yaml
│ │ │ │ │ │ │ │ ├── metadata-v1.json
│ │ │ │ │ │ │ │ ├── metadata-v2.json
│ │ │ │ │ │ │ │ └── metadata-v3.json
│ │ │ │ │ │ │ ├── upcloud/
│ │ │ │ │ │ │ │ ├── metadata.go
│ │ │ │ │ │ │ │ ├── testdata/
│ │ │ │ │ │ │ │ │ ├── expected.yaml
│ │ │ │ │ │ │ │ │ └── metadata.json
│ │ │ │ │ │ │ │ ├── upcloud.go
│ │ │ │ │ │ │ │ └── upcloud_test.go
│ │ │ │ │ │ │ ├── vmware/
│ │ │ │ │ │ │ │ ├── metadata.go
│ │ │ │ │ │ │ │ ├── testdata/
│ │ │ │ │ │ │ │ │ ├── expected-match-by-mac.yaml
│ │ │ │ │ │ │ │ │ ├── expected-match-by-name.yaml
│ │ │ │ │ │ │ │ │ ├── metadata-match-by-mac.yaml
│ │ │ │ │ │ │ │ │ └── metadata-match-by-name.yaml
│ │ │ │ │ │ │ │ ├── vmware.go
│ │ │ │ │ │ │ │ ├── vmware_other.go
│ │ │ │ │ │ │ │ ├── vmware_supported.go
│ │ │ │ │ │ │ │ └── vmware_test.go
│ │ │ │ │ │ │ └── vultr/
│ │ │ │ │ │ │ ├── metadata.go
│ │ │ │ │ │ │ ├── testdata/
│ │ │ │ │ │ │ │ ├── expected.yaml
│ │ │ │ │ │ │ │ └── metadata.json
│ │ │ │ │ │ │ ├── vultr.go
│ │ │ │ │ │ │ └── vultr_test.go
│ │ │ │ │ │ ├── v1alpha1_controller.go
│ │ │ │ │ │ ├── v1alpha1_controller_test.go
│ │ │ │ │ │ ├── v1alpha1_dbus.go
│ │ │ │ │ │ ├── v1alpha1_events.go
│ │ │ │ │ │ ├── v1alpha1_events_test.go
│ │ │ │ │ │ ├── v1alpha1_priority_lock.go
│ │ │ │ │ │ ├── v1alpha1_priority_lock_test.go
│ │ │ │ │ │ ├── v1alpha1_runtime.go
│ │ │ │ │ │ ├── v1alpha1_sequencer.go
│ │ │ │ │ │ ├── v1alpha1_sequencer_tasks.go
│ │ │ │ │ │ ├── v1alpha1_sequencer_test.go
│ │ │ │ │ │ └── v1alpha1_state.go
│ │ │ │ │ └── v1alpha2/
│ │ │ │ │ ├── adapters.go
│ │ │ │ │ ├── v1alpha2.go
│ │ │ │ │ ├── v1alpha2_controller.go
│ │ │ │ │ └── v1alpha2_state.go
│ │ │ │ ├── startup/
│ │ │ │ │ ├── cgroups.go
│ │ │ │ │ ├── startup.go
│ │ │ │ │ └── tasks.go
│ │ │ │ └── system/
│ │ │ │ ├── events/
│ │ │ │ │ ├── events.go
│ │ │ │ │ └── events_test.go
│ │ │ │ ├── export_test.go
│ │ │ │ ├── health/
│ │ │ │ │ ├── check.go
│ │ │ │ │ ├── health_test.go
│ │ │ │ │ ├── settings.go
│ │ │ │ │ └── status.go
│ │ │ │ ├── integration_test.go
│ │ │ │ ├── mocks_test.go
│ │ │ │ ├── runner/
│ │ │ │ │ ├── containerd/
│ │ │ │ │ │ ├── containerd.go
│ │ │ │ │ │ ├── containerd_test.go
│ │ │ │ │ │ ├── opts.go
│ │ │ │ │ │ └── stdin.go
│ │ │ │ │ ├── goroutine/
│ │ │ │ │ │ ├── goroutine.go
│ │ │ │ │ │ └── goroutine_test.go
│ │ │ │ │ ├── internal/
│ │ │ │ │ │ └── lastlog/
│ │ │ │ │ │ ├── lastlog.go
│ │ │ │ │ │ ├── lastlog_test.go
│ │ │ │ │ │ └── testdata/
│ │ │ │ │ │ └── kubelet.log
│ │ │ │ │ ├── process/
│ │ │ │ │ │ ├── process.go
│ │ │ │ │ │ └── process_test.go
│ │ │ │ │ ├── restart/
│ │ │ │ │ │ ├── restart.go
│ │ │ │ │ │ └── restart_test.go
│ │ │ │ │ ├── runner.go
│ │ │ │ │ └── runner_test.go
│ │ │ │ ├── service.go
│ │ │ │ ├── service_events.go
│ │ │ │ ├── service_runner.go
│ │ │ │ ├── service_runner_test.go
│ │ │ │ ├── services/
│ │ │ │ │ ├── apid.go
│ │ │ │ │ ├── auditd.go
│ │ │ │ │ ├── containerd.go
│ │ │ │ │ ├── cri.go
│ │ │ │ │ ├── dashboard.go
│ │ │ │ │ ├── etcd.go
│ │ │ │ │ ├── export_test.go
│ │ │ │ │ ├── extension.go
│ │ │ │ │ ├── extension_test.go
│ │ │ │ │ ├── kubelet.go
│ │ │ │ │ ├── machined.go
│ │ │ │ │ ├── machined_test.go
│ │ │ │ │ ├── mocks/
│ │ │ │ │ │ └── snapshotter.go
│ │ │ │ │ ├── registry/
│ │ │ │ │ │ ├── app/
│ │ │ │ │ │ │ └── main.go
│ │ │ │ │ │ ├── fs.go
│ │ │ │ │ │ ├── params.go
│ │ │ │ │ │ ├── readers.go
│ │ │ │ │ │ ├── registry.go
│ │ │ │ │ │ ├── registry_test.go
│ │ │ │ │ │ ├── store.go
│ │ │ │ │ │ ├── store_linux.go
│ │ │ │ │ │ ├── store_unix.go
│ │ │ │ │ │ └── store_windows.go
│ │ │ │ │ ├── registryd.go
│ │ │ │ │ ├── syslogd.go
│ │ │ │ │ ├── trustd.go
│ │ │ │ │ ├── udevd.go
│ │ │ │ │ └── utils.go
│ │ │ │ ├── system.go
│ │ │ │ ├── system_test.go
│ │ │ │ └── volumes.go
│ │ │ └── revert.go
│ │ ├── poweroff/
│ │ │ ├── main.go
│ │ │ └── poweroff_test.go
│ │ ├── resources/
│ │ │ └── access.go
│ │ ├── storaged/
│ │ │ └── server.go
│ │ ├── syslogd/
│ │ │ ├── internal/
│ │ │ │ └── parser/
│ │ │ │ ├── parse.go
│ │ │ │ └── parse_test.go
│ │ │ ├── syslogd.go
│ │ │ └── syslogd_test.go
│ │ └── trustd/
│ │ ├── internal/
│ │ │ ├── provider/
│ │ │ │ └── provider.go
│ │ │ └── reg/
│ │ │ ├── reg.go
│ │ │ └── reg_test.go
│ │ └── main.go
│ ├── integration/
│ │ ├── api/
│ │ │ ├── api.go
│ │ │ ├── apid.go
│ │ │ ├── apply-config.go
│ │ │ ├── cgroups.go
│ │ │ ├── common.go
│ │ │ ├── constants.go
│ │ │ ├── containers.go
│ │ │ ├── debug.go
│ │ │ ├── discovery.go
│ │ │ ├── diskusage.go
│ │ │ ├── dmesg.go
│ │ │ ├── environment.go
│ │ │ ├── etcd-recover.go
│ │ │ ├── etcd.go
│ │ │ ├── ethernet.go
│ │ │ ├── events.go
│ │ │ ├── extensions_nvidia.go
│ │ │ ├── extensions_qemu.go
│ │ │ ├── firewall.go
│ │ │ ├── hardware.go
│ │ │ ├── images.go
│ │ │ ├── kernel.go
│ │ │ ├── logs.go
│ │ │ ├── machine-status.go
│ │ │ ├── monitoring.go
│ │ │ ├── network-config.go
│ │ │ ├── node-annotations.go
│ │ │ ├── node-labels.go
│ │ │ ├── node-taints.go
│ │ │ ├── pci_driver_rebind.go
│ │ │ ├── platform.go
│ │ │ ├── probe-config.go
│ │ │ ├── process.go
│ │ │ ├── reboot.go
│ │ │ ├── reset.go
│ │ │ ├── resources.go
│ │ │ ├── rotate.go
│ │ │ ├── sbom.go
│ │ │ ├── security.go
│ │ │ ├── selinux.go
│ │ │ ├── serviceaccount.go
│ │ │ ├── siderolink.go
│ │ │ ├── testdata/
│ │ │ │ ├── nodeport.yaml
│ │ │ │ └── nvidia-gpu-operator.yaml
│ │ │ ├── trusted-roots.go
│ │ │ ├── trustedboot.go
│ │ │ ├── uki.go
│ │ │ ├── update-hostname.go
│ │ │ ├── version.go
│ │ │ ├── volumes.go
│ │ │ ├── watchdog.go
│ │ │ └── wipe.go
│ │ ├── base/
│ │ │ ├── api.go
│ │ │ ├── base.go
│ │ │ ├── cli.go
│ │ │ ├── cluster.go
│ │ │ ├── discovery_k8s.go
│ │ │ ├── discovery_nok8s.go
│ │ │ ├── errors.go
│ │ │ ├── flags.go
│ │ │ ├── k8s.go
│ │ │ └── run.go
│ │ ├── cli/
│ │ │ ├── apply-config.go
│ │ │ ├── cgroups.go
│ │ │ ├── cli.go
│ │ │ ├── completion.go
│ │ │ ├── config.go
│ │ │ ├── containers.go
│ │ │ ├── copy.go
│ │ │ ├── debug.go
│ │ │ ├── diskusage.go
│ │ │ ├── dmesg.go
│ │ │ ├── etcd.go
│ │ │ ├── gen.go
│ │ │ ├── health.go
│ │ │ ├── image.go
│ │ │ ├── inject.go
│ │ │ ├── jsonpath.go
│ │ │ ├── kubeconfig.go
│ │ │ ├── list.go
│ │ │ ├── logs.go
│ │ │ ├── machineconfig.go
│ │ │ ├── memory.go
│ │ │ ├── meta.go
│ │ │ ├── mounts.go
│ │ │ ├── netstat.go
│ │ │ ├── patch.go
│ │ │ ├── pcap.go
│ │ │ ├── pki.go
│ │ │ ├── processes.go
│ │ │ ├── read.go
│ │ │ ├── reboot.go
│ │ │ ├── restart.go
│ │ │ ├── services.go
│ │ │ ├── stats.go
│ │ │ ├── support.go
│ │ │ ├── testdata/
│ │ │ │ ├── inject/
│ │ │ │ │ ├── talosconfig-expected.yaml
│ │ │ │ │ └── talosconfig-input.yaml
│ │ │ │ ├── patches/
│ │ │ │ │ ├── delete-dummy-ap.yaml
│ │ │ │ │ └── dummy-ap.yaml
│ │ │ │ └── pki/
│ │ │ │ ├── ca.crt
│ │ │ │ ├── ca.key
│ │ │ │ ├── etcd/
│ │ │ │ │ ├── ca.crt
│ │ │ │ │ └── ca.key
│ │ │ │ ├── front-proxy-ca.crt
│ │ │ │ ├── front-proxy-ca.key
│ │ │ │ └── sa.key
│ │ │ ├── time.go
│ │ │ ├── validate.go
│ │ │ └── version.go
│ │ ├── integration_test.go
│ │ ├── k8s/
│ │ │ ├── apparmor.go
│ │ │ ├── constants.go
│ │ │ ├── k8s.go
│ │ │ ├── longhorn.go
│ │ │ ├── manifests.go
│ │ │ ├── oom.go
│ │ │ ├── openebs.go
│ │ │ ├── rook.go
│ │ │ ├── testdata/
│ │ │ │ ├── apparmor.yaml
│ │ │ │ ├── local-path-storage.yaml
│ │ │ │ ├── longhorn-iscsi-volume.yaml
│ │ │ │ ├── longhorn-v2-disk-patch.yaml
│ │ │ │ ├── longhorn-v2-engine-values.yaml
│ │ │ │ ├── longhorn-v2-storageclass.yaml
│ │ │ │ ├── longhorn-volumeattachment.yaml
│ │ │ │ ├── oom.yaml
│ │ │ │ ├── openebs-diskpool.yaml
│ │ │ │ ├── openebs-values.yaml
│ │ │ │ ├── pod-iscsi-volume.yaml
│ │ │ │ ├── rook-ceph-cluster-values.yaml
│ │ │ │ └── usernamespace.yaml
│ │ │ ├── tink.go
│ │ │ ├── usernamespace.go
│ │ │ └── version.go
│ │ ├── provision/
│ │ │ ├── k8s_compatibility.go
│ │ │ ├── maintenance_basic.go
│ │ │ ├── provision.go
│ │ │ └── upgrade.go
│ │ └── version_test.go
│ └── pkg/
│ ├── capability/
│ │ └── capability.go
│ ├── cgroup/
│ │ ├── cgroup.go
│ │ ├── cpu.go
│ │ └── cpu_test.go
│ ├── cgroups/
│ │ ├── cgroups.go
│ │ ├── raw.go
│ │ ├── reader.go
│ │ ├── tar.go
│ │ ├── tar_test.go
│ │ ├── value.go
│ │ └── value_test.go
│ ├── console/
│ │ └── console.go
│ ├── containermode/
│ │ └── containermode.go
│ ├── containers/
│ │ ├── container.go
│ │ ├── containerd/
│ │ │ ├── containerd.go
│ │ │ └── containerd_test.go
│ │ ├── containers_test.go
│ │ ├── cri/
│ │ │ ├── containerd/
│ │ │ │ ├── config.go
│ │ │ │ ├── config_test.go
│ │ │ │ ├── containerd.go
│ │ │ │ ├── hosts.go
│ │ │ │ ├── hosts_test.go
│ │ │ │ └── testdata/
│ │ │ │ └── cri.toml
│ │ │ ├── cri.go
│ │ │ └── cri_test.go
│ │ ├── image/
│ │ │ ├── console/
│ │ │ │ └── progress.go
│ │ │ ├── image.go
│ │ │ ├── progress/
│ │ │ │ └── pull_progress.go
│ │ │ ├── resolver.go
│ │ │ ├── resolver_test.go
│ │ │ └── verify/
│ │ │ ├── internal/
│ │ │ │ └── cosign/
│ │ │ │ ├── cosign.go
│ │ │ │ └── cosign_test.go
│ │ │ └── verify.go
│ │ ├── inspector.go
│ │ └── pod.go
│ ├── cri/
│ │ ├── client.go
│ │ ├── containers.go
│ │ ├── cri.go
│ │ ├── cri_test.go
│ │ ├── images.go
│ │ └── pods.go
│ ├── ctxutil/
│ │ └── ctxutil.go
│ ├── dashboard/
│ │ ├── apidata/
│ │ │ ├── apidata.go
│ │ │ ├── data.go
│ │ │ ├── diff.go
│ │ │ ├── node.go
│ │ │ └── source.go
│ │ ├── components/
│ │ │ ├── components.go
│ │ │ ├── diagnostics.go
│ │ │ ├── footer.go
│ │ │ ├── gauges.go
│ │ │ ├── graphs.go
│ │ │ ├── header.go
│ │ │ ├── horizontalline.go
│ │ │ ├── info.go
│ │ │ ├── kubernetesinfo.go
│ │ │ ├── logviewer.go
│ │ │ ├── networkinfo.go
│ │ │ ├── sparklines.go
│ │ │ ├── tables.go
│ │ │ ├── tables_test.go
│ │ │ └── talosinfo.go
│ │ ├── configurl.go
│ │ ├── context.go
│ │ ├── dashboard.go
│ │ ├── formdata.go
│ │ ├── formdata_test.go
│ │ ├── logdata/
│ │ │ └── logdata.go
│ │ ├── monitor.go
│ │ ├── networkconfig.go
│ │ ├── options.go
│ │ ├── resolver/
│ │ │ └── resolver.go
│ │ ├── resourcedata/
│ │ │ └── resourcedata.go
│ │ ├── summary.go
│ │ └── util/
│ │ └── util.go
│ ├── discovery/
│ │ └── registry/
│ │ ├── kubernetes.go
│ │ ├── kubernetes_test.go
│ │ └── registry.go
│ ├── dns/
│ │ ├── dns.go
│ │ ├── dns_test.go
│ │ ├── manager.go
│ │ └── runnner.go
│ ├── efivarfs/
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── boot.go
│ │ ├── boot_test.go
│ │ ├── devicepath.go
│ │ ├── devicepath_test.go
│ │ ├── efivarfs.go
│ │ ├── efivarfs_test.go
│ │ ├── mock.go
│ │ └── variables.go
│ ├── encryption/
│ │ ├── encryption.go
│ │ ├── encryption_test.go
│ │ ├── helpers/
│ │ │ └── helpers.go
│ │ ├── keys/
│ │ │ ├── keys.go
│ │ │ ├── kms.go
│ │ │ ├── nodeid.go
│ │ │ ├── nodeid_test.go
│ │ │ ├── options.go
│ │ │ ├── salted.go
│ │ │ ├── salted_test.go
│ │ │ ├── static.go
│ │ │ ├── static_test.go
│ │ │ ├── token.go
│ │ │ └── tpm2.go
│ │ └── node_params.go
│ ├── endpoint/
│ │ ├── endpoint.go
│ │ └── endpoint_test.go
│ ├── environment/
│ │ ├── environment.go
│ │ └── environment_test.go
│ ├── etcd/
│ │ ├── certs.go
│ │ ├── endpoints.go
│ │ ├── etcd.go
│ │ ├── local.go
│ │ └── lock.go
│ ├── extensions/
│ │ ├── compress.go
│ │ ├── discarder.go
│ │ ├── extensions.go
│ │ ├── extensions_test.go
│ │ ├── kernel_modules.go
│ │ ├── list.go
│ │ ├── list_test.go
│ │ └── testdata/
│ │ └── good/
│ │ └── extension1/
│ │ ├── manifest.yaml
│ │ └── rootfs/
│ │ └── usr/
│ │ └── lib/
│ │ ├── firmware/
│ │ │ └── amd/
│ │ │ └── cpu
│ │ └── ld-linux-x86-64.so.2
│ ├── install/
│ │ ├── install.go
│ │ ├── options.go
│ │ └── pull.go
│ ├── logind/
│ │ ├── broker.go
│ │ ├── dbus.go
│ │ ├── kubelet_mock_test.go
│ │ ├── logind.go
│ │ ├── logind_test.go
│ │ └── service.go
│ ├── measure/
│ │ ├── internal/
│ │ │ └── pcr/
│ │ │ ├── bank_data.go
│ │ │ ├── bank_data_test.go
│ │ │ ├── extend.go
│ │ │ ├── extend_test.go
│ │ │ ├── sections.go
│ │ │ ├── sign.go
│ │ │ ├── sign_test.go
│ │ │ └── testdata/
│ │ │ ├── a
│ │ │ ├── b
│ │ │ └── c
│ │ ├── measure.go
│ │ ├── measure_test.go
│ │ └── testdata/
│ │ └── pcr-signing-key.pem
│ ├── meta/
│ │ ├── internal/
│ │ │ └── adv/
│ │ │ ├── adv.go
│ │ │ ├── syslinux/
│ │ │ │ ├── syslinux.go
│ │ │ │ ├── syslinux_test.go
│ │ │ │ └── testdata/
│ │ │ │ └── adv.sys
│ │ │ └── talos/
│ │ │ ├── talos.go
│ │ │ └── talos_test.go
│ │ ├── meta.go
│ │ └── meta_test.go
│ ├── miniprocfs/
│ │ ├── miniprocfs.go
│ │ ├── processes.go
│ │ ├── processes_test.go
│ │ └── testdata/
│ │ ├── 1920080/
│ │ │ ├── cmdline
│ │ │ ├── comm
│ │ │ └── stat
│ │ ├── 3731034/
│ │ │ ├── cmdline
│ │ │ ├── comm
│ │ │ └── stat
│ │ ├── keys
│ │ └── kmsg
│ ├── mount/
│ │ ├── switchroot/
│ │ │ ├── switchroot.go
│ │ │ └── switchroot_test.go
│ │ └── v3/
│ │ ├── all.go
│ │ ├── helpers.go
│ │ ├── manager.go
│ │ ├── managers.go
│ │ ├── mount.go
│ │ ├── point.go
│ │ └── unmount.go
│ ├── msguid/
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── msguid.go
│ │ └── msguid_test.go
│ ├── ntp/
│ │ ├── consts.go
│ │ ├── interfaces.go
│ │ ├── internal/
│ │ │ └── spike/
│ │ │ ├── spike.go
│ │ │ └── spike_test.go
│ │ ├── ntp.go
│ │ └── ntp_test.go
│ ├── partition/
│ │ ├── constants.go
│ │ ├── format.go
│ │ ├── helpers.go
│ │ ├── partition.go
│ │ └── wipe.go
│ ├── pcap/
│ │ └── pcap.go
│ ├── pci/
│ │ ├── pci.go
│ │ └── sysfs.go
│ ├── rng/
│ │ ├── pool.go
│ │ ├── rng.go
│ │ └── tpm.go
│ ├── rootfs/
│ │ └── rootfs_test.go
│ ├── secureboot/
│ │ ├── database/
│ │ │ ├── certs/
│ │ │ │ ├── db/
│ │ │ │ │ ├── MicCorUEFCA2011_2011-06-27.der
│ │ │ │ │ ├── microsoft option rom uefi ca 2023.der
│ │ │ │ │ └── microsoft uefi ca 2023.der
│ │ │ │ └── kek/
│ │ │ │ ├── MicCorKEKCA2011_2011-06-24.der
│ │ │ │ └── microsoft corporation kek 2k ca 2023.der
│ │ │ └── database.go
│ │ ├── pesign/
│ │ │ ├── pesign.go
│ │ │ ├── pesign_test.go
│ │ │ └── testdata/
│ │ │ └── systemd-bootx64.efi
│ │ ├── secureboot.go
│ │ └── tpm2/
│ │ ├── keys.go
│ │ ├── pcr.go
│ │ ├── pcr_test.go
│ │ ├── policy.go
│ │ ├── policy_test.go
│ │ ├── seal.go
│ │ ├── signature.go
│ │ ├── testdata/
│ │ │ └── pcr-signing-crt.pem
│ │ ├── tpm2.go
│ │ └── unseal.go
│ ├── selinux/
│ │ ├── policy/
│ │ │ ├── file_contexts
│ │ │ ├── policy.33
│ │ │ └── selinux/
│ │ │ ├── common/
│ │ │ │ ├── classmaps.cil
│ │ │ │ ├── files.cil
│ │ │ │ ├── network.cil
│ │ │ │ ├── processes.cil
│ │ │ │ └── typeattributes.cil
│ │ │ ├── immutable/
│ │ │ │ ├── classes.cil
│ │ │ │ ├── fs.cil
│ │ │ │ ├── preamble.cil
│ │ │ │ ├── roles.cil
│ │ │ │ └── sids.cil
│ │ │ └── services/
│ │ │ ├── cri.cil
│ │ │ ├── dashboard.cil
│ │ │ ├── kubelet.cil
│ │ │ ├── machined.cil
│ │ │ ├── selinux.cil
│ │ │ ├── system-containerd.cil
│ │ │ ├── system-containers.cil
│ │ │ └── udev.cil
│ │ └── selinux.go
│ ├── smbios/
│ │ ├── oem.go
│ │ └── smbios.go
│ ├── timex/
│ │ └── timex.go
│ ├── toml/
│ │ ├── merge.go
│ │ ├── merge_test.go
│ │ ├── testdata/
│ │ │ ├── 1.toml
│ │ │ ├── 2.toml
│ │ │ ├── 3.toml
│ │ │ └── expected.toml
│ │ └── toml.go
│ ├── tpm/
│ │ ├── tpm_linux.go
│ │ └── tpm_other.go
│ ├── uki/
│ │ ├── assemble.go
│ │ ├── generate.go
│ │ ├── internal/
│ │ │ └── pe/
│ │ │ ├── extract.go
│ │ │ ├── extract_test.go
│ │ │ ├── native.go
│ │ │ ├── objcopy.go
│ │ │ ├── pe.go
│ │ │ ├── pe_test.go
│ │ │ └── testdata/
│ │ │ ├── addonx64.efi.stub
│ │ │ └── linuxx64.efi.stub
│ │ ├── kernel.go
│ │ ├── kernel_test.go
│ │ ├── sbat.go
│ │ ├── sbat_test.go
│ │ ├── testdata/
│ │ │ └── kernel
│ │ ├── uki.go
│ │ └── uki_test.go
│ └── zboot/
│ └── zboot.go
├── pkg/
│ ├── archiver/
│ │ ├── archiver.go
│ │ ├── archiver_test.go
│ │ ├── tar.go
│ │ ├── tar_test.go
│ │ ├── untar.go
│ │ ├── walker.go
│ │ └── walker_test.go
│ ├── argsbuilder/
│ │ ├── argsbuilder_args.go
│ │ ├── argsbuilder_interface.go
│ │ └── argsbuilder_test.go
│ ├── bytesize/
│ │ ├── bytesize.go
│ │ └── bytesize_test.go
│ ├── chunker/
│ │ ├── chunker.go
│ │ ├── file/
│ │ │ ├── file.go
│ │ │ └── file_test.go
│ │ └── stream/
│ │ ├── stream.go
│ │ └── stream_test.go
│ ├── cli/
│ │ ├── cli.go
│ │ ├── context.go
│ │ ├── output.go
│ │ └── should.go
│ ├── cluster/
│ │ ├── apply-config.go
│ │ ├── bootstrap.go
│ │ ├── check/
│ │ │ ├── apid.go
│ │ │ ├── check.go
│ │ │ ├── check_test.go
│ │ │ ├── default.go
│ │ │ ├── diagnostics.go
│ │ │ ├── discovery.go
│ │ │ ├── etcd.go
│ │ │ ├── events.go
│ │ │ ├── kubernetes.go
│ │ │ ├── nodes.go
│ │ │ ├── options.go
│ │ │ ├── reporter.go
│ │ │ └── service.go
│ │ ├── cluster.go
│ │ ├── cluster_test.go
│ │ ├── config.go
│ │ ├── crashdump.go
│ │ ├── hydrophone/
│ │ │ ├── hydrophone.go
│ │ │ └── product.go
│ │ ├── kubelet.go
│ │ ├── kubernetes/
│ │ │ ├── compat.go
│ │ │ ├── compat_test.go
│ │ │ ├── detect.go
│ │ │ ├── kubelet.go
│ │ │ ├── kubernetes.go
│ │ │ ├── kubernetes_test.go
│ │ │ ├── patch.go
│ │ │ ├── talos_managed.go
│ │ │ ├── upgrade.go
│ │ │ └── upgrade_test.go
│ │ ├── kubernetes.go
│ │ ├── local.go
│ │ ├── logsaarchive.go
│ │ └── provision.go
│ ├── conditions/
│ │ ├── all.go
│ │ ├── all_test.go
│ │ ├── conditions.go
│ │ ├── files.go
│ │ ├── files_test.go
│ │ ├── kubeconfig.go
│ │ ├── none.go
│ │ ├── poll.go
│ │ └── poll_test.go
│ ├── download/
│ │ ├── download.go
│ │ ├── download_test.go
│ │ └── tftp.go
│ ├── filetree/
│ │ ├── chown.go
│ │ └── filetree.go
│ ├── flags/
│ │ └── flags.go
│ ├── follow/
│ │ ├── follow.go
│ │ └── follow_test.go
│ ├── grpc/
│ │ ├── factory/
│ │ │ ├── factory.go
│ │ │ └── factory_test.go
│ │ ├── gen/
│ │ │ ├── gen_test.go
│ │ │ ├── local.go
│ │ │ └── remote.go
│ │ ├── middleware/
│ │ │ ├── auth/
│ │ │ │ └── basic/
│ │ │ │ ├── basic.go
│ │ │ │ ├── token.go
│ │ │ │ ├── username_and_password.go
│ │ │ │ └── username_and_password_test.go
│ │ │ ├── authz/
│ │ │ │ ├── authorizer.go
│ │ │ │ ├── authorizer_test.go
│ │ │ │ ├── context.go
│ │ │ │ ├── injector.go
│ │ │ │ └── metadata.go
│ │ │ └── log/
│ │ │ ├── log.go
│ │ │ └── log_test.go
│ │ └── proxy/
│ │ └── backend/
│ │ ├── backend.go
│ │ ├── local.go
│ │ └── local_test.go
│ ├── httpdefaults/
│ │ ├── httpdefaults.go
│ │ ├── tls.go
│ │ └── useragent.go
│ ├── imager/
│ │ ├── cache/
│ │ │ └── cache.go
│ │ ├── embed.go
│ │ ├── embed_test.go
│ │ ├── extensions/
│ │ │ ├── contents.go
│ │ │ ├── extensions.go
│ │ │ ├── printer.go
│ │ │ └── rebuild.go
│ │ ├── filemap/
│ │ │ ├── filemap.go
│ │ │ └── filemap_test.go
│ │ ├── imager.go
│ │ ├── imager_test.go
│ │ ├── iso/
│ │ │ ├── grub.cfg
│ │ │ ├── grub.go
│ │ │ ├── hybrid.go
│ │ │ ├── iso.go
│ │ │ ├── iso_test.go
│ │ │ ├── loader.conf.tmpl
│ │ │ └── uefi.go
│ │ ├── out.go
│ │ ├── ova/
│ │ │ └── ova.go
│ │ ├── overlay/
│ │ │ └── executor/
│ │ │ └── executor.go
│ │ ├── post.go
│ │ ├── profile/
│ │ │ ├── customization.go
│ │ │ ├── deep_copy.generated.go
│ │ │ ├── default.go
│ │ │ ├── input.go
│ │ │ ├── internal/
│ │ │ │ └── signer/
│ │ │ │ ├── aws/
│ │ │ │ │ ├── aws.go
│ │ │ │ │ ├── aws_test.go
│ │ │ │ │ ├── pcr.go
│ │ │ │ │ └── secureboot.go
│ │ │ │ ├── azure/
│ │ │ │ │ ├── azure.go
│ │ │ │ │ ├── azure_test.go
│ │ │ │ │ ├── pcr.go
│ │ │ │ │ └── secureboot.go
│ │ │ │ └── file/
│ │ │ │ ├── pcr.go
│ │ │ │ └── secureboot.go
│ │ │ ├── output.go
│ │ │ ├── output_test.go
│ │ │ ├── outputkind_enumer.go
│ │ │ ├── profile.go
│ │ │ ├── profile_test.go
│ │ │ └── testdata/
│ │ │ ├── akamai-amd64-1.10.0.yaml
│ │ │ ├── akamai-amd64-1.11.0.yaml
│ │ │ ├── akamai-amd64-1.12.0.yaml
│ │ │ ├── akamai-amd64-1.13.0.yaml
│ │ │ ├── akamai-amd64-1.9.0.yaml
│ │ │ ├── akamai-arm64-1.10.0.yaml
│ │ │ ├── akamai-arm64-1.11.0.yaml
│ │ │ ├── akamai-arm64-1.12.0.yaml
│ │ │ ├── akamai-arm64-1.13.0.yaml
│ │ │ ├── akamai-arm64-1.9.0.yaml
│ │ │ ├── aws-amd64-1.10.0.yaml
│ │ │ ├── aws-amd64-1.11.0.yaml
│ │ │ ├── aws-amd64-1.12.0.yaml
│ │ │ ├── aws-amd64-1.13.0.yaml
│ │ │ ├── aws-amd64-1.9.0.yaml
│ │ │ ├── aws-arm64-1.10.0.yaml
│ │ │ ├── aws-arm64-1.11.0.yaml
│ │ │ ├── aws-arm64-1.12.0.yaml
│ │ │ ├── aws-arm64-1.13.0.yaml
│ │ │ ├── aws-arm64-1.9.0.yaml
│ │ │ ├── azure-amd64-1.10.0.yaml
│ │ │ ├── azure-amd64-1.11.0.yaml
│ │ │ ├── azure-amd64-1.12.0.yaml
│ │ │ ├── azure-amd64-1.13.0.yaml
│ │ │ ├── azure-amd64-1.9.0.yaml
│ │ │ ├── azure-arm64-1.10.0.yaml
│ │ │ ├── azure-arm64-1.11.0.yaml
│ │ │ ├── azure-arm64-1.12.0.yaml
│ │ │ ├── azure-arm64-1.13.0.yaml
│ │ │ ├── azure-arm64-1.9.0.yaml
│ │ │ ├── cloudstack-amd64-1.10.0.yaml
│ │ │ ├── cloudstack-amd64-1.11.0.yaml
│ │ │ ├── cloudstack-amd64-1.12.0.yaml
│ │ │ ├── cloudstack-amd64-1.13.0.yaml
│ │ │ ├── cloudstack-amd64-1.9.0.yaml
│ │ │ ├── cloudstack-arm64-1.10.0.yaml
│ │ │ ├── cloudstack-arm64-1.11.0.yaml
│ │ │ ├── cloudstack-arm64-1.12.0.yaml
│ │ │ ├── cloudstack-arm64-1.13.0.yaml
│ │ │ ├── cloudstack-arm64-1.9.0.yaml
│ │ │ ├── digital-ocean-amd64-1.10.0.yaml
│ │ │ ├── digital-ocean-amd64-1.11.0.yaml
│ │ │ ├── digital-ocean-amd64-1.12.0.yaml
│ │ │ ├── digital-ocean-amd64-1.13.0.yaml
│ │ │ ├── digital-ocean-amd64-1.9.0.yaml
│ │ │ ├── digital-ocean-arm64-1.10.0.yaml
│ │ │ ├── digital-ocean-arm64-1.11.0.yaml
│ │ │ ├── digital-ocean-arm64-1.12.0.yaml
│ │ │ ├── digital-ocean-arm64-1.13.0.yaml
│ │ │ ├── digital-ocean-arm64-1.9.0.yaml
│ │ │ ├── exoscale-amd64-1.10.0.yaml
│ │ │ ├── exoscale-amd64-1.11.0.yaml
│ │ │ ├── exoscale-amd64-1.12.0.yaml
│ │ │ ├── exoscale-amd64-1.13.0.yaml
│ │ │ ├── exoscale-amd64-1.9.0.yaml
│ │ │ ├── exoscale-arm64-1.10.0.yaml
│ │ │ ├── exoscale-arm64-1.11.0.yaml
│ │ │ ├── exoscale-arm64-1.12.0.yaml
│ │ │ ├── exoscale-arm64-1.13.0.yaml
│ │ │ ├── exoscale-arm64-1.9.0.yaml
│ │ │ ├── gcp-amd64-1.10.0.yaml
│ │ │ ├── gcp-amd64-1.11.0.yaml
│ │ │ ├── gcp-amd64-1.12.0.yaml
│ │ │ ├── gcp-amd64-1.13.0.yaml
│ │ │ ├── gcp-amd64-1.9.0.yaml
│ │ │ ├── gcp-arm64-1.10.0.yaml
│ │ │ ├── gcp-arm64-1.11.0.yaml
│ │ │ ├── gcp-arm64-1.12.0.yaml
│ │ │ ├── gcp-arm64-1.13.0.yaml
│ │ │ ├── gcp-arm64-1.9.0.yaml
│ │ │ ├── hcloud-amd64-1.10.0.yaml
│ │ │ ├── hcloud-amd64-1.11.0.yaml
│ │ │ ├── hcloud-amd64-1.12.0.yaml
│ │ │ ├── hcloud-amd64-1.13.0.yaml
│ │ │ ├── hcloud-amd64-1.9.0.yaml
│ │ │ ├── hcloud-arm64-1.10.0.yaml
│ │ │ ├── hcloud-arm64-1.11.0.yaml
│ │ │ ├── hcloud-arm64-1.12.0.yaml
│ │ │ ├── hcloud-arm64-1.13.0.yaml
│ │ │ ├── hcloud-arm64-1.9.0.yaml
│ │ │ ├── installer-amd64-1.10.0.yaml
│ │ │ ├── installer-amd64-1.11.0.yaml
│ │ │ ├── installer-amd64-1.12.0.yaml
│ │ │ ├── installer-amd64-1.13.0.yaml
│ │ │ ├── installer-amd64-1.9.0.yaml
│ │ │ ├── installer-arm64-1.10.0.yaml
│ │ │ ├── installer-arm64-1.11.0.yaml
│ │ │ ├── installer-arm64-1.12.0.yaml
│ │ │ ├── installer-arm64-1.13.0.yaml
│ │ │ ├── installer-arm64-1.9.0.yaml
│ │ │ ├── iso-amd64-1.10.0.yaml
│ │ │ ├── iso-amd64-1.11.0.yaml
│ │ │ ├── iso-amd64-1.12.0.yaml
│ │ │ ├── iso-amd64-1.13.0.yaml
│ │ │ ├── iso-amd64-1.9.0.yaml
│ │ │ ├── iso-arm64-1.10.0.yaml
│ │ │ ├── iso-arm64-1.11.0.yaml
│ │ │ ├── iso-arm64-1.12.0.yaml
│ │ │ ├── iso-arm64-1.13.0.yaml
│ │ │ ├── iso-arm64-1.9.0.yaml
│ │ │ ├── metal-amd64-1.10.0.yaml
│ │ │ ├── metal-amd64-1.11.0.yaml
│ │ │ ├── metal-amd64-1.12.0.yaml
│ │ │ ├── metal-amd64-1.13.0.yaml
│ │ │ ├── metal-amd64-1.9.0.yaml
│ │ │ ├── metal-arm64-1.10.0.yaml
│ │ │ ├── metal-arm64-1.11.0.yaml
│ │ │ ├── metal-arm64-1.12.0.yaml
│ │ │ ├── metal-arm64-1.13.0.yaml
│ │ │ ├── metal-arm64-1.9.0.yaml
│ │ │ ├── metal-uki-amd64-1.10.0.yaml
│ │ │ ├── metal-uki-amd64-1.11.0.yaml
│ │ │ ├── metal-uki-amd64-1.12.0.yaml
│ │ │ ├── metal-uki-amd64-1.13.0.yaml
│ │ │ ├── metal-uki-amd64-1.9.0.yaml
│ │ │ ├── metal-uki-arm64-1.10.0.yaml
│ │ │ ├── metal-uki-arm64-1.11.0.yaml
│ │ │ ├── metal-uki-arm64-1.12.0.yaml
│ │ │ ├── metal-uki-arm64-1.13.0.yaml
│ │ │ ├── metal-uki-arm64-1.9.0.yaml
│ │ │ ├── nocloud-amd64-1.10.0.yaml
│ │ │ ├── nocloud-amd64-1.11.0.yaml
│ │ │ ├── nocloud-amd64-1.12.0.yaml
│ │ │ ├── nocloud-amd64-1.13.0.yaml
│ │ │ ├── nocloud-amd64-1.9.0.yaml
│ │ │ ├── nocloud-arm64-1.10.0.yaml
│ │ │ ├── nocloud-arm64-1.11.0.yaml
│ │ │ ├── nocloud-arm64-1.12.0.yaml
│ │ │ ├── nocloud-arm64-1.13.0.yaml
│ │ │ ├── nocloud-arm64-1.9.0.yaml
│ │ │ ├── opennebula-amd64-1.10.0.yaml
│ │ │ ├── opennebula-amd64-1.11.0.yaml
│ │ │ ├── opennebula-amd64-1.12.0.yaml
│ │ │ ├── opennebula-amd64-1.13.0.yaml
│ │ │ ├── opennebula-amd64-1.9.0.yaml
│ │ │ ├── opennebula-arm64-1.10.0.yaml
│ │ │ ├── opennebula-arm64-1.11.0.yaml
│ │ │ ├── opennebula-arm64-1.12.0.yaml
│ │ │ ├── opennebula-arm64-1.13.0.yaml
│ │ │ ├── opennebula-arm64-1.9.0.yaml
│ │ │ ├── openstack-amd64-1.10.0.yaml
│ │ │ ├── openstack-amd64-1.11.0.yaml
│ │ │ ├── openstack-amd64-1.12.0.yaml
│ │ │ ├── openstack-amd64-1.13.0.yaml
│ │ │ ├── openstack-amd64-1.9.0.yaml
│ │ │ ├── openstack-arm64-1.10.0.yaml
│ │ │ ├── openstack-arm64-1.11.0.yaml
│ │ │ ├── openstack-arm64-1.12.0.yaml
│ │ │ ├── openstack-arm64-1.13.0.yaml
│ │ │ ├── openstack-arm64-1.9.0.yaml
│ │ │ ├── oracle-amd64-1.10.0.yaml
│ │ │ ├── oracle-amd64-1.11.0.yaml
│ │ │ ├── oracle-amd64-1.12.0.yaml
│ │ │ ├── oracle-amd64-1.13.0.yaml
│ │ │ ├── oracle-amd64-1.9.0.yaml
│ │ │ ├── oracle-arm64-1.10.0.yaml
│ │ │ ├── oracle-arm64-1.11.0.yaml
│ │ │ ├── oracle-arm64-1.12.0.yaml
│ │ │ ├── oracle-arm64-1.13.0.yaml
│ │ │ ├── oracle-arm64-1.9.0.yaml
│ │ │ ├── scaleway-amd64-1.10.0.yaml
│ │ │ ├── scaleway-amd64-1.11.0.yaml
│ │ │ ├── scaleway-amd64-1.12.0.yaml
│ │ │ ├── scaleway-amd64-1.13.0.yaml
│ │ │ ├── scaleway-amd64-1.9.0.yaml
│ │ │ ├── scaleway-arm64-1.10.0.yaml
│ │ │ ├── scaleway-arm64-1.11.0.yaml
│ │ │ ├── scaleway-arm64-1.12.0.yaml
│ │ │ ├── scaleway-arm64-1.13.0.yaml
│ │ │ ├── scaleway-arm64-1.9.0.yaml
│ │ │ ├── secureboot-installer-amd64-1.10.0.yaml
│ │ │ ├── secureboot-installer-amd64-1.11.0.yaml
│ │ │ ├── secureboot-installer-amd64-1.12.0.yaml
│ │ │ ├── secureboot-installer-amd64-1.13.0.yaml
│ │ │ ├── secureboot-installer-amd64-1.9.0.yaml
│ │ │ ├── secureboot-installer-arm64-1.10.0.yaml
│ │ │ ├── secureboot-installer-arm64-1.11.0.yaml
│ │ │ ├── secureboot-installer-arm64-1.12.0.yaml
│ │ │ ├── secureboot-installer-arm64-1.13.0.yaml
│ │ │ ├── secureboot-installer-arm64-1.9.0.yaml
│ │ │ ├── secureboot-iso-amd64-1.10.0.yaml
│ │ │ ├── secureboot-iso-amd64-1.11.0.yaml
│ │ │ ├── secureboot-iso-amd64-1.12.0.yaml
│ │ │ ├── secureboot-iso-amd64-1.13.0.yaml
│ │ │ ├── secureboot-iso-amd64-1.9.0.yaml
│ │ │ ├── secureboot-iso-arm64-1.10.0.yaml
│ │ │ ├── secureboot-iso-arm64-1.11.0.yaml
│ │ │ ├── secureboot-iso-arm64-1.12.0.yaml
│ │ │ ├── secureboot-iso-arm64-1.13.0.yaml
│ │ │ ├── secureboot-iso-arm64-1.9.0.yaml
│ │ │ ├── secureboot-metal-amd64-1.10.0.yaml
│ │ │ ├── secureboot-metal-amd64-1.11.0.yaml
│ │ │ ├── secureboot-metal-amd64-1.12.0.yaml
│ │ │ ├── secureboot-metal-amd64-1.13.0.yaml
│ │ │ ├── secureboot-metal-amd64-1.9.0.yaml
│ │ │ ├── secureboot-metal-arm64-1.10.0.yaml
│ │ │ ├── secureboot-metal-arm64-1.11.0.yaml
│ │ │ ├── secureboot-metal-arm64-1.12.0.yaml
│ │ │ ├── secureboot-metal-arm64-1.13.0.yaml
│ │ │ ├── secureboot-metal-arm64-1.9.0.yaml
│ │ │ ├── secureboot-metal-uki-amd64-1.10.0.yaml
│ │ │ ├── secureboot-metal-uki-amd64-1.11.0.yaml
│ │ │ ├── secureboot-metal-uki-amd64-1.12.0.yaml
│ │ │ ├── secureboot-metal-uki-amd64-1.13.0.yaml
│ │ │ ├── secureboot-metal-uki-amd64-1.9.0.yaml
│ │ │ ├── secureboot-metal-uki-arm64-1.10.0.yaml
│ │ │ ├── secureboot-metal-uki-arm64-1.11.0.yaml
│ │ │ ├── secureboot-metal-uki-arm64-1.12.0.yaml
│ │ │ ├── secureboot-metal-uki-arm64-1.13.0.yaml
│ │ │ ├── secureboot-metal-uki-arm64-1.9.0.yaml
│ │ │ ├── upcloud-amd64-1.10.0.yaml
│ │ │ ├── upcloud-amd64-1.11.0.yaml
│ │ │ ├── upcloud-amd64-1.12.0.yaml
│ │ │ ├── upcloud-amd64-1.13.0.yaml
│ │ │ ├── upcloud-amd64-1.9.0.yaml
│ │ │ ├── upcloud-arm64-1.10.0.yaml
│ │ │ ├── upcloud-arm64-1.11.0.yaml
│ │ │ ├── upcloud-arm64-1.12.0.yaml
│ │ │ ├── upcloud-arm64-1.13.0.yaml
│ │ │ ├── upcloud-arm64-1.9.0.yaml
│ │ │ ├── vmware-amd64-1.10.0.yaml
│ │ │ ├── vmware-amd64-1.11.0.yaml
│ │ │ ├── vmware-amd64-1.12.0.yaml
│ │ │ ├── vmware-amd64-1.13.0.yaml
│ │ │ ├── vmware-amd64-1.9.0.yaml
│ │ │ ├── vmware-arm64-1.10.0.yaml
│ │ │ ├── vmware-arm64-1.11.0.yaml
│ │ │ ├── vmware-arm64-1.12.0.yaml
│ │ │ ├── vmware-arm64-1.13.0.yaml
│ │ │ ├── vmware-arm64-1.9.0.yaml
│ │ │ ├── vultr-amd64-1.10.0.yaml
│ │ │ ├── vultr-amd64-1.11.0.yaml
│ │ │ ├── vultr-amd64-1.12.0.yaml
│ │ │ ├── vultr-amd64-1.13.0.yaml
│ │ │ ├── vultr-amd64-1.9.0.yaml
│ │ │ ├── vultr-arm64-1.10.0.yaml
│ │ │ ├── vultr-arm64-1.11.0.yaml
│ │ │ ├── vultr-arm64-1.12.0.yaml
│ │ │ ├── vultr-arm64-1.13.0.yaml
│ │ │ └── vultr-arm64-1.9.0.yaml
│ │ ├── progress.go
│ │ ├── qemuimg/
│ │ │ └── qemuimg.go
│ │ ├── utils/
│ │ │ ├── copy.go
│ │ │ ├── epoch.go
│ │ │ ├── raw.go
│ │ │ ├── touch.go
│ │ │ └── utils.go
│ │ └── vmdkconvert/
│ │ └── vmdkconvert.go
│ ├── images/
│ │ ├── images.go
│ │ └── list.go
│ ├── kernel/
│ │ ├── kernel.go
│ │ └── kspp/
│ │ └── kspp.go
│ ├── kubeconfig/
│ │ ├── generate.go
│ │ ├── generate_test.go
│ │ └── kubeconfig.go
│ ├── kubernetes/
│ │ ├── errors.go
│ │ ├── inject/
│ │ │ └── serviceaccount.go
│ │ ├── klog.go
│ │ ├── kubelet/
│ │ │ └── kubelet.go
│ │ ├── kubernetes.go
│ │ ├── version.go
│ │ └── version_test.go
│ ├── logging/
│ │ ├── error_suppress.go
│ │ ├── error_suppress_test.go
│ │ ├── logging.go
│ │ └── zap.go
│ ├── machinery/
│ │ ├── api/
│ │ │ ├── api.go
│ │ │ ├── cluster/
│ │ │ │ ├── cluster.pb.go
│ │ │ │ ├── cluster_grpc.pb.go
│ │ │ │ └── cluster_vtproto.pb.go
│ │ │ ├── common/
│ │ │ │ ├── common.pb.go
│ │ │ │ └── common_vtproto.pb.go
│ │ │ ├── inspect/
│ │ │ │ ├── inspect.pb.go
│ │ │ │ ├── inspect_grpc.pb.go
│ │ │ │ └── inspect_vtproto.pb.go
│ │ │ ├── machine/
│ │ │ │ ├── debug.pb.go
│ │ │ │ ├── debug_grpc.pb.go
│ │ │ │ ├── debug_vtproto.pb.go
│ │ │ │ ├── image.go
│ │ │ │ ├── image.pb.go
│ │ │ │ ├── image_grpc.pb.go
│ │ │ │ ├── image_vtproto.pb.go
│ │ │ │ ├── lifecycle.go
│ │ │ │ ├── lifecycle.pb.go
│ │ │ │ ├── lifecycle_grpc.pb.go
│ │ │ │ ├── lifecycle_vtproto.pb.go
│ │ │ │ ├── machine.pb.go
│ │ │ │ ├── machine_grpc.pb.go
│ │ │ │ └── machine_vtproto.pb.go
│ │ │ ├── resource/
│ │ │ │ ├── config/
│ │ │ │ │ ├── config.pb.go
│ │ │ │ │ └── config_vtproto.pb.go
│ │ │ │ ├── definitions/
│ │ │ │ │ ├── block/
│ │ │ │ │ │ ├── block.pb.go
│ │ │ │ │ │ └── block_vtproto.pb.go
│ │ │ │ │ ├── cluster/
│ │ │ │ │ │ ├── cluster.pb.go
│ │ │ │ │ │ └── cluster_vtproto.pb.go
│ │ │ │ │ ├── cri/
│ │ │ │ │ │ ├── cri.pb.go
│ │ │ │ │ │ └── cri_vtproto.pb.go
│ │ │ │ │ ├── enums/
│ │ │ │ │ │ └── enums.pb.go
│ │ │ │ │ ├── etcd/
│ │ │ │ │ │ ├── etcd.pb.go
│ │ │ │ │ │ └── etcd_vtproto.pb.go
│ │ │ │ │ ├── extensions/
│ │ │ │ │ │ ├── extensions.pb.go
│ │ │ │ │ │ └── extensions_vtproto.pb.go
│ │ │ │ │ ├── files/
│ │ │ │ │ │ ├── files.pb.go
│ │ │ │ │ │ └── files_vtproto.pb.go
│ │ │ │ │ ├── hardware/
│ │ │ │ │ │ ├── hardware.pb.go
│ │ │ │ │ │ └── hardware_vtproto.pb.go
│ │ │ │ │ ├── k8s/
│ │ │ │ │ │ ├── k8s.pb.go
│ │ │ │ │ │ └── k8s_vtproto.pb.go
│ │ │ │ │ ├── kubeaccess/
│ │ │ │ │ │ ├── kubeaccess.pb.go
│ │ │ │ │ │ └── kubeaccess_vtproto.pb.go
│ │ │ │ │ ├── kubespan/
│ │ │ │ │ │ ├── kubespan.pb.go
│ │ │ │ │ │ └── kubespan_vtproto.pb.go
│ │ │ │ │ ├── network/
│ │ │ │ │ │ ├── network.pb.go
│ │ │ │ │ │ └── network_vtproto.pb.go
│ │ │ │ │ ├── perf/
│ │ │ │ │ │ ├── perf.pb.go
│ │ │ │ │ │ └── perf_vtproto.pb.go
│ │ │ │ │ ├── proto/
│ │ │ │ │ │ ├── proto.pb.go
│ │ │ │ │ │ └── proto_vtproto.pb.go
│ │ │ │ │ ├── runtime/
│ │ │ │ │ │ ├── runtime.pb.go
│ │ │ │ │ │ └── runtime_vtproto.pb.go
│ │ │ │ │ ├── secrets/
│ │ │ │ │ │ ├── secrets.pb.go
│ │ │ │ │ │ └── secrets_vtproto.pb.go
│ │ │ │ │ ├── security/
│ │ │ │ │ │ ├── security.pb.go
│ │ │ │ │ │ └── security_vtproto.pb.go
│ │ │ │ │ ├── siderolink/
│ │ │ │ │ │ ├── siderolink.pb.go
│ │ │ │ │ │ └── siderolink_vtproto.pb.go
│ │ │ │ │ ├── time/
│ │ │ │ │ │ ├── time.pb.go
│ │ │ │ │ │ └── time_vtproto.pb.go
│ │ │ │ │ └── v1alpha1/
│ │ │ │ │ ├── v1alpha1.pb.go
│ │ │ │ │ └── v1alpha1_vtproto.pb.go
│ │ │ │ └── network/
│ │ │ │ ├── device_config.pb.go
│ │ │ │ └── device_config_vtproto.pb.go
│ │ │ ├── security/
│ │ │ │ ├── security.pb.go
│ │ │ │ ├── security_grpc.pb.go
│ │ │ │ └── security_vtproto.pb.go
│ │ │ ├── storage/
│ │ │ │ ├── storage.pb.go
│ │ │ │ ├── storage_grpc.pb.go
│ │ │ │ └── storage_vtproto.pb.go
│ │ │ └── time/
│ │ │ ├── time.pb.go
│ │ │ ├── time_grpc.pb.go
│ │ │ └── time_vtproto.pb.go
│ │ ├── cel/
│ │ │ ├── build.go
│ │ │ ├── build_test.go
│ │ │ ├── cel.go
│ │ │ ├── cel_test.go
│ │ │ └── celenv/
│ │ │ ├── celenv.go
│ │ │ └── celenv_test.go
│ │ ├── client/
│ │ │ ├── basic_auth.go
│ │ │ ├── client.go
│ │ │ ├── client_test.go
│ │ │ ├── config/
│ │ │ │ ├── config.go
│ │ │ │ ├── config_test.go
│ │ │ │ └── path.go
│ │ │ ├── connection.go
│ │ │ ├── connection_test.go
│ │ │ ├── context.go
│ │ │ ├── dialer/
│ │ │ │ ├── dialer.go
│ │ │ │ ├── dialer_test.go
│ │ │ │ └── proxy.go
│ │ │ ├── events.go
│ │ │ ├── export_test.go
│ │ │ ├── grpc_connection_wrapper.go
│ │ │ ├── insecure_credentials.go
│ │ │ ├── inspect.go
│ │ │ ├── options.go
│ │ │ ├── peer.go
│ │ │ ├── reply.go
│ │ │ ├── reply_test.go
│ │ │ ├── resolver/
│ │ │ │ ├── resolver.go
│ │ │ │ ├── roundrobin.go
│ │ │ │ └── roundrobin_test.go
│ │ │ ├── resources.go
│ │ │ ├── secure_credentials.go
│ │ │ ├── status.go
│ │ │ └── status_test.go
│ │ ├── compatibility/
│ │ │ ├── compatibility.go
│ │ │ ├── kubernetes_version.go
│ │ │ ├── kubernetes_version_test.go
│ │ │ ├── talos110/
│ │ │ │ └── talos110.go
│ │ │ ├── talos111/
│ │ │ │ └── talos111.go
│ │ │ ├── talos112/
│ │ │ │ └── talos112.go
│ │ │ ├── talos113/
│ │ │ │ └── talos113.go
│ │ │ ├── talos12/
│ │ │ │ └── talos12.go
│ │ │ ├── talos13/
│ │ │ │ └── talos13.go
│ │ │ ├── talos14/
│ │ │ │ └── talos14.go
│ │ │ ├── talos15/
│ │ │ │ └── talos15.go
│ │ │ ├── talos16/
│ │ │ │ └── talos16.go
│ │ │ ├── talos17/
│ │ │ │ └── talos17.go
│ │ │ ├── talos18/
│ │ │ │ └── talos18.go
│ │ │ ├── talos19/
│ │ │ │ └── talos19.go
│ │ │ ├── talos_version.go
│ │ │ └── talos_version_test.go
│ │ ├── config/
│ │ │ ├── bundle/
│ │ │ │ ├── bundle.go
│ │ │ │ ├── bundle_test.go
│ │ │ │ └── options.go
│ │ │ ├── config/
│ │ │ │ ├── cluster.go
│ │ │ │ ├── config.go
│ │ │ │ ├── cri.go
│ │ │ │ ├── document.go
│ │ │ │ ├── encoder.go
│ │ │ │ ├── extension_service_config.go
│ │ │ │ ├── helpers.go
│ │ │ │ ├── kubespan.go
│ │ │ │ ├── machine.go
│ │ │ │ ├── network.go
│ │ │ │ ├── pci_driver_rebind.go
│ │ │ │ ├── runtime.go
│ │ │ │ ├── security.go
│ │ │ │ ├── siderolink.go
│ │ │ │ ├── validate.go
│ │ │ │ └── volume.go
│ │ │ ├── config.go
│ │ │ ├── config_schema_test.go
│ │ │ ├── configdiff/
│ │ │ │ ├── configdiff.go
│ │ │ │ ├── configdiff_test.go
│ │ │ │ ├── mergepatch.go
│ │ │ │ ├── mergepatch_test.go
│ │ │ │ └── testdata/
│ │ │ │ ├── modified.yaml
│ │ │ │ └── original.yaml
│ │ │ ├── configloader/
│ │ │ │ ├── configloader.go
│ │ │ │ ├── configloader_fuzz_test.go
│ │ │ │ ├── configloader_test.go
│ │ │ │ ├── internal/
│ │ │ │ │ └── decoder/
│ │ │ │ │ ├── decoder.go
│ │ │ │ │ ├── decoder_test.go
│ │ │ │ │ ├── delete.go
│ │ │ │ │ ├── delete_test.go
│ │ │ │ │ ├── selector.go
│ │ │ │ │ └── testdata/
│ │ │ │ │ ├── delete/
│ │ │ │ │ │ ├── delete.yaml
│ │ │ │ │ │ └── delete_expected.yaml
│ │ │ │ │ └── double/
│ │ │ │ │ └── v1alpha1.yaml
│ │ │ │ └── testdata/
│ │ │ │ ├── controlplane.test
│ │ │ │ ├── empty1.test
│ │ │ │ ├── empty2.test
│ │ │ │ ├── fuzz/
│ │ │ │ │ └── FuzzConfigLoader/
│ │ │ │ │ └── dfd1adfe630cffc2
│ │ │ │ ├── multidoc1.test
│ │ │ │ ├── multidoc2.test
│ │ │ │ ├── multidoc3.test
│ │ │ │ └── worker.test
│ │ │ ├── configpatcher/
│ │ │ │ ├── apply.go
│ │ │ │ ├── apply_test.go
│ │ │ │ ├── configpatcher.go
│ │ │ │ ├── configpatcher_test.go
│ │ │ │ ├── json6902.go
│ │ │ │ ├── load.go
│ │ │ │ ├── load_test.go
│ │ │ │ ├── strategic.go
│ │ │ │ └── testdata/
│ │ │ │ ├── apply/
│ │ │ │ │ ├── config.yaml
│ │ │ │ │ ├── expected.yaml
│ │ │ │ │ ├── expected_manifests.yaml
│ │ │ │ │ ├── jsonpatch1.yaml
│ │ │ │ │ ├── jsonpatch2.yaml
│ │ │ │ │ ├── strategic1.yaml
│ │ │ │ │ ├── strategic2.yaml
│ │ │ │ │ ├── strategic3.yaml
│ │ │ │ │ └── strategic4.yaml
│ │ │ │ ├── auditpolicy/
│ │ │ │ │ ├── config.yaml
│ │ │ │ │ ├── expected.yaml
│ │ │ │ │ └── patch1.yaml
│ │ │ │ ├── multidoc/
│ │ │ │ │ ├── config.yaml
│ │ │ │ │ ├── expected.yaml
│ │ │ │ │ ├── jsonpatch.yaml
│ │ │ │ │ ├── strategic1.yaml
│ │ │ │ │ └── strategic2.yaml
│ │ │ │ ├── patch.json
│ │ │ │ ├── patch.yaml
│ │ │ │ ├── patchdelete/
│ │ │ │ │ ├── config.yaml
│ │ │ │ │ ├── controlplane_expected.yaml
│ │ │ │ │ ├── controlplane_orig.yaml
│ │ │ │ │ ├── expected.yaml
│ │ │ │ │ ├── strategic1.yaml
│ │ │ │ │ ├── strategic2.yaml
│ │ │ │ │ ├── strategic3.yaml
│ │ │ │ │ └── strategic4.yaml
│ │ │ │ ├── patchdeletemissing/
│ │ │ │ │ ├── config.yaml
│ │ │ │ │ └── strategic1.yaml
│ │ │ │ ├── patchlink/
│ │ │ │ │ ├── base.yaml
│ │ │ │ │ ├── expected.yaml
│ │ │ │ │ └── patch.yaml
│ │ │ │ └── strategic.yaml
│ │ │ ├── container/
│ │ │ │ ├── container.go
│ │ │ │ └── container_test.go
│ │ │ ├── contract.go
│ │ │ ├── contract_test.go
│ │ │ ├── encoder/
│ │ │ │ ├── documentation.go
│ │ │ │ ├── encoder.go
│ │ │ │ ├── encoder_test.go
│ │ │ │ ├── markdown.go
│ │ │ │ ├── markdown.tmpl
│ │ │ │ └── options.go
│ │ │ ├── generate/
│ │ │ │ ├── controlplane.go
│ │ │ │ ├── example_test.go
│ │ │ │ ├── generate.go
│ │ │ │ ├── generate_test.go
│ │ │ │ ├── init.go
│ │ │ │ ├── network.go
│ │ │ │ ├── options.go
│ │ │ │ ├── registry.go
│ │ │ │ ├── secrets/
│ │ │ │ │ ├── bundle.go
│ │ │ │ │ ├── ca.go
│ │ │ │ │ ├── clock.go
│ │ │ │ │ ├── generate_test.go
│ │ │ │ │ ├── marshal_test.go
│ │ │ │ │ ├── secrets.go
│ │ │ │ │ ├── testdata/
│ │ │ │ │ │ ├── invalid-secrets.yaml
│ │ │ │ │ │ └── secrets.yaml
│ │ │ │ │ ├── utils.go
│ │ │ │ │ └── validate_test.go
│ │ │ │ ├── stdpatches/
│ │ │ │ │ ├── stdpatches.go
│ │ │ │ │ └── stdpatches_test.go
│ │ │ │ ├── talosconfig.go
│ │ │ │ └── worker.go
│ │ │ ├── internal/
│ │ │ │ ├── cis/
│ │ │ │ │ ├── cis.go
│ │ │ │ │ └── cis_test.go
│ │ │ │ ├── documentid/
│ │ │ │ │ └── documentid.go
│ │ │ │ └── registry/
│ │ │ │ ├── registry.go
│ │ │ │ └── registry_test.go
│ │ │ ├── machine/
│ │ │ │ ├── machine.go
│ │ │ │ ├── machine_test.go
│ │ │ │ └── type_string.go
│ │ │ ├── merge/
│ │ │ │ ├── merge.go
│ │ │ │ └── merge_test.go
│ │ │ ├── provider.go
│ │ │ ├── schemas/
│ │ │ │ ├── README.md
│ │ │ │ ├── config.schema.json
│ │ │ │ └── v1alpha1_config.schema.json
│ │ │ ├── types/
│ │ │ │ ├── block/
│ │ │ │ │ ├── block.go
│ │ │ │ │ ├── block_doc.go
│ │ │ │ │ ├── blockhelpers/
│ │ │ │ │ │ └── blockhelpers.go
│ │ │ │ │ ├── byte_size.go
│ │ │ │ │ ├── deep_copy.generated.go
│ │ │ │ │ ├── encryption.go
│ │ │ │ │ ├── existing_volume_config.go
│ │ │ │ │ ├── existing_volume_config_test.go
│ │ │ │ │ ├── external_volume_config.go
│ │ │ │ │ ├── external_volume_config_test.go
│ │ │ │ │ ├── percentage_size.go
│ │ │ │ │ ├── raw_volume_config.go
│ │ │ │ │ ├── raw_volume_config_test.go
│ │ │ │ │ ├── size.go
│ │ │ │ │ ├── size_test.go
│ │ │ │ │ ├── swap_volume_config.go
│ │ │ │ │ ├── swap_volume_config_test.go
│ │ │ │ │ ├── testdata/
│ │ │ │ │ │ ├── existingvolumeconfig_selector.yaml
│ │ │ │ │ │ ├── externalvolumeconfig_basicvirtiofs.yaml
│ │ │ │ │ │ ├── rawvolumeconfig_diskselector.yaml
│ │ │ │ │ │ ├── rawvolumeconfig_encrypted.yaml
│ │ │ │ │ │ ├── swapvolumeconfig_diskselector.yaml
│ │ │ │ │ │ ├── swapvolumeconfig_encrypted.yaml
│ │ │ │ │ │ ├── uservolumeconfig_diskselector.yaml
│ │ │ │ │ │ ├── uservolumeconfig_encrypted.yaml
│ │ │ │ │ │ ├── uservolumeconfig_prjquota.yaml
│ │ │ │ │ │ ├── volumeconfig_diskselector.yaml
│ │ │ │ │ │ ├── volumeconfig_empty.yaml
│ │ │ │ │ │ ├── volumeconfig_maxsize.yaml
│ │ │ │ │ │ ├── volumeconfig_negativemaxsize.yaml
│ │ │ │ │ │ ├── volumeconfig_state.yaml
│ │ │ │ │ │ ├── volumeconfig_tpm_encryption_no_options.yaml
│ │ │ │ │ │ ├── volumeconfig_tpm_encryption_with_pcr_settings.yaml
│ │ │ │ │ │ ├── volumeconfig_tpm_encryption_with_pcrs_disabled.yaml
│ │ │ │ │ │ ├── zswapconfig_full.yaml
│ │ │ │ │ │ └── zswapconfig_min.yaml
│ │ │ │ │ ├── user_volume_config.go
│ │ │ │ │ ├── user_volume_config_test.go
│ │ │ │ │ ├── volume_config.go
│ │ │ │ │ ├── volume_config_test.go
│ │ │ │ │ ├── zswap_config.go
│ │ │ │ │ └── zswap_config_test.go
│ │ │ │ ├── cri/
│ │ │ │ │ ├── cri.go
│ │ │ │ │ ├── cri_doc.go
│ │ │ │ │ ├── deep_copy.generated.go
│ │ │ │ │ ├── registry_auth.go
│ │ │ │ │ ├── registry_auth_test.go
│ │ │ │ │ ├── registry_mirror.go
│ │ │ │ │ ├── registry_mirror_test.go
│ │ │ │ │ ├── registry_tls.go
│ │ │ │ │ ├── registry_tls_test.go
│ │ │ │ │ └── testdata/
│ │ │ │ │ ├── registryauthconfig.yaml
│ │ │ │ │ ├── registrymirrorconfig.yaml
│ │ │ │ │ └── registrytlsconfig.yaml
│ │ │ │ ├── hardware/
│ │ │ │ │ ├── deep_copy.generated.go
│ │ │ │ │ ├── hardware.go
│ │ │ │ │ ├── hardware_doc.go
│ │ │ │ │ ├── pci_driver_rebind_config.go
│ │ │ │ │ ├── pci_driver_rebind_config_test.go
│ │ │ │ │ └── testdata/
│ │ │ │ │ └── pcidriverrebindconfig.yaml
│ │ │ │ ├── meta/
│ │ │ │ │ ├── certificate_key.go
│ │ │ │ │ ├── meta.go
│ │ │ │ │ └── url.go
│ │ │ │ ├── network/
│ │ │ │ │ ├── blackhole_route.go
│ │ │ │ │ ├── blackhole_route_test.go
│ │ │ │ │ ├── bond.go
│ │ │ │ │ ├── bond_test.go
│ │ │ │ │ ├── bridge.go
│ │ │ │ │ ├── bridge_test.go
│ │ │ │ │ ├── deep_copy.generated.go
│ │ │ │ │ ├── default_action_config.go
│ │ │ │ │ ├── default_action_config_test.go
│ │ │ │ │ ├── dhcp4.go
│ │ │ │ │ ├── dhcp4_test.go
│ │ │ │ │ ├── dhcp6.go
│ │ │ │ │ ├── dhcp6_test.go
│ │ │ │ │ ├── dummy.go
│ │ │ │ │ ├── dummy_test.go
│ │ │ │ │ ├── ethernet.go
│ │ │ │ │ ├── ethernet_test.go
│ │ │ │ │ ├── hcloud_vip.go
│ │ │ │ │ ├── hcloud_vip_test.go
│ │ │ │ │ ├── hostname.go
│ │ │ │ │ ├── hostname_test.go
│ │ │ │ │ ├── kubespan.go
│ │ │ │ │ ├── kubespan_endpoints.go
│ │ │ │ │ ├── kubespan_endpoints_test.go
│ │ │ │ │ ├── kubespan_test.go
│ │ │ │ │ ├── layer2_vip.go
│ │ │ │ │ ├── layer2_vip_test.go
│ │ │ │ │ ├── link.go
│ │ │ │ │ ├── link_alias.go
│ │ │ │ │ ├── link_alias_test.go
│ │ │ │ │ ├── link_test.go
│ │ │ │ │ ├── network.go
│ │ │ │ │ ├── network_doc.go
│ │ │ │ │ ├── port_range.go
│ │ │ │ │ ├── port_range_test.go
│ │ │ │ │ ├── resolver.go
│ │ │ │ │ ├── resolver_test.go
│ │ │ │ │ ├── routing_rule.go
│ │ │ │ │ ├── routing_rule_test.go
│ │ │ │ │ ├── rule_config.go
│ │ │ │ │ ├── rule_config_test.go
│ │ │ │ │ ├── static_host.go
│ │ │ │ │ ├── static_host_test.go
│ │ │ │ │ ├── tcp_probe.go
│ │ │ │ │ ├── tcp_probe_test.go
│ │ │ │ │ ├── testdata/
│ │ │ │ │ │ ├── blackholerouteconfig.yaml
│ │ │ │ │ │ ├── bondconfig.yaml
│ │ │ │ │ │ ├── bridgeconfig.yaml
│ │ │ │ │ │ ├── defaultactionconfig.yaml
│ │ │ │ │ │ ├── dhcpv4config.yaml
│ │ │ │ │ │ ├── dhcpv6config.yaml
│ │ │ │ │ │ ├── dummylinkconfig.yaml
│ │ │ │ │ │ ├── ethernetconfig.yaml
│ │ │ │ │ │ ├── hcloudvipconfig.yaml
│ │ │ │ │ │ ├── hostnameconfig.yaml
│ │ │ │ │ │ ├── kubespanconfig.yaml
│ │ │ │ │ │ ├── kubespanendpointsconfig.yaml
│ │ │ │ │ │ ├── layer2vipconfig.yaml
│ │ │ │ │ │ ├── linkaliasconfig.yaml
│ │ │ │ │ │ ├── linkconfig.yaml
│ │ │ │ │ │ ├── resolverconfig.yaml
│ │ │ │ │ │ ├── routingruleconfig.yaml
│ │ │ │ │ │ ├── ruleconfig.yaml
│ │ │ │ │ │ ├── statichostconfig.yaml
│ │ │ │ │ │ ├── tcpprobeconfig.yaml
│ │ │ │ │ │ ├── timesyncconfig.yaml
│ │ │ │ │ │ ├── vlanconfig.yaml
│ │ │ │ │ │ ├── vrfconfig.yaml
│ │ │ │ │ │ ├── wireguardconfig.yaml
│ │ │ │ │ │ └── wireguardconfig_redacted.yaml
│ │ │ │ │ ├── time_sync.go
│ │ │ │ │ ├── time_sync_test.go
│ │ │ │ │ ├── vlan.go
│ │ │ │ │ ├── vlan_test.go
│ │ │ │ │ ├── vrf.go
│ │ │ │ │ ├── vrf_test.go
│ │ │ │ │ ├── wireguard.go
│ │ │ │ │ ├── wireguard_test.go
│ │ │ │ │ └── yaml.go
│ │ │ │ ├── runtime/
│ │ │ │ │ ├── deep_copy.generated.go
│ │ │ │ │ ├── environment.go
│ │ │ │ │ ├── environment_test.go
│ │ │ │ │ ├── event_sink.go
│ │ │ │ │ ├── event_sink_test.go
│ │ │ │ │ ├── extensions/
│ │ │ │ │ │ ├── deep_copy.generated.go
│ │ │ │ │ │ ├── extensions.go
│ │ │ │ │ │ ├── extensions_doc.go
│ │ │ │ │ │ ├── service_config.go
│ │ │ │ │ │ ├── service_config_test.go
│ │ │ │ │ │ └── testdata/
│ │ │ │ │ │ └── extension_service_config.yaml
│ │ │ │ │ ├── kmsg_log.go
│ │ │ │ │ ├── kmsg_log_test.go
│ │ │ │ │ ├── oom.go
│ │ │ │ │ ├── oom_test.go
│ │ │ │ │ ├── runtime.go
│ │ │ │ │ ├── runtime_doc.go
│ │ │ │ │ ├── testdata/
│ │ │ │ │ │ ├── environment.yaml
│ │ │ │ │ │ ├── eventsink.yaml
│ │ │ │ │ │ ├── kmsglog.yaml
│ │ │ │ │ │ ├── oom.yaml
│ │ │ │ │ │ └── watchdogtimer.yaml
│ │ │ │ │ ├── watchdog_timer.go
│ │ │ │ │ └── watchdog_timer_test.go
│ │ │ │ ├── security/
│ │ │ │ │ ├── deep_copy.generated.go
│ │ │ │ │ ├── image_verification.go
│ │ │ │ │ ├── image_verification_test.go
│ │ │ │ │ ├── security.go
│ │ │ │ │ ├── security_doc.go
│ │ │ │ │ ├── testdata/
│ │ │ │ │ │ ├── imageverificationconfig.yaml
│ │ │ │ │ │ └── trustedrootsconfig.yaml
│ │ │ │ │ ├── trusted_roots.go
│ │ │ │ │ └── trusted_roots_test.go
│ │ │ │ ├── siderolink/
│ │ │ │ │ ├── deep_copy.generated.go
│ │ │ │ │ ├── siderolink.go
│ │ │ │ │ ├── siderolink_doc.go
│ │ │ │ │ ├── siderolink_test.go
│ │ │ │ │ └── testdata/
│ │ │ │ │ └── document.yaml
│ │ │ │ ├── types.go
│ │ │ │ └── v1alpha1/
│ │ │ │ ├── doc.go
│ │ │ │ ├── testdata/
│ │ │ │ │ ├── stability/
│ │ │ │ │ │ ├── patch.yaml
│ │ │ │ │ │ ├── secrets.yaml
│ │ │ │ │ │ ├── v1.10/
│ │ │ │ │ │ │ ├── base-controlplane.yaml
│ │ │ │ │ │ │ ├── base-worker.yaml
│ │ │ │ │ │ │ ├── overrides-controlplane.yaml
│ │ │ │ │ │ │ └── overrides-worker.yaml
│ │ │ │ │ │ ├── v1.11/
│ │ │ │ │ │ │ ├── base-controlplane.yaml
│ │ │ │ │ │ │ ├── base-worker.yaml
│ │ │ │ │ │ │ ├── overrides-controlplane.yaml
│ │ │ │ │ │ │ └── overrides-worker.yaml
│ │ │ │ │ │ ├── v1.12/
│ │ │ │ │ │ │ ├── base-controlplane.yaml
│ │ │ │ │ │ │ ├── base-worker.yaml
│ │ │ │ │ │ │ ├── overrides-controlplane.yaml
│ │ │ │ │ │ │ └── overrides-worker.yaml
│ │ │ │ │ │ ├── v1.13/
│ │ │ │ │ │ │ ├── base-controlplane.yaml
│ │ │ │ │ │ │ ├── base-worker.yaml
│ │ │ │ │ │ │ ├── overrides-controlplane.yaml
│ │ │ │ │ │ │ └── overrides-worker.yaml
│ │ │ │ │ │ ├── v1.3/
│ │ │ │ │ │ │ ├── base-controlplane.yaml
│ │ │ │ │ │ │ ├── base-worker.yaml
│ │ │ │ │ │ │ ├── overrides-controlplane.yaml
│ │ │ │ │ │ │ └── overrides-worker.yaml
│ │ │ │ │ │ ├── v1.4/
│ │ │ │ │ │ │ ├── base-controlplane.yaml
│ │ │ │ │ │ │ ├── base-worker.yaml
│ │ │ │ │ │ │ ├── overrides-controlplane.yaml
│ │ │ │ │ │ │ └── overrides-worker.yaml
│ │ │ │ │ │ ├── v1.5/
│ │ │ │ │ │ │ ├── base-controlplane.yaml
│ │ │ │ │ │ │ ├── base-worker.yaml
│ │ │ │ │ │ │ ├── overrides-controlplane.yaml
│ │ │ │ │ │ │ └── overrides-worker.yaml
│ │ │ │ │ │ ├── v1.6/
│ │ │ │ │ │ │ ├── base-controlplane.yaml
│ │ │ │ │ │ │ ├── base-worker.yaml
│ │ │ │ │ │ │ ├── overrides-controlplane.yaml
│ │ │ │ │ │ │ └── overrides-worker.yaml
│ │ │ │ │ │ ├── v1.7/
│ │ │ │ │ │ │ ├── base-controlplane.yaml
│ │ │ │ │ │ │ ├── base-worker.yaml
│ │ │ │ │ │ │ ├── overrides-controlplane.yaml
│ │ │ │ │ │ │ └── overrides-worker.yaml
│ │ │ │ │ │ ├── v1.8/
│ │ │ │ │ │ │ ├── base-controlplane.yaml
│ │ │ │ │ │ │ ├── base-worker.yaml
│ │ │ │ │ │ │ ├── overrides-controlplane.yaml
│ │ │ │ │ │ │ └── overrides-worker.yaml
│ │ │ │ │ │ └── v1.9/
│ │ │ │ │ │ ├── base-controlplane.yaml
│ │ │ │ │ │ ├── base-worker.yaml
│ │ │ │ │ │ ├── overrides-controlplane.yaml
│ │ │ │ │ │ └── overrides-worker.yaml
│ │ │ │ │ └── strategic/
│ │ │ │ │ ├── 001/
│ │ │ │ │ │ ├── expected.yaml
│ │ │ │ │ │ ├── left.yaml
│ │ │ │ │ │ └── right.yaml
│ │ │ │ │ ├── 002/
│ │ │ │ │ │ ├── expected.yaml
│ │ │ │ │ │ ├── left.yaml
│ │ │ │ │ │ └── right.yaml
│ │ │ │ │ ├── 003/
│ │ │ │ │ │ ├── expected.yaml
│ │ │ │ │ │ ├── left.yaml
│ │ │ │ │ │ └── right.yaml
│ │ │ │ │ ├── 004/
│ │ │ │ │ │ ├── expected.yaml
│ │ │ │ │ │ ├── left.yaml
│ │ │ │ │ │ └── right.yaml
│ │ │ │ │ ├── 005/
│ │ │ │ │ │ ├── expected.yaml
│ │ │ │ │ │ ├── left.yaml
│ │ │ │ │ │ └── right.yaml
│ │ │ │ │ └── 006/
│ │ │ │ │ ├── expected.yaml
│ │ │ │ │ ├── left.yaml
│ │ │ │ │ └── right.yaml
│ │ │ │ ├── v1alpha1_admissionplugin.go
│ │ │ │ ├── v1alpha1_apiserverconfig.go
│ │ │ │ ├── v1alpha1_authorizaationconfigauthorizer.go
│ │ │ │ ├── v1alpha1_clusterconfig.go
│ │ │ │ ├── v1alpha1_cniconfig.go
│ │ │ │ ├── v1alpha1_controllermanagerconfig.go
│ │ │ │ ├── v1alpha1_discoveryconfig.go
│ │ │ │ ├── v1alpha1_etcdconfig.go
│ │ │ │ ├── v1alpha1_examples.go
│ │ │ │ ├── v1alpha1_externalcloudproviderconfig.go
│ │ │ │ ├── v1alpha1_features.go
│ │ │ │ ├── v1alpha1_inlinemanifest.go
│ │ │ │ ├── v1alpha1_kernel.go
│ │ │ │ ├── v1alpha1_kubernetestalosapiaccess.go
│ │ │ │ ├── v1alpha1_logging.go
│ │ │ │ ├── v1alpha1_marshal.go
│ │ │ │ ├── v1alpha1_marshal_test.go
│ │ │ │ ├── v1alpha1_network_bridge.go
│ │ │ │ ├── v1alpha1_network_bridge_test.go
│ │ │ │ ├── v1alpha1_network_options.go
│ │ │ │ ├── v1alpha1_provider.go
│ │ │ │ ├── v1alpha1_provider_test.go
│ │ │ │ ├── v1alpha1_proxyconfig.go
│ │ │ │ ├── v1alpha1_redact_test.go
│ │ │ │ ├── v1alpha1_resourcesconfig.go
│ │ │ │ ├── v1alpha1_schedulerconfig.go
│ │ │ │ ├── v1alpha1_stability_test.go
│ │ │ │ ├── v1alpha1_strategic_merge_test.go
│ │ │ │ ├── v1alpha1_types.go
│ │ │ │ ├── v1alpha1_types_doc.go
│ │ │ │ ├── v1alpha1_unstructured.go
│ │ │ │ ├── v1alpha1_unstructured_test.go
│ │ │ │ ├── v1alpha1_validation.go
│ │ │ │ ├── v1alpha1_validation_test.go
│ │ │ │ └── zz_generated.deepcopy.go
│ │ │ └── validation/
│ │ │ ├── mode.go
│ │ │ └── validation.go
│ │ ├── constants/
│ │ │ ├── amd64.go
│ │ │ ├── amd64_v1.go
│ │ │ ├── constants.go
│ │ │ └── environment.go
│ │ ├── extensions/
│ │ │ ├── config.go
│ │ │ ├── deep_copy.generated.go
│ │ │ ├── extensions.go
│ │ │ ├── extensions_test.go
│ │ │ ├── load.go
│ │ │ ├── metadata.go
│ │ │ ├── services/
│ │ │ │ ├── restart_kind.go
│ │ │ │ ├── restartkind_enumer.go
│ │ │ │ ├── services.go
│ │ │ │ ├── services_test.go
│ │ │ │ └── testdata/
│ │ │ │ └── hello.yaml
│ │ │ ├── testdata/
│ │ │ │ ├── bad/
│ │ │ │ │ ├── badpaths/
│ │ │ │ │ │ ├── manifest.yaml
│ │ │ │ │ │ └── rootfs/
│ │ │ │ │ │ └── boot/
│ │ │ │ │ │ └── vmlinuz
│ │ │ │ │ ├── emptymanifest/
│ │ │ │ │ │ └── manifest.yaml
│ │ │ │ │ ├── norootfs/
│ │ │ │ │ │ └── manifest.yaml
│ │ │ │ │ ├── usrmerge/
│ │ │ │ │ │ └── manifest.yaml
│ │ │ │ │ └── wrongfiles/
│ │ │ │ │ └── a
│ │ │ │ └── good/
│ │ │ │ └── extension1/
│ │ │ │ ├── manifest.yaml
│ │ │ │ └── rootfs/
│ │ │ │ └── usr/
│ │ │ │ └── lib/
│ │ │ │ ├── firmware/
│ │ │ │ │ └── amd/
│ │ │ │ │ └── cpu
│ │ │ │ └── ld-linux-x86-64.so.2
│ │ │ └── validate.go
│ │ ├── fipsmode/
│ │ │ ├── fipsmode.go
│ │ │ └── fipsmode_test.go
│ │ ├── formatters/
│ │ │ └── formatters.go
│ │ ├── gendata/
│ │ │ ├── data/
│ │ │ │ ├── artifacts
│ │ │ │ ├── name
│ │ │ │ ├── pkgs
│ │ │ │ ├── registry
│ │ │ │ ├── sha
│ │ │ │ ├── tag
│ │ │ │ ├── tools
│ │ │ │ └── username
│ │ │ └── gendata.go
│ │ ├── go.mod
│ │ ├── go.sum
│ │ ├── imager/
│ │ │ ├── imageropts/
│ │ │ │ ├── bootloaderkind_enumer.go
│ │ │ │ └── imageropts.go
│ │ │ └── quirks/
│ │ │ ├── partitions.go
│ │ │ ├── quirks.go
│ │ │ └── quirks_test.go
│ │ ├── kernel/
│ │ │ ├── kernel.go
│ │ │ └── kernel_test.go
│ │ ├── kubelet/
│ │ │ └── kubelet.go
│ │ ├── labels/
│ │ │ ├── validate.go
│ │ │ └── validate_test.go
│ │ ├── meta/
│ │ │ ├── constants.go
│ │ │ ├── meta.go
│ │ │ └── meta_test.go
│ │ ├── nethelpers/
│ │ │ ├── address_flags.go
│ │ │ ├── addresssortalgorithm.go
│ │ │ ├── adlacpactive.go
│ │ │ ├── adselect.go
│ │ │ ├── arpalltargets.go
│ │ │ ├── arpalltargets_enumer.go
│ │ │ ├── arpvalidate.go
│ │ │ ├── autohostnamekind.go
│ │ │ ├── bondmode.go
│ │ │ ├── bondxmithashpolicy.go
│ │ │ ├── client_identifier.go
│ │ │ ├── conntrack_state.go
│ │ │ ├── default_action.go
│ │ │ ├── device.go
│ │ │ ├── duplex.go
│ │ │ ├── failovermac.go
│ │ │ ├── failovermac_enumer.go
│ │ │ ├── failovermac_test.go
│ │ │ ├── family.go
│ │ │ ├── host_port.go
│ │ │ ├── hwaddr.go
│ │ │ ├── icmp_type.go
│ │ │ ├── lacprate.go
│ │ │ ├── linkflag.go
│ │ │ ├── linktype.go
│ │ │ ├── match_operator.go
│ │ │ ├── nethelpers.go
│ │ │ ├── nftables_chain_hook.go
│ │ │ ├── nftables_chain_priority.go
│ │ │ ├── nftables_chain_type.go
│ │ │ ├── nftables_verdict.go
│ │ │ ├── operstate.go
│ │ │ ├── port.go
│ │ │ ├── primaryreselect.go
│ │ │ ├── protocol.go
│ │ │ ├── routeflags.go
│ │ │ ├── routeflags_test.go
│ │ │ ├── routeprotocol.go
│ │ │ ├── routetype.go
│ │ │ ├── routingruleaction.go
│ │ │ ├── routingtable.go
│ │ │ ├── scope.go
│ │ │ ├── status.go
│ │ │ ├── vlan.go
│ │ │ ├── vlan_test.go
│ │ │ ├── vlanprotocol.go
│ │ │ └── wol.go
│ │ ├── overlay/
│ │ │ ├── adapter/
│ │ │ │ └── adapter.go
│ │ │ └── overlay.go
│ │ ├── platforms/
│ │ │ ├── platforms.go
│ │ │ ├── platforms_test.go
│ │ │ ├── sbcs.go
│ │ │ └── sbcs_test.go
│ │ ├── proto/
│ │ │ ├── proto.go
│ │ │ ├── proto_test.go
│ │ │ └── resource.go
│ │ ├── resources/
│ │ │ ├── block/
│ │ │ │ ├── block.go
│ │ │ │ ├── block_test.go
│ │ │ │ ├── deep_copy.generated.go
│ │ │ │ ├── device.go
│ │ │ │ ├── discovered_volume.go
│ │ │ │ ├── discovery_refresh_request.go
│ │ │ │ ├── discovery_refresh_status.go
│ │ │ │ ├── disk.go
│ │ │ │ ├── encryptionkeytype.go
│ │ │ │ ├── encryptionprovidertype.go
│ │ │ │ ├── filesystemtype.go
│ │ │ │ ├── fsparametertype.go
│ │ │ │ ├── mount_request.go
│ │ │ │ ├── mount_status.go
│ │ │ │ ├── swap_status.go
│ │ │ │ ├── symlink.go
│ │ │ │ ├── system_disk.go
│ │ │ │ ├── user_disk_config_status.go
│ │ │ │ ├── volume_config.go
│ │ │ │ ├── volume_config_test.go
│ │ │ │ ├── volume_lifecycle.go
│ │ │ │ ├── volume_mount_request.go
│ │ │ │ ├── volume_mount_status.go
│ │ │ │ ├── volume_status.go
│ │ │ │ ├── volumephase.go
│ │ │ │ ├── volumetype.go
│ │ │ │ ├── volumetype_enumer.go
│ │ │ │ └── zswap_status.go
│ │ │ ├── cluster/
│ │ │ │ ├── affiliate.go
│ │ │ │ ├── affiliate_test.go
│ │ │ │ ├── cluster.go
│ │ │ │ ├── cluster_test.go
│ │ │ │ ├── config.go
│ │ │ │ ├── deep_copy.generated.go
│ │ │ │ ├── identity.go
│ │ │ │ ├── info.go
│ │ │ │ └── member.go
│ │ │ ├── config/
│ │ │ │ ├── config.go
│ │ │ │ ├── config_test.go
│ │ │ │ ├── machine_config.go
│ │ │ │ ├── machine_config_test.go
│ │ │ │ ├── machine_type.go
│ │ │ │ └── machine_type_test.go
│ │ │ ├── cri/
│ │ │ │ ├── cri.go
│ │ │ │ ├── cri_test.go
│ │ │ │ ├── deep_copy.generated.go
│ │ │ │ ├── image_cache_config.go
│ │ │ │ ├── imagecachecopystatus_enumer.go
│ │ │ │ ├── imagecachestatus.go
│ │ │ │ ├── imagecachestatus_enumer.go
│ │ │ │ ├── registries_config.go
│ │ │ │ └── seccomp_profile.go
│ │ │ ├── etcd/
│ │ │ │ ├── condition.go
│ │ │ │ ├── config.go
│ │ │ │ ├── deep_copy.generated.go
│ │ │ │ ├── etcd.go
│ │ │ │ ├── etcd_test.go
│ │ │ │ ├── member.go
│ │ │ │ ├── pki_status.go
│ │ │ │ └── spec.go
│ │ │ ├── files/
│ │ │ │ ├── deep_copy.generated.go
│ │ │ │ ├── etcfile_spec.go
│ │ │ │ ├── etcfile_status.go
│ │ │ │ ├── files.go
│ │ │ │ └── files_test.go
│ │ │ ├── hardware/
│ │ │ │ ├── deep_copy.generated.go
│ │ │ │ ├── hardware.go
│ │ │ │ ├── hardware_test.go
│ │ │ │ ├── memorymodule.go
│ │ │ │ ├── pci_driver_rebind_config.go
│ │ │ │ ├── pci_driver_rebind_status.go
│ │ │ │ ├── pcidevice.go
│ │ │ │ ├── pcr_status.go
│ │ │ │ ├── processor.go
│ │ │ │ └── system_information.go
│ │ │ ├── k8s/
│ │ │ │ ├── admissioncontrol_config.go
│ │ │ │ ├── apiserver_config.go
│ │ │ │ ├── auditpolicy_config.go
│ │ │ │ ├── authorization_config.go
│ │ │ │ ├── config_status.go
│ │ │ │ ├── controllermanager_config.go
│ │ │ │ ├── deep_copy.generated.go
│ │ │ │ ├── endpoint.go
│ │ │ │ ├── endpoint_test.go
│ │ │ │ ├── extramanifests_config.go
│ │ │ │ ├── k8s.go
│ │ │ │ ├── k8s_test.go
│ │ │ │ ├── kubelet_config.go
│ │ │ │ ├── kubelet_lifecycle.go
│ │ │ │ ├── kubelet_spec.go
│ │ │ │ ├── kubeprism.go
│ │ │ │ ├── kubeprism_config.go
│ │ │ │ ├── kubeprism_endpoints.go
│ │ │ │ ├── manifest.go
│ │ │ │ ├── manifest_status.go
│ │ │ │ ├── manifests_config.go
│ │ │ │ ├── node_annotation_spec.go
│ │ │ │ ├── node_cordoned_spec.go
│ │ │ │ ├── node_label_spec.go
│ │ │ │ ├── node_status.go
│ │ │ │ ├── node_taint_spec.go
│ │ │ │ ├── nodeip.go
│ │ │ │ ├── nodeip_config.go
│ │ │ │ ├── nodename.go
│ │ │ │ ├── scheduler_config.go
│ │ │ │ ├── secrets_status.go
│ │ │ │ ├── static_pod.go
│ │ │ │ ├── static_pod_server_status.go
│ │ │ │ └── static_pod_status.go
│ │ │ ├── kubeaccess/
│ │ │ │ ├── config.go
│ │ │ │ ├── kubeaccess.go
│ │ │ │ └── kubeaccess_test.go
│ │ │ ├── kubespan/
│ │ │ │ ├── config.go
│ │ │ │ ├── deep_copy.generated.go
│ │ │ │ ├── endpoint.go
│ │ │ │ ├── identity.go
│ │ │ │ ├── kubespan.go
│ │ │ │ ├── kubespan_test.go
│ │ │ │ ├── peer_spec.go
│ │ │ │ ├── peer_state.go
│ │ │ │ ├── peer_status.go
│ │ │ │ └── peerstate_string.go
│ │ │ ├── network/
│ │ │ │ ├── address_spec.go
│ │ │ │ ├── address_spec_test.go
│ │ │ │ ├── address_status.go
│ │ │ │ ├── condition.go
│ │ │ │ ├── condition_test.go
│ │ │ │ ├── configlayer.go
│ │ │ │ ├── configlayer_enumer.go
│ │ │ │ ├── deep_copy.generated.go
│ │ │ │ ├── device_config_spec.go
│ │ │ │ ├── device_config_spec_test.go
│ │ │ │ ├── dns_resolve_cache.go
│ │ │ │ ├── dns_upstream.go
│ │ │ │ ├── ethernet_spec.go
│ │ │ │ ├── ethernet_status.go
│ │ │ │ ├── hardrware_addr.go
│ │ │ │ ├── hostdns_config.go
│ │ │ │ ├── hostname_spec.go
│ │ │ │ ├── hostname_spec_test.go
│ │ │ │ ├── hostname_status.go
│ │ │ │ ├── link.go
│ │ │ │ ├── link_alias_spec.go
│ │ │ │ ├── link_name_resolver.go
│ │ │ │ ├── link_name_resolver_test.go
│ │ │ │ ├── link_refresh.go
│ │ │ │ ├── link_spec.go
│ │ │ │ ├── link_spec_test.go
│ │ │ │ ├── link_status.go
│ │ │ │ ├── link_status_test.go
│ │ │ │ ├── link_test.go
│ │ │ │ ├── network.go
│ │ │ │ ├── network_test.go
│ │ │ │ ├── nftables_chain.go
│ │ │ │ ├── node_address.go
│ │ │ │ ├── node_address_filter.go
│ │ │ │ ├── node_address_sort_algorithm.go
│ │ │ │ ├── operator.go
│ │ │ │ ├── operator_spec.go
│ │ │ │ ├── operator_spec_test.go
│ │ │ │ ├── platform_config.go
│ │ │ │ ├── platform_config_test.go
│ │ │ │ ├── probe_spec.go
│ │ │ │ ├── probe_status.go
│ │ │ │ ├── resolver_spec.go
│ │ │ │ ├── resolver_spec_test.go
│ │ │ │ ├── resolver_status.go
│ │ │ │ ├── route_spec.go
│ │ │ │ ├── route_spec_test.go
│ │ │ │ ├── route_status.go
│ │ │ │ ├── routing_rule_spec.go
│ │ │ │ ├── routing_rule_status.go
│ │ │ │ ├── status.go
│ │ │ │ ├── timeserver_spec.go
│ │ │ │ ├── timeserver_spec_test.go
│ │ │ │ ├── timeserver_status.go
│ │ │ │ ├── ula.go
│ │ │ │ └── ula_test.go
│ │ │ ├── perf/
│ │ │ │ ├── cpu.go
│ │ │ │ ├── deep_copy.generated.go
│ │ │ │ ├── mem.go
│ │ │ │ ├── perf.go
│ │ │ │ └── perf_test.go
│ │ │ ├── resources.go
│ │ │ ├── runtime/
│ │ │ │ ├── api_service_config.go
│ │ │ │ ├── booted_entry_status.go
│ │ │ │ ├── condition.go
│ │ │ │ ├── condition_test.go
│ │ │ │ ├── deep_copy.generated.go
│ │ │ │ ├── devices_status.go
│ │ │ │ ├── diagnostic.go
│ │ │ │ ├── environment.go
│ │ │ │ ├── event_sink_config.go
│ │ │ │ ├── extension_services_config.go
│ │ │ │ ├── extension_services_config_status.go
│ │ │ │ ├── extension_status.go
│ │ │ │ ├── fipsstate_enumer.go
│ │ │ │ ├── kernel_cmdline.go
│ │ │ │ ├── kernel_module_spec.go
│ │ │ │ ├── kernel_params_spec.go
│ │ │ │ ├── kernel_params_status.go
│ │ │ │ ├── kmsg_log_config.go
│ │ │ │ ├── loaded_kernel_module.go
│ │ │ │ ├── machine_reset_signal.go
│ │ │ │ ├── machine_status.go
│ │ │ │ ├── machinestage.go
│ │ │ │ ├── machinestage_enumer.go
│ │ │ │ ├── machinestage_test.go
│ │ │ │ ├── maintenance_config.go
│ │ │ │ ├── maintenance_request.go
│ │ │ │ ├── meta_key.go
│ │ │ │ ├── meta_loaded.go
│ │ │ │ ├── mount_status.go
│ │ │ │ ├── oom.go
│ │ │ │ ├── oom_action.go
│ │ │ │ ├── pcirebind_status.go
│ │ │ │ ├── platform_metadata.go
│ │ │ │ ├── runtime.go
│ │ │ │ ├── runtime_test.go
│ │ │ │ ├── sbom_item.go
│ │ │ │ ├── security_status.go
│ │ │ │ ├── selinuxstate_enumer.go
│ │ │ │ ├── unique_machine_token.go
│ │ │ │ ├── version.go
│ │ │ │ ├── watchdog_timer_config.go
│ │ │ │ └── watchdog_timer_status.go
│ │ │ ├── secrets/
│ │ │ │ ├── api.go
│ │ │ │ ├── api_test.go
│ │ │ │ ├── cert_sans.go
│ │ │ │ ├── condition.go
│ │ │ │ ├── deep_copy.generated.go
│ │ │ │ ├── encryption_salt.go
│ │ │ │ ├── etcd.go
│ │ │ │ ├── etcd_root.go
│ │ │ │ ├── kubelet.go
│ │ │ │ ├── kubernetes.go
│ │ │ │ ├── kubernetes_certs.go
│ │ │ │ ├── kubernetes_root.go
│ │ │ │ ├── maintenance_root.go
│ │ │ │ ├── os_root.go
│ │ │ │ ├── secrets.go
│ │ │ │ ├── secrets_test.go
│ │ │ │ ├── trustd.go
│ │ │ │ └── trustd_test.go
│ │ │ ├── security/
│ │ │ │ ├── deep_copy.generated.go
│ │ │ │ ├── image_verification_rule.go
│ │ │ │ ├── security.go
│ │ │ │ ├── security_test.go
│ │ │ │ └── tuf_trusted_root.go
│ │ │ ├── siderolink/
│ │ │ │ ├── deep_copy.generated.go
│ │ │ │ ├── siderolink.go
│ │ │ │ ├── siderolink_status.go
│ │ │ │ ├── siderolink_test.go
│ │ │ │ └── siderolink_tunnel.go
│ │ │ ├── time/
│ │ │ │ ├── adjtime_status.go
│ │ │ │ ├── condition.go
│ │ │ │ ├── deep_copy.generated.go
│ │ │ │ ├── status.go
│ │ │ │ ├── time.go
│ │ │ │ └── time_test.go
│ │ │ └── v1alpha1/
│ │ │ ├── acquire_config_spec.go
│ │ │ ├── acquire_config_status.go
│ │ │ ├── deep_copy.generated.go
│ │ │ ├── service.go
│ │ │ ├── v1alpha1.go
│ │ │ └── v1alpha1_test.go
│ │ ├── role/
│ │ │ ├── role.go
│ │ │ └── role_test.go
│ │ ├── textdiff/
│ │ │ ├── testdata/
│ │ │ │ └── fuzz/
│ │ │ │ └── FuzzDiff/
│ │ │ │ ├── 4436c698e19c9ea6
│ │ │ │ ├── 72f7d10cdb1b4c78
│ │ │ │ └── e8e3f58f18e0ab28
│ │ │ ├── textdiff.go
│ │ │ └── textdiff_test.go
│ │ ├── version/
│ │ │ ├── gen.go
│ │ │ ├── os-release
│ │ │ ├── osrelease.go
│ │ │ ├── osrelease_test.go
│ │ │ └── version.go
│ │ └── yamlutils/
│ │ ├── yamlutils.go
│ │ └── yamlutils_test.go
│ ├── makefs/
│ │ ├── ext4.go
│ │ ├── ext4_test.go
│ │ ├── makefs.go
│ │ ├── makefs_test.go
│ │ ├── protofile.go
│ │ ├── protofile_test.go
│ │ ├── testdata/
│ │ │ ├── deeply_nested.proto
│ │ │ ├── nested_directories.proto
│ │ │ ├── simple_directory.proto
│ │ │ └── symlinks.proto
│ │ ├── vfat.go
│ │ ├── vfat_test.go
│ │ ├── xfs.go
│ │ └── xfs_test.go
│ ├── minimal/
│ │ └── limits.go
│ ├── provision/
│ │ ├── access/
│ │ │ ├── access.go
│ │ │ ├── access_test.go
│ │ │ └── adapter.go
│ │ ├── internal/
│ │ │ ├── cniutils/
│ │ │ │ └── cniutils.go
│ │ │ └── inmemhttp/
│ │ │ ├── inmemhttp.go
│ │ │ └── inmemhttp_test.go
│ │ ├── options.go
│ │ ├── providers/
│ │ │ ├── docker/
│ │ │ │ ├── create.go
│ │ │ │ ├── destroy.go
│ │ │ │ ├── docker.go
│ │ │ │ ├── docker_test.go
│ │ │ │ ├── image.go
│ │ │ │ ├── network.go
│ │ │ │ ├── node.go
│ │ │ │ ├── reflect.go
│ │ │ │ └── result.go
│ │ │ ├── factory.go
│ │ │ ├── qemu/
│ │ │ │ ├── arch.go
│ │ │ │ ├── arch_darwin.go
│ │ │ │ ├── arch_linux.go
│ │ │ │ ├── controller.go
│ │ │ │ ├── create.go
│ │ │ │ ├── destroy.go
│ │ │ │ ├── launch.go
│ │ │ │ ├── launch_darwin.go
│ │ │ │ ├── launch_linux.go
│ │ │ │ ├── node.go
│ │ │ │ ├── node_darwin.go
│ │ │ │ ├── node_linux.go
│ │ │ │ ├── pflash.go
│ │ │ │ ├── preflight.go
│ │ │ │ ├── preflight_darwin.go
│ │ │ │ ├── preflight_linux.go
│ │ │ │ ├── qemu.go
│ │ │ │ └── tpm2.go
│ │ │ ├── qemu.go
│ │ │ ├── qemu_other.go
│ │ │ └── vm/
│ │ │ ├── controller.go
│ │ │ ├── dhcpd.go
│ │ │ ├── dhcpd_darwin.go
│ │ │ ├── dhcpd_linux.go
│ │ │ ├── disk.go
│ │ │ ├── dnsd.go
│ │ │ ├── dnsd_darwin.go
│ │ │ ├── dnsd_linux.go
│ │ │ ├── image_cache.go
│ │ │ ├── internal/
│ │ │ │ ├── ethtool/
│ │ │ │ │ ├── ethtool_linux.go
│ │ │ │ │ └── ethtool_other.go
│ │ │ │ └── ipxe/
│ │ │ │ ├── data/
│ │ │ │ │ └── ipxe/
│ │ │ │ │ ├── amd64/
│ │ │ │ │ │ └── snp.efi
│ │ │ │ │ └── arm64/
│ │ │ │ │ └── snp.efi
│ │ │ │ └── ipxe.go
│ │ │ ├── ipam.go
│ │ │ ├── json-logs.go
│ │ │ ├── kms.go
│ │ │ ├── launch.go
│ │ │ ├── loadbalancer.go
│ │ │ ├── loadbalancer_darwin.go
│ │ │ ├── loadbalancer_linux.go
│ │ │ ├── network.go
│ │ │ ├── network_darwin.go
│ │ │ ├── network_linux.go
│ │ │ ├── network_test.go
│ │ │ ├── node.go
│ │ │ ├── process.go
│ │ │ ├── reflect.go
│ │ │ ├── siderolink-agent.go
│ │ │ ├── state.go
│ │ │ ├── tftpd.go
│ │ │ ├── virtiofsd.go
│ │ │ ├── virtiofsd_darwin.go
│ │ │ ├── virtiofsd_linux.go
│ │ │ └── vm.go
│ │ ├── provision.go
│ │ ├── provision_test.go
│ │ ├── request.go
│ │ ├── result.go
│ │ ├── state.go
│ │ ├── state_linux.go
│ │ └── state_other.go
│ ├── reporter/
│ │ └── reporter.go
│ ├── rotate/
│ │ └── pki/
│ │ ├── internal/
│ │ │ └── helpers/
│ │ │ └── helpers.go
│ │ ├── kubernetes/
│ │ │ └── kubernetes.go
│ │ └── talos/
│ │ └── talos.go
│ ├── safepath/
│ │ ├── safepath.go
│ │ └── safepath_test.go
│ ├── splash/
│ │ └── splash.go
│ ├── startup/
│ │ ├── maxprocs.go
│ │ └── startup.go
│ └── xfs/
│ ├── fsopen/
│ │ ├── fsopen_linux.go
│ │ ├── fsopen_other.go
│ │ └── options_linux.go
│ ├── fsopen_test.go
│ ├── helpers_linux.go
│ ├── opentree/
│ │ ├── opentree_linux.go
│ │ └── opentree_other.go
│ ├── opentree_test.go
│ ├── osroot.go
│ ├── osroot_test.go
│ ├── root.go
│ ├── root_linux.go
│ └── root_test.go
├── tools/
│ ├── docgen/
│ │ ├── go.mod
│ │ ├── go.sum
│ │ ├── main.go
│ │ ├── main_test.go
│ │ └── schema.go
│ ├── go.mod
│ ├── go.sum
│ ├── gotagsrewrite/
│ │ ├── ast.go
│ │ ├── go.mod
│ │ ├── go.sum
│ │ ├── main.go
│ │ ├── main_test.go
│ │ └── testdata/
│ │ ├── a.golden
│ │ └── a.orig
│ └── structprotogen/
│ ├── ast/
│ │ └── ast.go
│ ├── consts/
│ │ └── consts.go
│ ├── go.mod
│ ├── go.sum
│ ├── loader/
│ │ └── loader.go
│ ├── main.go
│ ├── proto/
│ │ └── proto.go
│ ├── sliceutil/
│ │ └── sliceutils.go
│ └── types/
│ └── types.go
└── website/
├── content/
│ └── v1.13/
│ ├── reference/
│ │ ├── _index.md
│ │ ├── api.md
│ │ ├── cli.md
│ │ ├── configuration/
│ │ │ ├── _index.md
│ │ │ ├── block/
│ │ │ │ ├── _index.md
│ │ │ │ ├── existingvolumeconfig.md
│ │ │ │ ├── externalvolumeconfig.md
│ │ │ │ ├── rawvolumeconfig.md
│ │ │ │ ├── swapvolumeconfig.md
│ │ │ │ ├── uservolumeconfig.md
│ │ │ │ ├── volumeconfig.md
│ │ │ │ └── zswapconfig.md
│ │ │ ├── cri/
│ │ │ │ ├── _index.md
│ │ │ │ ├── registryauthconfig.md
│ │ │ │ ├── registrymirrorconfig.md
│ │ │ │ └── registrytlsconfig.md
│ │ │ ├── extensions/
│ │ │ │ ├── _index.md
│ │ │ │ └── extensionserviceconfig.md
│ │ │ ├── hardware/
│ │ │ │ ├── _index.md
│ │ │ │ └── pcidriverrebindconfig.md
│ │ │ ├── network/
│ │ │ │ ├── _index.md
│ │ │ │ ├── blackholerouteconfig.md
│ │ │ │ ├── bondconfig.md
│ │ │ │ ├── bridgeconfig.md
│ │ │ │ ├── dhcpv4config.md
│ │ │ │ ├── dhcpv6config.md
│ │ │ │ ├── dummylinkconfig.md
│ │ │ │ ├── ethernetconfig.md
│ │ │ │ ├── hcloudvipconfig.md
│ │ │ │ ├── hostnameconfig.md
│ │ │ │ ├── kubespanconfig.md
│ │ │ │ ├── kubespanendpointsconfig.md
│ │ │ │ ├── layer2vipconfig.md
│ │ │ │ ├── linkaliasconfig.md
│ │ │ │ ├── linkconfig.md
│ │ │ │ ├── networkdefaultactionconfig.md
│ │ │ │ ├── networkruleconfig.md
│ │ │ │ ├── resolverconfig.md
│ │ │ │ ├── routingruleconfig.md
│ │ │ │ ├── statichostconfig.md
│ │ │ │ ├── tcpprobeconfig.md
│ │ │ │ ├── timesyncconfig.md
│ │ │ │ ├── vlanconfig.md
│ │ │ │ ├── vrfconfig.md
│ │ │ │ └── wireguardconfig.md
│ │ │ ├── runtime/
│ │ │ │ ├── _index.md
│ │ │ │ ├── environmentconfig.md
│ │ │ │ ├── eventsinkconfig.md
│ │ │ │ ├── kmsglogconfig.md
│ │ │ │ ├── oomconfig.md
│ │ │ │ └── watchdogtimerconfig.md
│ │ │ ├── security/
│ │ │ │ ├── _index.md
│ │ │ │ ├── imageverificationconfig.md
│ │ │ │ └── trustedrootsconfig.md
│ │ │ ├── siderolink/
│ │ │ │ ├── _index.md
│ │ │ │ └── siderolinkconfig.md
│ │ │ └── v1alpha1/
│ │ │ ├── _index.md
│ │ │ └── config.md
│ │ └── kernel.md
│ └── schemas/
│ ├── config.schema.json
│ └── v1alpha1_config.schema.json
└── static/
└── install
Showing preview only (2,249K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (23896 symbols across 2191 files)
FILE: cmd/installer/cmd/imager/root.go
function Execute (line 226) | func Execute() {
function init (line 232) | func init() {
FILE: cmd/installer/cmd/installer/install.go
function init (line 31) | func init() {
function runInstallCmd (line 36) | func runInstallCmd(ctx context.Context) (err error) {
FILE: cmd/installer/cmd/installer/root.go
function setFlagsFromEnvironment (line 26) | func setFlagsFromEnvironment() error {
function Execute (line 38) | func Execute() {
function init (line 53) | func init() {
FILE: cmd/installer/main.go
function main (line 16) | func main() {
FILE: cmd/installer/pkg/install/errata.go
method errataNetIfnames (line 26) | func (i *Installer) errataNetIfnames(talosVersion *compatibility.TalosVe...
function readHostTalosVersion (line 41) | func readHostTalosVersion() (*compatibility.TalosVersion, error) {
function upgradeFromPreIfnamesTalos (line 80) | func upgradeFromPreIfnamesTalos(talosVersion *compatibility.TalosVersion...
FILE: cmd/installer/pkg/install/install.go
type Options (line 49) | type Options struct
type Mode (line 80) | type Mode
method IsImage (line 92) | func (m Mode) IsImage() bool {
constant ModeInstall (line 84) | ModeInstall Mode = iota
constant ModeUpgrade (line 86) | ModeUpgrade
constant ModeImage (line 88) | ModeImage
constant typeGPT (line 96) | typeGPT = "gpt"
constant diskImageLabel (line 99) | diskImageLabel = "talos-image-disk"
function Install (line 104) | func Install(ctx context.Context, p runtime.Platform, mode Mode, opts *O...
type Installer (line 184) | type Installer struct
method detectBootloader (line 218) | func (i *Installer) detectBootloader(mode Mode) (bootloaderpkg.Bootloa...
method diskOperations (line 240) | func (i *Installer) diskOperations(mode Mode, bd *block.Device, info *...
method blockDeviceData (line 278) | func (i *Installer) blockDeviceData(mode Mode) (*block.Device, *blkid....
method Install (line 315) | func (i *Installer) Install(ctx context.Context, mode Mode) (err error) {
method handleMeta (line 385) | func (i *Installer) handleMeta(ctx context.Context, mode Mode, previou...
method generateBootloaderOptions (line 508) | func (i *Installer) generateBootloaderOptions(ctx context.Context, mod...
method getBootPartitions (line 540) | func (i *Installer) getBootPartitions(ctx context.Context, mode Mode, ...
method installBootloader (line 567) | func (i *Installer) installBootloader(ctx context.Context, mode Mode, ...
method createPartitions (line 583) | func (i *Installer) createPartitions(ctx context.Context, mode Mode, b...
method formatPartitions (line 654) | func (i *Installer) formatPartitions(ctx context.Context, mode Mode, p...
method handlePartitionDataPopulation (line 706) | func (i *Installer) handlePartitionDataPopulation(ctx context.Context,...
method handleGrubBlocklist (line 764) | func (i *Installer) handleGrubBlocklist(gptdev gpt.Device, pt *gpt.Tab...
method getPartitionOptions (line 859) | func (i *Installer) getPartitionOptions(ctx context.Context, mode Mode...
method runPreflightChecks (line 949) | func (i *Installer) runPreflightChecks(mode Mode) error {
function NewInstaller (line 190) | func NewInstaller(ctx context.Context, cmdline *procfs.Cmdline, mode Mod...
function overlayPresent (line 968) | func overlayPresent() bool {
FILE: cmd/installer/pkg/install/meta_value.go
type MetaValues (line 16) | type MetaValues struct
method Set (line 33) | func (s *MetaValues) Set(val string) error {
method Type (line 52) | func (s *MetaValues) Type() string {
method String (line 57) | func (s *MetaValues) String() string {
method Append (line 62) | func (s *MetaValues) Append(val string) error {
method Replace (line 75) | func (s *MetaValues) Replace(val []string) error {
method GetSlice (line 94) | func (s *MetaValues) GetSlice() []string {
method Encode (line 105) | func (s *MetaValues) Encode() string {
method Decode (line 110) | func (s *MetaValues) Decode(val string) error {
method GetMetaValues (line 122) | func (s *MetaValues) GetMetaValues() meta.Values {
function FromMeta (line 28) | func FromMeta(values meta.Values) MetaValues {
FILE: cmd/installer/pkg/install/meta_value_test.go
function TestMetaValues (line 16) | func TestMetaValues(t *testing.T) {
FILE: cmd/installer/pkg/install/preflight.go
type PreflightChecks (line 25) | type PreflightChecks struct
method Close (line 57) | func (checks *PreflightChecks) Close() error {
method Run (line 66) | func (checks *PreflightChecks) Run(ctx context.Context) error {
method talosVersion (line 89) | func (checks *PreflightChecks) talosVersion(ctx context.Context) error {
function NewPreflightChecks (line 34) | func NewPreflightChecks(ctx context.Context) (*PreflightChecks, error) {
function unpack (line 112) | func unpack[T any](s []T) T {
FILE: cmd/talosctl/acompat/acompat.go
function init (line 10) | func init() {
FILE: cmd/talosctl/cmd/completion.go
function init (line 80) | func init() {
FILE: cmd/talosctl/cmd/constants/constants.go
constant ImageFactoryEmptySchematicID (line 9) | ImageFactoryEmptySchematicID = "376567988ad370138ad8b2698212367b8edcb69b...
constant ImageFactoryURL (line 12) | ImageFactoryURL = "https://factory.talos.dev/"
FILE: cmd/talosctl/cmd/docs.go
function frontmatter (line 33) | func frontmatter(title, description string) string {
function linkHandler (line 52) | func linkHandler(name string) string {
constant cliDescription (line 60) | cliDescription = "Talosctl CLI tool reference."
function GenMarkdownReference (line 170) | func GenMarkdownReference(cmd *cobra.Command, w io.Writer, linkHandler f...
function init (line 197) | func init() {
FILE: cmd/talosctl/cmd/mgmt/cluster/cluster.go
constant ProvisionerFlagName (line 19) | ProvisionerFlagName = "provisioner"
type CmdOps (line 29) | type CmdOps struct
function init (line 46) | func init() {
function AddProvisionerFlag (line 58) | func AddProvisionerFlag(cmd *cobra.Command) {
FILE: cmd/talosctl/cmd/mgmt/cluster/create/clusterops/configmaker/config_maker.go
type DockerOptions (line 13) | type DockerOptions
function GetDockerConfigs (line 16) | func GetDockerConfigs(options DockerOptions) (clusterops.ClusterConfigs,...
type QemuOptions (line 26) | type QemuOptions
function GetQemuConfigs (line 29) | func GetQemuConfigs(options QemuOptions) (clusterops.ClusterConfigs, err...
FILE: cmd/talosctl/cmd/mgmt/cluster/create/clusterops/configmaker/internal/makers/common.go
constant gatewayOffset (line 38) | gatewayOffset = 1 + iota
constant nodesOffset (line 41) | nodesOffset
function New (line 52) | func New[ExtraOps any](options MakerOptions[ExtraOps]) (Maker[ExtraOps],...
type Maker (line 62) | type Maker struct
method SetExtraOptionsProvider (line 85) | func (m *Maker[T]) SetExtraOptionsProvider(hooks ExtraOptionsProvider) {
method Init (line 90) | func (m *Maker[T]) Init() error {
method InitExtra (line 103) | func (m *Maker[T]) InitExtra() error {
method InitCommon (line 137) | func (m *Maker[T]) InitCommon() error {
method initProvisionOps (line 186) | func (m *Maker[T]) initProvisionOps() error {
method initConfigBundleOps (line 194) | func (m *Maker[T]) initConfigBundleOps() error {
method initVersionContract (line 205) | func (m *Maker[T]) initVersionContract() error {
method GetClusterConfigs (line 224) | func (m *Maker[T]) GetClusterConfigs() (clusterops.ClusterConfigs, error) {
method applyOmniConfigs (line 248) | func (m *Maker[T]) applyOmniConfigs() error {
method finalizeMachineConfigs (line 276) | func (m *Maker[T]) finalizeMachineConfigs() (*bundle.Bundle, error) {
method ForEachNode (line 341) | func (m *Maker[T]) ForEachNode(fn func(i int, node *provision.NodeReques...
method ForEachWorkerNode (line 348) | func (m *Maker[T]) ForEachWorkerNode(fn func(i, workerI int, node *provi...
method ForEachControlplaneNode (line 362) | func (m *Maker[T]) ForEachControlplaneNode(fn func(i, controlplaneIndex ...
method initCIDRs (line 375) | func (m *Maker[T]) initCIDRs() error {
method initGenOps (line 415) | func (m *Maker[T]) initGenOps() error {
function getConfigPatchBundleOps (line 460) | func getConfigPatchBundleOps(cOps clusterops.Common) ([]bundle.Option, e...
method initIPs (line 490) | func (m *Maker[T]) initIPs() error {
function parseCPUShare (line 510) | func parseCPUShare(cpus string) (int64, error) {
function getRegistryMirrorGenOps (line 524) | func getRegistryMirrorGenOps(cOps clusterops.Common) ([]generate.Option,...
method initClusterRequest (line 539) | func (m *Maker[T]) initClusterRequest() {
method initGatewayIPs (line 555) | func (m *Maker[T]) initGatewayIPs() error {
method initEndpoints (line 572) | func (m *Maker[T]) initEndpoints() error {
function parseResources (line 579) | func parseResources(res clusterops.NodeResources) (clusterops.ParsedNode...
method initNodeRequests (line 591) | func (m *Maker[T]) initNodeRequests() error {
function getNodeIPs (line 660) | func getNodeIPs(ips [][]netip.Addr, nodeIndex int) []netip.Addr {
FILE: cmd/talosctl/cmd/mgmt/cluster/create/clusterops/configmaker/internal/makers/common_test.go
type testProvisioner (line 24) | type testProvisioner struct
method GenOptions (line 28) | func (p testProvisioner) GenOptions(r provision.NetworkRequest, _ *con...
method GetTalosAPIEndpoints (line 32) | func (p testProvisioner) GetTalosAPIEndpoints(provision.NetworkRequest...
method GetInClusterKubernetesControlPlaneEndpoint (line 36) | func (p testProvisioner) GetInClusterKubernetesControlPlaneEndpoint(ne...
method GetExternalKubernetesControlPlaneEndpoint (line 40) | func (p testProvisioner) GetExternalKubernetesControlPlaneEndpoint(net...
type nothingProvider (line 44) | type nothingProvider struct
method InitExtra (line 46) | func (*nothingProvider) InitExtra() error { return nil }
method AddExtraGenOps (line 47) | func (*nothingProvider) AddExtraGenOps() error { return nil }
method AddExtraProvisionOpts (line 48) | func (*nothingProvider) AddExtraProvisionOpts() error { return nil }
method AddExtraConfigBundleOpts (line 49) | func (*nothingProvider) AddExtraConfigBundleOpts() error { return nil }
method ModifyClusterRequest (line 50) | func (*nothingProvider) ModifyClusterRequest() error { return nil }
method ModifyNodes (line 51) | func (*nothingProvider) ModifyNodes() error { return nil }
function getInitializedTestMaker (line 53) | func getInitializedTestMaker(t *testing.T, cOps clusterops.Common) maker...
function TestCommonMaker (line 67) | func TestCommonMaker(t *testing.T) {
function TestCommonMaker_MachineConfig (line 143) | func TestCommonMaker_MachineConfig(t *testing.T) {
function assertConfigDefaultness (line 151) | func assertConfigDefaultness[ExtraOps any](t *testing.T, cOps clusterops...
function assertMachineConfig (line 178) | func assertMachineConfig(t *testing.T, in *generate.Input, node provisio...
FILE: cmd/talosctl/cmd/mgmt/cluster/create/clusterops/configmaker/internal/makers/docker.go
type Docker (line 22) | type Docker struct
method InitExtra (line 45) | func (m *Docker) InitExtra() error { return nil }
method AddExtraConfigBundleOpts (line 48) | func (m *Docker) AddExtraConfigBundleOpts() error { return nil }
method AddExtraGenOps (line 51) | func (m *Docker) AddExtraGenOps() error {
method AddExtraProvisionOpts (line 58) | func (m *Docker) AddExtraProvisionOpts() error {
method ModifyClusterRequest (line 70) | func (m *Docker) ModifyClusterRequest() error {
method ModifyNodes (line 78) | func (m *Docker) ModifyNodes() error {
function NewDocker (line 27) | func NewDocker(ops MakerOptions[clusterops.Docker]) (Docker, error) {
function getWithAdditionalSubjectAltNamesGenOps (line 86) | func getWithAdditionalSubjectAltNamesGenOps(endpointList []string) []gen...
FILE: cmd/talosctl/cmd/mgmt/cluster/create/clusterops/configmaker/internal/makers/docker_test.go
function TestDockerMaker_MachineConfig (line 17) | func TestDockerMaker_MachineConfig(t *testing.T) {
FILE: cmd/talosctl/cmd/mgmt/cluster/create/clusterops/configmaker/internal/makers/maker.go
type ConfigMaker (line 10) | type ConfigMaker interface
type ExtraOptionsProvider (line 15) | type ExtraOptionsProvider interface
FILE: cmd/talosctl/cmd/mgmt/cluster/create/clusterops/configmaker/internal/makers/qemu.go
constant vipOffset (line 45) | vipOffset = 50
type Qemu (line 51) | type Qemu struct
method InitExtra (line 77) | func (m *Qemu) InitExtra() error {
method initEndpoints (line 111) | func (m *Qemu) initEndpoints() {
method AddExtraGenOps (line 127) | func (m *Qemu) AddExtraGenOps() error {
method AddExtraProvisionOpts (line 177) | func (m *Qemu) AddExtraProvisionOpts() error {
method AddExtraConfigBundleOpts (line 203) | func (m *Qemu) AddExtraConfigBundleOpts() error {
method ModifyClusterRequest (line 237) | func (m *Qemu) ModifyClusterRequest() error {
method validateNetworkChaosParams (line 295) | func (m *Qemu) validateNetworkChaosParams() error {
method ModifyNodes (line 306) | func (m *Qemu) ModifyNodes() error {
method addDiskEncryptionPatches (line 349) | func (m *Qemu) addDiskEncryptionPatches() error {
method getDiskEncryptionPatch (line 395) | func (*Qemu) getDiskEncryptionPatch(spec struct {
method getLegacyDiskEncryptionPatch (line 423) | func (m *Qemu) getLegacyDiskEncryptionPatch(keys []*v1alpha1.Encryptio...
method initDisks (line 459) | func (m *Qemu) initDisks() error {
method initExtraDisks (line 501) | func (m *Qemu) initExtraDisks() error {
method getEncryptionKeys (line 577) | func (m *Qemu) getEncryptionKeys(diskEncryptionKeyTypes []string) ([]*...
method initJSONLogs (line 659) | func (m *Qemu) initJSONLogs() {
function NewQemu (line 59) | func NewQemu(ops MakerOptions[clusterops.Qemu]) (Qemu, error) {
function convertEncryptionKeys (line 629) | func convertEncryptionKeys(keys []*v1alpha1.EncryptionKey) []block.Encry...
function getNameserverIPs (line 687) | func getNameserverIPs(nameservers []string, gatewayIPs []netip.Addr) ([]...
FILE: cmd/talosctl/cmd/mgmt/cluster/create/clusterops/configmaker/internal/makers/qemu_test.go
function TestQemuMaker_MachineConfig (line 20) | func TestQemuMaker_MachineConfig(t *testing.T) {
function TestQemuMaker_Disks (line 36) | func TestQemuMaker_Disks(t *testing.T) {
FILE: cmd/talosctl/cmd/mgmt/cluster/create/clusterops/configmaker/internal/siderolinkbuilder/builder.go
function New (line 38) | func New(ctx context.Context, wgHost string, useTLS bool) (*SiderolinkBu...
type SiderolinkBuilder (line 96) | type SiderolinkBuilder struct
method DefineIPv6ForUUID (line 112) | func (slb *SiderolinkBuilder) DefineIPv6ForUUID(id uuid.UUID) error {
method SiderolinkRequest (line 129) | func (slb *SiderolinkBuilder) SiderolinkRequest() provision.Siderolink...
method ConfigPatches (line 151) | func (slb *SiderolinkBuilder) ConfigPatches(tunnel bool) []configpatch...
method ConfigDocument (line 161) | func (slb *SiderolinkBuilder) ConfigDocument(tunnel bool) config.Provi...
method SetKernelArgs (line 221) | func (slb *SiderolinkBuilder) SetKernelArgs(extraKernelArgs *procfs.Cm...
function getDynamicPort (line 257) | func getDynamicPort(ctx context.Context, network string) (int, error) {
function handleCloseErr (line 295) | func handleCloseErr(err error, closeErr error) error {
function checkPortsDontOverlap (line 308) | func checkPortsDontOverlap(ports ...int) error {
FILE: cmd/talosctl/cmd/mgmt/cluster/create/clusterops/configmaker/internal/siderolinkbuilder/helpers_other.go
function generateRandomNodeAddr (line 14) | func generateRandomNodeAddr(prefix netip.Prefix) (netip.Prefix, error) {
function networkPrefix (line 18) | func networkPrefix(prefix string) (netip.Prefix, error) {
FILE: cmd/talosctl/cmd/mgmt/cluster/create/clusterops/configmaker/internal/siderolinkbuilder/helpers_supported.go
function generateRandomNodeAddr (line 15) | func generateRandomNodeAddr(prefix netip.Prefix) (netip.Prefix, error) {
function networkPrefix (line 19) | func networkPrefix(prefix string) (netip.Prefix, error) {
FILE: cmd/talosctl/cmd/mgmt/cluster/create/clusterops/configmaker/preset/disk_image_preset.go
type DiskImage (line 16) | type DiskImage struct
method Name (line 19) | func (DiskImage) Name() string { return "disk-image" }
method Description (line 22) | func (DiskImage) Description() string {
method ModifyOptions (line 27) | func (DiskImage) ModifyOptions(presetOps Options, cOps *clusterops.Com...
FILE: cmd/talosctl/cmd/mgmt/cluster/create/clusterops/configmaker/preset/iso_preset.go
type ISO (line 15) | type ISO struct
method Name (line 18) | func (ISO) Name() string { return "iso" }
method Description (line 21) | func (ISO) Description() string {
method ModifyOptions (line 26) | func (ISO) ModifyOptions(presetOps Options, cOps *clusterops.Common, q...
function getISOURL (line 37) | func getISOURL(presetOps Options, cOps *clusterops.Common, qOps *cluster...
FILE: cmd/talosctl/cmd/mgmt/cluster/create/clusterops/configmaker/preset/iso_secureboot_preset.go
type ISOSecureBoot (line 10) | type ISOSecureBoot struct
method Name (line 13) | func (ISOSecureBoot) Name() string { return "iso-secureboot" }
method Description (line 16) | func (ISOSecureBoot) Description() string {
method ModifyOptions (line 21) | func (ISOSecureBoot) ModifyOptions(presetOps Options, cOps *clusterops...
FILE: cmd/talosctl/cmd/mgmt/cluster/create/clusterops/configmaker/preset/maintenance_preset.go
type Maintenance (line 10) | type Maintenance struct
method Name (line 13) | func (Maintenance) Name() string { return "maintenance" }
method Description (line 16) | func (Maintenance) Description() string {
method ModifyOptions (line 21) | func (Maintenance) ModifyOptions(presetOps Options, cOps *clusterops.C...
FILE: cmd/talosctl/cmd/mgmt/cluster/create/clusterops/configmaker/preset/preset.go
constant secureBootSuffix (line 19) | secureBootSuffix = "-secureboot"
type Preset (line 22) | type Preset interface
type Options (line 31) | type Options struct
function Apply (line 49) | func Apply(presetOps Options, cOps *clusterops.Common, qOps *clusterops....
function Validate (line 89) | func Validate(presetNames []string, presetOps Options) error {
function applyDefaultSettings (line 121) | func applyDefaultSettings(presetOps Options, cOps *clusterops.Common, qO...
FILE: cmd/talosctl/cmd/mgmt/cluster/create/clusterops/configmaker/preset/preset_test.go
function TestValidatePresets (line 18) | func TestValidatePresets(t *testing.T) {
function applyPreset (line 80) | func applyPreset(t *testing.T, presets ...string) (clusterops.Common, cl...
function TestPXE (line 98) | func TestPXE(t *testing.T) {
function TestSecureboot (line 107) | func TestSecureboot(t *testing.T) {
function TestDiskImage (line 119) | func TestDiskImage(t *testing.T) {
function TestMaintenance (line 125) | func TestMaintenance(t *testing.T) {
FILE: cmd/talosctl/cmd/mgmt/cluster/create/clusterops/configmaker/preset/pxe_preset.go
type PXE (line 16) | type PXE struct
method Name (line 19) | func (PXE) Name() string { return "pxe" }
method Description (line 22) | func (PXE) Description() string {
method ModifyOptions (line 27) | func (PXE) ModifyOptions(presetOps Options, cOps *clusterops.Common, q...
FILE: cmd/talosctl/cmd/mgmt/cluster/create/clusterops/options.go
type ClusterConfigs (line 28) | type ClusterConfigs struct
type NodeResources (line 35) | type NodeResources struct
type ParsedNodeResources (line 41) | type ParsedNodeResources struct
type Common (line 47) | type Common struct
type Docker (line 89) | type Docker struct
type Qemu (line 98) | type Qemu struct
function GetCommon (line 152) | func GetCommon() Common {
function GetQemu (line 182) | func GetQemu() Qemu {
function GetDocker (line 204) | func GetDocker() Docker {
FILE: cmd/talosctl/cmd/mgmt/cluster/create/cmd.go
function getCommonUserFacingFlags (line 46) | func getCommonUserFacingFlags(pointer *clusterops.Common) *pflag.FlagSet {
function addTalosconfigDestinationFlag (line 72) | func addTalosconfigDestinationFlag(flagset *pflag.FlagSet, bind *string,...
function addControlplaneCpusFlag (line 82) | func addControlplaneCpusFlag(flagset *pflag.FlagSet, bind *string, flagN...
function addWorkersCpusFlag (line 86) | func addWorkersCpusFlag(flagset *pflag.FlagSet, bind *string, flagName s...
function addControlPlaneMemoryFlag (line 90) | func addControlPlaneMemoryFlag(flagset *pflag.FlagSet, bind *bytesize.By...
function addWorkersMemoryFlag (line 94) | func addWorkersMemoryFlag(flagset *pflag.FlagSet, bind *bytesize.ByteSiz...
function addConfigPatchFlag (line 98) | func addConfigPatchFlag(flagset *pflag.FlagSet, bind *[]string, flagName...
function addConfigPatchControlPlaneFlag (line 102) | func addConfigPatchControlPlaneFlag(flagset *pflag.FlagSet, bind *[]stri...
function addConfigPatchWorkerFlag (line 106) | func addConfigPatchWorkerFlag(flagset *pflag.FlagSet, bind *[]string, fl...
function addWorkersFlag (line 110) | func addWorkersFlag(flagset *pflag.FlagSet, bind *int) {
function addControlplanesFlag (line 114) | func addControlplanesFlag(flagset *pflag.FlagSet, bind *int) {
function addKubernetesVersionFlag (line 118) | func addKubernetesVersionFlag(flagset *pflag.FlagSet, bind *string) {
function addRegistryMirrorFlag (line 122) | func addRegistryMirrorFlag(flagset *pflag.FlagSet, bind *[]string) {
function addNetworkMTUFlag (line 126) | func addNetworkMTUFlag(flagset *pflag.FlagSet, bind *int) {
function addTalosVersionFlag (line 130) | func addTalosVersionFlag(flagset *pflag.FlagSet, bind *string, descripti...
function addDisksFlag (line 136) | func addDisksFlag(flagset *pflag.FlagSet, bind *flags.Disks) {
function addOmniJoinTokenFlag (line 141) | func addOmniJoinTokenFlag(cmd *cobra.Command, bindAPIEndpoint *string, c...
FILE: cmd/talosctl/cmd/mgmt/cluster/create/cmd_dev.go
type legacyOps (line 26) | type legacyOps struct
function getCreateCmd (line 41) | func getCreateCmd(cmdName string, hidden bool) *cobra.Command {
function init (line 355) | func init() {
function validateQemuFlags (line 360) | func validateQemuFlags(allCmdFlags *pflag.FlagSet, unImplementedQemuFlag...
function hideUnimplementedQemuFlags (line 378) | func hideUnimplementedQemuFlags(cmd *cobra.Command, unImplementedQemuFla...
FILE: cmd/talosctl/cmd/mgmt/cluster/create/cmd_docker.go
function init (line 19) | func init() {
FILE: cmd/talosctl/cmd/mgmt/cluster/create/cmd_qemu.go
type presetOptions (line 21) | type presetOptions struct
function init (line 27) | func init() {
FILE: cmd/talosctl/cmd/mgmt/cluster/create/create.go
function downloadBootAssets (line 31) | func downloadBootAssets(ctx context.Context, qOps *clusterops.Qemu) error {
function postCreate (line 129) | func postCreate(
function bootstrapCluster (line 162) | func bootstrapCluster(ctx context.Context, clusterAccess *access.Adapter...
FILE: cmd/talosctl/cmd/mgmt/cluster/create/create_dev.go
function createDevCluster (line 28) | func createDevCluster(ctx context.Context, cOps clusterops.Common, qOps ...
function saveConfig (line 86) | func saveConfig(talosConfigObj *clientconfig.Config, talosconfigPath str...
function mergeKubeconfig (line 100) | func mergeKubeconfig(ctx context.Context, clusterAccess *access.Adapter)...
FILE: cmd/talosctl/cmd/mgmt/cluster/create/create_docker.go
function getDockerClusterRequest (line 19) | func getDockerClusterRequest(cOps clusterops.Common, dOps clusterops.Doc...
FILE: cmd/talosctl/cmd/mgmt/cluster/create/create_qemu.go
function createQemuCluster (line 27) | func createQemuCluster(
function preCreate (line 101) | func preCreate(cOps clusterops.Common, clusterConfigs clusterops.Cluster...
function writeMachineconfig (line 112) | func writeMachineconfig(clusterConfigs clusterops.ClusterConfigs, cOps c...
FILE: cmd/talosctl/cmd/mgmt/cluster/create/flags/agent.go
type Agent (line 10) | type Agent
method String (line 12) | func (a *Agent) String() string {
method Set (line 28) | func (a *Agent) Set(s string) error {
method Type (line 46) | func (a *Agent) Type() string { return "agent" }
method IsEnabled (line 49) | func (a *Agent) IsEnabled() bool { return *a != 0 }
method IsTunnel (line 52) | func (a *Agent) IsTunnel() bool { return *a == 2 || *a == 4 }
method IsTLS (line 55) | func (a *Agent) IsTLS() bool { return *a == 3 || *a == 4 }
FILE: cmd/talosctl/cmd/mgmt/cluster/create/flags/disks.go
type DiskRequest (line 17) | type DiskRequest struct
function ParseDisksFlag (line 31) | func ParseDisksFlag(disks []string) ([]DiskRequest, error) {
function parseKVParams (line 70) | func parseKVParams(req *DiskRequest, part string) error {
type Disks (line 99) | type Disks struct
method String (line 104) | func (f *Disks) String() string {
method Set (line 135) | func (f *Disks) Set(value string) error {
method Type (line 153) | func (f *Disks) Type() string { return "disks" }
method Requests (line 156) | func (f *Disks) Requests() []DiskRequest {
FILE: cmd/talosctl/cmd/mgmt/cluster/create/flags/disks_test.go
function TestDisksFlag_ExtraOpts (line 17) | func TestDisksFlag_ExtraOpts(t *testing.T) {
function TestDisksFlag_AccumulatesAndRequests (line 63) | func TestDisksFlag_AccumulatesAndRequests(t *testing.T) {
function TestDisksFlag_Set (line 103) | func TestDisksFlag_Set(t *testing.T) {
FILE: cmd/talosctl/cmd/mgmt/cluster/create/flags/virtiofs.go
type VirtiofsRequest (line 14) | type VirtiofsRequest struct
function ParseVirtiofsFlag (line 20) | func ParseVirtiofsFlag(disks []string) ([]VirtiofsRequest, error) {
type Virtiofs (line 43) | type Virtiofs struct
method String (line 48) | func (f *Virtiofs) String() string {
method Set (line 63) | func (f *Virtiofs) Set(value string) error {
method Type (line 81) | func (f *Virtiofs) Type() string { return "virtiofs" }
method Requests (line 84) | func (f *Virtiofs) Requests() []VirtiofsRequest {
FILE: cmd/talosctl/cmd/mgmt/cluster/create/flags/virtiofs_test.go
function TestVirtiofsFlag_AccumulatesAndRequests (line 16) | func TestVirtiofsFlag_AccumulatesAndRequests(t *testing.T) {
function TestVirtiofsFlag_SetInvalid (line 49) | func TestVirtiofsFlag_SetInvalid(t *testing.T) {
FILE: cmd/talosctl/cmd/mgmt/cluster/destroy.go
function destroy (line 34) | func destroy(ctx context.Context) error {
function init (line 61) | func init() {
FILE: cmd/talosctl/cmd/mgmt/cluster/internal/firewallpatch/firewallpatch.go
function ingressRuleWithinCluster (line 20) | func ingressRuleWithinCluster(cidrs []netip.Prefix, gateways []netip.Add...
function ingressRuleWideOpen (line 35) | func ingressRuleWideOpen() []network.IngressRule {
function ingressOnly (line 46) | func ingressOnly(ips []netip.Addr) []network.IngressRule {
function ControlPlane (line 59) | func ControlPlane(defaultAction nethelpers.DefaultAction, cidrs []netip....
function Worker (line 144) | func Worker(defaultAction nethelpers.DefaultAction, cidrs []netip.Prefix...
FILE: cmd/talosctl/cmd/mgmt/cluster/show.go
function show (line 37) | func show(ctx context.Context) error {
function ShowCluster (line 54) | func ShowCluster(cluster provision.Cluster) error {
function init (line 114) | func init() {
FILE: cmd/talosctl/cmd/mgmt/debug/air-gapped.go
function generateConfigPatch (line 80) | func generateConfigPatch(caPEM []byte) error {
function runHTTPServer (line 126) | func runHTTPServer(ctx context.Context, certPEM, keyPEM []byte) error {
function handleTunneling (line 156) | func handleTunneling(ctx context.Context, w http.ResponseWriter, r *http...
type conn (line 215) | type conn interface
type tlsConnWrapper (line 223) | type tlsConnWrapper struct
method CloseRead (line 229) | func (t *tlsConnWrapper) CloseRead() error {
method CloseWrite (line 233) | func (t *tlsConnWrapper) CloseWrite() error {
function transfer (line 237) | func transfer(destination conn, source conn, label string) error {
function handleHTTP (line 249) | func handleHTTP(w http.ResponseWriter, req *http.Request) {
function copyHeaders (line 265) | func copyHeaders(dst, src http.Header) {
function loggingMiddleware (line 273) | func loggingMiddleware(h http.Handler) http.Handler {
function runHTTPProxy (line 283) | func runHTTPProxy(ctx context.Context) error {
function runHTTPSProxy (line 306) | func runHTTPSProxy(ctx context.Context, certPEM, keyPEM []byte) error {
function runHTTPSReverseProxy (line 340) | func runHTTPSReverseProxy(ctx context.Context, certPEM, keyPEM []byte) e...
function init (line 373) | func init() {
FILE: cmd/talosctl/cmd/mgmt/dhcpd_launch.go
function init (line 54) | func init() {
FILE: cmd/talosctl/cmd/mgmt/dnsd_launch.go
function init (line 46) | func init() {
FILE: cmd/talosctl/cmd/mgmt/gen/ca.go
function init (line 68) | func init() {
FILE: cmd/talosctl/cmd/mgmt/gen/config.go
constant controlPlaneOutputType (line 35) | controlPlaneOutputType = "controlplane"
constant workerOutputType (line 36) | workerOutputType = "worker"
constant talosconfigOutputType (line 37) | talosconfigOutputType = "talosconfig"
constant stdoutOutput (line 39) | stdoutOutput = "-"
constant yamlExt (line 41) | yamlExt = ".yaml"
type configOutputPaths (line 50) | type configOutputPaths struct
function NewConfigCmd (line 80) | func NewConfigCmd(name string) *cobra.Command {
function fixControlPlaneEndpoint (line 105) | func fixControlPlaneEndpoint(u *url.URL) *url.URL {
function GenerateConfigBundle (line 124) | func GenerateConfigBundle(genOptions []generate.Option,
function writeConfig (line 174) | func writeConfig(args []string) error {
function validateFlags (line 260) | func validateFlags() error {
function writeConfigBundle (line 290) | func writeConfigBundle(configBundle *bundle.Bundle, outputPaths configOu...
function writeToDestination (line 329) | func writeToDestination(data []byte, destination string, permissions os....
function outputPaths (line 354) | func outputPaths() (configOutputPaths, error) {
function validateClusterEndpoint (line 394) | func validateClusterEndpoint(endpoint string) error {
function init (line 427) | func init() {
FILE: cmd/talosctl/cmd/mgmt/gen/crt.go
function init (line 103) | func init() {
FILE: cmd/talosctl/cmd/mgmt/gen/csr.go
function init (line 88) | func init() {
FILE: cmd/talosctl/cmd/mgmt/gen/gen.go
constant crtExt (line 16) | crtExt = ".crt"
constant keyExt (line 17) | keyExt = ".key"
function init (line 31) | func init() {
function validateFileExists (line 35) | func validateFileExists(file string) error {
function validateFilesExists (line 45) | func validateFilesExists(files []string) error {
FILE: cmd/talosctl/cmd/mgmt/gen/key.go
function init (line 47) | func init() {
FILE: cmd/talosctl/cmd/mgmt/gen/keypair.go
function init (line 69) | func init() {
FILE: cmd/talosctl/cmd/mgmt/gen/secrets.go
function writeSecretsBundleToFile (line 75) | func writeSecretsBundleToFile(bundle *secrets.Bundle) error {
function init (line 94) | func init() {
FILE: cmd/talosctl/cmd/mgmt/gen/secureboot.go
function checkedWrite (line 87) | func checkedWrite(path string, data []byte, perm fs.FileMode) error { //...
function generateSigningCerts (line 103) | func generateSigningCerts(path, prefix, commonName string, rsaBits int, ...
function saveAsDER (line 133) | func saveAsDER(file string, pem []byte) error {
function generateSecureBootDatabase (line 145) | func generateSecureBootDatabase(path, enrolledCertificatePath, signingKe...
function init (line 176) | func init() {
function convertPEMToDER (line 196) | func convertPEMToDER(data []byte) ([]byte, error) {
FILE: cmd/talosctl/cmd/mgmt/inject/serviceaccount.go
function init (line 63) | func init() {
FILE: cmd/talosctl/cmd/mgmt/json_logs_launch.go
function init (line 73) | func init() {
FILE: cmd/talosctl/cmd/mgmt/kms_launch.go
function init (line 91) | func init() {
FILE: cmd/talosctl/cmd/mgmt/loadbalancer_launch.go
function makeLogger (line 53) | func makeLogger() *zap.Logger {
function init (line 61) | func init() {
FILE: cmd/talosctl/cmd/mgmt/machineconfig/gen.go
function init (line 9) | func init() {
FILE: cmd/talosctl/cmd/mgmt/machineconfig/patch.go
function init (line 67) | func init() {
FILE: cmd/talosctl/cmd/mgmt/qemu_launch.go
function init (line 27) | func init() {
FILE: cmd/talosctl/cmd/mgmt/root.go
function addCommand (line 25) | func addCommand(cmd *cobra.Command) {
function init (line 29) | func init() {
FILE: cmd/talosctl/cmd/mgmt/siderolink_launch.go
function init (line 49) | func init() {
function run (line 69) | func run(ctx context.Context) error {
type handler (line 113) | type handler struct
method HandlePeerAdded (line 117) | func (h *handler) HandlePeerAdded(event wireguard.PeerEvent) error {
method HandlePeerRemoved (line 123) | func (h *handler) HandlePeerRemoved(wgtypes.Key) error {
FILE: cmd/talosctl/cmd/mgmt/validate.go
function init (line 61) | func init() {
FILE: cmd/talosctl/cmd/mgmt/virtiofsd_launch.go
function init (line 42) | func init() {
FILE: cmd/talosctl/cmd/root.go
function Execute (line 34) | func Execute() error {
function init (line 51) | func init() {
FILE: cmd/talosctl/cmd/talos/apply-config.go
function init (line 122) | func init() {
FILE: cmd/talosctl/cmd/talos/bootstrap.go
function init (line 81) | func init() {
FILE: cmd/talosctl/cmd/talos/cgroups.go
function completeCgroupPresetArg (line 148) | func completeCgroupPresetArg(cmd *cobra.Command, args []string, toComple...
function buildCgroupResolveMap (line 152) | func buildCgroupResolveMap(ctx context.Context, c *client.Client) map[st...
function buildProcessResolveMap (line 177) | func buildProcessResolveMap(ctx context.Context, c *client.Client) map[s...
function buildDevicesResolveMap (line 210) | func buildDevicesResolveMap(ctx context.Context, c *client.Client) map[s...
function init (line 249) | func init() {
FILE: cmd/talosctl/cmd/talos/cgroupsprinter/presets.go
function GetPresetNames (line 23) | func GetPresetNames() []string {
function GetPreset (line 40) | func GetPreset(name string) Schema {
FILE: cmd/talosctl/cmd/talos/cgroupsprinter/presets_test.go
function TestGetPresetNames (line 15) | func TestGetPresetNames(t *testing.T) {
function TestGetPreset (line 19) | func TestGetPreset(t *testing.T) {
FILE: cmd/talosctl/cmd/talos/cgroupsprinter/schema.go
type Schema (line 14) | type Schema struct
method Compile (line 19) | func (s *Schema) Compile() error {
method HeaderLine (line 33) | func (s *Schema) HeaderLine() string {
method Render (line 48) | func (s *Schema) Render(data any) (string, error) {
type Column (line 65) | type Column struct
method Render (line 74) | func (c *Column) Render(out io.Writer, data any) error {
FILE: cmd/talosctl/cmd/talos/cgroupsprinter/tree.go
type edgeType (line 17) | type edgeType
constant edgeTypeNone (line 20) | edgeTypeNone edgeType = ""
constant edgeTypeLink (line 21) | edgeTypeLink edgeType = "│"
constant edgeTypeMid (line 22) | edgeTypeMid edgeType = "├──"
constant edgeTypeEnd (line 23) | edgeTypeEnd edgeType = "└──"
constant indentSize (line 25) | indentSize = 3
function PrintNode (line 31) | func PrintNode(name string, w io.Writer, schema *Schema, node, parent *c...
FILE: cmd/talosctl/cmd/talos/config.go
function openConfigAndContext (line 45) | func openConfigAndContext(context string) (*clientconfig.Config, error) {
function sortInPlace (line 286) | func sortInPlace(slc []string) []string {
function checkAndSetCrtAndKey (line 292) | func checkAndSetCrtAndKey(configContext *clientconfig.Context) error {
type talosconfigInfo (line 470) | type talosconfigInfo struct
function configInfo (line 480) | func configInfo(config *clientconfig.Config, now time.Time) (talosconfig...
function configInfoCommand (line 528) | func configInfoCommand(config *clientconfig.Config, now time.Time) (stri...
function CompleteConfigContext (line 591) | func CompleteConfigContext(*cobra.Command, []string, string) ([]string, ...
function init (line 603) | func init() {
function getContextData (line 636) | func getContextData(c *clientconfig.Config) (*clientconfig.Context, erro...
FILE: cmd/talosctl/cmd/talos/config_test.go
function TestConfigInfoCommand (line 18) | func TestConfigInfoCommand(t *testing.T) {
FILE: cmd/talosctl/cmd/talos/conformance.go
function init (line 65) | func init() {
FILE: cmd/talosctl/cmd/talos/containers.go
function containerRender (line 64) | func containerRender(remotePeer *peer.Peer, resp *machineapi.ContainersR...
function init (line 93) | func init() {
FILE: cmd/talosctl/cmd/talos/copy.go
function init (line 87) | func init() {
FILE: cmd/talosctl/cmd/talos/crashdump.go
function init (line 34) | func init() {
FILE: cmd/talosctl/cmd/talos/dashboard.go
function init (line 50) | func init() {
FILE: cmd/talosctl/cmd/talos/debug.go
function init (line 36) | func init() {
function runContainer (line 115) | func runContainer(
function sigHandler (line 285) | func sigHandler(ctx context.Context, msgC chan<- *machine.DebugContainer...
function stdinReader (line 348) | func stdinReader(ctx context.Context, msgC chan<- *machine.DebugContaine...
function sendLoop (line 399) | func sendLoop(
FILE: cmd/talosctl/cmd/talos/disks.go
function init (line 23) | func init() {
FILE: cmd/talosctl/cmd/talos/diskusage.go
function init (line 125) | func init() {
FILE: cmd/talosctl/cmd/talos/dmesg.go
function init (line 44) | func init() {
FILE: cmd/talosctl/cmd/talos/edit.go
function editFn (line 42) | func editFn(c *client.Client) func(context.Context, string, resource.Res...
function stripEditingComment (line 158) | func stripEditingComment(in []byte) []byte {
function addEditingComment (line 180) | func addEditingComment(in string) string {
function init (line 215) | func init() {
FILE: cmd/talosctl/cmd/talos/etcd.go
type alarmMessage (line 45) | type alarmMessage interface
function displayAlarms (line 50) | func displayAlarms(messages []alarmMessage) error {
constant etcdDowngradePattern (line 410) | etcdDowngradePattern = "%s\n"
constant etcdDowngradeHeader (line 411) | etcdDowngradeHeader = "MESSAGE"
function init (line 574) | func init() {
FILE: cmd/talosctl/cmd/talos/events.go
function init (line 122) | func init() {
FILE: cmd/talosctl/cmd/talos/get.go
function getResources (line 64) | func getResources(args []string) func(ctx context.Context, c *client.Cli...
type nodeAndEvent (line 212) | type nodeAndEvent struct
function aggregateEvents (line 217) | func aggregateEvents(ctx context.Context, outCh chan<- nodeAndEvent, wat...
function completeResourceDefinition (line 233) | func completeResourceDefinition(withAliases bool) ([]string, cobra.Shell...
function completeResourceID (line 259) | func completeResourceID(resourceType, namespace string) ([]string, cobra...
function CompleteNodes (line 290) | func CompleteNodes(*cobra.Command, []string, string) ([]string, cobra.Sh...
function init (line 317) | func init() {
FILE: cmd/talosctl/cmd/talos/health.go
type clusterNodes (line 29) | type clusterNodes struct
method InitNodeInfos (line 38) | func (cl *clusterNodes) InitNodeInfos() error {
method Nodes (line 71) | func (cl *clusterNodes) Nodes() []cluster.NodeInfo {
method NodesByType (line 75) | func (cl *clusterNodes) NodesByType(t machine.Type) []cluster.NodeInfo {
function runHealth (line 111) | func runHealth() error {
function healthOnClient (line 119) | func healthOnClient(ctx context.Context, c *client.Client) error {
function healthOnServer (line 150) | func healthOnServer(ctx context.Context, c *client.Client) error {
function runE2E (line 191) | func runE2E() error {
function init (line 214) | func init() {
function buildClusterInfo (line 225) | func buildClusterInfo(clusterState clusterNodes) (cluster.Info, error) {
FILE: cmd/talosctl/cmd/talos/image.go
type imageCmdFlagsType (line 58) | type imageCmdFlagsType struct
method apiNamespace (line 64) | func (flags imageCmdFlagsType) apiNamespace() (common.ContainerdNamesp...
method containerdInstance (line 75) | func (flags imageCmdFlagsType) containerdInstance() (*common.Container...
function imageList (line 118) | func imageList() error {
function imageListLegacy (line 176) | func imageListLegacy() error {
function imagePull (line 222) | func imagePull(imageRef string) error {
function imagePullInternal (line 237) | func imagePullInternal(
function imagePullLegacy (line 312) | func imagePullLegacy(imageRef string) error {
function imageImportInternal (line 333) | func imageImportInternal(
function imageRemove (line 430) | func imageRemove(imageRef string) error {
constant layoutOCI (line 779) | layoutOCI = "oci"
constant layoutFlat (line 780) | layoutFlat = "flat"
function generateMirrorsConfigPatch (line 842) | func generateMirrorsConfigPatch(addr string, mirrors []string, secure bo...
function generateCAConfigPatch (line 963) | func generateCAConfigPatch(caPEM []byte) error {
function init (line 993) | func init() {
FILE: cmd/talosctl/cmd/talos/inspect.go
function init (line 63) | func init() {
FILE: cmd/talosctl/cmd/talos/install.go
function installInternal (line 44) | func installInternal(ctx context.Context, c *client.Client, disk string)...
function init (line 114) | func init() {
FILE: cmd/talosctl/cmd/talos/interfaces.go
function init (line 30) | func init() {
FILE: cmd/talosctl/cmd/talos/kubeconfig.go
constant stdoutOutput (line 26) | stdoutOutput = "-"
function extractAndMerge (line 127) | func extractAndMerge(data []byte, localPath string) error {
function askOverwriteOrRename (line 163) | func askOverwriteOrRename(prompt string) (kubeconfig.ConflictDecision, e...
function init (line 183) | func init() {
FILE: cmd/talosctl/cmd/talos/lifecycle/lifecycle.go
type ProgressWriter (line 20) | type ProgressWriter struct
method UpdateJob (line 28) | func (w *ProgressWriter) UpdateJob(node string, status *machine.Lifecy...
method PrintLayerProgress (line 37) | func (w *ProgressWriter) PrintLayerProgress(rep *reporter.Reporter) {
type installJob (line 55) | type installJob struct
FILE: cmd/talosctl/cmd/talos/list.go
constant sixMonths (line 26) | sixMonths = 6 * time.Hour * 24 * 30
function init (line 183) | func init() {
FILE: cmd/talosctl/cmd/talos/logs.go
type lineSlicer (line 113) | type lineSlicer struct
method chopper (line 132) | func (slicer *lineSlicer) chopper(r io.Reader, hostname string) {
method getPipe (line 150) | func (slicer *lineSlicer) getPipe(node string) *io.PipeWriter {
method cleanupChoppers (line 167) | func (slicer *lineSlicer) cleanupChoppers() {
method run (line 175) | func (slicer *lineSlicer) run(stream machine.MachineService_LogsClient) {
function newLineSlicer (line 120) | func newLineSlicer(stream machine.MachineService_LogsClient) (chan *comm...
function getLogsContainers (line 211) | func getLogsContainers() []string {
function init (line 233) | func init() {
FILE: cmd/talosctl/cmd/talos/memory.go
function briefRender (line 59) | func briefRender(remotePeer *peer.Peer, resp *machineapi.MemoryResponse)...
function verboseRender (line 88) | func verboseRender(remotePeer *peer.Peer, resp *machineapi.MemoryRespons...
function init (line 151) | func init() {
FILE: cmd/talosctl/cmd/talos/meta.go
function init (line 73) | func init() {
FILE: cmd/talosctl/cmd/talos/mounts.go
function init (line 46) | func init() {
FILE: cmd/talosctl/cmd/talos/multiplex/multiplex.go
type Response (line 9) | type Response struct
FILE: cmd/talosctl/cmd/talos/multiplex/stream.go
function Streaming (line 20) | func Streaming[ResponseT any](ctx context.Context, nodes []string, initi...
FILE: cmd/talosctl/cmd/talos/multiplex/unary.go
function Unary (line 17) | func Unary[ResponseT any](ctx context.Context, nodes []string, initiate ...
FILE: cmd/talosctl/cmd/talos/netstat.go
type netstat (line 41) | type netstat struct
method getPodNetNsFromNode (line 209) | func (n *netstat) getPodNetNsFromNode(ctx context.Context) (err error) {
method findPodNetNs (line 242) | func (n *netstat) findPodNetNs(findNamespaceAndPod string) (string, st...
method printNetstat (line 260) | func (n *netstat) printNetstat(response *machine.NetstatResponse) error {
function netstatFlagsToRequest (line 144) | func netstatFlagsToRequest() *machine.NetstatRequest {
function netstatSummaryLabels (line 353) | func netstatSummaryLabels() (labels string) {
function wildcardIfZero (line 387) | func wildcardIfZero(num uint32) string {
function init (line 395) | func init() {
FILE: cmd/talosctl/cmd/talos/output/json.go
type JSON (line 21) | type JSON struct
method WriteHeader (line 34) | func (j *JSON) WriteHeader(definition *meta.ResourceDefinition, withEv...
method prepareEncodableData (line 41) | func (j *JSON) prepareEncodableData(node string, r resource.Resource, ...
method WriteResource (line 84) | func (j *JSON) WriteResource(node string, r resource.Resource, event s...
method Flush (line 94) | func (j *JSON) Flush() error {
function NewJSON (line 27) | func NewJSON(writer io.Writer) *JSON {
function writeAsIndentedJSON (line 76) | func writeAsIndentedJSON(wr io.Writer, data any) error {
FILE: cmd/talosctl/cmd/talos/output/jsonpath.go
type JSONPath (line 22) | type JSONPath struct
method WriteHeader (line 38) | func (j *JSONPath) WriteHeader(definition *meta.ResourceDefinition, wi...
method WriteResource (line 96) | func (j *JSONPath) WriteResource(node string, r resource.Resource, eve...
method Flush (line 122) | func (j *JSONPath) Flush() error {
function NewJSONPath (line 29) | func NewJSONPath(writer io.Writer, jsonPath *jsonpath.JSONPath) *JSONPath {
function printResult (line 44) | func printResult(wr io.Writer, result reflect.Value) error {
function valueToText (line 82) | func valueToText(v reflect.Value) ([]byte, error) {
FILE: cmd/talosctl/cmd/talos/output/jsonpath_test.go
function TestWriteResource (line 19) | func TestWriteResource(t *testing.T) {
FILE: cmd/talosctl/cmd/talos/output/output.go
type Writer (line 21) | type Writer interface
function NewWriter (line 28) | func NewWriter(format string) (Writer, error) {
function CompleteOutputArg (line 54) | func CompleteOutputArg(cmd *cobra.Command, args []string, toComplete str...
FILE: cmd/talosctl/cmd/talos/output/table.go
type Table (line 23) | type Table struct
method WriteHeader (line 41) | func (table *Table) WriteHeader(definition *meta.ResourceDefinition, w...
method WriteResource (line 82) | func (table *Table) WriteResource(node string, r resource.Resource, ev...
method Flush (line 132) | func (table *Table) Flush() error {
type dynamicColumn (line 30) | type dynamicColumn
function NewTable (line 33) | func NewTable(writer io.Writer) *Table {
FILE: cmd/talosctl/cmd/talos/output/yaml.go
type YAML (line 22) | type YAML struct
method WriteHeader (line 36) | func (y *YAML) WriteHeader(definition *meta.ResourceDefinition, withEv...
method WriteResource (line 43) | func (y *YAML) WriteResource(node string, r resource.Resource, event s...
method Flush (line 73) | func (y *YAML) Flush() error {
function NewYAML (line 29) | func NewYAML(writer io.Writer) *YAML {
type mcYamlRepr (line 77) | type mcYamlRepr struct
method Spec (line 79) | func (m *mcYamlRepr) Spec() any { return &mcYamlSpec{res: m.Resource} }
type mcYamlSpec (line 81) | type mcYamlSpec struct
method MarshalYAML (line 83) | func (m *mcYamlSpec) MarshalYAML() (any, error) {
FILE: cmd/talosctl/cmd/talos/patch.go
function extractMachineConfigBody (line 40) | func extractMachineConfigBody(mc resource.Resource) ([]byte, error) {
function patchFn (line 73) | func patchFn(c *client.Client, patches []configpatcher.Patch) func(conte...
function init (line 166) | func init() {
FILE: cmd/talosctl/cmd/talos/pcap.go
constant snapLength (line 127) | snapLength = 262144
function dumpPackets (line 129) | func dumpPackets(ctx context.Context, r io.Reader) error {
function parseBPFInstructions (line 167) | func parseBPFInstructions(in string) ([]*machine.BPFInstruction, error) {
function init (line 198) | func init() {
function forEachPacket (line 218) | func forEachPacket(ctx context.Context, p *gopacket.PacketSource, fn fun...
FILE: cmd/talosctl/cmd/talos/processes.go
function init (line 48) | func init() {
type by (line 53) | type by
method sort (line 55) | func (b by) sort(procs []*machineapi.ProcessInfo) {
type procSorter (line 63) | type procSorter struct
method Len (line 69) | func (s *procSorter) Len() int {
method Swap (line 74) | func (s *procSorter) Swap(i, j int) {
method Less (line 79) | func (s *procSorter) Less(i, j int) bool {
function processesOutput (line 95) | func processesOutput(ctx context.Context, c *client.Client) (output stri...
FILE: cmd/talosctl/cmd/talos/pull/pull.go
type ProgressWriter (line 20) | type ProgressWriter struct
method UpdateJob (line 28) | func (w *ProgressWriter) UpdateJob(node, layerID string, progress *mac...
method PrintLayerProgress (line 55) | func (w *ProgressWriter) PrintLayerProgress(rep *reporter.Reporter) {
type pullJob (line 81) | type pullJob struct
type pullJobs (line 86) | type pullJobs
method Len (line 88) | func (p pullJobs) Len() int {
method Swap (line 92) | func (p pullJobs) Swap(i, j int) {
method Less (line 96) | func (p pullJobs) Less(i, j int) bool {
FILE: cmd/talosctl/cmd/talos/read.go
function init (line 56) | func init() {
FILE: cmd/talosctl/cmd/talos/reboot.go
function rebootInternal (line 55) | func rebootInternal(wait, debug bool, timeout time.Duration, rep *report...
function rebootGetActorID (line 81) | func rebootGetActorID(opts ...client.RebootMode) func(ctx context.Contex...
function init (line 96) | func init() {
FILE: cmd/talosctl/cmd/talos/reset.go
type WipeMode (line 30) | type WipeMode
method String (line 38) | func (m WipeMode) String() string {
method Set (line 52) | func (m *WipeMode) Set(value string) error {
method Type (line 64) | func (m *WipeMode) Type() string {
constant wipeModeAll (line 33) | wipeModeAll = "all"
constant wipeModeSystemDisk (line 34) | wipeModeSystemDisk = "system-disk"
constant wipeModeUserDisks (line 35) | wipeModeUserDisks = "user-disks"
function buildResetRequest (line 155) | func buildResetRequest() *machineapi.ResetRequest {
function resetGetActorID (line 174) | func resetGetActorID(ctx context.Context, c *client.Client, req *machine...
function init (line 187) | func init() {
FILE: cmd/talosctl/cmd/talos/restart.go
function init (line 55) | func init() {
FILE: cmd/talosctl/cmd/talos/rollback.go
function init (line 32) | func init() {
FILE: cmd/talosctl/cmd/talos/root.go
constant pathAutoCompleteLimit (line 36) | pathAutoCompleteLimit = 500
function WithClientNoNodes (line 41) | func WithClientNoNodes(action func(context.Context, *client.Client) erro...
function WithClient (line 46) | func WithClient(action func(context.Context, *client.Client) error, dial...
function WithClientAndNodes (line 51) | func WithClientAndNodes(action func(context.Context, *client.Client, []s...
function WithClientMaintenance (line 56) | func WithClientMaintenance(enforceFingerprints []string, action func(con...
function addCommand (line 63) | func addCommand(cmd *cobra.Command) {
function completePathFromNode (line 94) | func completePathFromNode(inputPath string) []string {
function getPathFromNode (line 117) | func getPathFromNode(path, filter string) map[string]struct{} {
function getServiceFromNode (line 184) | func getServiceFromNode() []string {
function getContainersFromNode (line 211) | func getContainersFromNode(kubernetes bool) []string {
function mergeSuggestions (line 256) | func mergeSuggestions(s ...[]string) []string {
function relativeTo (line 264) | func relativeTo(fullPath string, filter string) bool {
FILE: cmd/talosctl/cmd/talos/rotate-ca.go
function rotateCA (line 56) | func rotateCA(ctx context.Context, c *client.Client) error {
function rotateTalosCA (line 102) | func rotateTalosCA(ctx context.Context, oldClient *client.Client, encode...
function rotateKubernetesCA (line 146) | func rotateKubernetesCA(ctx context.Context, c *client.Client, encoderOp...
function init (line 177) | func init() {
FILE: cmd/talosctl/cmd/talos/routes.go
function init (line 31) | func init() {
FILE: cmd/talosctl/cmd/talos/service.go
function serviceList (line 74) | func serviceList(ctx context.Context, c *client.Client) error {
function serviceInfo (line 108) | func serviceInfo(ctx context.Context, c *client.Client, id string) error {
function serviceStart (line 129) | func serviceStart(ctx context.Context, c *client.Client, id string) error {
function serviceStop (line 159) | func serviceStop(ctx context.Context, c *client.Client, id string) error {
function serviceRestart (line 189) | func serviceRestart(ctx context.Context, c *client.Client, id string) er...
function init (line 219) | func init() {
FILE: cmd/talosctl/cmd/talos/shutdown.go
function shutdownGetActorID (line 64) | func shutdownGetActorID(ctx context.Context, c *client.Client) (string, ...
function init (line 77) | func init() {
FILE: cmd/talosctl/cmd/talos/stats.go
function statsRender (line 63) | func statsRender(remotePeer *peer.Peer, resp *machineapi.StatsResponse) ...
function init (line 93) | func init() {
FILE: cmd/talosctl/cmd/talos/support.go
function collectData (line 114) | func collectData(dest *os.File, progress chan bundle.Progress) error {
function getKubernetesClient (line 145) | func getKubernetesClient(ctx context.Context, c *client.Client) (*k8s.Cl...
function getDiscoveryConfig (line 175) | func getDiscoveryConfig() (*clusterresource.Config, error) {
function openArchive (line 195) | func openArchive() (*os.File, error) {
type supportBundleError (line 228) | type supportBundleError struct
type supportBundleErrors (line 233) | type supportBundleErrors struct
method handleProgress (line 237) | func (sbe *supportBundleErrors) handleProgress(p bundle.Progress) {
method print (line 246) | func (sbe *supportBundleErrors) print() error {
function showProgress (line 280) | func showProgress(progress <-chan bundle.Progress, errors *supportBundle...
function init (line 338) | func init() {
FILE: cmd/talosctl/cmd/talos/time.go
function init (line 89) | func init() {
FILE: cmd/talosctl/cmd/talos/track.go
type trackableActionCmdFlags (line 13) | type trackableActionCmdFlags struct
method addTrackActionFlags (line 19) | func (f *trackableActionCmdFlags) addTrackActionFlags(cmd *cobra.Comma...
FILE: cmd/talosctl/cmd/talos/upgrade-k8s.go
function init (line 46) | func init() {
function upgradeKubernetes (line 73) | func upgradeKubernetes(ctx context.Context, c *client.Client) error {
FILE: cmd/talosctl/cmd/talos/upgrade.go
function upgradeRun (line 72) | func upgradeRun() error {
function upgradeViaLifecycleService (line 80) | func upgradeViaLifecycleService(ctx context.Context, c *client.Client, n...
function upgradeInternal (line 132) | func upgradeInternal(ctx context.Context, c *client.Client, containerdIn...
function upgradeLegacy (line 204) | func upgradeLegacy() error {
function runUpgradeLegacyNoWaitWithOpts (line 239) | func runUpgradeLegacyNoWaitWithOpts(opts []client.UpgradeOption) error {
function doUpgradeLegacy (line 254) | func doUpgradeLegacy(ctx context.Context, c *client.Client, opts []clien...
function upgradeGetActorID (line 294) | func upgradeGetActorID(ctx context.Context, c *client.Client, opts []cli...
function init (line 307) | func init() {
FILE: cmd/talosctl/cmd/talos/version.go
function cmdVersion (line 62) | func cmdVersion(ctx context.Context, c *client.Client) error {
function init (line 109) | func init() {
FILE: cmd/talosctl/cmd/talos/wipe.go
function cmdWipe (line 50) | func cmdWipe(args []string) func(ctx context.Context, c *client.Client) ...
function wipeMethodValues (line 71) | func wipeMethodValues() []string {
function init (line 83) | func init() {
FILE: cmd/talosctl/main.go
function main (line 15) | func main() {
FILE: cmd/talosctl/pkg/mgmt/helpers/airgapped.go
function GenerateSelfSignedCert (line 15) | func GenerateSelfSignedCert(sanIPs []net.IP, sanNames []string) ([]byte,...
FILE: cmd/talosctl/pkg/mgmt/helpers/artifacts.go
function ArtifactPath (line 18) | func ArtifactPath(name string) string {
FILE: cmd/talosctl/pkg/mgmt/helpers/helpers_test.go
function TestEmpty (line 9) | func TestEmpty(t *testing.T) {
FILE: cmd/talosctl/pkg/mgmt/helpers/image.go
function DefaultImage (line 15) | func DefaultImage(image string) string {
function GetTag (line 20) | func GetTag() string {
function getEnv (line 24) | func getEnv(key, fallback string) string {
FILE: cmd/talosctl/pkg/mgmt/helpers/wireguard.go
function NewWireguardConfigBundle (line 22) | func NewWireguardConfigBundle(ips []netip.Addr, wireguardCidr string, li...
type WireguardConfigBundle (line 93) | type WireguardConfigBundle struct
method PatchNode (line 98) | func (w *WireguardConfigBundle) PatchNode(ip netip.Addr) (configpatche...
FILE: cmd/talosctl/pkg/talos/action/node.go
type nodeTracker (line 27) | type nodeTracker struct
method tailDebugLogs (line 36) | func (a *nodeTracker) tailDebugLogs() error {
method run (line 67) | func (a *nodeTracker) run() error {
method update (line 111) | func (a *nodeTracker) update(update reporter.Update) {
method trackEventsWithRetry (line 121) | func (a *nodeTracker) trackEventsWithRetry(actorIDCh chan string) error {
method runPostCheckWithRetry (line 187) | func (a *nodeTracker) runPostCheckWithRetry(preActionBootID string) er...
method handleEvents (line 219) | func (a *nodeTracker) handleEvents(eventCh chan client.EventResult, ac...
method handleEvent (line 256) | func (a *nodeTracker) handleEvent(event client.Event) error {
FILE: cmd/talosctl/pkg/talos/action/tracker.go
constant unauthorizedBootIDFallback (line 35) | unauthorizedBootIDFallback = "(unauthorized)"
type nodeUpdate (line 78) | type nodeUpdate struct
type Tracker (line 84) | type Tracker struct
method Run (line 171) | func (a *Tracker) Run() error {
method runReporter (line 277) | func (a *Tracker) runReporter(ctx context.Context) error {
method processNodeUpdate (line 312) | func (a *Tracker) processNodeUpdate(update nodeUpdate) reporter.Update {
type TrackerOption (line 98) | type TrackerOption
function WithReporter (line 101) | func WithReporter(r *reporter.Reporter) TrackerOption {
function WithTimeout (line 110) | func WithTimeout(timeout time.Duration) TrackerOption {
function WithPostCheck (line 117) | func WithPostCheck(postCheckFn func(ctx context.Context, c *client.Clien...
function WithDebug (line 124) | func WithDebug(debug bool) TrackerOption {
function WithTerminalOverride (line 131) | func WithTerminalOverride(isTerminal bool) TrackerOption {
function NewTracker (line 138) | func NewTracker(
type ClientExecutor (line 162) | type ClientExecutor interface
function getBootID (line 354) | func getBootID(ctx context.Context, c *client.Client) (string, error) {
FILE: cmd/talosctl/pkg/talos/artifacts/arch.go
type Arch (line 8) | type Arch
constant ArchAmd64 (line 12) | ArchAmd64 Arch = "amd64"
constant ArchArm64 (line 13) | ArchArm64 Arch = "arm64"
FILE: cmd/talosctl/pkg/talos/artifacts/fetch.go
type imageHandler (line 23) | type imageHandler
constant FetchTimeout (line 26) | FetchTimeout = 20 * time.Minute
type fetchManager (line 28) | type fetchManager struct
method fetchImageByTag (line 55) | func (m *fetchManager) fetchImageByTag(imageName, tag string, imageHan...
method fetchImageByDigest (line 75) | func (m *fetchManager) fetchImageByDigest(digestRef name.Digest, image...
function newManager (line 33) | func newManager() (*fetchManager, error) {
function imageExportHandler (line 96) | func imageExportHandler(exportHandler func(r io.Reader) error) imageHand...
FILE: cmd/talosctl/pkg/talos/artifacts/images.go
type ExtensionRef (line 22) | type ExtensionRef struct
type OverlayRef (line 32) | type OverlayRef struct
function FetchOfficialExtensions (line 39) | func FetchOfficialExtensions(tag string) ([]ExtensionRef, error) {
function FetchOfficialOverlays (line 61) | func FetchOfficialOverlays(tag string) ([]OverlayRef, error) {
type extensionsDescriptions (line 82) | type extensionsDescriptions
type overlaysDescriptions (line 87) | type overlaysDescriptions struct
type overlaysDescription (line 91) | type overlaysDescription struct
function extractExtensionList (line 98) | func extractExtensionList(r io.Reader) ([]ExtensionRef, error) {
function extractOverlayList (line 172) | func extractOverlayList(r io.Reader) ([]OverlayRef, error) {
FILE: cmd/talosctl/pkg/talos/global/client.go
type Args (line 23) | type Args struct
method NodeList (line 33) | func (c *Args) NodeList() []string {
method WithClientNoNodes (line 40) | func (c *Args) WithClientNoNodes(action func(context.Context, *client....
method getNodes (line 83) | func (c *Args) getNodes(cli *client.Client) ([]string, error) {
method WithClient (line 101) | func (c *Args) WithClient(action func(context.Context, *client.Client)...
method WithClientAndNodes (line 118) | func (c *Args) WithClientAndNodes(action func(context.Context, *client...
method WithClientMaintenance (line 133) | func (c *Args) WithClientMaintenance(enforceFingerprints []string, act...
FILE: cmd/talosctl/pkg/talos/helpers/archive.go
function ExtractFileFromTarGz (line 20) | func ExtractFileFromTarGz(filename string, r io.ReadCloser) ([]byte, err...
function ExtractTarGz (line 60) | func ExtractTarGz(localPath string, r io.ReadCloser) error {
FILE: cmd/talosctl/pkg/talos/helpers/checks.go
function FailIfMultiNodes (line 24) | func FailIfMultiNodes(ctx context.Context, command string) error {
function CheckErrors (line 38) | func CheckErrors[T interface{ GetMetadata() *common.Metadata }](messages...
type VersionOutsideRangeError (line 52) | type VersionOutsideRangeError struct
function TalosVersionCheck (line 55) | func TalosVersionCheck(ctx context.Context, c *client.Client, desired se...
function ClientVersionCheck (line 80) | func ClientVersionCheck(ctx context.Context, c *client.Client) error {
FILE: cmd/talosctl/pkg/talos/helpers/confirm.go
function Confirm (line 16) | func Confirm(prompt string) bool {
FILE: cmd/talosctl/pkg/talos/helpers/error.go
function AppendErrors (line 17) | func AppendErrors(err error, errs ...error) error {
FILE: cmd/talosctl/pkg/talos/helpers/helpers_test.go
type cfg (line 17) | type cfg struct
function TestExtractFileFromTarGz (line 22) | func TestExtractFileFromTarGz(t *testing.T) {
FILE: cmd/talosctl/pkg/talos/helpers/labels.go
function FormatLabels (line 15) | func FormatLabels(labels map[string]string) string {
FILE: cmd/talosctl/pkg/talos/helpers/mode.go
type Mode (line 21) | type Mode struct
method String (line 26) | func (m Mode) String() string {
method Set (line 44) | func (m *Mode) Set(value string) error {
method Type (line 56) | func (m *Mode) Type() string {
constant modeAuto (line 64) | modeAuto = "auto"
constant modeNoReboot (line 65) | modeNoReboot = "no-reboot"
constant modeReboot (line 66) | modeReboot = "reboot"
constant modeStaged (line 67) | modeStaged = "staged"
constant modeTry (line 68) | modeTry = "try"
function AddModeFlags (line 72) | func AddModeFlags(mode *Mode, command *cobra.Command) {
function PrintApplyResults (line 88) | func PrintApplyResults(resp *machine.ApplyConfigurationResponse) {
FILE: cmd/talosctl/pkg/talos/helpers/resources.go
function ForEachResource (line 22) | func ForEachResource(ctx context.Context,
FILE: cmd/talosctl/pkg/talos/helpers/stream.go
type Stream (line 21) | type Stream interface
type Message (line 27) | type Message interface
function ReadGRPCStream (line 33) | func ReadGRPCStream[S Stream[T], T Message](stream S, handler func(T, st...
type ErrNonFatalError (line 81) | type ErrNonFatalError struct
method Error (line 86) | func (e *ErrNonFatalError) Error() string {
function NonFatalError (line 91) | func NonFatalError(err error) error {
FILE: cmd/talosctl/pkg/talos/yamlstrip/yamlstrip.go
function Comments (line 20) | func Comments(b []byte) []byte {
function stripViaDecoding (line 29) | func stripViaDecoding(b []byte) ([]byte, error) {
function removeComments (line 57) | func removeComments(node *yaml.Node) {
function stripManual (line 67) | func stripManual(b []byte) []byte {
FILE: cmd/talosctl/pkg/talos/yamlstrip/yamlstrip_test.go
function TestComments (line 18) | func TestComments(t *testing.T) {
FILE: hack/cloud-image-uploader/aws.go
function GetAWSDefaultRegions (line 52) | func GetAWSDefaultRegions(ctx context.Context) ([]string, error) {
type AWSUploader (line 78) | type AWSUploader struct
method Upload (line 91) | func (au *AWSUploader) Upload(ctx context.Context) error {
method RegisterAMIs (line 111) | func (au *AWSUploader) RegisterAMIs(ctx context.Context) error {
method registerAMI (line 200) | func (au *AWSUploader) registerAMI(ctx context.Context, region string,...
method tagSnapshot (line 263) | func (au *AWSUploader) tagSnapshot(ctx context.Context, svc *ec2.Clien...
method registerAMIArch (line 281) | func (au *AWSUploader) registerAMIArch(ctx context.Context, region str...
function cleanupBucket (line 130) | func cleanupBucket(s3Svc *s3.Client, bucketName string) {
FILE: hack/cloud-image-uploader/factory.go
type FactoryDownloader (line 26) | type FactoryDownloader struct
method Download (line 31) | func (f *FactoryDownloader) Download(ctx context.Context) error {
method getArtifact (line 51) | func (f *FactoryDownloader) getArtifact(ctx context.Context, name stri...
method saveArtifact (line 82) | func (f *FactoryDownloader) saveArtifact(name string, r io.Reader) err...
FILE: hack/cloud-image-uploader/gcp.go
type GCPUploder (line 30) | type GCPUploder struct
method Upload (line 75) | func (u *GCPUploder) Upload(ctx context.Context) error {
method uploadImage (line 126) | func (u *GCPUploder) uploadImage(ctx context.Context, arch, bucketName...
method registerImage (line 158) | func (u *GCPUploder) registerImage(arch string) error {
method checkImageExists (line 220) | func (u *GCPUploder) checkImageExists(imageName string) (bool, error) {
method insertImage (line 236) | func (u *GCPUploder) insertImage(imageName, arch string) (operationID,...
method deleteImage (line 282) | func (u *GCPUploder) deleteImage(imageName string) error {
function NewGCPUploder (line 41) | func NewGCPUploder(options Options) (*GCPUploder, error) {
FILE: hack/cloud-image-uploader/main.go
type Result (line 26) | type Result
type CloudImage (line 29) | type CloudImage struct
function pushResult (line 43) | func pushResult(image CloudImage) {
function main (line 50) | func main() {
function run (line 57) | func run() error {
FILE: hack/cloud-image-uploader/options.go
type Options (line 14) | type Options struct
method AWSImage (line 43) | func (o *Options) AWSImage(architecture string) string {
method GCPImage (line 48) | func (o *Options) GCPImage(architecture string) string {
method SchematicFor (line 53) | func (o *Options) SchematicFor(cloud string) string {
FILE: internal/app/apid/debug.go
function runDebugServer (line 14) | func runDebugServer(ctx context.Context) {
FILE: internal/app/apid/main.go
function Main (line 30) | func Main() {
function apidMain (line 44) | func apidMain() error {
FILE: internal/app/apid/pkg/backend/apid.go
constant GracefulShutdownTimeout (line 36) | GracefulShutdownTimeout = 30 * time.Minute
type APID (line 43) | type APID struct
method String (line 65) | func (a *APID) String() string {
method GetConnection (line 70) | func (a *APID) GetConnection(ctx context.Context, _ string) (context.C...
method AppendInfo (line 173) | func (a *APID) AppendInfo(streaming bool, resp []byte) ([]byte, error) {
method BuildError (line 239) | func (a *APID) BuildError(streaming bool, err error) ([]byte, error) {
method Close (line 260) | func (a *APID) Close() {
function NewAPID (line 53) | func NewAPID(target string, tlsConfigProvider func() (*tls.Config, error...
function gracefulGRPCClose (line 270) | func gracefulGRPCClose(conn *grpc.ClientConn, timeout time.Duration) {
FILE: internal/app/apid/pkg/backend/apid_factory.go
type APIDFactory (line 17) | type APIDFactory struct
method Get (line 40) | func (factory *APIDFactory) Get(target string) (proxy.Backend, error) {
method Flush (line 65) | func (factory *APIDFactory) Flush() {
type TLSConfigProvider (line 23) | type TLSConfigProvider interface
function NewAPIDFactory (line 30) | func NewAPIDFactory(provider TLSConfigProvider) *APIDFactory {
FILE: internal/app/apid/pkg/backend/apid_factory_test.go
type APIDFactorySuite (line 18) | type APIDFactorySuite struct
method SetupSuite (line 30) | func (suite *APIDFactorySuite) SetupSuite() {
method TestGet (line 34) | func (suite *APIDFactorySuite) TestGet() {
method TestGetConcurrent (line 51) | func (suite *APIDFactorySuite) TestGetConcurrent() {
type fakeTLSConfigProvider (line 24) | type fakeTLSConfigProvider struct
method ClientConfig (line 26) | func (fakeTLSConfigProvider) ClientConfig() (*tls.Config, error) {
function TestAPIDFactorySuite (line 74) | func TestAPIDFactorySuite(t *testing.T) {
FILE: internal/app/apid/pkg/backend/apid_test.go
type APIDSuite (line 33) | type APIDSuite struct
method SetupSuite (line 39) | func (suite *APIDSuite) SetupSuite() {
method TestGetConnection (line 50) | func (suite *APIDSuite) TestGetConnection() {
method TestAppendInfoUnary (line 109) | func (suite *APIDSuite) TestAppendInfoUnary() {
method TestAppendInfoStreaming (line 134) | func (suite *APIDSuite) TestAppendInfoStreaming() {
method TestAppendInfoStreamingMetadata (line 155) | func (suite *APIDSuite) TestAppendInfoStreamingMetadata() {
method TestBuildErrorUnary (line 180) | func (suite *APIDSuite) TestBuildErrorUnary() {
method TestBuildErrorStreaming (line 194) | func (suite *APIDSuite) TestBuildErrorStreaming() {
function TestAPIDSuite (line 208) | func TestAPIDSuite(t *testing.T) {
function TestAPIIdiosyncrasies (line 212) | func TestAPIIdiosyncrasies(t *testing.T) {
function getOptions (line 262) | func getOptions(t *testing.T, descriptor protoreflect.Descriptor) (depre...
function testDeprecated (line 303) | func testDeprecated(t *testing.T, descriptor protoreflect.Descriptor, cu...
function testEnum (line 321) | func testEnum(t *testing.T, enum protoreflect.EnumDescriptor, currentVer...
function testMessage (line 330) | func testMessage(t *testing.T, message protoreflect.MessageDescriptor, c...
function TestDeprecatedAPIs (line 355) | func TestDeprecatedAPIs(t *testing.T) {
FILE: internal/app/apid/pkg/director/director.go
type Router (line 22) | type Router struct
method Register (line 46) | func (r *Router) Register(srv *grpc.Server) {
method Director (line 52) | func (r *Router) Director(ctx context.Context, fullMethodName string) ...
method singleDirector (line 109) | func (r *Router) singleDirector(target string) (proxy.Mode, []proxy.Ba...
method aggregateDirector (line 123) | func (r *Router) aggregateDirector(targets []string) (proxy.Mode, []pr...
method StreamedDetector (line 143) | func (r *Router) StreamedDetector(fullMethodName string) bool {
method RegisterStreamedRegex (line 151) | func (r *Router) RegisterStreamedRegex(regex string) {
type RemoteBackendFactory (line 31) | type RemoteBackendFactory
function NewRouter (line 34) | func NewRouter(backendFactory RemoteBackendFactory, localBackend proxy.B...
FILE: internal/app/apid/pkg/director/director_test.go
type DirectorSuite (line 21) | type DirectorSuite struct
method SetupSuite (line 28) | func (suite *DirectorSuite) SetupSuite() {
method TestStreamedDetector (line 42) | func (suite *DirectorSuite) TestStreamedDetector() {
method TestDirectorAggregate (line 57) | func (suite *DirectorSuite) TestDirectorAggregate() {
method TestDirectorSingleNode (line 78) | func (suite *DirectorSuite) TestDirectorSingleNode() {
method TestDirectorLocal (line 95) | func (suite *DirectorSuite) TestDirectorLocal() {
method TestDirectorNoRemoteBackend (line 106) | func (suite *DirectorSuite) TestDirectorNoRemoteBackend() {
method TestDirectorNoRouting (line 160) | func (suite *DirectorSuite) TestDirectorNoRouting() {
function TestDirectorSuite (line 200) | func TestDirectorSuite(t *testing.T) {
FILE: internal/app/apid/pkg/director/local_address.go
type LocalAddressProvider (line 18) | type LocalAddressProvider interface
type localAddressProvider (line 23) | type localAddressProvider struct
method watch (line 49) | func (p *localAddressProvider) watch(evCh <-chan state.Event) {
method IsLocalTarget (line 84) | func (p *localAddressProvider) IsLocalTarget(target string) bool {
function NewLocalAddressProvider (line 31) | func NewLocalAddressProvider(st state.State) (LocalAddressProvider, erro...
FILE: internal/app/apid/pkg/director/mocks_test.go
type mockBackend (line 14) | type mockBackend struct
method String (line 18) | func (m *mockBackend) String() string {
method GetConnection (line 22) | func (m *mockBackend) GetConnection(ctx context.Context, fullMethodNam...
method AppendInfo (line 26) | func (m *mockBackend) AppendInfo(streaming bool, resp []byte) ([]byte,...
method BuildError (line 30) | func (m *mockBackend) BuildError(streaming bool, err error) ([]byte, e...
function mockBackendFactory (line 34) | func mockBackendFactory(target string) (proxy.Backend, error) {
type mockLocalAddressProvider (line 38) | type mockLocalAddressProvider struct
method IsLocalTarget (line 42) | func (m *mockLocalAddressProvider) IsLocalTarget(t string) bool {
FILE: internal/app/apid/pkg/provider/provider.go
type TLSConfig (line 26) | type TLSConfig struct
method Watch (line 77) | func (tlsConfig *TLSConfig) Watch(ctx context.Context, onUpdate func()...
method ServerConfig (line 110) | func (tlsConfig *TLSConfig) ServerConfig() (*stdlibtls.Config, error) {
method ClientConfig (line 125) | func (tlsConfig *TLSConfig) ClientConfig() (*stdlibtls.Config, error) {
function NewTLSConfig (line 33) | func NewTLSConfig(ctx context.Context, resources state.State, skipClient...
type certificateProvider (line 142) | type certificateProvider struct
method Update (line 150) | func (p *certificateProvider) Update(apiCerts *secrets.API) error {
method GetCA (line 193) | func (p *certificateProvider) GetCA() ([]byte, error) {
method GetCACertPool (line 200) | func (p *certificateProvider) GetCACertPool() (*stdx509.CertPool, erro...
method GetCertificate (line 207) | func (p *certificateProvider) GetCertificate(*stdlibtls.ClientHelloInf...
method HasClientCertificate (line 214) | func (p *certificateProvider) HasClientCertificate() bool {
method GetClientCertificate (line 221) | func (p *certificateProvider) GetClientCertificate(*stdlibtls.Certific...
FILE: internal/app/apid/pkg/provider/provider_test.go
function TestEmpty (line 9) | func TestEmpty(t *testing.T) {
FILE: internal/app/apid/service.go
function runService (line 35) | func runService(ctx context.Context, resources state.State, config *runt...
function verifyExtKeyUsage (line 172) | func verifyExtKeyUsage(_ [][]byte, verifiedChains [][]*x509.Certificate)...
FILE: internal/app/auditd/auditd.go
function Main (line 24) | func Main(ctx context.Context, _ runtime.Runtime, logWriter io.Writer) e...
function Run (line 31) | func Run(ctx context.Context, logWriter io.Writer) error {
function receiveEvents (line 88) | func receiveEvents(ctx context.Context, client *libaudit.AuditClient, lo...
FILE: internal/app/dashboard/main.go
function Main (line 33) | func Main() {
function dashboardMain (line 39) | func dashboardMain() error {
function showConfigURLTab (line 75) | func showConfigURLTab() bool {
function sigtermAwareContext (line 94) | func sigtermAwareContext(ctx context.Context) (context.Context, context....
FILE: internal/app/debug/container_streams.go
function newGrpcStreamWriter (line 23) | func newGrpcStreamWriter(srv grpc.BidiStreamingServer[machine.DebugConta...
type grpcStdioStreamer (line 39) | type grpcStdioStreamer struct
method stream (line 48) | func (g *grpcStdioStreamer) stream(ctx context.Context, statusC <-chan...
method recvLoop (line 152) | func (g *grpcStdioStreamer) recvLoop(ctx context.Context, task contain...
method processMessage (line 171) | func (g *grpcStdioStreamer) processMessage(ctx context.Context, task c...
method sendLoop (line 205) | func (g *grpcStdioStreamer) sendLoop() error {
FILE: internal/app/debug/debug.go
type Service (line 35) | type Service struct
method ContainerRun (line 40) | func (s *Service) ContainerRun(srv grpc.BidiStreamingServer[machine.De...
function createDebugContainer (line 135) | func createDebugContainer(
function runAndAttachContainer (line 207) | func runAndAttachContainer(
function generateContainerID (line 256) | func generateContainerID() (string, error) {
FILE: internal/app/images/images.go
type Service (line 36) | type Service struct
method List (line 52) | func (svc *Service) List(req *machine.ImageServiceListRequest, srv grp...
method Pull (line 88) | func (svc *Service) Pull(req *machine.ImageServicePullRequest, srv grp...
method Import (line 150) | func (svc *Service) Import(srv grpc.ClientStreamingServer[machine.Imag...
method Remove (line 244) | func (svc *Service) Remove(ctx context.Context, req *machine.ImageServ...
function NewService (line 44) | func NewService(controller runtime.Controller, logger *zap.Logger) *Serv...
FILE: internal/app/images/verify.go
method Verify (line 25) | func (svc *Service) Verify(ctx context.Context, req *machine.ImageServic...
FILE: internal/app/init/main.go
function init (line 36) | func init() {
function run (line 42) | func run() error {
function recovery (line 95) | func recovery() {
function mountRootFS (line 122) | func mountRootFS() error {
function bindMountFirmware (line 211) | func bindMountFirmware() error {
function bindMountExtra (line 226) | func bindMountExtra() error {
function cpuInfo (line 240) | func cpuInfo() {
function main (line 258) | func main() {
FILE: internal/app/internal/ctrhelper/ctrhelper.go
function ContainerdInstanceHelper (line 26) | func ContainerdInstanceHelper(ctx context.Context, req *common.Container...
FILE: internal/app/internal/machinehelper/machinehelper.go
function CheckControlplane (line 23) | func CheckControlplane(ctx context.Context, resources state.State, apiNa...
FILE: internal/app/lifecycle/container.go
function generateContainerID (line 36) | func generateContainerID() (string, error) {
type sendFunc (line 46) | type sendFunc
type sendExitCodeFunc (line 49) | type sendExitCodeFunc
type containerRunConfig (line 52) | type containerRunConfig struct
function runInstallerContainer (line 68) | func runInstallerContainer(ctx context.Context, rc *containerRunConfig) ...
function streamOutput (line 214) | func streamOutput(r io.Reader, send sendFunc) error {
function buildMounts (line 236) | func buildMounts() []specs.Mount {
function buildInstallerArgs (line 267) | func buildInstallerArgs(disk, platform string, options *install.Options)...
function buildSpecOpts (line 307) | func buildSpecOpts(img client.Image, args []string, mounts []specs.Mount...
FILE: internal/app/lifecycle/lifecycle.go
type Service (line 26) | type Service struct
method Install (line 47) | func (s *Service) Install(req *machine.LifecycleServiceInstallRequest,...
method Upgrade (line 141) | func (s *Service) Upgrade(req *machine.LifecycleServiceUpgradeRequest,...
method checkSupported (line 228) | func (s *Service) checkSupported(feature runtime.ModeCapability) error {
function NewService (line 35) | func NewService(runtime runtime.Runtime, logger *zap.Logger) *Service {
FILE: internal/app/machined/internal/server/v1alpha1/v1alpha1_cluster.go
method HealthCheck (line 34) | func (s *Server) HealthCheck(in *clusterapi.HealthCheckRequest, srv clus...
type healthReporter (line 85) | type healthReporter struct
method Update (line 90) | func (hr *healthReporter) Update(condition conditions.Condition) {
type clusterState (line 102) | type clusterState struct
method Nodes (line 107) | func (cl *clusterState) Nodes() []cluster.NodeInfo {
method NodesByType (line 111) | func (cl *clusterState) NodesByType(t machine.Type) []cluster.NodeInfo {
method String (line 115) | func (cl *clusterState) String() string {
function buildClusterInfo (line 126) | func buildClusterInfo(ctx context.Context,
function k8sNodeToNodeInfo (line 201) | func k8sNodeToNodeInfo(node *corev1.Node) (*cluster.NodeInfo, error) {
function getDiscoveryMemberList (line 236) | func getDiscoveryMemberList(ctx context.Context, runtime runtime.Runtime...
function isControlPlaneNode (line 247) | func isControlPlaneNode(node *corev1.Node) bool {
FILE: internal/app/machined/internal/server/v1alpha1/v1alpha1_images.go
function containerdNamespaceHelper (line 25) | func containerdNamespaceHelper(ctx context.Context, ns common.Containerd...
method ImageList (line 45) | func (s *Server) ImageList(req *machine.ImageListRequest, srv machine.Ma...
method ImagePull (line 86) | func (s *Server) ImagePull(ctx context.Context, req *machine.ImagePullRe...
FILE: internal/app/machined/internal/server/v1alpha1/v1alpha1_inspect.go
type InspectServer (line 18) | type InspectServer struct
method ControllerRuntimeDependencies (line 25) | func (s *InspectServer) ControllerRuntimeDependencies(ctx context.Cont...
FILE: internal/app/machined/internal/server/v1alpha1/v1alpha1_meta.go
method MetaWrite (line 20) | func (s *Server) MetaWrite(ctx context.Context, req *machine.MetaWriteRe...
method MetaDelete (line 53) | func (s *Server) MetaDelete(ctx context.Context, req *machine.MetaDelete...
FILE: internal/app/machined/internal/server/v1alpha1/v1alpha1_monitoring.go
method Hostname (line 24) | func (s *Server) Hostname(ctx context.Context, in *emptypb.Empty) (*mach...
method LoadAvg (line 42) | func (s *Server) LoadAvg(ctx context.Context, in *emptypb.Empty) (*machi...
method SystemStat (line 67) | func (s *Server) SystemStat(ctx context.Context, in *emptypb.Empty) (*ma...
method CPUFreqStats (line 146) | func (s *Server) CPUFreqStats(ctx context.Context, in *emptypb.Empty) (*...
method CPUInfo (line 182) | func (s *Server) CPUInfo(ctx context.Context, in *emptypb.Empty) (*machi...
method NetworkDeviceStats (line 235) | func (s *Server) NetworkDeviceStats(ctx context.Context, in *emptypb.Emp...
method DiskStats (line 281) | func (s *Server) DiskStats(ctx context.Context, in *emptypb.Empty) (*mac...
FILE: internal/app/machined/internal/server/v1alpha1/v1alpha1_server.go
constant MinimumEtcdUpgradeLeaseLockSeconds (line 106) | MinimumEtcdUpgradeLeaseLockSeconds = 60
constant OSPathSeparator (line 109) | OSPathSeparator = string(os.PathSeparator)
type Server (line 113) | type Server struct
method checkSupported (line 130) | func (s *Server) checkSupported(feature runtime.ModeCapability) error {
method Register (line 141) | func (s *Server) Register(obj *grpc.Server) {
method ApplyConfiguration (line 173) | func (s *Server) ApplyConfiguration(ctx context.Context, in *machine.A...
method Reboot (line 349) | func (s *Server) Reboot(ctx context.Context, in *machine.RebootRequest...
method Rollback (line 380) | func (s *Server) Rollback(ctx context.Context, in *machine.RollbackReq...
method Bootstrap (line 423) | func (s *Server) Bootstrap(ctx context.Context, in *machine.BootstrapR...
method Shutdown (line 459) | func (s *Server) Shutdown(ctx context.Context, in *machine.ShutdownReq...
method Upgrade (line 492) | func (s *Server) Upgrade(ctx context.Context, in *machine.UpgradeReque...
method Reset (line 622) | func (s *Server) Reset(ctx context.Context, in *machine.ResetRequest) ...
method ServiceList (line 726) | func (s *Server) ServiceList(ctx context.Context, in *emptypb.Empty) (...
method ServiceStart (line 742) | func (s *Server) ServiceStart(ctx context.Context, in *machine.Service...
method ServiceStop (line 760) | func (s *Server) ServiceStop(ctx context.Context, in *machine.ServiceS...
method ServiceRestart (line 778) | func (s *Server) ServiceRestart(ctx context.Context, in *machine.Servi...
method Copy (line 795) | func (s *Server) Copy(req *machine.CopyRequest, obj machine.MachineSer...
method List (line 842) | func (s *Server) List(req *machine.ListRequest, obj machine.MachineSer...
method DiskUsage (line 953) | func (s *Server) DiskUsage(req *machine.DiskUsageRequest, obj machine....
method Mounts (line 1130) | func (s *Server) Mounts(ctx context.Context, in *emptypb.Empty) (reply...
method Version (line 1197) | func (s *Server) Version(ctx context.Context, in *emptypb.Empty) (repl...
method Kubeconfig (line 1228) | func (s *Server) Kubeconfig(empty *emptypb.Empty, obj machine.MachineS...
method Logs (line 1273) | func (s *Server) Logs(req *machine.LogsRequest, l machine.MachineServi...
method LogsContainers (line 1319) | func (s *Server) LogsContainers(context.Context, *emptypb.Empty) (*mac...
method Read (line 1370) | func (s *Server) Read(in *machine.ReadRequest, srv machine.MachineServ...
method Events (line 1411) | func (s *Server) Events(req *machine.EventsRequest, l machine.MachineS...
method Containers (line 1484) | func (s *Server) Containers(ctx context.Context, in *machine.Container...
method Stats (line 1534) | func (s *Server) Stats(ctx context.Context, in *machine.StatsRequest) ...
method Restart (line 1585) | func (s *Server) Restart(ctx context.Context, in *machine.RestartReque...
method Dmesg (line 1617) | func (s *Server) Dmesg(req *machine.DmesgRequest, srv machine.MachineS...
method Processes (line 1674) | func (s *Server) Processes(ctx context.Context, in *emptypb.Empty) (re...
method Memory (line 1707) | func (s *Server) Memory(ctx context.Context, in *emptypb.Empty) (reply...
method EtcdMemberList (line 1781) | func (s *Server) EtcdMemberList(ctx context.Context, in *machine.EtcdM...
method EtcdRemoveMemberByID (line 1830) | func (s *Server) EtcdRemoveMemberByID(ctx context.Context, in *machine...
method EtcdLeaveCluster (line 1860) | func (s *Server) EtcdLeaveCluster(ctx context.Context, in *machine.Etc...
method EtcdForfeitLeadership (line 1886) | func (s *Server) EtcdForfeitLeadership(ctx context.Context, in *machin...
method EtcdSnapshot (line 1920) | func (s *Server) EtcdSnapshot(in *machine.EtcdSnapshotRequest, srv mac...
method EtcdRecover (line 1959) | func (s *Server) EtcdRecover(srv machine.MachineService_EtcdRecoverSer...
method EtcdAlarmList (line 2047) | func (s *Server) EtcdAlarmList(ctx context.Context, in *emptypb.Empty)...
method EtcdAlarmDisarm (line 2077) | func (s *Server) EtcdAlarmDisarm(ctx context.Context, in *emptypb.Empt...
method EtcdDefragment (line 2110) | func (s *Server) EtcdDefragment(ctx context.Context, in *emptypb.Empty...
method EtcdStatus (line 2138) | func (s *Server) EtcdStatus(ctx context.Context, in *emptypb.Empty) (*...
method EtcdDowngradeCancel (line 2192) | func (s *Server) EtcdDowngradeCancel(ctx context.Context, _ *emptypb.E...
method EtcdDowngradeEnable (line 2226) | func (s *Server) EtcdDowngradeEnable(ctx context.Context, in *machine....
method EtcdDowngradeValidate (line 2264) | func (s *Server) EtcdDowngradeValidate(ctx context.Context, in *machin...
method GenerateClientConfiguration (line 2328) | func (s *Server) GenerateClientConfiguration(ctx context.Context, in *...
method PacketCapture (line 2393) | func (s *Server) PacketCapture(in *machine.PacketCaptureRequest, srv m...
method Netstat (line 2553) | func (s *Server) Netstat(ctx context.Context, req *machine.NetstatRequ...
type modeWrapper (line 160) | type modeWrapper struct
method RequiresInstall (line 166) | func (m modeWrapper) RequiresInstall() bool {
function generateDiff (line 335) | func generateDiff(r runtime.Runtime, provider config.Provider) (string, ...
type ResetOptions (line 593) | type ResetOptions struct
method GetSystemDiskTargets (line 601) | func (opt *ResetOptions) GetSystemDiskTargets() []runtime.PartitionTar...
method GetSystemDiskPaths (line 610) | func (opt *ResetOptions) GetSystemDiskPaths() []string {
method String (line 615) | func (opt *ResetOptions) String() string {
function k8slogs (line 1329) | func k8slogs(ctx context.Context, req *machine.LogsRequest) (chunker.Chu...
function getContainerInspector (line 1349) | func getContainerInspector(ctx context.Context, namespace string, driver...
function sendEmptyEvent (line 1474) | func sendEmptyEvent(req *machine.EventsRequest, l machine.MachineService...
function mapAlarms (line 2022) | func mapAlarms(alarms []*etcdserverpb.AlarmMember) []*machine.EtcdMember...
function validateDowngrade (line 2299) | func validateDowngrade(version string) error {
type packetStreamWriter (line 2374) | type packetStreamWriter struct
method Write (line 2378) | func (w *packetStreamWriter) Write(data []byte) (int, error) {
function capturePackets (line 2456) | func capturePackets(ctx context.Context, w io.Writer, handle *afpacket.T...
function tryLockUpgradeMutex (line 2519) | func tryLockUpgradeMutex(ctx context.Context, etcdClient *etcd.Client) (...
FILE: internal/app/machined/internal/server/v1alpha1/v1alpha1_time.go
type ConfigProvider (line 24) | type ConfigProvider interface
type TimeServer (line 29) | type TimeServer struct
method Register (line 36) | func (r *TimeServer) Register(s *grpc.Server) {
method Time (line 41) | func (r *TimeServer) Time(ctx context.Context, in *emptypb.Empty) (rep...
method TimeCheck (line 60) | func (r *TimeServer) TimeCheck(ctx context.Context, in *timeapi.TimeRe...
FILE: internal/app/machined/internal/server/v1alpha1/v1alpha1_time_test.go
type TimedSuite (line 29) | type TimedSuite struct
method TestTime (line 53) | func (suite *TimedSuite) TestTime() {
method TestTimeCheck (line 86) | func (suite *TimedSuite) TestTimeCheck() {
function TestTimedSuite (line 33) | func TestTimedSuite(t *testing.T) {
type mockConfigProvider (line 39) | type mockConfigProvider struct
method Config (line 43) | func (provider *mockConfigProvider) Config() config.Config {
function fakeTimedRPC (line 121) | func fakeTimedRPC(t *testing.T) (net.Listener, error) {
FILE: internal/app/machined/main.go
function init (line 47) | func init() {
function recovery (line 52) | func recovery(ctx context.Context) {
function syncNonVolatileStorageBuffers (line 70) | func syncNonVolatileStorageBuffers() {
function handle (line 99) | func handle(ctx context.Context, err error) {
function runDebugServer (line 152) | func runDebugServer(ctx context.Context) {
function run (line 164) | func run() error {
function runEntrypoint (line 198) | func runEntrypoint(ctx context.Context, c *v1alpha1runtime.Controller) e...
function main (line 303) | func main() {
FILE: internal/app/machined/pkg/adapters/block/volume_config.go
function VolumeConfigSpec (line 17) | func VolumeConfigSpec(r *block.VolumeConfigSpec) volumeConfigSpec {
type volumeConfigSpec (line 23) | type volumeConfigSpec struct
method ApplyEncryptionConfig (line 28) | func (a volumeConfigSpec) ApplyEncryptionConfig(in config.EncryptionCo...
FILE: internal/app/machined/pkg/adapters/block/volume_mount_status.go
function VolumeMountStatus (line 20) | func VolumeMountStatus(r *block.VolumeMountStatus) volumeMountStatus {
type volumeMountStatus (line 26) | type volumeMountStatus struct
method WithRoot (line 31) | func (a volumeMountStatus) WithRoot(logger *zap.Logger, callback func(...
FILE: internal/app/machined/pkg/adapters/cluster/identity.go
function IdentitySpec (line 21) | func IdentitySpec(r *cluster.IdentitySpec) identity {
type identity (line 27) | type identity struct
method Generate (line 32) | func (a identity) Generate() error {
method ConvertMachineID (line 45) | func (a identity) ConvertMachineID() ([]byte, error) {
FILE: internal/app/machined/pkg/adapters/cluster/identity_test.go
function TestIdentityGenerate (line 17) | func TestIdentityGenerate(t *testing.T) {
function TestIdentityConvertMachineID (line 33) | func TestIdentityConvertMachineID(t *testing.T) {
FILE: internal/app/machined/pkg/adapters/hardware/memorymodule.go
function MemoryModule (line 16) | func MemoryModule(m *hardware.MemoryModule) memoryModule {
type memoryModule (line 22) | type memoryModule struct
method Update (line 27) | func (m memoryModule) Update(memory *smbios.MemoryDevice) {
FILE: internal/app/machined/pkg/adapters/hardware/processor.go
function Processor (line 16) | func Processor(p *hardware.Processor) processor {
type processor (line 22) | type processor struct
method Update (line 27) | func (p processor) Update(processor *smbios.ProcessorInformation) {
FILE: internal/app/machined/pkg/adapters/hardware/system_information.go
function SystemInformation (line 16) | func SystemInformation(p *hardware.SystemInformation) systemInformation {
type systemInformation (line 22) | type systemInformation struct
method Update (line 27) | func (p systemInformation) Update(systemInformation *smbios.SystemInfo...
FILE: internal/app/machined/pkg/adapters/k8s/manifest.go
function Manifest (line 25) | func Manifest(r *k8s.Manifest) manifest {
type manifest (line 31) | type manifest struct
method SetObjects (line 36) | func (a manifest) SetObjects(objects []runtime.Object) error {
method SetYAML (line 60) | func (a manifest) SetYAML(yamlBytes []byte) error {
method Objects (line 119) | func (a manifest) Objects() []*unstructured.Unstructured {
FILE: internal/app/machined/pkg/adapters/k8s/manifest_test.go
function TestManifestSetYAML (line 19) | func TestManifestSetYAML(t *testing.T) {
function TestManifestSetYAMLEmptyComments (line 36) | func TestManifestSetYAMLEmptyComments(t *testing.T) {
function TestManifestSetYAMLList (line 58) | func TestManifestSetYAMLList(t *testing.T) {
FILE: internal/app/machined/pkg/adapters/k8s/static_pod.go
function StaticPod (line 18) | func StaticPod(r *k8s.StaticPod) staticPod {
type staticPod (line 24) | type staticPod struct
method Pod (line 29) | func (a staticPod) Pod() (*v1.Pod, error) {
method SetPod (line 43) | func (a staticPod) SetPod(podSpec *v1.Pod) error {
FILE: internal/app/machined/pkg/adapters/k8s/static_pod_status.go
function StaticPodStatus (line 18) | func StaticPodStatus(r *k8s.StaticPodStatus) staticPodStatus {
type staticPodStatus (line 24) | type staticPodStatus struct
method SetStatus (line 29) | func (a staticPodStatus) SetStatus(status *v1.PodStatus) error {
method Status (line 41) | func (a staticPodStatus) Status() (*v1.PodStatus, error) {
FILE: internal/app/machined/pkg/adapters/kubespan/identity.go
function IdentitySpec (line 25) | func IdentitySpec(r *kubespan.IdentitySpec) identity {
type identity (line 31) | type identity struct
method GenerateKey (line 36) | func (a identity) GenerateKey() error {
method UpdateAddress (line 49) | func (a identity) UpdateAddress(clusterID string, mac net.HardwareAddr...
function wgEUI64 (line 59) | func wgEUI64(prefix netip.Prefix, mac net.HardwareAddr) (out netip.Prefi...
FILE: internal/app/machined/pkg/adapters/kubespan/identity_test.go
function TestIdentityGenerateKey (line 19) | func TestIdentityGenerateKey(t *testing.T) {
function TestIdentityUpdateAddress (line 29) | func TestIdentityUpdateAddress(t *testing.T) {
FILE: internal/app/machined/pkg/adapters/kubespan/peer_status.go
function PeerStatusSpec (line 22) | func PeerStatusSpec(r *kubespan.PeerStatusSpec) peerStatus {
type peerStatus (line 28) | type peerStatus struct
method CalculateState (line 57) | func (a peerStatus) CalculateState() {
method CalculateStateWithDurations (line 65) | func (a peerStatus) CalculateStateWithDurations(sinceLastHandshake, si...
method UpdateFromWireguard (line 98) | func (a peerStatus) UpdateFromWireguard(peer wgtypes.Peer) {
method UpdateEndpoint (line 111) | func (a peerStatus) UpdateEndpoint(endpoint netip.AddrPort) {
method ShouldChangeEndpoint (line 119) | func (a peerStatus) ShouldChangeEndpoint() bool {
method PickNewEndpoint (line 126) | func (a peerStatus) PickNewEndpoint(endpoints []netip.AddrPort) (newEn...
constant EndpointConnectionTimeout (line 33) | EndpointConnectionTimeout = 15 * time.Second
FILE: internal/app/machined/pkg/adapters/kubespan/peer_status_test.go
function TestPeerStatus_PickNewEndpoint (line 20) | func TestPeerStatus_PickNewEndpoint(t *testing.T) {
function TestPeerStatus_CalculateState (line 65) | func TestPeerStatus_CalculateState(t *testing.T) {
FILE: internal/app/machined/pkg/adapters/network/bond_master_spec.go
function BondMasterSpec (line 21) | func BondMasterSpec(r *network.BondMasterSpec) bondMaster {
type bondMaster (line 27) | type bondMaster struct
method FillDefaults (line 34) | func (a bondMaster) FillDefaults() {
method Encode (line 77) | func (a bondMaster) Encode() ([]byte, error) {
method Decode (line 185) | func (a bondMaster) Decode(data []byte) error {
FILE: internal/app/machined/pkg/adapters/network/bond_master_spec_test.go
function TestBondMasterSpec (line 18) | func TestBondMasterSpec(t *testing.T) {
function TestBondMasterSpecDecodeClearsTargets (line 36) | func TestBondMasterSpecDecodeClearsTargets(t *testing.T) {
FILE: internal/app/machined/pkg/adapters/network/bridge_master_spec.go
function BridgeMasterSpec (line 17) | func BridgeMasterSpec(r *network.BridgeMasterSpec) bridgeMaster {
type bridgeMaster (line 24) | type bridgeMaster struct
method Encode (line 29) | func (a bridgeMaster) Encode() ([]byte, error) {
method Decode (line 51) | func (a bridgeMaster) Decode(data []byte) error {
FILE: internal/app/machined/pkg/adapters/network/bridge_master_spec_test.go
function TestBridgeMasterSpec (line 16) | func TestBridgeMasterSpec(t *testing.T) {
FILE: internal/app/machined/pkg/adapters/network/ipset.go
function BuildIPSet (line 14) | func BuildIPSet(include, exclude []netip.Prefix) (*netipx.IPSet, error) {
function SplitIPSet (line 29) | func SplitIPSet(set *netipx.IPSet) (ipv4, ipv6 []netipx.IPRange) {
FILE: internal/app/machined/pkg/adapters/network/ipset_test.go
function TestBuildIPSet (line 19) | func TestBuildIPSet(t *testing.T) {
function TestSplitIPSet (line 36) | func TestSplitIPSet(t *testing.T) {
FILE: internal/app/machined/pkg/adapters/network/network.go
constant IPv4HeaderLen (line 10) | IPv4HeaderLen = 20
constant IPv6HeaderLen (line 11) | IPv6HeaderLen = 40
constant TCPHeaderLen (line 12) | TCPHeaderLen = 20
constant TCPOptionsLen (line 13) | TCPOptionsLen = 12
FILE: internal/app/machined/pkg/adapters/network/nftables_rule.go
function NfTablesRule (line 30) | func NfTablesRule(r *network.NfTablesRule) nftablesRule {
type nftablesRule (line 36) | type nftablesRule struct
method Compile (line 258) | func (a nftablesRule) Compile() (*NfTablesCompiled, error) {
type SetKind (line 41) | type SetKind
constant SetKindIPv4 (line 45) | SetKindIPv4 SetKind = iota
constant SetKindIPv6 (line 46) | SetKindIPv6
constant SetKindPort (line 47) | SetKindPort
constant SetKindIfName (line 48) | SetKindIfName
constant SetKindConntrackState (line 49) | SetKindConntrackState
constant SetKindICMPType (line 50) | SetKindICMPType
type NfTablesSet (line 54) | type NfTablesSet struct
method IsInterval (line 64) | func (set NfTablesSet) IsInterval() bool {
method KeyType (line 76) | func (set NfTablesSet) KeyType() nftables.SetDatatype {
method SetElements (line 98) | func (set NfTablesSet) SetElements() []nftables.SetElement {
function mergeAdjacentPorts (line 193) | func mergeAdjacentPorts(in [][2]uint16) [][2]uint16 {
type NfTablesCompiled (line 214) | type NfTablesCompiled struct
function ifname (line 754) | func ifname(name string) []byte {
FILE: internal/app/machined/pkg/adapters/network/nftables_rule_test.go
function TestNfTablesRuleCompile (line 22) | func TestNfTablesRuleCompile(t *testing.T) { //nolint:tparallel
function TestNftablesSet (line 779) | func TestNftablesSet(t *testing.T) { //nolint:tparallel
FILE: internal/app/machined/pkg/adapters/network/vlan_spec.go
function VLANSpec (line 20) | func VLANSpec(r *network.VLANSpec) vlanSpec {
type vlanSpec (line 26) | type vlanSpec struct
method Encode (line 31) | func (a vlanSpec) Encode() ([]byte, error) {
method Decode (line 46) | func (a vlanSpec) Decode(data []byte) error {
FILE: internal/app/machined/pkg/adapters/network/vlan_spec_test.go
function TestVLANSpec (line 17) | func TestVLANSpec(t *testing.T) {
FILE: internal/app/machined/pkg/adapters/network/vrf_master_spec.go
function VRFMasterSpec (line 18) | func VRFMasterSpec(r *network.VRFMasterSpec) vrfMaster {
type vrfMaster (line 25) | type vrfMaster struct
method Encode (line 30) | func (a vrfMaster) Encode() ([]byte, error) {
method Decode (line 41) | func (a vrfMaster) Decode(data []byte) error {
FILE: internal/app/machined/pkg/adapters/network/vrf_master_spec_test.go
function TestVRFMasterSpec (line 16) | func TestVRFMasterSpec(t *testing.T) {
FILE: internal/app/machined/pkg/adapters/network/wireguard_spec.go
function WireguardSpec (line 21) | func WireguardSpec(r *network.WireguardSpec) wireguardSpec {
type wireguardSpec (line 27) | type wireguardSpec struct
method Encode (line 39) | func (a wireguardSpec) Encode(existing *network.WireguardSpec) (*wgtyp...
method Decode (line 165) | func (a wireguardSpec) Decode(dev *wgtypes.Device, isStatus bool) {
FILE: internal/app/machined/pkg/adapters/network/wireguard_spec_test.go
function TestWireguardSpecDecode (line 22) | func TestWireguardSpecDecode(t *testing.T) {
function TestWireguardSpecDecodeStatus (line 109) | func TestWireguardSpecDecodeStatus(t *testing.T) {
function TestWireguardSpecEncode (line 137) | func TestWireguardSpecEncode(t *testing.T) {
FILE: internal/app/machined/pkg/adapters/perf/cpu.go
function CPU (line 16) | func CPU(r *perf.CPU) cpu {
type cpu (line 22) | type cpu struct
method Update (line 27) | func (a cpu) Update(stat *procfs.Stat) {
FILE: internal/app/machined/pkg/adapters/perf/mem.go
function Memory (line 17) | func Memory(r *perf.Memory) memory {
type memory (line 23) | type memory struct
method Update (line 28) | func (a memory) Update(info *procfs.Meminfo) {
FILE: internal/app/machined/pkg/adapters/secrets/encryption_salt.go
function EncryptionSalt (line 18) | func EncryptionSalt(r *secrets.EncryptionSaltSpec) encryptionSalt {
type encryptionSalt (line 24) | type encryptionSalt struct
method Generate (line 29) | func (a encryptionSalt) Generate() error {
FILE: internal/app/machined/pkg/adapters/secrets/encryption_salt_test.go
function TestEncryptionSaltGenerate (line 18) | func TestEncryptionSaltGenerate(t *testing.T) {
FILE: internal/app/machined/pkg/adapters/wireguard/wireguard.go
constant PeerDownInterval (line 16) | PeerDownInterval = (180 + 5 + 90) * time.Second
FILE: internal/app/machined/pkg/automaton/blockautomaton/volume_mount.go
type VolumeMountCallbackFunc (line 22) | type VolumeMountCallbackFunc
type volumeMountContext (line 25) | type volumeMountContext struct
type VolumeMounterOptions (line 37) | type VolumeMounterOptions struct
type VolumeMounterOption (line 43) | type VolumeMounterOption
function WithReadOnly (line 46) | func WithReadOnly(readOnly bool) VolumeMounterOption {
function WithDetached (line 53) | func WithDetached(detached bool) VolumeMounterOption {
function NewVolumeMounter (line 63) | func NewVolumeMounter(requester, volumeID string, callback VolumeMountCa...
function createVolumeMountRequest (line 83) | func createVolumeMountRequest(ctx context.Context, r controller.ReaderWr...
function waitForMountStatus (line 101) | func waitForMountStatus(ctx context.Context, r controller.ReaderWriter, ...
function callbackWithMountStatus (line 128) | func callbackWithMountStatus(mountStatus *block.VolumeMountStatus) func(
function removeMountStatusFinalizer (line 143) | func removeMountStatusFinalizer(ctx context.Context, r controller.Reader...
function removeMountRequest (line 154) | func removeMountRequest(ctx context.Context, r controller.ReaderWriter, ...
function waitForVolumeMountStatusRemoved (line 174) | func waitForVolumeMountStatusRemoved(ctx context.Context, r controller.R...
FILE: internal/app/machined/pkg/automaton/blockautomaton/volume_mount_test.go
function TestVolumeMounter (line 30) | func TestVolumeMounter(t *testing.T) {
function TestVolumeMounterReadWrite (line 125) | func TestVolumeMounterReadWrite(t *testing.T) {
FILE: internal/app/machined/pkg/automaton/machine.go
type ControllerStateFunc (line 23) | type ControllerStateFunc
type ControllerAutomaton (line 28) | type ControllerAutomaton struct
function NewControllerAutomaton (line 34) | func NewControllerAutomaton[T any](initialState ControllerStateFunc[T], ...
type Continue (line 42) | type Continue struct
type RunOptions (line 45) | type RunOptions struct
type RunOption (line 50) | type RunOption
function WithAfterFunc (line 53) | func WithAfterFunc(afterFunc func() error) RunOption {
method Run (line 65) | func (automaton *ControllerAutomaton[T]) Run(ctx context.Context, r cont...
FILE: internal/app/machined/pkg/controllers/block/devices.go
type DevicesController (line 28) | type DevicesController struct
method Name (line 33) | func (ctrl *DevicesController) Name() string {
method Inputs (line 38) | func (ctrl *DevicesController) Inputs() []controller.Input {
method Outputs (line 43) | func (ctrl *DevicesController) Outputs() []controller.Output {
method Run (line 55) | func (ctrl *DevicesController) Run(ctx context.Context, r controller.R...
method bumpGeneration (line 118) | func (ctrl *DevicesController) bumpGeneration(ctx context.Context, r c...
method resync (line 138) | func (ctrl *DevicesController) resync(ctx context.Context, r controlle...
method processEvent (line 174) | func (ctrl *DevicesController) processEvent(ctx context.Context, r con...
function atoiOrZero (line 245) | func atoiOrZero(s string) int {
FILE: internal/app/machined/pkg/controllers/block/devices_test.go
type DevicesSuite (line 20) | type DevicesSuite struct
method TestDiscover (line 28) | func (suite *DevicesSuite) TestDiscover() {
function TestDevicesSuite (line 24) | func TestDevicesSuite(t *testing.T) {
FILE: internal/app/machined/pkg/controllers/block/discovery.go
type DiscoveryController (line 26) | type DiscoveryController struct
method Name (line 29) | func (ctrl *DiscoveryController) Name() string {
method Inputs (line 34) | func (ctrl *DiscoveryController) Inputs() []controller.Input {
method Outputs (line 50) | func (ctrl *DiscoveryController) Outputs() []controller.Output {
method Run (line 66) | func (ctrl *DiscoveryController) Run(ctx context.Context, r controller...
method rescan (line 173) | func (ctrl *DiscoveryController) rescan(ctx context.Context, r control...
method fillDiscoveredVolumeFromInfo (line 311) | func (ctrl *DiscoveryController) fillDiscoveredVolumeFromInfo(dv *bloc...
FILE: internal/app/machined/pkg/controllers/block/disks.go
type DisksController (line 28) | type DisksController struct
method Name (line 31) | func (ctrl *DisksController) Name() string {
method Inputs (line 36) | func (ctrl *DisksController) Inputs() []controller.Input {
method Outputs (line 52) | func (ctrl *DisksController) Outputs() []controller.Output {
method Run (line 64) | func (ctrl *DisksController) Run(ctx context.Context, r controller.Run...
method updateSymlinks (line 134) | func (ctrl *DisksController) updateSymlinks(ctx context.Context, r con...
method analyzeBlockDevice (line 162) | func (ctrl *DisksController) analyzeBlockDevice(
function serialFromUdevdHelpers (line 265) | func serialFromUdevdHelpers(ctx context.Context, id, transport string) s...
function runUdevdHelper (line 286) | func runUdevdHelper(ctx context.Context, helper string, args ...string) ...
function parseEnv (line 300) | func parseEnv(r io.Reader) map[string]string {
FILE: internal/app/machined/pkg/controllers/block/internal/inotify/inotify.go
type watches (line 19) | type watches struct
method remove (line 38) | func (w *watches) remove(wd uint32) {
method removePath (line 49) | func (w *watches) removePath(path string) (uint32, bool) {
method byWd (line 64) | func (w *watches) byWd(wd uint32) *watch {
method updatePath (line 71) | func (w *watches) updatePath(path string, f func(*watch) (*watch, erro...
type watch (line 24) | type watch struct
function newWatches (line 31) | func newWatches() *watches {
type Watcher (line 100) | type Watcher struct
method Close (line 124) | func (w *Watcher) Close() error {
method Run (line 141) | func (w *Watcher) Run() (<-chan string, <-chan error) {
method Add (line 227) | func (w *Watcher) Add(name string, flags uint32) error {
method Remove (line 256) | func (w *Watcher) Remove(name string) error {
function NewWatcher (line 108) | func NewWatcher() (*Watcher, error) {
FILE: internal/app/machined/pkg/controllers/block/internal/inotify/inotify_test.go
function assertEvent (line 19) | func assertEvent(t *testing.T, watchCh <-chan string, errCh <-chan error...
function assertNoEvent (line 32) | func assertNoEvent(t *testing.T, watchCh <-chan string, errCh <-chan err...
function TestWatcherCloseWrite (line 44) | func TestWatcherCloseWrite(t *testing.T) {
function TestWatcherDirectory (line 87) | func TestWatcherDirectory(t *testing.T) {
FILE: internal/app/machined/pkg/controllers/block/internal/kobject/kobject.go
constant readBufferSize (line 16) | readBufferSize = 64 * 1024 * 1024
constant ActionAdd (line 23) | ActionAdd = kobject.Add
constant ActionRemove (line 24) | ActionRemove = kobject.Remove
constant ActionChange (line 25) | ActionChange = kobject.Change
constant ActionMove (line 26) | ActionMove = kobject.Move
constant ActionOnline (line 27) | ActionOnline = kobject.Online
constant ActionOffline (line 28) | ActionOffline = kobject.Offline
constant ActionBind (line 29) | ActionBind = kobject.Bind
constant ActionUnbind (line 30) | ActionUnbind = kobject.Unbind
type Watcher (line 34) | type Watcher struct
method Close (line 57) | func (w *Watcher) Close() error {
method Run (line 68) | func (w *Watcher) Run(logger *zap.Logger) <-chan *Event {
function NewWatcher (line 41) | func NewWatcher() (*Watcher, error) {
FILE: internal/app/machined/pkg/controllers/block/internal/kobject/kobject_test.go
function TestWatcher (line 16) | func TestWatcher(t *testing.T) {
FILE: internal/app/machined/pkg/controllers/block/internal/sysblock/sysblock.go
function Walk (line 23) | func Walk(root string) ([]*kobject.Event, error) {
function readUevent (line 82) | func readUevent(path string) (map[string]string, error) {
function readPartitions (line 105) | func readPartitions(path string) ([]*kobject.Event, error) {
function ReadSecondaries (line 150) | func ReadSecondaries(devPath string) []string {
FILE: internal/app/machined/pkg/controllers/block/internal/sysblock/sysblock_test.go
function TestWalk (line 17) | func TestWalk(t *testing.T) {
FILE: internal/app/machined/pkg/controllers/block/internal/volumes/close.go
function Close (line 19) | func Close(ctx context.Context, logger *zap.Logger, volumeContext Manage...
function CloseWithHandler (line 50) | func CloseWithHandler(ctx context.Context, logger *zap.Logger, volumeCon...
FILE: internal/app/machined/pkg/controllers/block/internal/volumes/disk.go
type DiskRejectedReason (line 17) | type DiskRejectedReason
constant GeneralError (line 21) | GeneralError DiskRejectedReason = iota
constant NotEnoughSpace (line 22) | NotEnoughSpace
constant WrongFormat (line 23) | WrongFormat
type CheckDiskResult (line 27) | type CheckDiskResult struct
function CheckDiskForProvisioning (line 39) | func CheckDiskForProvisioning(logger *zap.Logger, diskPath string, volum...
FILE: internal/app/machined/pkg/controllers/block/internal/volumes/disk_test.go
function TestCheckDiskForProvisioning (line 17) | func TestCheckDiskForProvisioning(t *testing.T) {
FILE: internal/app/machined/pkg/controllers/block/internal/volumes/encrypt.go
function HandleEncryption (line 24) | func HandleEncryption(ctx context.Context, logger *zap.Logger, volumeCon...
constant encryptionTimeout (line 49) | encryptionTimeout = time.Minute
function HandleEncryptionWithHandler (line 54) | func HandleEncryptionWithHandler(ctx context.Context, logger *zap.Logger...
FILE: internal/app/machined/pkg/controllers/block/internal/volumes/encryption_meta.go
function MarshalEncryptionMeta (line 19) | func MarshalEncryptionMeta(cfg config.EncryptionConfig) ([]byte, error) {
function UnmarshalEncryptionMeta (line 24) | func UnmarshalEncryptionMeta(data []byte) (config.EncryptionConfig, erro...
function ConvertEncryptionConfiguration (line 42) | func ConvertEncryptionConfiguration(in config.EncryptionConfig, out *blo...
FILE: internal/app/machined/pkg/controllers/block/internal/volumes/encryption_meta_test.go
function legacyEncryptionConfig (line 20) | func legacyEncryptionConfig() config.EncryptionConfig {
function modernEncryptionConfig (line 36) | func modernEncryptionConfig() config.EncryptionConfig {
function assertEqualEncryptionConfigs (line 53) | func assertEqualEncryptionConfigs(t *testing.T, a, b config.EncryptionCo...
constant legacyMarshalled (line 79) | legacyMarshalled = `{"EncryptionProvider":"","EncryptionKeys":[{"KeyStat...
constant modernMarshalled (line 80) | modernMarshalled = `{"EncryptionProvider":"luks2","EncryptionKeys":[{"Ke...
function TestMarshalEncryptionMeta (line 83) | func TestMarshalEncryptionMeta(t *testing.T) {
function TestUnmarshalEncryptionMeta (line 97) | func TestUnmarshalEncryptionMeta(t *testing.T) {
FILE: internal/app/machined/pkg/controllers/block/internal/volumes/format.go
function Format (line 30) | func Format(ctx context.Context, logger *zap.Logger, volumeContext Manag...
function GrowFilesystem (line 148) | func GrowFilesystem(ctx context.Context, logger *zap.Logger, volumeConte...
FILE: internal/app/machined/pkg/controllers/block/internal/volumes/grow.go
function Grow (line 23) | func Grow(ctx context.Context, logger *zap.Logger, volumeContext Manager...
FILE: internal/app/machined/pkg/controllers/block/internal/volumes/grow_test.go
function TestGrow (line 24) | func TestGrow(t *testing.T) {
FILE: internal/app/machined/pkg/controllers/block/internal/volumes/helpers_test.go
function checkRequirements (line 24) | func checkRequirements(t *testing.T) {
function losetupAttachHelper (line 36) | func losetupAttachHelper(t *testing.T, rawImage string, readonly bool) l...
function prepareRawImage (line 63) | func prepareRawImage(t *testing.T, size int64) string {
function formatExt4 (line 85) | func formatExt4(t *testing.T, path string) {
function prepareGPT (line 95) | func prepareGPT(t *testing.T, path string, funcs ...func(*gpt.Table)) {
FILE: internal/app/machined/pkg/controllers/block/internal/volumes/locate.go
function LocateAndProvision (line 22) | func LocateAndProvision(ctx context.Context, logger *zap.Logger, vc Mana...
function handleSimpleVolumeTypes (line 62) | func handleSimpleVolumeTypes(vc ManagerContext) bool {
function locateExistingVolume (line 93) | func locateExistingVolume(vc ManagerContext) (bool, error) {
function locateDiskByDiskMatch (line 118) | func locateDiskByDiskMatch(vc ManagerContext) (bool, error) {
function locateVolumeByMatch (line 170) | func locateVolumeByMatch(vc ManagerContext) (bool, error) {
function applyLocatedStatus (line 203) | func applyLocatedStatus(vc ManagerContext, vol *blockpb.DiscoveredVolume...
function provisionNewVolume (line 214) | func provisionNewVolume(ctx context.Context, logger *zap.Logger, vc Mana...
function findCandidateDisks (line 251) | func findCandidateDisks(vc ManagerContext) ([]string, error) {
function selectBestDisk (line 283) | func selectBestDisk(logger *zap.Logger, candidates []string, cfg *block....
function applyProvisioning (line 318) | func applyProvisioning(ctx context.Context, logger *zap.Logger, vc Manag...
FILE: internal/app/machined/pkg/controllers/block/internal/volumes/locate_test.go
function TestLocateAndProvision (line 22) | func TestLocateAndProvision(t *testing.T) {
FILE: internal/app/machined/pkg/controllers/block/internal/volumes/partition.go
type CreatePartitionResult (line 25) | type CreatePartitionResult struct
function CreatePartition (line 34) | func CreatePartition(ctx context.Context, logger *zap.Logger, diskPath s...
FILE: internal/app/machined/pkg/controllers/block/internal/volumes/partition_test.go
function TestCreatePartition (line 23) | func TestCreatePartition(t *testing.T) {
FILE: internal/app/machined/pkg/controllers/block/internal/volumes/volumeconfig/system_volumes.go
function GetSystemVolumeTransformers (line 24) | func GetSystemVolumeTransformers(ctx context.Context,
function GetStateVolumeTransformer (line 51) | func GetStateVolumeTransformer(encryptionMeta *runtime.MetaKey, inContai...
function GetEphemeralVolumeTransformer (line 85) | func GetEphemeralVolumeTransformer(inContainer bool) volumeConfigTransfo...
function GetOverlayVolumesTransformer (line 167) | func GetOverlayVolumesTransformer(inContainer bool) func(configconfig.Co...
function manageStateNoConfig (line 196) | func manageStateNoConfig(encryptionMeta *runtime.MetaKey, isAgent bool) ...
function manageStateConfigPresent (line 233) | func manageStateConfigPresent(cfg configconfig.Config) func(vc *block.Vo...
function StandardDirectoryVolumesTransformer (line 370) | func StandardDirectoryVolumesTransformer(cfg configconfig.Config) ([]Vol...
FILE: internal/app/machined/pkg/controllers/block/internal/volumes/volumeconfig/system_volumes_test.go
function init (line 28) | func init() {
function TestGetSystemVolumeTransformers (line 42) | func TestGetSystemVolumeTransformers(t *testing.T) {
function TestGetStateVolumeTransformer (line 80) | func TestGetStateVolumeTransformer(t *testing.T) {
function TestGetEphemeralVolumeTransformer (line 184) | func TestGetEphemeralVolumeTransformer(t *testing.T) {
function TestStandardDirectoryVolumesTransformer (line 252) | func TestStandardDirectoryVolumesTransformer(t *testing.T) {
function TestGetOverlayVolumesTransformer (line 330) | func TestGetOverlayVolumesTransformer(t *testing.T) {
function TestStateVolumeTransformerWithEncryptionMeta (line 387) | func TestStateVolumeTransformerWithEncryptionMeta(t *testing.T) {
function TestEphemeralVolumeTransformerWithExtraConfig (line 423) | func TestEphemeralVolumeTransformerWithExtraConfig(t *testing.T) {
function testTransformFunc (line 451) | func testTransformFunc(t *testing.T,
FILE: internal/app/machined/pkg/controllers/block/internal/volumes/volumeconfig/types.go
type VolumeResource (line 24) | type VolumeResource struct
type volumeConfigTransformer (line 31) | type volumeConfigTransformer
type SkipUserVolumeMountRequest (line 34) | type SkipUserVolumeMountRequest struct
function labelVolumeMatch (line 38) | func labelVolumeMatch(label string) cel.Expression {
function labelVolumeMatchAndNonEmpty (line 42) | func labelVolumeMatchAndNonEmpty(label string) cel.Expression {
function metaMatch (line 46) | func metaMatch() cel.Expression {
function systemDiskMatch (line 50) | func systemDiskMatch() cel.Expression {
type MetaProvider (line 55) | type MetaProvider interface
FILE: internal/app/machined/pkg/controllers/block/internal/volumes/volumeconfig/user_volumes.go
constant MiB (line 22) | MiB = 1024 * 1024
constant MinUserVolumeSize (line 23) | MinUserVolumeSize = 100 * MiB
function UserVolumeTransformer (line 36) | func UserVolumeTransformer(c configconfig.Config) ([]VolumeResource, err...
function RawVolumeTransformer (line 143) | func RawVolumeTransformer(c configconfig.Config) ([]VolumeResource, erro...
function ExistingVolumeTransformer (line 185) | func ExistingVolumeTransformer(c configconfig.Config) ([]VolumeResource,...
function ExternalVolumeTransformer (line 218) | func ExternalVolumeTransformer(c configconfig.Config) ([]VolumeResource,...
function externalVolumeSource (line 264) | func externalVolumeSource(ext configconfig.ExternalVolumeConfig) string {
function externalVolumeParameters (line 281) | func externalVolumeParameters(ext configconfig.ExternalVolumeConfig) ([]...
function SwapVolumeTransformer (line 299) | func SwapVolumeTransformer(c configconfig.Config) ([]VolumeResource, err...
function HandleUserVolumeMountRequest (line 342) | func HandleUserVolumeMountRequest(userVolumeConfig configconfig.UserVolu...
function HandleExistingVolumeMountRequest (line 353) | func HandleExistingVolumeMountRequest(existingVolumeConfig configconfig....
function HandleExternalVolumeMountRequest (line 364) | func HandleExternalVolumeMountRequest(externalVolumeConfig configconfig....
function DefaultMountTransform (line 375) | func DefaultMountTransform(_ *block.VolumeMountRequest) error {
function SkipMountTransform (line 381) | func SkipMountTransform(_ *block.VolumeMountRequest) error {
FILE: internal/app/machined/pkg/controllers/block/internal/volumes/volumeconfig/user_volumes_test.go
function TestUserVolumeTransformer (line 28) | func TestUserVolumeTransformer(t *testing.T) {
function TestRawVolumeTransformer (line 203) | func TestRawVolumeTransformer(t *testing.T) {
function TestExistingVolumeTransformer (line 246) | func TestExistingVolumeTransformer(t *testing.T) {
function TestExternalVolumeTransformer (line 350) | func TestExternalVolumeTransformer(t *testing.T) {
function TestSwapVolumeTransformer (line 467) | func TestSwapVolumeTransformer(t *testing.T) {
function testMountTransformFunc (line 575) | func testMountTransformFunc(t *testing.T,
FILE: internal/app/machined/pkg/controllers/block/internal/volumes/volumeconfig/volume_config_builder.go
type Builder (line 25) | type Builder struct
method WithType (line 37) | func (b *Builder) WithType(volumeType block.VolumeType) *Builder {
method WithLocator (line 48) | func (b *Builder) WithLocator(match cel.Expression) *Builder {
method WithDiskLocator (line 59) | func (b *Builder) WithDiskLocator(diskMatch cel.Expression) *Builder {
method WithProvisioning (line 70) | func (b *Builder) WithProvisioning(provisioning block.ProvisioningSpec...
method WithMount (line 81) | func (b *Builder) WithMount(mount block.MountSpec) *Builder {
method WithSymlink (line 92) | func (b *Builder) WithSymlink(symlink block.SymlinkProvisioningSpec) *...
method WithParentID (line 103) | func (b *Builder) WithParentID(parentID string) *Builder {
method WithEncryption (line 114) | func (b *Builder) WithEncryption(encryption block.EncryptionSpec) *Bui...
method WithConvertEncryptionConfiguration (line 126) | func (b *Builder) WithConvertEncryptionConfiguration(encryption config...
method WithFunc (line 136) | func (b *Builder) WithFunc(fn func(*block.VolumeConfigSpec) error) *Bu...
method Apply (line 144) | func (b *Builder) Apply(spec *block.VolumeConfigSpec) error {
method WriterFunc (line 159) | func (b *Builder) WriterFunc() func(*block.VolumeConfig) error {
function NewBuilder (line 30) | func NewBuilder() *Builder {
FILE: internal/app/machined/pkg/controllers/block/internal/volumes/volumeconfig/volume_config_builder_test.go
function TestNewVolumeConfigBuilder (line 23) | func TestNewVolumeConfigBuilder(t *testing.T) {
function TestVolumeConfigBuilder_EmptyBuilder (line 34) | func TestVolumeConfigBuilder_EmptyBuilder(t *testing.T) {
function TestVolumeConfigBuilder_WithType (line 50) | func TestVolumeConfigBuilder_WithType(t *testing.T) {
function TestVolumeConfigBuilder_WithLocator (line 88) | func TestVolumeConfigBuilder_WithLocator(t *testing.T) {
function TestVolumeConfigBuilder_WithProvisioning (line 101) | func TestVolumeConfigBuilder_WithProvisioning(t *testing.T) {
function TestVolumeConfigBuilder_WithMount (line 129) | func TestVolumeConfigBuilder_WithMount(t *testing.T) {
function TestVolumeConfigBuilder_WithEncryption (line 149) | func TestVolumeConfigBuilder_WithEncryption(t *testing.T) {
function TestVolumeConfigBuilder_WithSymlink (line 170) | func TestVolumeConfigBuilder_WithSymlink(t *testing.T) {
function TestVolumeConfigBuilder_WithParentID (line 186) | func TestVolumeConfigBuilder_WithParentID(t *testing.T) {
function TestVolumeConfigBuilder_WithFunc (line 199) | func TestVolumeConfigBuilder_WithFunc(t *testing.T) {
function TestVolumeConfigBuilder_WithFunc_Error (line 217) | func TestVolumeConfigBuilder_WithFunc_Error(t *testing.T) {
function TestVolumeConfigBuilder_WithFunc_MultipleErrors (line 233) | func TestVolumeConfigBuilder_WithFunc_MultipleErrors(t *testing.T) {
function TestVolumeConfigBuilder_Chaining (line 254) | func TestVolumeConfigBuilder_Chaining(t *testing.T) {
function TestVolumeConfigBuilder_Chaining_Overwrite (line 283) | func TestVolumeConfigBuilder_Chaining_Overwrite(t *testing.T) {
function TestVolumeConfigBuilder_WriterFunc (line 301) | func TestVolumeConfigBuilder_WriterFunc(t *testing.T) {
function TestVolumeConfigBuilder_MultipleWithFunc (line 319) | func TestVolumeConfigBuilder_MultipleWithFunc(t *testing.T) {
function TestVolumeConfigBuilder_WithConvertEncryptionConfiguration_Nil (line 351) | func TestVolumeConfigBuilder_WithConvertEncryptionConfiguration_Nil(t *t...
function TestVolumeConfigBuilder_WithConvertEncryptionConfiguration_WithConfig (line 364) | func TestVolumeConfigBuilder_WithConvertEncryptionConfiguration_WithConf...
FILE: internal/app/machined/pkg/controllers/block/internal/volumes/volumes.go
function CompareVolumeConfigs (line 21) | func CompareVolumeConfigs(a, b *block.VolumeConfig) int {
function cmpBool (line 52) | func cmpBool(a, b bool) int {
type Retryable (line 65) | type Retryable struct
type DiskContext (line 68) | type DiskContext struct
method ToCELContext (line 74) | func (d *DiskContext) ToCELContext() map[string]any {
type ManagerContext (line 87) | type ManagerContext struct
FILE: internal/app/machined/pkg/controllers/block/internal/volumes/volumes_test.go
function TestCompareVolumeConfigs (line 16) | func TestCompareVolumeConfigs(t *testing.T) {
FILE: internal/app/machined/pkg/controllers/block/lvm.go
type LVMActivationController (line 27) | type LVMActivationController struct
method Name (line 35) | func (ctrl *LVMActivationController) Name() string {
method Inputs (line 40) | func (ctrl *LVMActivationController) Inputs() []controller.Input {
method Outputs (line 63) | func (ctrl *LVMActivationController) Outputs() []controller.Output {
method Run (line 70) | func (ctrl *LVMActivationController) Run(ctx context.Context, r contro...
method checkVGNeedsActivation (line 189) | func (ctrl *LVMActivationController) checkVGNeedsActivation(ctx contex...
FILE: internal/app/machined/pkg/controllers/block/mount.go
type mountContext (line 35) | type mountContext struct
type MountController (line 44) | type MountController struct
method Name (line 49) | func (ctrl *MountController) Name() string {
method Inputs (line 54) | func (ctrl *MountController) Inputs() []controller.Input {
method Outputs (line 75) | func (ctrl *MountController) Outputs() []controller.Output {
method Run (line 87) | func (ctrl *MountController) Run(ctx context.Context, r controller.Run...
method tearDownMountStatus (line 262) | func (ctrl *MountController) tearDownMountStatus(ctx context.Context, ...
method handleMountOperation (line 289) | func (ctrl *MountController) handleMountOperation(
method handleDirectoryMountOperation (line 325) | func (ctrl *MountController) handleDirectoryMountOperation(
method handleBindMountOperation (line 362) | func (ctrl *MountController) handleBindMountOperation(
method handleSymlinkMountOperation (line 435) | func (ctrl *MountController) handleSymlinkMountOperation(
method updateTargetSettings (line 515) | func (ctrl *MountController) updateTargetSettings(
method handleDiskMountOperation (line 563) | func (ctrl *MountController) handleDiskMountOperation(
method handleOverlayMountOperation (line 737) | func (ctrl *MountController) handleOverlayMountOperation(
method handleSwapMountOperation (line 783) | func (ctrl *MountController) handleSwapMountOperation(
method handleUnmountOperation (line 810) | func (ctrl *MountController) handleUnmountOperation(
method handleDiskUnmountOperation (line 840) | func (ctrl *MountController) handleDiskUnmountOperation(
method handleDirectoryUnmountOperation (line 866) | func (ctrl *MountController) handleDirectoryUnmountOperation(
method handleSymlinkUmountOperation (line 891) | func (ctrl *MountController) handleSymlinkUmountOperation(
method handleSwapUmountOperation (line 899) | func (ctrl *MountController) handleSwapUmountOperation(
FILE: internal/app/machined/pkg/controllers/block/mount_request.go
type MountRequestController (line 21) | type MountRequestController struct
method Name (line 24) | func (ctrl *MountRequestController) Name() string {
method Inputs (line 29) | func (ctrl *MountRequestController) Inputs() []controller.Input {
method Outputs (line 50) | func (ctrl *MountRequestController) Outputs() []controller.Output {
method Run (line 66) | func (ctrl *MountRequestController) Run(ctx context.Context, r control...
function identity (line 59) | func identity[T any](v T) T {
FILE: internal/app/machined/pkg/controllers/block/mount_request_test.go
type MountRequestSuite (line 20) | type MountRequestSuite struct
method TestReconcile (line 37) | func (suite *MountRequestSuite) TestReconcile() {
function TestMountRequestSuite (line 24) | func TestMountRequestSuite(t *testing.T) {
FILE: internal/app/machined/pkg/controllers/block/mount_status.go
type MountStatusController (line 22) | type MountStatusController struct
method Name (line 25) | func (ctrl *MountStatusController) Name() string {
method Inputs (line 30) | func (ctrl *MountStatusController) Inputs() []controller.Input {
method Outputs (line 46) | func (ctrl *MountStatusController) Outputs() []controller.Output {
method Run (line 58) | func (ctrl *MountStatusController) Run(ctx context.Context, r controll...
FILE: internal/app/machined/pkg/controllers/block/mount_status_test.go
type MountStatusSuite (line 21) | type MountStatusSuite struct
method TestReconcile (line 38) | func (suite *MountStatusSuite) TestReconcile() {
method TestReconcileRequesterGoingOut (line 93) | func (suite *MountStatusSuite) TestReconcileRequesterGoingOut() {
function TestMountStatusSuite (line 25) | func TestMountStatusSuite(t *testing.T) {
FILE: internal/app/machined/pkg/controllers/block/mount_test.go
type MountSuite (line 21) | type MountSuite struct
method mountVolume (line 38) | func (suite *MountSuite) mountVolume(volumeID string) { //nolint:unparam
method TestSymlinkNew (line 49) | func (suite *MountSuite) TestSymlinkNew() {
method TestSymlinkExists (line 73) | func (suite *MountSuite) TestSymlinkExists() {
method TestSymlinkWrong (line 99) | func (suite *MountSuite) TestSymlinkWrong() {
method TestSymlinkDirectory (line 126) | func (suite *MountSuite) TestSymlinkDirectory() {
function TestMountSuite (line 25) | func TestMountSuite(t *testing.T) {
FILE: internal/app/machined/pkg/controllers/block/swap_status.go
type SwapStatusController (line 27) | type SwapStatusController struct
method Name (line 33) | func (ctrl *SwapStatusController) Name() string {
method Inputs (line 38) | func (ctrl *SwapStatusController) Inputs() []controller.Input {
method Outputs (line 50) | func (ctrl *SwapStatusController) Outputs() []controller.Output {
method Run (line 62) | func (ctrl *SwapStatusController) Run(ctx context.Context, r controlle...
method parseSwaps (line 96) | func (ctrl *SwapStatusController) parseSwaps(ctx context.Context, r co...
FILE: internal/app/machined/pkg/controllers/block/swap_status_test.go
type SwapStatusSuite (line 22) | type SwapStatusSuite struct
method TestReconcile (line 40) | func (suite *SwapStatusSuite) TestReconcile() {
function TestSwapStatusSuite (line 26) | func TestSwapStatusSuite(t *testing.T) {
FILE: internal/app/machined/pkg/controllers/block/symlinks.go
type SymlinksController (line 30) | type SymlinksController struct
method Name (line 33) | func (ctrl *SymlinksController) Name() string {
method Inputs (line 38) | func (ctrl *SymlinksController) Inputs() []controller.Input {
method Outputs (line 50) | func (ctrl *SymlinksController) Outputs() []controller.Output {
method Run (line 67) | func (ctrl *SymlinksController) Run(ctx context.Context, r controller....
method updateOutputs (line 157) | func (ctrl *SymlinksController) updateOutputs(ctx context.Context, r c...
method handleDir (line 186) | func (ctrl *SymlinksController) handleDir(logger *zap.Logger, inotifyW...
constant baseDevDiskPath (line 60) | baseDevDiskPath = "/dev/disk"
constant tempSymlinkPrefix (line 61) | tempSymlinkPrefix = ".#"
FILE: internal/app/machined/pkg/controllers/block/system_disk.go
type SystemDiskController (line 21) | type SystemDiskController struct
method Name (line 24) | func (ctrl *SystemDiskController) Name() string {
method Inputs (line 29) | func (ctrl *SystemDiskController) Inputs() []controller.Input {
method Outputs (line 40) | func (ctrl *SystemDiskController) Outputs() []controller.Output {
method Run (line 52) | func (ctrl *SystemDiskController) Run(ctx context.Context, r controlle...
FILE: internal/app/machined/pkg/controllers/block/system_disk_test.go
type SystemDiskSuite (line 20) | type SystemDiskSuite struct
method TestReconcile (line 37) | func (suite *SystemDiskSuite) TestReconcile() {
function TestSystemDiskSuite (line 24) | func TestSystemDiskSuite(t *testing.T) {
FILE: internal/app/machined/pkg/controllers/block/user_disk_config.go
type UserDiskConfigController (line 30) | type UserDiskConfigController struct
method Name (line 33) | func (ctrl *UserDiskConfigController) Name() string {
method Inputs (line 38) | func (ctrl *UserDiskConfigController) Inputs() []controller.Input {
method Outputs (line 60) | func (ctrl *UserDiskConfigController) Outputs() []controller.Output {
method Run (line 88) | func (ctrl *UserDiskConfigController) Run(ctx context.Context, r contr...
method processUserDisk (line 146) | func (ctrl *UserDiskConfigController) processUserDisk(ctx context.Cont...
method processUserDiskPartition (line 173) | func (ctrl *UserDiskConfigController) processUserDiskPartition(
function diskPathMatch (line 77) | func diskPathMatch(devicePath string) cel.Expression {
function partitionIdxMatch (line 81) | func partitionIdxMatch(devicePath string, partitionIdx int) cel.Expressi...
type userDiskResult (line 141) | type userDiskResult struct
FILE: internal/app/machined/pkg/controllers/block/user_disk_config_test.go
type UserDiskConfigSuite (line 26) | type UserDiskConfigSuite struct
method TestReconcileDefaults (line 43) | func (suite *UserDiskConfigSuite) TestReconcileDefaults() {
method TestReconcileUserDisk (line 74) | func (suite *UserDiskConfigSuite) TestReconcileUserDisk() {
function TestUserDiskConfigSuite (line 30) | func TestUserDiskConfigSuite(t *testing.T) {
FILE: internal/app/machined/pkg/controllers/block/volume_config.go
type VolumeConfigController (line 34) | type VolumeConfigController struct
method Name (line 40) | func (ctrl *VolumeConfigController) Name() string {
method Inputs (line 45) | func (ctrl *VolumeConfigController) Inputs() []controller.Input {
method Outputs (line 73) | func (ctrl *VolumeConfigController) Outputs() []controller.Output {
method Run (line 87) | func (ctrl *VolumeConfigController) Run(ctx context.Context, r control...
method setupStateEncryption (line 154) | func (ctrl *VolumeConfigController) setupStateEncryption(ctx context.C...
method loadConfiguration (line 195) | func (ctrl *VolumeConfigController) loadConfiguration(ctx context.Cont...
method createVolume (line 211) | func (ctrl *VolumeConfigController) createVolume(
method getExistingVolumes (line 256) | func (ctrl *VolumeConfigController) getExistingVolumes(ctx context.Con...
method cleanupUnusedVolumes (line 294) | func (ctrl *VolumeConfigController) cleanupUnusedVolumes(
FILE: internal/app/machined/pkg/controllers/block/volume_config_test.go
type VolumeConfigSuite (line 41) | type VolumeConfigSuite struct
method TestReconcileDefaults (line 83) | func (suite *VolumeConfigSuite) TestReconcileDefaults() {
method TestReconcileEncryptedSTATE (line 191) | func (suite *VolumeConfigSuite) TestReconcileEncryptedSTATE() {
method TestReconcileExtraEPHEMERALConfig (line 281) | func (suite *VolumeConfigSuite) TestReconcileExtraEPHEMERALConfig() {
method TestReconcileUserRawVolumes (line 341) | func (suite *VolumeConfigSuite) TestReconcileUserRawVolumes() {
method TestReconcileUserSwapVolumes (line 408) | func (suite *VolumeConfigSuite) TestReconcileUserSwapVolumes() {
type metaProvider (line 45) | type metaProvider struct
method Meta (line 49) | func (m metaProvider) Meta() machineruntime.Meta {
function TestVolumeConfigSuite (line 53) | func TestVolumeConfigSuite(t *testing.T) {
FILE: internal/app/machined/pkg/controllers/block/volume_manager.go
type VolumeManagerController (line 39) | type VolumeManagerController struct
method Name (line 42) | func (ctrl *VolumeManagerController) Name() string {
method Inputs (line 47) | func (ctrl *VolumeManagerController) Inputs() []controller.Input {
method Outputs (line 113) | func (ctrl *VolumeManagerController) Outputs() []controller.Output {
method Run (line 129) | func (ctrl *VolumeManagerController) Run(ctx context.Context, r contro...
method progressVolumeConfig (line 496) | func (ctrl *VolumeManagerController) progressVolumeConfig(ctx context....
method processVolumeConfig (line 529) | func (ctrl *VolumeManagerController) processVolumeConfig(ctx context.C...
method getSystemInformation (line 599) | func (ctrl *VolumeManagerController) getSystemInformation(r controller...
method getSaltGetter (line 614) | func (ctrl *VolumeManagerController) getSaltGetter(r controller.Reader...
FILE: internal/app/machined/pkg/controllers/block/zswap_config.go
type ZswapConfigController (line 24) | type ZswapConfigController struct
method Name (line 27) | func (ctrl *ZswapConfigController) Name() string {
method Inputs (line 32) | func (ctrl *ZswapConfigController) Inputs() []controller.Input {
method Outputs (line 44) | func (ctrl *ZswapConfigController) Outputs() []controller.Output {
method Run (line 56) | func (ctrl *ZswapConfigController) Run(ctx context.Context, r controll...
FILE: internal/app/machined/pkg/controllers/block/zswap_status.go
type ZswapStatusController (line 27) | type ZswapStatusController struct
method Name (line 32) | func (ctrl *ZswapStatusController) Name() string {
method Inputs (line 37) | func (ctrl *ZswapStatusController) Inputs() []controller.Input {
method Outputs (line 49) | func (ctrl *ZswapStatusController) Outputs() []controller.Output {
method Run (line 61) | func (ctrl *ZswapStatusController) Run(ctx context.Context, r controll...
method readZswapParam (line 119) | func (ctrl *ZswapStatusController) readZswapParam(name string, out *ui...
FILE: internal/app/machined/pkg/controllers/cluster/affiliate_merge.go
type AffiliateMergeController (line 21) | type AffiliateMergeController struct
method Name (line 24) | func (ctrl *AffiliateMergeController) Name() string {
method Inputs (line 29) | func (ctrl *AffiliateMergeController) Inputs() []controller.Input {
method Outputs (line 40) | func (ctrl *AffiliateMergeController) Outputs() []controller.Output {
method Run (line 52) | func (ctrl *AffiliateMergeController) Run(ctx context.Context, r contr...
FILE: internal/app/machined/pkg/controllers/cluster/affiliate_merge_test.go
type AffiliateMergeSuite (line 21) | type AffiliateMergeSuite struct
method TestReconcileDefault (line 25) | func (suite *AffiliateMergeSuite) TestReconcileDefault() {
function TestAffiliateMergeSuite (line 128) | func TestAffiliateMergeSuite(t *testing.T) {
FILE: internal/app/machined/pkg/controllers/cluster/cluster.go
function cleanupAffiliates (line 19) | func cleanupAffiliates(ctx context.Context, ctrl controller.Controller, ...
FILE: internal/app/machined/pkg/controllers/cluster/cluster_test.go
type ClusterSuite (line 20) | type ClusterSuite struct
method SetupTest (line 32) | func (suite *ClusterSuite) SetupTest() {
method startRuntime (line 43) | func (suite *ClusterSuite) startRuntime() {
method TearDownTest (line 49) | func (suite *ClusterSuite) TearDownTest() {
method State (line 57) | func (suite *ClusterSuite) State() state.State { return suite.state }
method Ctx (line 59) | func (suite *ClusterSuite) Ctx() context.Context { return suite.ctx }
FILE: internal/app/machined/pkg/controllers/cluster/config.go
function NewConfigController (line 26) | func NewConfigController() *ConfigController {
FILE: internal/app/machined/pkg/controllers/cluster/config_test.go
type ConfigSuite (line 25) | type ConfigSuite struct
method TestReconcileConfig (line 29) | func (suite *ConfigSuite) TestReconcileConfig() {
method TestReconcileConfigCustom (line 64) | func (suite *ConfigSuite) TestReconcileConfigCustom() {
method TestReconcileConfigCustomInsecure (line 99) | func (suite *ConfigSuite) TestReconcileConfigCustomInsecure() {
method TestReconcileDisabled (line 134) | func (suite *ConfigSuite) TestReconcileDisabled() {
method TestReconcilePartial (line 153) | func (suite *ConfigSuite) TestReconcilePartial() {
function TestConfigSuite (line 179) | func TestConfigSuite(t *testing.T) {
function must (line 192) | func must[T any](t T, err error) T {
FILE: internal/app/machined/pkg/controllers/cluster/discovery_service.go
constant defaultDiscoveryTTL (line 40) | defaultDiscoveryTTL = 30 * time.Minute
type DiscoveryServiceController (line 43) | type DiscoveryServiceController struct
method Name (line 49) | func (ctrl *DiscoveryServiceController) Name() string {
method Inputs (line 54) | func (ctrl *DiscoveryServiceController) Inputs() []controller.Input {
method Outputs (line 83) | func (ctrl *DiscoveryServiceController) Outputs() []controller.Output {
method Run (line 99) | func (ctrl *DiscoveryServiceController) Run(ctx context.Context, r con...
function pbAffiliate (line 341) | func pbAffiliate(affiliate *cluster.AffiliateSpec) *pb.Affiliate {
function toPlane (line 379) | func toPlane(data *cluster.ControlPlane) *pb.ControlPlane {
function pbEndpoints (line 387) | func pbEndpoints(affiliate *cluster.AffiliateSpec) []*pb.Endpoint {
function pbOtherEndpoints (line 400) | func pbOtherEndpoints(otherEndpointsList safe.List[*kubespan.Endpoint]) ...
function equalEndpoints (line 424) | func equalEndpoints(a, b []*pb.Endpoint) bool {
function equalOtherEndpoints (line 442) | func equalOtherEndpoints(a, b []discoveryclient.Endpoint) bool {
function specAffiliate (line 464) | func specAffiliate(affiliate *pb.Affiliate, endpoints []*pb.Endpoint) cl...
function fromControlPlane (line 522) | func fromControlPlane(plane *pb.ControlPlane) *cluster.ControlPlane {
function takeResult (line 530) | func takeResult[T any](arg1 T, _ error) T {
FILE: internal/app/machined/pkg/controllers/cluster/discovery_service_test.go
type DiscoveryServiceSuite (line 39) | type DiscoveryServiceSuite struct
method TestReconcile (line 43) | func (suite *DiscoveryServiceSuite) TestReconcile() {
method TestDisable (line 279) | func (suite *DiscoveryServiceSuite) TestDisable() {
function TestDiscoveryServiceSuite (line 380) | func TestDiscoveryServiceSuite(t *testing.T) {
FILE: internal/app/machined/pkg/controllers/cluster/endpoint.go
type EndpointController (line 23) | type EndpointController struct
method Name (line 26) | func (ctrl *EndpointController) Name() string {
method Inputs (line 31) | func (ctrl *EndpointController) Inputs() []controller.Input {
method Outputs (line 42) | func (ctrl *EndpointController) Outputs() []controller.Output {
method Run (line 52) | func (ctrl *EndpointController) Run(ctx context.Context, r controller....
FILE: internal/app/machined/pkg/controllers/cluster/endpoint_test.go
type EndpointSuite (line 23) | type EndpointSuite struct
method TestReconcileDefault (line 27) | func (suite *EndpointSuite) TestReconcileDefault() {
function TestEndpointSuite (line 79) | func TestEndpointSuite(t *testing.T) {
FILE: internal/app/machined/pkg/controllers/cluster/info.go
function NewInfoController (line 23) | func NewInfoController() *InfoController {
FILE: internal/app/machined/pkg/controllers/cluster/info_test.go
type InfoSuite (line 24) | type InfoSuite struct
method TestReconcile (line 28) | func (suite *InfoSuite) TestReconcile() {
function TestInfoSuite (line 52) | func TestInfoSuite(t *testing.T) {
FILE: internal/app/machined/pkg/controllers/cluster/kubernetes_pull.go
type KubernetesPullController (line 28) | type KubernetesPullController struct
method Name (line 31) | func (ctrl *KubernetesPullController) Name() string {
method Inputs (line 36) | func (ctrl *KubernetesPullController) Inputs() []controller.Input {
method Outputs (line 54) | func (ctrl *KubernetesPullController) Outputs() []controller.Output {
method Run (line 66) | func (ctrl *KubernetesPullController) Run(ctx context.Context, r contr...
FILE: internal/app/machined/pkg/controllers/cluster/kubernetes_push.go
type KubernetesPushController (line 27) | type KubernetesPushController struct
method Name (line 33) | func (ctrl *KubernetesPushController) Name() string {
method Inputs (line 38) | func (ctrl *KubernetesPushController) Inputs() []controller.Input {
method Outputs (line 56) | func (ctrl *KubernetesPushController) Outputs() []controller.Output {
method Run (line 63) | func (ctrl *KubernetesPushController) Run(ctx context.Context, r contr...
FILE: internal/app/machined/pkg/controllers/cluster/local_affiliate.go
type LocalAffiliateController (line 32) | type LocalAffiliateController struct
method Name (line 35) | func (ctrl *LocalAffiliateController) Name() string {
method Inputs (line 40) | func (ctrl *LocalAffiliateController) Inputs() []controller.Input {
method Outputs (line 109) | func (ctrl *LocalAffiliateController) Outputs() []controller.Output {
method Run (line 121) | func (ctrl *LocalAffiliateController) Run(ctx context.Context, r contr...
FILE: internal/app/machined/pkg/controllers/cluster/local_affiliate_test.go
type LocalAffiliateSuite (line 31) | type LocalAffiliateSuite struct
method TestGeneration (line 35) | func (suite *LocalAffiliateSuite) TestGeneration() {
method TestCPGeneration (line 151) | func (suite *LocalAffiliateSuite) TestCPGeneration() {
method createResources (line 190) | func (suite *LocalAffiliateSuite) createResources() (*cluster.Identity...
function TestLocalAffiliateSuite (line 232) | func TestLocalAffiliateSuite(t *testing.T) {
FILE: internal/app/machined/pkg/controllers/cluster/member.go
type MemberController (line 22) | type MemberController struct
method Name (line 25) | func (ctrl *MemberController) Name() string {
method Inputs (line 30) | func (ctrl *MemberController) Inputs() []controller.Input {
method Outputs (line 41) | func (ctrl *MemberController) Outputs() []controller.Output {
method Run (line 53) | func (ctrl *MemberController) Run(ctx context.Context, r controller.Ru...
FILE: internal/app/machined/pkg/controllers/cluster/member_test.go
type MemberSuite (line 21) | type MemberSuite struct
method TestReconcileDefault (line 25) | func (suite *MemberSuite) TestReconcileDefault() {
function TestMemberSuite (line 102) | func TestMemberSuite(t *testing.T) {
FILE: internal/app/machined/pkg/controllers/cluster/node_identity.go
type NodeIdentityController (line 27) | type NodeIdentityController struct
method Name (line 32) | func (ctrl *NodeIdentityController) Name() string {
method Inputs (line 37) | func (ctrl *NodeIdentityController) Inputs() []controller.Input {
method Outputs (line 53) | func (ctrl *NodeIdentityController) Outputs() []controller.Output {
method Run (line 73) | func (ctrl *NodeIdentityController) Run(ctx context.Context, r control...
method establishNodeIdentity (line 98) | func (ctrl *NodeIdentityController) establishNodeIdentity(ctx context....
FILE: internal/app/machined/pkg/controllers/cluster/node_identity_test.go
type NodeIdentitySuite (line 24) | type NodeIdentitySuite struct
method TestDefault (line 28) | func (suite *NodeIdentitySuite) TestDefault() {
method TestLoad (line 54) | func (suite *NodeIdentitySuite) TestLoad() {
function TestNodeIdentitySuite (line 87) | func TestNodeIdentitySuite(t *testing.T) {
FILE: internal/app/machined/pkg/controllers/config/acquire.go
type PlatformConfigurator (line 51) | type PlatformConfigurator interface
type PlatformEventer (line 57) | type PlatformEventer interface
type Setter (line 62) | type Setter interface
type ModeGetter (line 68) | type ModeGetter interface
type AcquireController (line 73) | type AcquireController struct
method Name (line 92) | func (ctrl *AcquireController) Name() string {
method Inputs (line 97) | func (ctrl *AcquireController) Inputs() []controller.Input {
method Outputs (line 135) | func (ctrl *AcquireController) Outputs() []controller.Output {
method Run (line 158) | func (ctrl *AcquireController) Run(ctx context.Context, r controller.R...
method stateDisk (line 253) | func (ctrl *AcquireController) stateDisk(ctx context.Context, r contro...
method loadFromDisk (line 321) | func (ctrl *AcquireController) loadFromDisk(ctx context.Context, r con...
method loadConfigFromDisk (line 350) | func (ctrl *AcquireController) loadConfigFromDisk(ctx context.Context,...
method stateEmbedded (line 396) | func (ctrl *AcquireController) stateEmbedded(ctx context.Context, r co...
method processEmbeddedConfig (line 418) | func (ctrl *AcquireController) processEmbeddedConfig(logger *zap.Logge...
method loadConfigFromEmbedded (line 459) | func (ctrl *AcquireController) loadConfigFromEmbedded(logger *zap.Logg...
method stateCmdlineEarly (line 493) | func (ctrl *AcquireController) stateCmdlineEarly(ctx context.Context, ...
method statePlatform (line 503) | func (ctrl *AcquireController) statePlatform(ctx context.Context, r co...
method loadFromPlatform (line 526) | func (ctrl *AcquireController) loadFromPlatform(ctx context.Context, l...
method stateCmdlineLate (line 594) | func (ctrl *AcquireController) stateCmdlineLate(ctx context.Context, r...
method stateCmdlineGeneric (line 599) | func (ctrl *AcquireController) stateCmdlineGeneric(
method loadFromCmdline (line 633) | func (ctrl *AcquireController) loadFromCmdline(ctx context.Context, lo...
method stateMaintenanceEnter (line 699) | func (ctrl *AcquireController) stateMaintenanceEnter(ctx context.Conte...
method stateMaintenance (line 727) | func (ctrl *AcquireController) stateMaintenance(ctx context.Context, r...
method stateMaintenanceLeave (line 764) | func (ctrl *AcquireController) stateMaintenanceLeave(ctx context.Conte...
method stateDone (line 791) | func (ctrl *AcquireController) stateDone(ctx context.Context, r contro...
method stateFinal (line 813) | func (ctrl *AcquireController) stateFinal(ctx context.Context, r contr...
type stateMachineFunc (line 153) | type stateMachineFunc
type validationModeDiskConfig (line 302) | type validationModeDiskConfig struct
method RequiresInstall (line 305) | func (validationModeDiskConfig) RequiresInstall() bool {
method InContainer (line 310) | func (validationModeDiskConfig) InContainer() bool {
method String (line 316) | func (validationModeDiskConfig) String() string {
function loadConfig (line 817) | func loadConfig(root xfs.Root, configPath string) (config.Provider, erro...
FILE: internal/app/machined/pkg/controllers/config/acquire_test.go
type AcquireSuite (line 53) | type AcquireSuite struct
method triggerAcquire (line 220) | func (suite *AcquireSuite) triggerAcquire() {
method waitForConfig (line 224) | func (suite *AcquireSuite) waitForConfig(shouldPersist bool) config.Pr...
method injectViaMaintenance (line 260) | func (suite *AcquireSuite) injectViaMaintenance(cfg []byte) {
method noStateVolume (line 285) | func (suite *AcquireSuite) noStateVolume() {
method presentStateVolume (line 291) | func (suite *AcquireSuite) presentStateVolume() {
method injectViaDisk (line 297) | func (suite *AcquireSuite) injectViaDisk(cfg []byte, wait bool) {
method TestFromDisk (line 317) | func (suite *AcquireSuite) TestFromDisk() {
method TestFromDiskFailure (line 343) | func (suite *AcquireSuite) TestFromDiskFailure() {
method TestFromDiskToMaintenance (line 377) | func (suite *AcquireSuite) TestFromDiskToMaintenance() {
method TestFromPlatform (line 438) | func (suite *AcquireSuite) TestFromPlatform() {
method TestFromPlatformFailure (line 460) | func (suite *AcquireSuite) TestFromPlatformFailure() {
method TestFromPlatformNotValid (line 484) | func (suite *AcquireSuite) TestFromPlatformNotValid() {
method TestFromPlatformGzip (line 526) | func (suite *AcquireSuite) TestFromPlatformGzip() {
method TestFromPlatformToMaintenance (line 555) | func (suite *AcquireSuite) TestFromPlatformToMaintenance() {
method TestFromCmdlineLateToMaintenance (line 616) | func (suite *AcquireSuite) TestFromCmdlineLateToMaintenance() {
method TestFromCmdlineEarlyToPlatform (line 688) | func (suite *AcquireSuite) TestFromCmdlineEarlyToPlatform() {
method TestFromMaintenance (line 739) | func (suite *AcquireSuite) TestFromMaintenance() {
method TestFromEmbeddedToMaintenance (line 781) | func (suite *AcquireSuite) TestFromEmbeddedToMaintenance() {
type platformConfigMock (line 68) | type platformConfigMock struct
method Configuration (line 73) | func (p *platformConfigMock) Configuration(context.Context) ([]byte, e...
method Name (line 77) | func (p *platformConfigMock) Name() string {
type platformEventMock (line 81) | type platformEventMock struct
method FireEvent (line 86) | func (p *platformEventMock) FireEvent(_ context.Context, ev platform.E...
method getEvents (line 93) | func (p *platformEventMock) getEvents() []platform.Event {
type configSetterMock (line 100) | type configSetterMock struct
method SetConfig (line 105) | func (c *configSetterMock) SetConfig(cfg config.Provider) error {
method SetPersistedConfig (line 111) | func (c *configSetterMock) SetPersistedConfig(cfg config.Provider) err...
type eventPublisherMock (line 117) | type eventPublisherMock struct
method Publish (line 122) | func (e *eventPublisherMock) Publish(_ context.Context, ev proto.Messa...
method getEvents (line 129) | func (e *eventPublisherMock) getEvents() []proto.Message {
type cmdlineGetterMock (line 136) | type cmdlineGetterMock struct
method Getter (line 140) | func (c *cmdlineGetterMock) Getter() func() *procfs.Cmdline {
type validationModeMock (line 146) | type validationModeMock struct
method String (line 148) | func (v validationModeMock) String() string {
method RequiresInstall (line 152) | func (v validationModeMock) RequiresInstall() bool {
method InContainer (line 156) | func (v validationModeMock) InContainer() bool {
function TestAcquireSuite (line 160) | func TestAcquireSuite(t *testing.T) {
function must (line 841) | func must[T any](t T, err error) T {
FILE: internal/app/machined/pkg/controllers/config/machine_type.go
type MachineTypeController (line 22) | type MachineTypeController struct
method Name (line 25) | func (ctrl *MachineTypeController) Name() string {
method Inputs (line 30) | func (ctrl *MachineTypeController) Inputs() []controller.Input {
method Outputs (line 42) | func (ctrl *MachineTypeController) Outputs() []controller.Output {
method Run (line 52) | func (ctrl *MachineTypeController) Run(ctx context.Context, r controll...
FILE: internal/app/machined/pkg/controllers/config/persistence.go
type PersistenceController (line 28) | type PersistenceController struct
method Name (line 35) | func (ctrl *PersistenceController) Name() string {
method Inputs (line 40) | func (ctrl *PersistenceController) Inputs() []controller.Input {
method Outputs (line 74) | func (ctrl *PersistenceController) Outputs() []controller.Output {
method Run (line 86) | func (ctrl *PersistenceController) Run(ctx context.Context, r controll...
method persistMachineConfig (line 161) | func (ctrl *PersistenceController) persistMachineConfig(ctx context.Co...
FILE: internal/app/machined/pkg/controllers/config/persistence_test.go
type PersistenceSuite (line 29) | type PersistenceSuite struct
method TestPersist (line 35) | func (suite *PersistenceSuite) TestPersist() {
method TestConfig (line 115) | func (suite *PersistenceSuite) TestConfig() {
method TestNoPersistenceWithMissingState (line 133) | func (suite *PersistenceSuite) TestNoPersistenceWithMissingState() {
function TestPersistenceSuite (line 163) | func TestPersistenceSuite(t *testing.T) {
FILE: internal/app/machined/pkg/controllers/cri/image_cache_config.go
type ServiceManager (line 41) | type ServiceManager interface
type ImageCacheConfigController (line 48) | type ImageCacheConfigController struct
method Name (line 57) | func (ctrl *ImageCacheConfigController) Name() string {
method Inputs (line 62) | func (ctrl *ImageCacheConfigController) Inputs() []controller.Input {
method Outputs (line 95) | func (ctrl *ImageCacheConfigController) Outputs() []controller.Output {
method Run (line 126) | func (ctrl *ImageCacheConfigController) Run(ctx context.Context, r con...
method createVolumeConfigISO (line 215) | func (ctrl *ImageCacheConfigController) createVolumeConfigISO(ctx cont...
method createVolumeConfigDisk (line 272) | func (ctrl *ImageCacheConfigController) createVolumeConfigDisk(ctx con...
method analyzeImageCacheVolumes (line 341) | func (ctrl *ImageCacheConfigController) analyzeImageCacheVolumes(ctx c...
method getImageCacheRoot (line 465) | func (ctrl *ImageCacheConfigController) getImageCacheRoot(
method copyImageCache (line 518) | func (ctrl *ImageCacheConfigController) copyImageCache(ctx context.Con...
constant VolumeImageCacheISO (line 114) | VolumeImageCacheISO = "IMAGECACHE-ISO"
constant VolumeImageCacheDISK (line 115) | VolumeImageCacheDISK = constants.ImageCachePartitionLabel
constant MinImageCacheSize (line 117) | MinImageCacheSize = 500 * 1024 * 1024
constant MaxImageCacheSize (line 118) | MaxImageCacheSize = 1 * 1024 * 1024 * 1024
constant RegistrydServiceID (line 120) | RegistrydServiceID = services.RegistryID
type imageCacheVolumeStatus (line 334) | type imageCacheVolumeStatus struct
function copyFileSafe (line 573) | func copyFileSafe(src, dst string) error {
FILE: internal/app/machined/pkg/controllers/cri/image_cache_config_test.go
function TestImageCacheConfigSuite (line 335) | func TestImageCacheConfigSuite(t *testing.T) {
type ImageCacheConfigSuite (line 352) | type ImageCacheConfigSuite struct
method TestReconcileNoConfig (line 28) | func (suite *ImageCacheConfigSuite) TestReconcileNoConfig() {
method TestReconcileFeatureNotEnabled (line 35) | func (suite *ImageCacheConfigSuite) TestReconcileFeatureNotEnabled() {
method TestReconcileFeatureEnabled (line 48) | func (suite *ImageCacheConfigSuite) TestReconcileFeatureEnabled() {
method TestReconcileJustDiskVolume (line 138) | func (suite *ImageCacheConfigSuite) TestReconcileJustDiskVolume() {
method TestReconcileWithImageCacheVolume (line 227) | func (suite *ImageCacheConfigSuite) TestReconcileWithImageCacheVolume() {
method TestReconcileWithEncryptionConfig (line 293) | func (suite *ImageCacheConfigSuite) TestReconcileWithEncryptionConfig() {
type mockServiceRunner (line 356) | type mockServiceRunner struct
method IsRunning (line 358) | func (mock *mockServiceRunner) IsRunning(id string) (system.Service, b...
method Load (line 362) | func (mock *mockServiceRunner) Load(services ...system.Service) []stri...
method Start (line 366) | func (mock *mockServiceRunner) Start(serviceIDs ...string) error {
FILE: internal/app/machined/pkg/controllers/cri/image_gc.go
constant ImageCleanupInterval (line 32) | ImageCleanupInterval = 15 * time.Minute
constant ImageGCGracePeriod (line 35) | ImageGCGracePeriod = 4 * ImageCleanupInterval
function NewImageGCController (line 38) | func NewImageGCController(containerdName string, buildExpectedImages boo...
type ImageGCController (line 49) | type ImageGCController struct
method Name (line 65) | func (ctrl *ImageGCController) Name() string {
method Inputs (line 70) | func (ctrl *ImageGCController) Inputs() []controller.Input {
method Outputs (line 101) | func (ctrl *ImageGCController) Outputs() []controller.Output {
method Run (line 144) | func (ctrl *ImageGCController) Run(ctx context.Context, r controller.R...
method cleanup (line 279) | func (ctrl *ImageGCController) cleanup(ctx context.Context, logger *za...
type ImageServiceProvider (line 59) | type ImageServiceProvider interface
function defaultImageServiceProvider (line 105) | func defaultImageServiceProvider(containerdName string) func() (ImageSer...
type containerdImageServiceProvider (line 129) | type containerdImageServiceProvider struct
method ImageService (line 133) | func (s *containerdImageServiceProvider) ImageService() images.Store {
method Close (line 137) | func (s *containerdImageServiceProvider) Close() error {
function buildExpectedDigests (line 225) | func buildExpectedDigests(logger *zap.Logger, actualImages []images.Imag...
FILE: internal/app/machined/pkg/controllers/cri/image_gc_test.go
function TestImageGC (line 31) | func TestImageGC(t *testing.T) {
type mockImageService (line 161) | type mockImageService struct
method ImageService (line 167) | func (m *mockImageService) ImageService() images.Store {
method Close (line 171) | func (m *mockImageService) Close() error {
method Get (line 175) | func (m *mockImageService) Get(ctx context.Context, name string) (imag...
method List (line 179) | func (m *mockImageService) List(ctx context.Context, filters ...string...
method Create (line 186) | func (m *mockImageService) Create(ctx context.Context, image images.Im...
method Update (line 190) | func (m *mockImageService) Update(ctx context.Context, image images.Im...
method Delete (line 194) | func (m *mockImageService) Delete(ctx context.Context, name string, op...
function TestBuildExpectedImageDigests (line 203) | func TestBuildExpectedImageDigests(t *testing.T) {
function must (line 308) | func must[T any](t T, err error) T {
FILE: internal/app/machined/pkg/controllers/cri/registries_config.go
type RegistriesConfigController (line 25) | type RegistriesConfigController struct
method Name (line 28) | func (ctrl *RegistriesConfigController) Name() string {
method Inputs (line 33) | func (ctrl *RegistriesConfigController) Inputs() []controller.Input {
method Outputs (line 50) | func (ctrl *RegistriesConfigController) Outputs() []controller.Output {
method Run (line 62) | func (ctrl *RegistriesConfigController) Run(ctx context.Context, r con...
function clearInit (line 149) | func clearInit[M ~map[K]V, K comparable, V any](m M) M {
FILE: internal/app/machined/pkg/controllers/cri/registries_config_test.go
type ConfigSuite (line 28) | type ConfigSuite struct
method TestRegistry (line 32) | func (suite *ConfigSuite) TestRegistry() {
method TestRegistryAuth (line 103) | func (suite *ConfigSuite) TestRegistryAuth() {
method TestRegistryTLS (line 191) | func (suite *ConfigSuite) TestRegistryTLS() {
method TestRegistryImageCacheNoConfig (line 270) | func (suite *ConfigSuite) TestRegistryImageCacheNoConfig() {
method TestRegistryNoConfig (line 291) | func (suite *ConfigSuite) TestRegistryNoConfig() {
method TestRegistryNewStyle (line 301) | func (suite *ConfigSuite) TestRegistryNewStyle() {
function TestConfigSuite (line 384) | func TestConfigSuite(t *testing.T) {
FILE: internal/app/machined/pkg/controllers/cri/seccomp_profile.go
type SeccompProfileController (line 22) | type SeccompProfileController struct
method Name (line 25) | func (ctrl *SeccompProfileController) Name() string {
method Inputs (line 30) | func (ctrl *SeccompProfileController) Inputs() []controller.Input {
method Outputs (line 42) | func (ctrl *SeccompProfileController) Outputs() []controller.Output {
method Run (line 52) | func (ctrl *SeccompProfileController) Run(ctx context.Context, r contr...
FILE: internal/app/machined/pkg/controllers/cri/seccomp_profile_file.go
type SeccompProfileFileController (line 31) | type SeccompProfileFileController struct
method Name (line 37) | func (ctrl *SeccompProfileFileController) Name() string {
method Inputs (line 42) | func (ctrl *SeccompProfileFileController) Inputs() []controller.Input {
method Outputs (line 47) | func (ctrl *SeccompProfileFileController) Outputs() []controller.Output {
method Run (line 54) | func (ctrl *SeccompProfileFileController) Run(ctx context.Context, r c...
function writeSeccompFile (line 171) | func writeSeccompFile(path string, content []byte) error {
FILE: internal/app/machined/pkg/controllers/cri/seccomp_profile_file_test.go
function TestSeccompProfileFileSuite (line 99) | func TestSeccompProfileFileSuite(t *testing.T) {
type CRISeccompProfileFileSuite (line 114) | type CRISeccompProfileFileSuite struct
method TestReconcileSeccompProfileFile (line 23) | func (suite *CRISeccompProfileFileSuite) TestReconcileSeccompProfileFi...
FILE: internal/app/machined/pkg/controllers/cri/seccomp_profile_test.go
function TestSeccompProfileSuite (line 123) | func TestSeccompProfileSuite(t *testing.T) {
type CRISeccompProfileSuite (line 133) | type CRISeccompProfileSuite struct
method TestReconcileSeccompProfile (line 23) | func (suite *CRISeccompProfileSuite) TestReconcileSeccompProfile() {
FILE: internal/app/machined/pkg/controllers/ctest/assert.go
type assertionAggregator (line 17) | type assertionAggregator struct
method Errorf (line 23) | func (agg *assertionAggregator) Errorf(format string, args ...any) {
method FailNow (line 34) | func (agg *assertionAggregator) FailNow() {
method Error (line 38) | func (agg *assertionAggregator) Error() error {
function WrapRetry (line 55) | func WrapRetry(f func(*assert.Assertions, *require.Assertions)) func() e...
FILE: internal/app/machined/pkg/controllers/ctest/ctest.go
type DefaultSuite (line 29) | type DefaultSuite struct
method SetupTest (line 46) | func (suite *DefaultSuite) SetupTest() {
method startRuntime (line 67) | func (suite *DefaultSuite) startRuntime() {
method Runtime (line 74) | func (suite *DefaultSuite) Runtime() *runtime.Runtime {
method State (line 79) | func (suite *DefaultSuite) State() state.State {
method Ctx (line 84) | func (suite *DefaultSuite) Ctx() context.Context {
method AssertWithin (line 89) | func (suite *DefaultSuite) AssertWithin(d time.Duration, rate time.Dur...
method TearDownTest (line 95) | func (suite *DefaultSuite) TearDownTest() {
method Create (line 108) | func (suite *DefaultSuite) Create(res resource.Resource, opts ...state...
method Update (line 113) | func (suite *DefaultSuite) Update(res resource.Resource, opts ...state...
method AddFinalizer (line 118) | func (suite *DefaultSuite) AddFinalizer(resourcePointer resource.Point...
method RemoveFinalizer (line 123) | func (suite *DefaultSuite) RemoveFinalizer(resourcePointer resource.Po...
method Destroy (line 128) | func (suite *DefaultSuite) Destroy(res resource.Resource, opts ...stat...
type Suite (line 133) | type Suite interface
function UpdateWithConflicts (line 141) | func UpdateWithConflicts[T resource.Resource](suite Suite, res T, update...
function GetUsingResource (line 150) | func GetUsingResource[T resource.Resource](suite Suite, res T, options ....
function Get (line 155) | func Get[T resource.Resource](suite Suite, ptr resource.Pointer, options...
type Suiter (line 160) | type Suiter interface
function AssertResources (line 167) | func AssertResources[R rtestutils.ResourceWithRD](
function AssertResource (line 180) | func AssertResource[R rtestutils.ResourceWithRD](
function AssertNoResource (line 190) | func AssertNoResource[R rtestutils.ResourceWithRD](
FILE: internal/app/machined/pkg/controllers/etcd/advertised_peer.go
type AdvertisedPeerController (line 32) | type AdvertisedPeerController struct
method Name (line 35) | func (ctrl *AdvertisedPeerController) Name() string {
method Inputs (line 40) | func (ctrl *AdvertisedPeerController) Inputs() []controller.Input {
method Outputs (line 64) | func (ctrl *AdvertisedPeerController) Outputs() []controller.Output {
method Run (line 71) | func (ctrl *AdvertisedPeerController) Run(ctx context.Context, r contr...
method updateAdvertisedPeers (line 118) | func (ctrl *AdvertisedPeerController) updateAdvertisedPeers(ctx contex...
FILE: internal/app/machined/pkg/controllers/etcd/config.go
function NewConfigController (line 25) | func NewConfigController() *ConfigController {
FILE: internal/app/machined/pkg/controllers/etcd/config_test.go
function TestConfigSuite (line 27) | func TestConfigSuite(t *testing.T) {
type ConfigSuite (line 39) | type ConfigSuite struct
method TestReconcile (line 43) | func (suite *ConfigSuite) TestReconcile() {
FILE: internal/app/machined/pkg/controllers/etcd/member.go
type MemberController (line 24) | type MemberController struct
method Name (line 29) | func (ctrl *MemberController) Name() string {
method Inputs (line 36) | func (ctrl *MemberController) Inputs() []controller.Input {
method Outputs (line 48) | func (ctrl *MemberController) Outputs() []controller.Output {
method Run (line 60) | func (ctrl *MemberController) Run(ctx context.Context, r controller.Ru...
method getLocalMemberID (line 103) | func (ctrl *MemberController) getLocalMemberID(ctx context.Context) (u...
constant etcdServiceID (line 33) | etcdServiceID = "etcd"
FILE: internal/app/machined/pkg/controllers/etcd/member_test.go
function TestMemberSuite (line 22) | func TestMemberSuite(t *testing.T) {
type MemberSuite (line 37) | type MemberSuite struct
method assertEtcdMember (line 43) | func (suite *MemberSuite) assertEtcdMember(member *etcd.Member) func()...
method assertInexistentEtcdMember (line 63) | func (suite *MemberSuite) assertInexistentEtcdMember(member *etcd.Memb...
method TestEtcdRunning (line 78) | func (suite *MemberSuite) TestEtcdRunning() {
method TestEtcdNotRunning (line 100) | func (suite *MemberSuite) TestEtcdNotRunning() {
method TestCleanup (line 121) | func (suite *MemberSuite) TestCleanup() {
FILE: internal/app/machined/pkg/controllers/etcd/pki.go
type PKIController (line 28) | type PKIController struct
method Name (line 31) | func (ctrl *PKIController) Name() string {
method Inputs (line 36) | func (ctrl *PKIController) Inputs() []controller.Input {
method Outputs (line 54) | func (ctrl *PKIController) Outputs() []controller.Output {
method Run (line 66) | func (ctrl *PKIController) Run(ctx context.Context, r controller.Runti...
FILE: internal/app/machined/pkg/controllers/etcd/spec.go
type SpecController (line 28) | type SpecController struct
method Name (line 31) | func (ctrl *SpecController) Name() string {
method Inputs (line 36) | func (ctrl *SpecController) Inputs() []controller.Input {
method Outputs (line 59) | func (ctrl *SpecController) Outputs() []controller.Output {
method Run (line 71) | func (ctrl *SpecController) Run(ctx context.Context, r controller.Runt...
FILE: internal/app/machined/pkg/controllers/etcd/spec_test.go
function TestSpecSuite (line 22) | func TestSpecSuite(t *testing.T) {
type SpecSuite (line 35) | type SpecSuite struct
method TestReconcile (line 39) | func (suite *SpecSuite) TestReconcile() {
FILE: internal/app/machined/pkg/controllers/files/cri_base_runtime_spec.go
type CRIBaseRuntimeSpecController (line 29) | type CRIBaseRuntimeSpecController struct
method Name (line 32) | func (ctrl *CRIBaseRuntimeSpecController) Name() string {
method Inputs (line 37) | func (ctrl *CRIBaseRuntimeSpecController) Inputs() []controller.Input {
method Outputs (line 49) | func (ctrl *CRIBaseRuntimeSpecController) Outputs() []controller.Output {
method Run (line 61) | func (ctrl *CRIBaseRuntimeSpecController) Run(ctx context.Context, r c...
FILE: internal/app/machined/pkg/controllers/files/cri_base_runtime_spec_test.go
type CRIBaseRuntimeSpecSuite (line 25) | type CRIBaseRuntimeSpecSuite struct
method TestDefaults (line 29) | func (suite *CRIBaseRuntimeSpecSuite) TestDefaults() {
method TestOverrides (line 54) | func (suite *CRIBaseRuntimeSpecSuite) TestOverrides() {
function TestCRIBaseRuntimeSpecSuite (line 95) | func TestCRIBaseRuntimeSpecSuite(t *testing.T) {
FILE: internal/app/machined/pkg/controllers/files/cri_config_parts.go
type CRIConfigPartsController (line 24) | type CRIConfigPartsController struct
method Name (line 30) | func (ctrl *CRIConfigPartsController) Name() string {
method Inputs (line 35) | func (ctrl *CRIConfigPartsController) Inputs() []controller.Input {
method Outputs (line 46) | func (ctrl *CRIConfigPartsController) Outputs() []controller.Output {
method Run (line 56) | func (ctrl *CRIConfigPartsController) Run(ctx context.Context, r contr...
FILE: internal/app/machined/pkg/controllers/files/cri_registry_config.go
type CRIRegistryConfigController (line 29) | type CRIRegistryConfigController struct
method Name (line 39) | func (ctrl *CRIRegistryConfigController) Name() string {
method Inputs (line 44) | func (ctrl *CRIRegistryConfigController) Inputs() []controller.Input {
method Outputs (line 56) | func (ctrl *CRIRegistryConfigController) Outputs() []controller.Output {
method Run (line 68) | func (ctrl *CRIRegistryConfigController) Run(ctx context.Context, r co...
method syncHosts (line 141) | func (ctrl *CRIRegistryConfigController) syncHosts(basePath string, cr...
FILE: internal/app/machined/pkg/controllers/files/etcfile.go
type EtcFileController (line 28) | type EtcFileController struct
method Name (line 39) | func (ctrl *EtcFileController) Name() string {
method Inputs (line 44) | func (ctrl *EtcFileController) Inputs() []controller.Input {
method Outputs (line 55) | func (ctrl *EtcFileController) Outputs() []controller.Output {
method Run (line 67) | func (ctrl *EtcFileController) Run(ctx context.Context, r controller.R...
function createBindMountFile (line 184) | func createBindMountFile(src, dst string, mode os.FileMode) (err error) {
function createBindMountDir (line 205) | func createBindMountDir(src, dst string) (err error) {
function createBindMountFileFd (line 216) | func createBindMountFileFd(root xfs.Root, src, dst string, mode os.FileM...
function createBindMountDirFd (line 233) | func createBindMountDirFd(root xfs.Root, src, dst string) (err error) {
function UpdateFile (line 250) | func UpdateFile(root xfs.Root, filename string, contents []byte, mode os...
FILE: internal/app/machined/pkg/controllers/files/etcfile_test.go
type EtcFileSuite (line 33) | type EtcFileSuite struct
method SetupTest (line 48) | func (suite *EtcFileSuite) SetupTest() {
method startRuntime (line 83) | func (suite *EtcFileSuite) startRuntime() {
method assertFileContents (line 89) | func (suite *EtcFileSuite) assertFileContents(root xfs.Root, filename,...
method assertEtcFile (line 111) | func (suite *EtcFileSuite) assertEtcFile(filename, contents string, ex...
method TestFiles (line 140) | func (suite *EtcFileSuite) TestFiles() {
method TearDownTest (line 173) | func (suite *EtcFileSuite) TearDownTest() {
function TestEtcFileSuite (line 183) | func TestEtcFileSuite(t *testing.T) {
FILE: internal/app/machined/pkg/controllers/files/iqn.go
type IQNController (line 25) | type IQNController struct
method Name (line 30) | func (ctrl *IQNController) Name() string {
method Inputs (line 35) | func (ctrl *IQNController) Inputs() []controller.Input {
method Outputs (line 47) | func (ctrl *IQNController) Outputs() []controller.Output {
method Run (line 57) | func (ctrl *IQNController) Run(ctx context.Context, r controller.Runti...
FILE: internal/app/machined/pkg/controllers/files/nqn.go
type NQNController (line 26) | type NQNController struct
method Name (line 31) | func (ctrl *NQNController) Name() string {
method Inputs (line 36) | func (ctrl *NQNController) Inputs() []controller.Input {
method Outputs (line 48) | func (ctrl *NQNController) Outputs() []controller.Output {
method Run (line 60) | func (ctrl *NQNController) Run(ctx context.Context, r controller.Runti...
FILE: internal/app/machined/pkg/controllers/hardware/hardware_test.go
type HardwareSuite (line 22) | type HardwareSuite struct
method SetupTest (line 34) | func (suite *HardwareSuite) SetupTest() {
method assertNoResource (line 45) | func (suite *HardwareSuite) assertNoResource(md resource.Metadata) fun...
method TearDownTest (line 60) | func (suite *HardwareSuite) TearDownTest() {
method State (line 68) | func (suite *HardwareSuite) State() state.State {
method Ctx (line 72) | func (suite *HardwareSuite) Ctx() context.Context {
FILE: internal/app/machined/pkg/controllers/hardware/pci_driver_rebind.go
constant targetDeviceSYSFSPath (line 25) | targetDeviceSYSFSPath = "/sys/bus/pci/devices/%s"
constant driverOverridePath (line 26) | driverOverridePath = targetDeviceSYSFSPath + "/driver_override"
constant driverUnbindPath (line 27) | driverUnbindPath = targetDeviceSYSFSPath + "/driver/unbind"
constant driverPath (line 28) | driverPath = targetDeviceSYSFSPath + "/driver"
constant driverProbePath (line 29) | driverProbePath = "/sys/bus/pci/drivers_probe"
type PCIDriverRebindController (line 33) | type PCIDriverRebindController struct
method Name (line 40) | func (c *PCIDriverRebindController) Name() string {
method Inputs (line 45) | func (c *PCIDriverRebindController) Inputs() []controller.Input {
method Outputs (line 50) | func (c *PCIDriverRebindController) Outputs() []controller.Output {
method Run (line 62) | func (c *PCIDriverRebindController) Run(ctx context.Context, r control...
method handlePCIDriverReBind (line 152) | func (c *PCIDriverRebindController) handlePCIDriverReBind(pciID, targe...
function checkDeviceBoundDriver (line 171) | func checkDeviceBoundDriver(pciID string) (string, error) {
FILE: internal/app/machined/pkg/controllers/hardware/pci_driver_rebind_config.go
type PCIDriverRebindConfigController (line 22) | type PCIDriverRebindConfigController struct
method Name (line 25) | func (ctrl *PCIDriverRebindConfigController) Name() string {
method Inputs (line 30) | func (ctrl *PCIDriverRebindConfigController) Inputs() []controller.Inp...
method Outputs (line 42) | func (ctrl *PCIDriverRebindConfigController) Outputs() []controller.Ou...
method Run (line 52) | func (ctrl *PCIDriverRebindConfigController) Run(ctx context.Context, ...
FILE: internal/app/machined/pkg/controllers/hardware/pci_driver_rebind_config_test.go
type PCIDriverRebindConfigSuite (line 22) | type PCIDriverRebindConfigSuite struct
method TestPCIDriverRebindConfig (line 30) | func (suite *PCIDriverRebindConfigSuite) TestPCIDriverRebindConfig() {
function TestPCIDriverRebindConfigSuite (line 26) | func TestPCIDriverRebindConfigSuite(t *testing.T) {
FILE: internal/app/machined/pkg/controllers/hardware/pcidevices.go
type PCIDevicesController (line 30) | type PCIDevicesController struct
method Name (line 35) | func (ctrl *PCIDevicesController) Name() string {
method Inputs (line 40) | func (ctrl *PCIDevicesController) Inputs() []controller.Input {
method Outputs (line 52) | func (ctrl *PCIDevicesController) Outputs() []controller.Output {
method Run (line 64) | func (ctrl *PCIDevicesController) Run(ctx context.Context, r controlle...
function readHexPCIInfo (line 167) | func readHexPCIInfo(deviceID, info string) (uint64, error) {
function readDriverInfo (line 176) | func readDriverInfo(deviceID string) (string, error) {
FILE: internal/app/machined/pkg/controllers/hardware/pcr_status.go
type PCRStatusController (line 26) | type PCRStatusController struct
method Name (line 33) | func (ctrl *PCRStatusController) Name() string {
method Inputs (line 38) | func (ctrl *PCRStatusController) Inputs() []controller.Input {
method Outputs (line 49) | func (ctrl *PCRStatusController) Outputs() []controller.Output {
method Run (line 61) | func (ctrl *PCRStatusController) Run(ctx context.Context, r controller...
FILE: internal/app/machined/pkg/controllers/hardware/system.go
type SystemInfoController (line 30) | type SystemInfoController struct
method Name (line 36) | func (ctrl *SystemInfoController) Name() string {
method Inputs (line 41) | func (ctrl *SystemInfoController) Inputs() []controller.Input {
method Outputs (line 58) | func (ctrl *SystemInfoController) Outputs() []controller.Output {
method Run (line 80) | func (ctrl *SystemInfoController) Run(ctx context.Context, r controlle...
method reconcileSystemInformation (line 137) | func (ctrl *SystemInfoController) reconcileSystemInformation(ctx conte...
method reconcileProcessors (line 162) | func (ctrl *SystemInfoController) reconcileProcessors(ctx context.Cont...
method reconcileMemoryModules (line 179) | func (ctrl *SystemInfoController) reconcileMemoryModules(ctx context.C...
constant memoryModuleUnknown (line 75) | memoryModuleUnknown = "UNKNOWN"
FILE: internal/app/machined/pkg/controllers/hardware/system_test.go
type SystemInfoSuite (line 26) | type SystemInfoSuite struct
method TestPopulateSystemInformation (line 30) | func (suite *SystemInfoSuite) TestPopulateSystemInformation() {
method TestPopulateSystemInformationEmpty (line 128) | func (suite *SystemInfoSuite) TestPopulateSystemInformationEmpty() {
method TestUUIDOverwrite (line 159) | func (suite *SystemInfoSuite) TestUUIDOverwrite() {
method TestPopulateSystemInformationIsDisabledInContainerMode (line 191) | func (suite *SystemInfoSuite) TestPopulateSystemInformationIsDisabledI...
method startRuntime (line 211) | func (suite *SystemInfoSuite) startRuntime() {
function TestSystemInfoSyncSuite (line 207) | func TestSystemInfoSyncSuite(t *testing.T) {
FILE: internal/app/machined/pkg/controllers/k8s/address_filter.go
type AddressFilterController (line 25) | type AddressFilterController struct
method Name (line 28) | func (ctrl *AddressFilterController) Name() string {
method Inputs (line 33) | func (ctrl *AddressFilterController) Inputs() []controller.Input {
method Outputs (line 56) | func (ctrl *AddressFilterController) Outputs() []controller.Output {
method Run (line 68) | func (ctrl *AddressFilterController) Run(ctx context.Context, r contro...
FILE: internal/app/machined/pkg/controllers/k8s/address_filter_test.go
type K8sAddressFilterSuite (line 27) | type K8sAddressFilterSuite struct
method TestReconcile (line 31) | func (suite *K8sAddressFilterSuite) TestReconcile() {
function TestK8sAddressFilterSuite (line 114) | func TestK8sAddressFilterSuite(t *testing.T) {
FILE: internal/app/machined/pkg/controllers/k8s/control_plane.go
function controlplaneMapFunc (line 40) | func controlplaneMapFunc[Output generic.ResourceWithRD](output Output) f...
function NewControlPlaneAdmissionControlController (line 62) | func NewControlPlaneAdmissionControlController() *ControlPlaneAdmissionC...
function NewControlPlaneAuditPolicyController (line 91) | func NewControlPlaneAuditPolicyController() *ControlPlaneAuditPolicyCont...
function NewControlPlaneAuthorizationController (line 111) | func NewControlPlaneAuthorizationController() *ControlPlaneAuthorization...
function NewControlPlaneAPIServerController (line 173) | func NewControlPlaneAPIServerController() *ControlPlaneAPIServerControll...
function NewControlPlaneControllerManagerController (line 220) | func NewControlPlaneControllerManagerController() *ControlPlaneControlle...
function NewControlPlaneSchedulerController (line 261) | func NewControlPlaneSchedulerController() *ControlPlaneSchedulerControll...
function NewControlPlaneBootstrapManifestsController (line 294) | func NewControlPlaneBootstrapManifestsController() *ControlPlaneBootstra...
function NewControlPlaneExtraManifestsController (line 387) | func NewControlPlaneExtraManifestsController() *ControlPlaneExtraManifes...
function convertVolumes (line 438) | func convertVolumes(volumes []talosconfig.VolumeMount) []k8s.ExtraVolume {
function convertResources (line 449) | func convertResources(resources talosconfig.Resources) k8s.Resources {
function getProxyArgs (line 476) | func getProxyArgs(cfgProvider talosconfig.Config) ([]string, error) {
FILE: internal/app/machined/pkg/controllers/k8s/control_plane_static_pod.go
constant systemCriticalPriority (line 37) | systemCriticalPriority int32 = 2000000000
constant GoGCMemLimitPercentage (line 40) | GoGCMemLimitPercentage = 95
type ControlPlaneStaticPodController (line 43) | type ControlPlaneStaticPodController struct
method Name (line 46) | func (ctrl *ControlPlaneStaticPodController) Name() string {
method Inputs (line 51) | func (ctrl *ControlPlaneStaticPodController) Inputs() []controller.Inp...
method Outputs (line 90) | func (ctrl *ControlPlaneStaticPodController) Outputs() []controller.Ou...
method Run (line 102) | func (ctrl *ControlPlaneStaticPodController) Run(ctx context.Context, ...
method teardownAll (line 223) | func (ctrl *ControlPlaneStaticPodController) teardownAll(ctx context.C...
method manageAPIServer (line 343) | func (ctrl *ControlPlaneStaticPodController) manageAPIServer(ctx conte...
method manageControllerManager (line 569) | func (ctrl *ControlPlaneStaticPodController) manageControllerManager(c...
method manageScheduler (line 749) | func (ctrl *ControlPlaneStaticPodController) manageScheduler(ctx conte...
function volumeMounts (line 242) | func volumeMounts(volumes []k8s.ExtraVolume) []v1.VolumeMount {
function volumes (line 252) | func volumes(volumes []k8s.ExtraVolume) []v1.Volume {
function envVars (line 265) | func envVars(environment map[string]string) []v1.EnvVar {
function resources (line 282) | func resources(resourcesConfig k8s.Resources, defaultCPU, defaultMemory ...
function goGCEnvFromResources (line 330) | func goGCEnvFromResources(resources v1.ResourceRequirements) (envVar v1....
function kubeAPIServerExtraArgsHasAuthorizationWebhooFlags (line 935) | func kubeAPIServerExtraArgsHasAuthorizationWebhooFlags(extraArgs map[str...
function kubeAPIServerExtraArgsHasAuthorizationModeFlag (line 941) | func kubeAPIServerExtraArgsHasAuthorizationModeFlag(extraArgs map[string...
function handleKubeAPIServerAuthorizationFlags (line 947) | func handleKubeAPIServerAuthorizationFlags(kubeVersion compatibility.Ver...
FILE: internal/app/machined/pkg/controllers/k8s/control_plane_static_pod_test.go
type ControlPlaneStaticPodSuite (line 30) | type ControlPlaneStaticPodSuite struct
method TestReconcileDefaults (line 34) | func (suite *ControlPlaneStaticPodSuite) TestReconcileDefaults() {
method TestReconcileExtraMounts (line 62) | func (suite *ControlPlaneStaticPodSuite) TestReconcileExtraMounts() {
method TestReconcileExtraArgsK8s (line 171) | func (suite *ControlPlaneStaticPodSuite) TestReconcileExtraArgsK8s() {
method TestReconcileEnvironmentVariables (line 348) | func (suite *ControlPlaneStaticPodSuite) TestReconcileEnvironmentVaria...
method TestReconcileAdvertisedAddressArg (line 416) | func (suite *ControlPlaneStaticPodSuite) TestReconcileAdvertisedAddres...
method TestControlPlaneStaticPodsExceptScheduler (line 452) | func (suite *ControlPlaneStaticPodSuite) TestControlPlaneStaticPodsExc...
method TestReconcileStaticPodResources (line 494) | func (suite *ControlPlaneStaticPodSuite) TestReconcileStaticPodResourc...
function TestControlPlaneStaticPodSuite (line 590) | func TestControlPlaneStaticPodSuite(t *testing.T) {
FILE: internal/app/machined/pkg/controllers/k8s/control_plane_test.go
type K8sControlPlaneSuite (line 28) | type K8sControlPlaneSuite struct
method setupMachine (line 34) | func (suite *K8sControlPlaneSuite) setupMachine(cfg *config.MachineCon...
method TestReconcileDefaults (line 47) | func (suite *K8sControlPlaneSuite) TestReconcileDefaults() {
method TestReconcileEmptyAuthorizationConfigForK8sLessThanv128 (line 99) | func (suite *K8sControlPlaneSuite) TestReconcileEmptyAuthorizationConf...
method TestReconcileEmptyAuthorizationConfigAuthorizers (line 134) | func (suite *K8sControlPlaneSuite) TestReconcileEmptyAuthorizationConf...
method TestReconcileAdditionalAuthorizationConfigAuthorizers (line 168) | func (suite *K8sControlPlaneSuite) TestReconcileAdditionalAuthorizatio...
method TestReconcileAdditionalAuthorizationConfigAuthorizersWithDefaultsSet (line 234) | func (suite *K8sControlPlaneSuite) TestReconcileAdditionalAuthorizatio...
method TestReconcileAdditionalAuthorizationConfigAuthorizersWithOnlyNodeSet (line 316) | func (suite *K8sControlPlaneSuite) TestReconcileAdditionalAuthorizatio...
method TestReconcileTransitionWorker (line 394) | func (suite *K8sControlPlaneSuite) TestReconcileTransitionWorker() {
method TestReconcileIPv6 (line 431) | func (suite *K8sControlPlaneSuite) TestReconcileIPv6() {
method TestReconcileDualStack (line 467) | func (suite *K8sControlPlaneSuite) TestReconcileDualStack() {
method TestReconcileExtraVolumes (line 503) | func (suite *K8sControlPlaneSuite) TestReconcileExtraVolumes() {
method TestReconcileEnvironment (line 563) | func (suite *K8sControlPlaneSuite) TestReconcileEnvironment() {
method TestReconcileResources (line 605) | func (suite *K8sControlPlaneSuite) TestReconcileResources() {
method TestReconcileExternalCloudProvider (line 735) | func (suite *K8sControlPlaneSuite) TestReconcileExternalCloudProvider() {
method TestReconcileInlineManifests (line 801) | func (suite *K8sControlPlaneSuite) TestReconcileInlineManifests() {
method TestReconcileKubeProxyMode (line 855) | func (suite *K8sControlPlaneSuite) TestReconcileKubeProxyMode() {
method TestReconcileKubeProxyModeLegacy (line 889) | func (suite *K8sControlPlaneSuite) TestReconcileKubeProxyModeLegacy() {
function TestK8sControlPlaneSuite (line 926) | func TestK8sControlPlaneSuite(t *testing.T) {
FILE: internal/app/machined/pkg/controllers/k8s/endpoint.go
type EndpointController (line 37) | type EndpointController struct
method Name (line 40) | func (ctrl *EndpointController) Name() string {
method Inputs (line 45) | func (ctrl *EndpointController) Inputs() []controller.Input {
method Outputs (line 50) | func (ctrl *EndpointController) Outputs() []controller.Output {
method Run (line 62) | func (ctrl *EndpointController) Run(ctx context.Context, r controller....
method watchEndpointsOnWorker (line 107) | func (ctrl *EndpointController) watchEndpointsOnWorker(ctx context.Con...
method watchEndpointsOnControlPlane (line 137) | func (ctrl *EndpointController) watchEndpointsOnControlPlane(ctx conte...
method updateEndpointsResource (line 205) | func (ctrl *EndpointController) updateEndpointsResource(
method watchKubernetesEndpointSlices (line 269) | func (ctrl *EndpointController) watchKubernetesEndpointSlices(ctx cont...
function kubernetesEndpointSliceWatcher (line 302) | func kubernetesEndpointSliceWatcher(ctx context.Context, logger *zap.Log...
FILE: internal/app/machined/pkg/controllers/k8s/extra_manifest.go
type ExtraManifestController (line 31) | type ExtraManifestController struct
method Name (line 34) | func (ctrl *ExtraManifestController) Name() string {
method Inputs (line 39) | func (ctrl *ExtraManifestController) Inputs() []controller.Input {
method Outputs (line 56) | func (ctrl *ExtraManifestController) Outputs() []controller.Output {
method Run (line 68) | func (ctrl *ExtraManifestController) Run(ctx context.Context, r contro...
method process (line 147) | func (ctrl *ExtraManifestController) process(ctx context.Context, r co...
method processURL (line 158) | func (ctrl *ExtraManifestController) processURL(ctx context.Context, r...
method processInline (line 227) | func (ctrl *ExtraManifestController) processInline(ctx context.Context...
method teardownAll (line 244) | func (ctrl *ExtraManifestController) teardownAll(ctx context.Context, ...
FILE: internal/app/machined/pkg/controllers/k8s/extra_manifest_test.go
type ExtraManifestSuite (line 32) | type ExtraManifestSuite struct
method SetupTest (line 44) | func (suite *ExtraManifestSuite) SetupTest() {
method startRuntime (line 59) | func (suite *ExtraManifestSuite) startRuntime() {
method assertExtraManifests (line 66) | func (suite *ExtraManifestSuite) assertExtraManifests(manifests []stri...
method TestReconcileInlineManifests (line 84) | func (suite *ExtraManifestSuite) TestReconcileInlineManifests() {
method TearDownTest (line 145) | func (suite *ExtraManifestSuite) TearDownTest() {
function TestExtraManifestSuite (line 153) | func TestExtraManifestSuite(t *testing.T) {
FILE: internal/app/machined/pkg/controllers/k8s/internal/k8stemplates/apiserver.go
function APIServerEncryptionConfig (line 16) | func APIServerEncryptionConfig(rootK8sSecrets *secrets.KubernetesRootSpe...
FILE: internal/app/machined/pkg/controllers/k8s/internal/k8stemplates/coredns.go
function CoreDNSService (line 23) | func CoreDNSService(spec *k8s.BootstrapManifestsConfigSpec) runtime.Obje...
function CoreDNSServiceAccount (line 90) | func CoreDNSServiceAccount() runtime.Object {
function CoreDNSClusterRoleBinding (line 104) | func CoreDNSClusterRoleBinding() runtime.Object {
function CoreDNSClusterRole (line 135) | func CoreDNSClusterRole() runtime.Object {
function CoreDNSConfigMap (line 163) | func CoreDNSConfigMap(spec *k8s.BootstrapManifestsConfigSpec) runtime.Ob...
function CoreDNSDeployment (line 217) | func CoreDNSDeployment(spec *k8s.BootstrapManifestsConfigSpec) runtime.O...
FILE: internal/app/machined/pkg/controllers/k8s/internal/k8stemplates/crds.go
function TalosServiceAccountCRDTemplate (line 17) | func TalosServiceAccountCRDTemplate() runtime.Object {
FILE: internal/app/machined/pkg/controllers/k8s/internal/k8stemplates/csr.go
function CSRNodeBootstrapTemplate (line 14) | func CSRNodeBootstrapTemplate() runtime.Object {
function CSRApproverRoleBindingTemplate (line 44) | func CSRApproverRoleBindingTemplate() runtime.Object {
function CSRRenewalRoleBindingTemplate (line 69) | func CSRRenewalRoleBindingTemplate() runtime.Object {
FILE: internal/app/machined/pkg/controllers/k8s/internal/k8stemplates/flannel.go
function FlannelClusterRoleTemplate (line 25) | func FlannelClusterRoleTemplate(spec *k8s.BootstrapManifestsConfigSpec) ...
function FlannelClusterRoleBindingTemplate (line 71) | func FlannelClusterRoleBindingTemplate() runtime.Object {
function FlannelServiceAccountTemplate (line 100) | func FlannelServiceAccountTemplate() runtime.Object {
function FlannelConfigMapTemplate (line 118) | func FlannelConfigMapTemplate(spec *k8s.BootstrapManifestsConfigSpec) ru...
function FlannelDaemonSetTemplate (line 198) | func FlannelDaemonSetTemplate(spec *k8s.BootstrapManifestsConfigSpec) ru...
FILE: internal/app/machined/pkg/controllers/k8s/internal/k8stemplates/k8stemplates.go
function Marshal (line 30) | func Marshal(obj runtime.Object) ([]byte, error) {
function MarshalTo (line 41) | func MarshalTo(obj runtime.Object, w io.Writer) error {
FILE: internal/app/machined/pkg/controllers/k8s/internal/k8stemplates/k8stemplates_test.go
function TestTemplates (line 20) | func TestTemplates(t *testing.T) {
FILE: internal/app/machined/pkg/controllers/k8s/internal/k8stemplates/kube-proxy.go
function KubeProxyDaemonSetTemplate (line 21) | func KubeProxyDaem
Copy disabled (too large)
Download .json
Condensed preview — 3195 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (22,611K chars).
[
{
"path": ".codecov.yml",
"chars": 210,
"preview": "codecov:\n require_ci_to_pass: false\n\ncoverage:\n status:\n project:\n default:\n target: 15%\n thresh"
},
{
"path": ".conform.yaml",
"chars": 1375,
"preview": "# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.\n#\n# Generated on 2025-12-25T11:36:39Z by kres 26be706.\n\npol"
},
{
"path": ".dockerignore",
"chars": 187,
"preview": "**\n!api\n!selinux\n!cmd\n!docs\n!hack\n!internal\n!pkg\n!website\n!tools\n!.golangci.yml\n!.markdownlint.json\n!.textlintrc.json\n!g"
},
{
"path": ".github/FUNDING.yml",
"chars": 69,
"preview": "# These are supported funding model platforms\n\ngithub: [siderolabs]\n\n"
},
{
"path": ".github/ISSUE_TEMPLATE/BUG_REPORT.md",
"chars": 261,
"preview": "---\nname: Bug Report\nabout: Report a bug.\ntitle: \"\"\nlabels: \"\"\nassignees: \"\"\n---\n\n## Bug Report\n\n### Description\n\n### Lo"
},
{
"path": ".github/ISSUE_TEMPLATE/FEATURE_REQUEST.md",
"chars": 136,
"preview": "---\nname: Feature Requests\nabout: Create a feature request.\ntitle: \"\"\nlabels: \"\"\nassignees: \"\"\n---\n\n## Feature Request\n\n"
},
{
"path": ".github/ISSUE_TEMPLATE/config.yml",
"chars": 528,
"preview": "blank_issues_enabled: false\ncontact_links:\n - name: Question\n url: https://github.com/siderolabs/talos/discussions\n "
},
{
"path": ".github/PULL_REQUEST_TEMPLATE.md",
"chars": 711,
"preview": "# Pull Request\n\n<!--\n## Note to the Contributor\n\nWe encourage contributors to go through a proposal process to discuss m"
},
{
"path": ".github/renovate.json",
"chars": 2985,
"preview": "{\n \"$schema\": \"https://docs.renovatebot.com/renovate-schema.json\",\n \"description\": \"THIS FILE WAS AUTOMATICALLY GE"
},
{
"path": ".github/workflows/ci.yaml",
"chars": 207113,
"preview": "# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.\n#\n# Generated on 2026-03-16T15:20:50Z by kres e68c408.\n\ncon"
},
{
"path": ".github/workflows/dispatch.yaml",
"chars": 2678,
"preview": "# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.\n#\n# Generated on 2026-02-17T20:54:45Z by kres 6458cfd.\n\n\"on"
},
{
"path": ".github/workflows/grype-scan-cron.yaml",
"chars": 2677,
"preview": "# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.\n#\n# Generated on 2026-03-15T13:42:44Z by kres e68c408.\n\ncon"
},
{
"path": ".github/workflows/integration-airgapped-cron.yaml",
"chars": 4881,
"preview": "# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.\n#\n# Generated on 2026-03-15T13:42:44Z by kres e68c408.\n\ncon"
},
{
"path": ".github/workflows/integration-aws-cron.yaml",
"chars": 4847,
"preview": "# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.\n#\n# Generated on 2026-03-15T13:42:44Z by kres e68c408.\n\ncon"
},
{
"path": ".github/workflows/integration-aws-nvidia-nonfree-lts-cron.yaml",
"chars": 5582,
"preview": "# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.\n#\n# Generated on 2026-03-15T13:42:44Z by kres e68c408.\n\ncon"
},
{
"path": ".github/workflows/integration-aws-nvidia-nonfree-production-cron.yaml",
"chars": 5617,
"preview": "# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.\n#\n# Generated on 2026-03-15T13:42:44Z by kres e68c408.\n\ncon"
},
{
"path": ".github/workflows/integration-aws-nvidia-oss-lts-cron.yaml",
"chars": 5610,
"preview": "# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.\n#\n# Generated on 2026-03-15T13:42:44Z by kres e68c408.\n\ncon"
},
{
"path": ".github/workflows/integration-aws-nvidia-oss-production-cron.yaml",
"chars": 5645,
"preview": "# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.\n#\n# Generated on 2026-03-15T13:42:44Z by kres e68c408.\n\ncon"
},
{
"path": ".github/workflows/integration-cilium-cron.yaml",
"chars": 4518,
"preview": "# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.\n#\n# Generated on 2026-03-15T13:42:44Z by kres e68c408.\n\ncon"
},
{
"path": ".github/workflows/integration-conformance-cron.yaml",
"chars": 3644,
"preview": "# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.\n#\n# Generated on 2026-03-15T13:42:44Z by kres e68c408.\n\ncon"
},
{
"path": ".github/workflows/integration-conformance-enforcing-cron.yaml",
"chars": 4201,
"preview": "# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.\n#\n# Generated on 2026-03-15T13:42:44Z by kres e68c408.\n\ncon"
},
{
"path": ".github/workflows/integration-embedded-cron.yaml",
"chars": 3393,
"preview": "# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.\n#\n# Generated on 2026-03-15T13:42:44Z by kres e68c408.\n\ncon"
},
{
"path": ".github/workflows/integration-extensions-cron.yaml",
"chars": 4712,
"preview": "# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.\n#\n# Generated on 2026-03-15T13:42:44Z by kres e68c408.\n\ncon"
},
{
"path": ".github/workflows/integration-gcp-cron.yaml",
"chars": 4747,
"preview": "# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.\n#\n# Generated on 2026-03-15T13:42:44Z by kres e68c408.\n\ncon"
},
{
"path": ".github/workflows/integration-image-cache-cron.yaml",
"chars": 4552,
"preview": "# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.\n#\n# Generated on 2026-03-16T10:48:51Z by kres e68c408.\n\ncon"
},
{
"path": ".github/workflows/integration-image-factory-cron.yaml",
"chars": 7086,
"preview": "# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.\n#\n# Generated on 2026-03-15T13:42:44Z by kres e68c408.\n\ncon"
},
{
"path": ".github/workflows/integration-images-cron.yaml",
"chars": 3097,
"preview": "# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.\n#\n# Generated on 2026-03-15T13:42:44Z by kres e68c408.\n\ncon"
},
{
"path": ".github/workflows/integration-misc-0-cron.yaml",
"chars": 5162,
"preview": "# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.\n#\n# Generated on 2026-03-15T13:42:44Z by kres e68c408.\n\ncon"
},
{
"path": ".github/workflows/integration-misc-1-cron.yaml",
"chars": 4570,
"preview": "# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.\n#\n# Generated on 2026-03-15T13:42:44Z by kres e68c408.\n\ncon"
},
{
"path": ".github/workflows/integration-misc-1-enforcing-cron.yaml",
"chars": 5540,
"preview": "# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.\n#\n# Generated on 2026-03-15T13:42:44Z by kres e68c408.\n\ncon"
},
{
"path": ".github/workflows/integration-misc-2-cron.yaml",
"chars": 5969,
"preview": "# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.\n#\n# Generated on 2026-03-15T13:42:44Z by kres e68c408.\n\ncon"
},
{
"path": ".github/workflows/integration-misc-3-cron.yaml",
"chars": 4111,
"preview": "# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.\n#\n# Generated on 2026-03-15T13:42:44Z by kres e68c408.\n\ncon"
},
{
"path": ".github/workflows/integration-misc-3-enforcing-cron.yaml",
"chars": 4968,
"preview": "# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.\n#\n# Generated on 2026-03-15T13:42:44Z by kres e68c408.\n\ncon"
},
{
"path": ".github/workflows/integration-misc-4-cron.yaml",
"chars": 4845,
"preview": "# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.\n#\n# Generated on 2026-03-15T13:42:44Z by kres e68c408.\n\ncon"
},
{
"path": ".github/workflows/integration-misc-4-enforcing-cron.yaml",
"chars": 5815,
"preview": "# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.\n#\n# Generated on 2026-03-15T13:42:44Z by kres e68c408.\n\ncon"
},
{
"path": ".github/workflows/integration-provision-0-cron.yaml",
"chars": 3999,
"preview": "# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.\n#\n# Generated on 2026-03-15T13:42:44Z by kres e68c408.\n\ncon"
},
{
"path": ".github/workflows/integration-provision-1-cron.yaml",
"chars": 3558,
"preview": "# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.\n#\n# Generated on 2026-03-15T13:42:44Z by kres e68c408.\n\ncon"
},
{
"path": ".github/workflows/integration-provision-2-cron.yaml",
"chars": 3855,
"preview": "# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.\n#\n# Generated on 2026-03-15T13:42:44Z by kres e68c408.\n\ncon"
},
{
"path": ".github/workflows/integration-provision-3-cron.yaml",
"chars": 3558,
"preview": "# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.\n#\n# Generated on 2026-03-16T15:20:50Z by kres e68c408.\n\ncon"
},
{
"path": ".github/workflows/integration-qemu-cron.yaml",
"chars": 3834,
"preview": "# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.\n#\n# Generated on 2026-03-15T13:42:44Z by kres e68c408.\n\ncon"
},
{
"path": ".github/workflows/integration-qemu-csi-longhorn-cron.yaml",
"chars": 5269,
"preview": "# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.\n#\n# Generated on 2026-03-15T13:42:44Z by kres e68c408.\n\ncon"
},
{
"path": ".github/workflows/integration-qemu-csi-openebs-cron.yaml",
"chars": 4153,
"preview": "# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.\n#\n# Generated on 2026-03-15T13:42:44Z by kres e68c408.\n\ncon"
},
{
"path": ".github/workflows/integration-qemu-csi-rook-ceph-cron.yaml",
"chars": 4094,
"preview": "# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.\n#\n# Generated on 2026-03-15T13:42:44Z by kres e68c408.\n\ncon"
},
{
"path": ".github/workflows/integration-qemu-encrypted-vip-cron.yaml",
"chars": 3866,
"preview": "# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.\n#\n# Generated on 2026-03-15T13:42:44Z by kres e68c408.\n\ncon"
},
{
"path": ".github/workflows/integration-qemu-enforcing-cron.yaml",
"chars": 4417,
"preview": "# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.\n#\n# Generated on 2026-03-15T13:42:44Z by kres e68c408.\n\ncon"
},
{
"path": ".github/workflows/integration-qemu-race-cron.yaml",
"chars": 4153,
"preview": "# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.\n#\n# Generated on 2026-03-15T13:42:44Z by kres e68c408.\n\ncon"
},
{
"path": ".github/workflows/integration-reproducibility-test-cron.yaml",
"chars": 2622,
"preview": "# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.\n#\n# Generated on 2026-03-15T13:42:44Z by kres e68c408.\n\ncon"
},
{
"path": ".github/workflows/integration-trusted-boot-cron.yaml",
"chars": 4403,
"preview": "# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.\n#\n# Generated on 2026-03-15T13:42:44Z by kres e68c408.\n\ncon"
},
{
"path": ".github/workflows/integration-trusted-boot-enforcing-cron.yaml",
"chars": 4543,
"preview": "# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.\n#\n# Generated on 2026-03-15T13:42:44Z by kres e68c408.\n\ncon"
},
{
"path": ".github/workflows/lock.yaml",
"chars": 319,
"preview": "name: 'Lock old issues'\n\non:\n schedule:\n - cron: '0 2 * * *'\n workflow_dispatch:\n\npermissions:\n issues: write\n\njob"
},
{
"path": ".github/workflows/lock.yml",
"chars": 504,
"preview": "# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.\n#\n# Generated on 2025-12-18T09:21:29Z by kres 26be706.\n\n\"on"
},
{
"path": ".github/workflows/slack-notify-ci-failure.yaml",
"chars": 5810,
"preview": "# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.\n#\n# Generated on 2026-03-16T15:20:50Z by kres e68c408.\n\n\"on"
},
{
"path": ".github/workflows/slack-notify.yaml",
"chars": 6130,
"preview": "# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.\n#\n# Generated on 2026-03-16T15:20:50Z by kres e68c408.\n\n\"on"
},
{
"path": ".github/workflows/stale.yaml",
"chars": 860,
"preview": "name: 'Close stale issues and PRs'\non:\n schedule:\n - cron: '30 1 * * *'\n\npermissions:\n issues: write\n pull-request"
},
{
"path": ".github/workflows/stale.yml",
"chars": 1011,
"preview": "# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.\n#\n# Generated on 2026-03-05T15:46:00Z by kres 1dd7316.\n\n\"on"
},
{
"path": ".github/workflows/update-homebrew.yaml",
"chars": 3917,
"preview": "name: update-homebrew\n\non:\n release:\n types: [published]\n\njobs:\n update-formula:\n runs-on: ubuntu-latest\n ste"
},
{
"path": ".gitignore",
"chars": 510,
"preview": ".env\n.envrc\nbin\n_out\n.vscode\n.idea\n*.code-workspace\ninit.yaml\ncontrolplane.yaml\njoin.yaml\nworker.yaml\nmachineconfig.yaml"
},
{
"path": ".golangci.yml",
"chars": 12952,
"preview": "version: \"2\"\nrun:\n build-tags:\n - integration\n - integration_api\n - integration_cli\n - integration_k8s\n "
},
{
"path": ".kres.yaml",
"chars": 112898,
"preview": "---\nkind: auto.CI\nspec:\n compileGHWorkflowsOnly: true\n---\nkind: common.SOPS\nspec:\n enabled: true\n config: |-\n crea"
},
{
"path": ".markdownlint.json",
"chars": 94,
"preview": "{\n \"default\": true,\n \"MD013\": false,\n \"MD033\": false,\n \"MD034\": false,\n \"MD059\": false\n}\n"
},
{
"path": ".secrets.yaml",
"chars": 8047,
"preview": "secrets:\n AWS_ACCESS_KEY_ID: ENC[AES256_GCM,data:WHaM6pwvIE3K619sS1o1eXGMZys=,iv:xsVmRsi682Y9UJfokxoQZomlztyMGh5z0cJO"
},
{
"path": ".sops.yaml",
"chars": 553,
"preview": "# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.\n#\n# Generated on 2025-05-13T14:08:31Z by kres 5ad3e5f.\n\ncre"
},
{
"path": ".textlintrc.json",
"chars": 96,
"preview": "{\n \"rules\": {\n \"one-sentence-per-line\": true\n },\n \"filters\": {\n \"comments\": true\n }\n}\n"
},
{
"path": "ADOPTERS.md",
"chars": 4403,
"preview": "# Adopters\n\nA list of adopters of Talos Linux, and the use\n\n## Adopters (listed alphabetically)\n\n- **[Ænix](https://aeni"
},
{
"path": "CHANGELOG.md",
"chars": 2420755,
"preview": "## [Talos 1.13.0-alpha.2](https://github.com/siderolabs/talos/releases/tag/v1.13.0-alpha.2) (2026-02-25)\n\nWelcome to the"
},
{
"path": "CODE_OF_CONDUCT.md",
"chars": 3344,
"preview": "## Code of Conduct\n\n### Our Pledge\n\nIn the interest of fostering an open and welcoming environment, we as\ncontributors a"
},
{
"path": "CONTRIBUTING.md",
"chars": 708,
"preview": "# Contributing\n\nMore information about contributing to Talos can be found in the [Documentation](https://docs.siderolabs"
},
{
"path": "Dockerfile",
"chars": 58045,
"preview": "# syntax = docker/dockerfile-upstream:1.22.0-labs\n\n# Meta args applied to stage base names.\n\nARG TOOLS=scratch\nARG PKGS="
},
{
"path": "LICENSE",
"chars": 16725,
"preview": "Mozilla Public License Version 2.0\n==================================\n\n1. Definitions\n--------------\n\n1.1. \"Contributor\""
},
{
"path": "Makefile",
"chars": 32615,
"preview": "REGISTRY ?= ghcr.io\nUSERNAME ?= siderolabs\nSHA ?= $(shell git describe --match=none --always --abbrev=8 --dirty)\nTAG ?= "
},
{
"path": "README.md",
"chars": 3378,
"preview": "<!-- markdownlint-disable MD041 -->\n\n<p align=\"center\">\n <h1 align=\"center\">Talos Linux</h1>\n <p align=\"center\">A mode"
},
{
"path": "SECURITY.md",
"chars": 1114,
"preview": "# Reporting Security Issues\n\nThe Sidero Labs team and community take security bugs in Talos Linux seriously. We apprecia"
},
{
"path": "api/buf.gen.yaml",
"chars": 832,
"preview": "version: v2\nplugins:\n - local: [\"go\", \"tool\", \"google.golang.org/protobuf/cmd/protoc-gen-go\"]\n out: ./machinery/api\n"
},
{
"path": "api/buf.yaml",
"chars": 433,
"preview": "version: v2\nmodules:\n - path: ./\n excludes:\n - vendor/\n breaking:\n use:\n - WIRE\n lint:\n "
},
{
"path": "api/cluster/cluster.proto",
"chars": 702,
"preview": "syntax = \"proto3\";\n\npackage cluster;\n\noption go_package = \"github.com/siderolabs/talos/pkg/machinery/api/cluster\";\noptio"
},
{
"path": "api/common/common.proto",
"chars": 3008,
"preview": "syntax = \"proto3\";\n\npackage common;\n\noption go_package = \"github.com/siderolabs/talos/pkg/machinery/api/common\";\noption "
},
{
"path": "api/docs.markdown.tmpl",
"chars": 3218,
"preview": "---\ntitle: API\ndescription: Talos gRPC API reference.\n---\n\n## Table of Contents\n{{range .Files}}\n{{$file_name := .Name}}"
},
{
"path": "api/inspect/inspect.proto",
"chars": 1124,
"preview": "syntax = \"proto3\";\n\npackage inspect;\n\noption go_package = \"github.com/siderolabs/talos/pkg/machinery/api/inspect\";\noptio"
},
{
"path": "api/machine/debug.proto",
"chars": 1266,
"preview": "syntax = \"proto3\";\n\npackage machine;\n\nimport \"common/common.proto\";\n\noption go_package = \"github.com/siderolabs/talos/pk"
},
{
"path": "api/machine/image.proto",
"chars": 3989,
"preview": "syntax = \"proto3\";\n\npackage machine;\n\nimport \"common/common.proto\";\nimport \"google/protobuf/duration.proto\";\nimport \"goo"
},
{
"path": "api/machine/lifecycle.proto",
"chars": 2955,
"preview": "syntax = \"proto3\";\n\npackage machine;\n\nimport \"common/common.proto\";\n\noption go_package = \"github.com/siderolabs/talos/pk"
},
{
"path": "api/machine/machine.proto",
"chars": 34510,
"preview": "syntax = \"proto3\";\n\npackage machine;\n\nimport \"common/common.proto\";\nimport \"google/protobuf/any.proto\";\nimport \"google/p"
},
{
"path": "api/resource/config/config.proto",
"chars": 730,
"preview": "syntax = \"proto3\";\n\npackage resource.config;\n\noption go_package = \"github.com/siderolabs/talos/pkg/machinery/api/resourc"
},
{
"path": "api/resource/definitions/block/block.proto",
"chars": 8025,
"preview": "syntax = \"proto3\";\n\npackage talos.resource.definitions.block;\n\noption go_package = \"github.com/siderolabs/talos/pkg/mach"
},
{
"path": "api/resource/definitions/cluster/cluster.proto",
"chars": 2045,
"preview": "syntax = \"proto3\";\n\npackage talos.resource.definitions.cluster;\n\noption go_package = \"github.com/siderolabs/talos/pkg/ma"
},
{
"path": "api/resource/definitions/cri/cri.proto",
"chars": 1818,
"preview": "syntax = \"proto3\";\n\npackage talos.resource.definitions.cri;\n\noption go_package = \"github.com/siderolabs/talos/pkg/machin"
},
{
"path": "api/resource/definitions/enums/enums.proto",
"chars": 17939,
"preview": "syntax = \"proto3\";\n\npackage talos.resource.definitions.enums;\n\noption go_package = \"github.com/siderolabs/talos/pkg/mach"
},
{
"path": "api/resource/definitions/etcd/etcd.proto",
"chars": 1278,
"preview": "syntax = \"proto3\";\n\npackage talos.resource.definitions.etcd;\n\noption go_package = \"github.com/siderolabs/talos/pkg/machi"
},
{
"path": "api/resource/definitions/extensions/extensions.proto",
"chars": 759,
"preview": "syntax = \"proto3\";\n\npackage talos.resource.definitions.extensions;\n\noption go_package = \"github.com/siderolabs/talos/pkg"
},
{
"path": "api/resource/definitions/files/files.proto",
"chars": 498,
"preview": "syntax = \"proto3\";\n\npackage talos.resource.definitions.files;\n\noption go_package = \"github.com/siderolabs/talos/pkg/mach"
},
{
"path": "api/resource/definitions/hardware/hardware.proto",
"chars": 1771,
"preview": "syntax = \"proto3\";\n\npackage talos.resource.definitions.hardware;\n\noption go_package = \"github.com/siderolabs/talos/pkg/m"
},
{
"path": "api/resource/definitions/k8s/k8s.proto",
"chars": 8011,
"preview": "syntax = \"proto3\";\n\npackage talos.resource.definitions.k8s;\n\noption go_package = \"github.com/siderolabs/talos/pkg/machin"
},
{
"path": "api/resource/definitions/kubeaccess/kubeaccess.proto",
"chars": 428,
"preview": "syntax = \"proto3\";\n\npackage talos.resource.definitions.kubeaccess;\n\noption go_package = \"github.com/siderolabs/talos/pkg"
},
{
"path": "api/resource/definitions/kubespan/kubespan.proto",
"chars": 1837,
"preview": "syntax = \"proto3\";\n\npackage talos.resource.definitions.kubespan;\n\noption go_package = \"github.com/siderolabs/talos/pkg/m"
},
{
"path": "api/resource/definitions/network/network.proto",
"chars": 18535,
"preview": "syntax = \"proto3\";\n\npackage talos.resource.definitions.network;\n\noption go_package = \"github.com/siderolabs/talos/pkg/ma"
},
{
"path": "api/resource/definitions/perf/perf.proto",
"chars": 2153,
"preview": "syntax = \"proto3\";\n\npackage talos.resource.definitions.perf;\n\noption go_package = \"github.com/siderolabs/talos/pkg/machi"
},
{
"path": "api/resource/definitions/proto/proto.proto",
"chars": 616,
"preview": "syntax = \"proto3\";\n\npackage talos.resource.definitions.proto;\n\noption go_package = \"github.com/siderolabs/talos/pkg/mach"
},
{
"path": "api/resource/definitions/runtime/runtime.proto",
"chars": 5707,
"preview": "syntax = \"proto3\";\n\npackage talos.resource.definitions.runtime;\n\noption go_package = \"github.com/siderolabs/talos/pkg/ma"
},
{
"path": "api/resource/definitions/secrets/secrets.proto",
"chars": 3215,
"preview": "syntax = \"proto3\";\n\npackage talos.resource.definitions.secrets;\n\noption go_package = \"github.com/siderolabs/talos/pkg/ma"
},
{
"path": "api/resource/definitions/security/security.proto",
"chars": 1074,
"preview": "syntax = \"proto3\";\n\npackage talos.resource.definitions.security;\n\noption go_package = \"github.com/siderolabs/talos/pkg/m"
},
{
"path": "api/resource/definitions/siderolink/siderolink.proto",
"chars": 804,
"preview": "syntax = \"proto3\";\n\npackage talos.resource.definitions.siderolink;\n\noption go_package = \"github.com/siderolabs/talos/pkg"
},
{
"path": "api/resource/definitions/time/time.proto",
"chars": 737,
"preview": "syntax = \"proto3\";\n\npackage talos.resource.definitions.time;\n\noption go_package = \"github.com/siderolabs/talos/pkg/machi"
},
{
"path": "api/resource/definitions/v1alpha1/v1alpha1.proto",
"chars": 359,
"preview": "syntax = \"proto3\";\n\npackage talos.resource.definitions.v1alpha1;\n\noption go_package = \"github.com/siderolabs/talos/pkg/m"
},
{
"path": "api/resource/network/device_config.proto",
"chars": 408,
"preview": "syntax = \"proto3\";\n\npackage resource.network;\n\noption go_package = \"github.com/siderolabs/talos/pkg/machinery/api/resour"
},
{
"path": "api/security/security.proto",
"chars": 722,
"preview": "syntax = \"proto3\";\n\npackage securityapi;\n\noption go_package = \"github.com/siderolabs/talos/pkg/machinery/api/security\";\n"
},
{
"path": "api/storage/storage.proto",
"chars": 3261,
"preview": "syntax = \"proto3\";\n\npackage storage;\n\noption go_package = \"github.com/siderolabs/talos/pkg/machinery/api/storage\";\noptio"
},
{
"path": "api/time/time.proto",
"chars": 810,
"preview": "syntax = \"proto3\";\n\npackage time;\n\noption go_package = \"github.com/siderolabs/talos/pkg/machinery/api/time\";\noption java"
},
{
"path": "api/vendor/google/api/expr/v1alpha1/checked.proto",
"chars": 11735,
"preview": "// Copyright 2024 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
},
{
"path": "api/vendor/google/api/expr/v1alpha1/eval.proto",
"chars": 4124,
"preview": "// Copyright 2024 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
},
{
"path": "api/vendor/google/api/expr/v1alpha1/explain.proto",
"chars": 1753,
"preview": "// Copyright 2024 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
},
{
"path": "api/vendor/google/api/expr/v1alpha1/syntax.proto",
"chars": 13693,
"preview": "// Copyright 2024 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
},
{
"path": "api/vendor/google/api/expr/v1alpha1/value.proto",
"chars": 2830,
"preview": "// Copyright 2024 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
},
{
"path": "api/vendor/google/rpc/status.proto",
"chars": 1922,
"preview": "// Copyright 2020 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
},
{
"path": "cmd/installer/cmd/imager/root.go",
"chars": 8214,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/installer/cmd/installer/install.go",
"chars": 2385,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/installer/cmd/installer/root.go",
"chars": 2404,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/installer/main.go",
"chars": 550,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/installer/pkg/install/errata.go",
"chars": 2453,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/installer/pkg/install/install.go",
"chars": 31054,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/installer/pkg/install/meta_value.go",
"chars": 2284,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/installer/pkg/install/meta_value_test.go",
"chars": 728,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/installer/pkg/install/preflight.go",
"chars": 3136,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/acompat/acompat.go",
"chars": 408,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/common/common.go",
"chars": 419,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/completion.go",
"chars": 3042,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/constants/constants.go",
"chars": 527,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/docs.go",
"chars": 5136,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/cluster/cluster.go",
"chars": 1871,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/cluster/create/clusterops/configmaker/config_maker.go",
"chars": 1247,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/cluster/create/clusterops/configmaker/internal/makers/common.go",
"chars": 17261,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/cluster/create/clusterops/configmaker/internal/makers/common_test.go",
"chars": 7111,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/cluster/create/clusterops/configmaker/internal/makers/docker.go",
"chars": 2579,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/cluster/create/clusterops/configmaker/internal/makers/docker_test.go",
"chars": 1070,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/cluster/create/clusterops/configmaker/internal/makers/maker.go",
"chars": 730,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/cluster/create/clusterops/configmaker/internal/makers/qemu.go",
"chars": 20950,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/cluster/create/clusterops/configmaker/internal/makers/qemu_test.go",
"chars": 2803,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/cluster/create/clusterops/configmaker/internal/siderolinkbuilder/builder.go",
"chars": 8346,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/cluster/create/clusterops/configmaker/internal/siderolinkbuilder/helpers_other.go",
"chars": 518,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/cluster/create/clusterops/configmaker/internal/siderolinkbuilder/helpers_supported.go",
"chars": 564,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/cluster/create/clusterops/configmaker/preset/disk_image_preset.go",
"chars": 1253,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/cluster/create/clusterops/configmaker/preset/iso_preset.go",
"chars": 1365,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/cluster/create/clusterops/configmaker/preset/iso_secureboot_preset.go",
"chars": 1130,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/cluster/create/clusterops/configmaker/preset/maintenance_preset.go",
"chars": 1006,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/cluster/create/clusterops/configmaker/preset/preset.go",
"chars": 3480,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/cluster/create/clusterops/configmaker/preset/preset_test.go",
"chars": 3791,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/cluster/create/clusterops/configmaker/preset/pxe_preset.go",
"chars": 1174,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/cluster/create/clusterops/options.go",
"chars": 6719,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/cluster/create/clusterops/options_linux.go",
"chars": 277,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/cluster/create/clusterops/options_other.go",
"chars": 346,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/cluster/create/cmd.go",
"chars": 6529,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/cluster/create/cmd_dev.go",
"chars": 21346,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/cluster/create/cmd_docker.go",
"chars": 2719,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/cluster/create/cmd_qemu.go",
"chars": 2979,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/cluster/create/create.go",
"chars": 4781,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/cluster/create/create_dev.go",
"chars": 3982,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/cluster/create/create_docker.go",
"chars": 1242,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/cluster/create/create_qemu.go",
"chars": 3986,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/cluster/create/flags/agent.go",
"chars": 1358,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/cluster/create/flags/disks.go",
"chars": 3752,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/cluster/create/flags/disks_test.go",
"chars": 2877,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/cluster/create/flags/virtiofs.go",
"chars": 2268,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/cluster/create/flags/virtiofs_test.go",
"chars": 1901,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/cluster/destroy.go",
"chars": 2333,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/cluster/internal/firewallpatch/firewallpatch.go",
"chars": 5672,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/cluster/show.go",
"chars": 2928,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/debug/air-gapped.go",
"chars": 10427,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/debug/debug.go",
"chars": 492,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/debug/httproot/debug.yaml",
"chars": 615,
"preview": "apiVersion: apps/v1\nkind: DaemonSet\nmetadata:\n labels:\n app: debug-container\n name: debug-container\n namespace: de"
},
{
"path": "cmd/talosctl/cmd/mgmt/dhcpd_launch.go",
"chars": 1753,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/dnsd_launch.go",
"chars": 1294,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/gen/ca.go",
"chars": 2309,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/gen/config.go",
"chars": 15714,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/gen/crt.go",
"chars": 3222,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/gen/csr.go",
"chars": 2613,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/gen/gen.go",
"chars": 1142,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/gen/key.go",
"chars": 1201,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/gen/keypair.go",
"chars": 2010,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/gen/secrets.go",
"chars": 3457,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/gen/secureboot.go",
"chars": 6756,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/inject/inject.go",
"chars": 411,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/inject/serviceaccount.go",
"chars": 2063,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/json_logs_launch.go",
"chars": 1620,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/kms_launch.go",
"chars": 2233,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/loadbalancer_launch.go",
"chars": 1963,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/machineconfig/gen.go",
"chars": 383,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/machineconfig/machineconfig.go",
"chars": 432,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/machineconfig/patch.go",
"chars": 1966,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/qemu_launch.go",
"chars": 690,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/root.go",
"chars": 1042,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/siderolink_launch.go",
"chars": 3928,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/validate.go",
"chars": 1932,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/mgmt/virtiofsd_launch.go",
"chars": 1444,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/root.go",
"chars": 2363,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/talos/apply-config.go",
"chars": 4236,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/talos/bootstrap.go",
"chars": 3018,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/talos/cgroups.go",
"chars": 7037,
"preview": "// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not "
},
{
"path": "cmd/talosctl/cmd/talos/cgroupsprinter/presets/cpu.yaml",
"chars": 806,
"preview": "# Basic CPU metrics\ncolumns:\n - name: CpuWeight\n template: '{{ .CPUWeight | printf \"%6s\" }}'\n - name: CpuNice\n t"
},
{
"path": "cmd/talosctl/cmd/talos/cgroupsprinter/presets/cpuset.yaml",
"chars": 301,
"preview": "columns:\n - name: CpuSet\n template: '{{ .CPUSetCPUs | printf \"%12s\" }}'\n - name: CpuSet(Eff)\n template: '{{ .CPU"
},
{
"path": "cmd/talosctl/cmd/talos/cgroupsprinter/presets/io.yaml",
"chars": 599,
"preview": "columns:\n - name: Bytes Read/Written\n template: '{{ range $disk, $v := .IOStat }}{{ if $v }}{{ $disk }}: {{ $v.rbyte"
},
{
"path": "cmd/talosctl/cmd/talos/cgroupsprinter/presets/memory.yaml",
"chars": 719,
"preview": "# Memory-related cgroup metrics\ncolumns:\n - name: MemCurrent\n template: '{{ .MemoryCurrent.HumanizeIBytes | printf \""
}
]
// ... and 2995 more files (download for full content)
About this extraction
This page contains the full source code of the siderolabs/talos GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 3195 files (19.7 MB), approximately 5.4M tokens, and a symbol index with 23896 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.