Skip to content

Conversation

Orzelius
Copy link
Member

@Orzelius Orzelius commented Sep 29, 2025

  • add 'iso', 'pxe', 'disk-image', 'maintenance' and 'secureboot' presets
  • swith the image-factory e2e test to use the create qemu command with presets

part of #11404
closes #11686
closes #11689

@github-project-automation github-project-automation bot moved this to To Do in Planning Sep 29, 2025
@Orzelius Orzelius force-pushed the cluster-create-presets branch from 624687c to 2f942dd Compare October 3, 2025 12:38
@Orzelius Orzelius force-pushed the cluster-create-presets branch 4 times, most recently from d2adff8 to fdf393a Compare October 3, 2025 14:59
@rothgar
Copy link
Member

rothgar commented Oct 3, 2025

Will there be an omni preset to join machines to an omni instance?

@Orzelius
Copy link
Member Author

Orzelius commented Oct 4, 2025

Will there be an omni preset to join machines to an omni instance?

@rothgar probably not in this pr, but yes, it's on the readmap!

@Orzelius Orzelius force-pushed the cluster-create-presets branch 11 times, most recently from 3754ed6 to 1ef2f02 Compare October 5, 2025 04:27
@Orzelius Orzelius changed the title wip: cluster create presets feat: cluster create qemu presets Oct 5, 2025
@Orzelius Orzelius marked this pull request as ready for review October 5, 2025 06:33
@talos-bot talos-bot moved this from To Do to In Review in Planning Oct 5, 2025
qemu.StringVar(&cqOps.imageFactoryURL, "image-factory-url", "https://factory.talos.dev/", "image factory url")
qemu.StringVar(&presetOptions.schematicID, "schematic-id", "", "image factory schematic id (defaults to an empty schematic)")
qemu.StringVar(&presetOptions.imageFactoryURL, "image-factory-url", constants.ImageFactoryURL, "image factory url")
qemu.StringSliceVar(&presetOptions.presets, "presets", []string{preset.ISO{}.Name()}, "list of presets to apply")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if we only accept a single preset, why make this option a slice?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ahh I see, we support merging, ignore comment then, thought I'm not sure if we should do iso,secureboot or have just iso and iso-secureboot

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point! I've simplified it to just iso-secureboot and it's much nicer this way

--kubernetes-version string desired kubernetes version to run (default "1.34.1")
--memory-controlplanes string(mb,gb) the limit on memory usage for each control plane/VM (default 2.0GiB)
--memory-workers string(mb,gb) the limit on memory usage for each worker/VM (default 2.0GiB)
--presets strings list of presets to apply (default [iso])
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

--presets=iso,omni=https://omni.com/siderolink?jointoken=foo

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I went with just adding a --omni-api-endpoint flag after some though as it seems like the most intuitive way to go about it. Also allows to add it to the existing dev command.

@Orzelius Orzelius force-pushed the cluster-create-presets branch from 1ef2f02 to eefa5e1 Compare October 11, 2025 10:51
@Orzelius
Copy link
Member Author

@rothgar I went ahead and also added a --omni-api-endpoint flag! Feel free to give it a spin and see how it works out.

@Orzelius Orzelius force-pushed the cluster-create-presets branch from eefa5e1 to d4e52d2 Compare October 11, 2025 11:14
@Orzelius Orzelius force-pushed the cluster-create-presets branch 2 times, most recently from 5e59515 to 1351784 Compare October 13, 2025 10:02
@Orzelius Orzelius force-pushed the cluster-create-presets branch from 1351784 to dd3fb1a Compare October 17, 2025 13:05
- disk-image: Configure Talos to boot from a disk image from the image factory.
- maintenance: Skip applying machine configuration and leave the machines in maintenance mode. The machine configuration files are written to the working path.

Note: exactly one of 'iso', 'iso-secureboot', 'pxe' or 'disk-image' presets must be specified.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should omni-api-endpoint be documented as well?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've moved the docs and documented the flag in this pr siderolabs/docs#75

* add 'iso', 'pxe', 'disk-image', 'maintenance' and 'secureboot' presets
* swith the image-factory e2e test to use the create qemu command with presets
* add a '--omni-api-endpoint' to simplify connecting machines to omni

Signed-off-by: Orzelius <[email protected]>
@Orzelius Orzelius force-pushed the cluster-create-presets branch from 94c3f81 to eccb21d Compare October 18, 2025 05:02
@Orzelius
Copy link
Member Author

/m

@talos-bot talos-bot merged commit eccb21d into siderolabs:main Oct 19, 2025
59 checks passed
@github-project-automation github-project-automation bot moved this from Approved to Done in Planning Oct 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

use talosctl cluster create qemu in e2e-image-factory implement "presets"/"profiles" for talosctl cluster create qemu

6 participants