164 Commits

Author SHA1 Message Date
Orzelius
9b40156959
feat: show schematic-id url parameter on the final wizard step
This is useful as cli arguments and embedded config (to be added) can result in an extremely long url.
Also makes the final url easier to read and share, and allows users to bookmark the final configuration
with the schematic ID without needing to also include all the other parameters that were used to generate it.

Signed-off-by: Orzelius <33936483+Orzelius@users.noreply.github.com>
2026-05-04 15:43:31 +09:00
Mateusz Urbanek
114bb60b13
fix(spdx): use configured external URL in document namespace
Hardcoded `factory.talos.dev` in SPDX document namespace broke
deployments where image-factory runs under a different hostname.
External URL now threads from service config through SPDXOptions
and Builder down to namespace generation.

Fixes #440

Signed-off-by: Mateusz Urbanek <mateusz.urbanek@siderolabs.com>
2026-05-01 06:49:46 +02:00
Edward Sammut Alessi
ccffefc072
release(v1.2.0): prepare release
This is the official v1.2.0 release.

Signed-off-by: Edward Sammut Alessi <edward.sammutalessi@siderolabs.com>
2026-04-28 10:13:23 +02:00
Edward Sammut Alessi
4abeff4f1a
feat: add /talosctl/:version endpoint to list downloadable talosctls
Add a /talosctl/:version endpoint which lists all downloadable talosctl binaries fro a given version.

Signed-off-by: Edward Sammut Alessi <edward.sammutalessi@siderolabs.com>
2026-04-28 09:12:45 +02:00
Quentin Joly
405b488070
feat(i18n): add french locale
Add French (fr) locale file with translations for the image-factory
frontend interface.

Signed-off-by: Quentin Joly <quentinj@une-pause-cafe.fr>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-04-27 13:42:45 +04:00
Mateusz Urbanek
c6ad082dbb
feat(registry): resolve latest tag to stable version
"latest" now maps to latest non-prerelease version instead of external pass-through.

Signed-off-by: Mateusz Urbanek <mateusz.urbanek@siderolabs.com>
2026-04-24 14:18:35 +02:00
Mateusz Urbanek
403cd5a563
fix: centralize schematic ownership enforcement
Move ownership/auth checks from scattered frontend handlers into
  schematic.Factory.Get, which now accepts an OwnershipChecker. This
  eliminates duplicated checkOwnership methods across http and spdx
  frontends and ensures anonymous callers cannot probe schematic
  existence when auth is enabled.

  Also guard PXE credential embedding behind AuthProvider != nil so
  credentials are never propagated when auth is disabled.

Signed-off-by: Mateusz Urbanek <mateusz.urbanek@siderolabs.com>
2026-04-21 15:12:24 +02:00
Mateusz Urbanek
f1cceee8cd
feat: implement authentication support
This feature is Enterprise only (requires BUSL).

Any access to the schematic requires the user to be authenticated
before access.

Moreover, any schematic stores the owner in the schematic, so each
schematic becomes private (owned by the user which created it).

Authentication is configured using a set of usernames and keys
associates with each user (API key).

Co-authored-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
Signed-off-by: Mateusz Urbanek <mateusz.urbanek@siderolabs.com>
2026-04-20 15:54:31 +02:00
Andrey Smirnov
81f9312d09
release(v1.1.0): prepare release
This is the official v1.1.0 release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-04-17 17:38:22 +04:00
Mateusz Urbanek
1b834b7d2a
feat: add SHA-256 and SHA-512 checksum frontend
Add enterprise-only checksum endpoint: appending .sha256 or .sha512
to any /image/ path returns a single-line checksum file instead of
the asset. Algorithm is selected from the suffix; the Checksummer
interface takes the suffix so no circular import is needed.

Wizard UI shows (sha256) and (sha512) links per download button;
non-enterprise builds show a localized (checksums) tooltip.
Integration tests cover both algorithms (GET, HEAD, validate,
reproducibility, error cases).

Signed-off-by: Mateusz Urbanek <mateusz.urbanek@siderolabs.com>
2026-04-17 14:11:55 +02:00
Noel Georgi
e775c3662b
feat: upgrade tailwind to v4
Upgrade tailwind to v4, switch to bun.lock

Also fix check-dirty step in CI and cleanup helm values update.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2026-04-17 13:51:09 +05:30
Andrey Smirnov
bb27d392ab
feat: update Talos to v1.13.0-rc.0
Rename consistently to 'Image Factory Enterprise'.

Pass Talos name down to profile.

Pass the image factory name (and url) in the schematic's extension
Author field.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-04-16 18:20:50 +04:00
Noel Georgi
2a5989044b
fix: gsa signer pull during verify
Previous fix #419 fixed the push, but that was not enough to fix the pull for verify.
The error message returned from sigstore library was not helpful to debug this.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2026-04-16 15:57:53 +05:30
Noel Georgi
fbc302f868
fix: support insecure registries for signature bundles
Support insecure registries for signature bundles.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2026-04-15 20:04:14 +05:30
Noel Georgi
8e7d10ec13
feat: add support for google service account signing
Add support for signing installer images with a Google Service Account.

Fixes: #412

Signed-off-by: Noel Georgi <git@frezbo.dev>
2026-04-15 13:22:25 +05:30
Andrey Smirnov
74afd80774
fix: set correct Content-Type when downloading images
Fixes #414

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-04-07 20:05:55 +04:00
Mateusz Urbanek
8372fe8854
feat: add SPDX frontend
Fixes #284

Signed-off-by: Mateusz Urbanek <mateusz.urbanek@siderolabs.com>
2026-03-18 12:02:33 +01:00
Andrey Smirnov
b379bf2cd2
feat: switch schematic cache to LRU and negative TTL
Fixes #408

Now we have proper cache capacity, LRU, and also negative cache TTL to
help with case when multiple instance might disagree on whether cache
contains not found or not.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-02-27 16:17:26 +04:00
Andrey Smirnov
470cb2f0e8
chore: switch to large runners
Rekres to use large runners instead of generic ones, as Image Factory
tests require lots of resources.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-02-18 17:08:59 +04:00
Andrey Smirnov
0a252747c5
fix: excessive memory usage
Pulls in a fix https://github.com/siderolabs/talos/pull/12790

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-02-13 18:50:09 +04:00
Edward Sammut Alessi
0f9eb22035
feat: update machinery doc links
Bump Talos version and update machinery doc links to point to docs.siderolabs.com.

Signed-off-by: Edward Sammut Alessi <edward.sammutalessi@siderolabs.com>
2026-02-10 15:34:27 +01:00
Noel Georgi
a42b9d91c3
release(v1.0.2): prepare release
This is the official v1.0.2 release.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2026-02-04 14:41:30 +05:30
Noel Georgi
80d1ba3e0e
fix: pass nameoptions to verify bundle too
This was missed in: #381

Signed-off-by: Noel Georgi <git@frezbo.dev>
2026-02-04 11:57:48 +05:30
Andrey Smirnov
eec01d1d03
release(v1.0.1): prepare release
This is the official v1.0.1 release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-02-03 23:06:35 +04:00
Andrey Smirnov
ec1c0a790c
fix: pass insecure to the cosign new bundle verifier
The new verifier requires explicit insecure option for insecure
registries.

This affects configurations when the cache registry doesn't use
localhost endpoint, but some hostname.

Also rekres and bump Talos.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-02-03 21:21:17 +04:00
Noel Georgi
14d0f2a1fa
release(v1.0.0): prepare release
This is the official v1.0.0 release.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2026-01-30 05:37:25 +05:30
Noel Georgi
ec69fe25da
fix: extra kernel args for overlays
Fix don't skip extra kernel args for overlay installers.

Fixes: #376

Signed-off-by: Noel Georgi <git@frezbo.dev>
2026-01-29 19:34:56 +05:30
Noel Georgi
3c18e053c1
feat: add Sidero google service account email also to verfiers
Add Sidero Google Service Account Email also to the signer list.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2026-01-28 06:43:04 +05:30
Noel Georgi
151feb5589
fix: docs url
Fixes: #355

Signed-off-by: Noel Georgi <git@frezbo.dev>
2026-01-27 19:17:49 +05:30
Tim Jones
1f85622c69
feat: add cloudflare credentials helper
Add a Cloudflare credentials helper to support using R2 buckets at the
same time as AWS Cert Manager.

Signed-off-by: Tim Jones <tim.jones@siderolabs.com>
2026-01-23 16:07:11 +01:00
Andrey Smirnov
852856dc9d
fix: installer internal config
It should be setting namespace, not registry, to match other repos.

Also namespace should be overridden usually, not the registry.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-01-23 15:26:28 +04:00
Artem Chernyshev
56bd21baa7
fix: allow Cache-Control header in CORS
Otherwise OPTIONS response is not working for Omni.

Signed-off-by: Artem Chernyshev <artem.chernyshev@talos-systems.com>
2026-01-22 16:50:40 +03:00
Andrey Smirnov
83f4d91a06
fix: clarify bootloader selection
Fixes #340

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-01-22 16:24:37 +04:00
Artem Chernyshev
c8c5faa615
feat: allow using image GET/HEAD API by the JS code on any domains
Changing some things to make Omni image factory UI interaction easier.

Signed-off-by: Artem Chernyshev <artem.chernyshev@talos-systems.com>
2026-01-22 13:02:50 +03:00
Tim Jones
e732d90618
feat: support acm for secureboot
Add support for using AWS Certificate Manager to store the SecureBoot
cert.

Signed-off-by: Tim Jones <tim.jones@siderolabs.com>
2026-01-21 21:13:38 +01:00
Andrey Smirnov
5f103c16c4
feat: support copying to clipboard
Fixes #339

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-01-21 22:25:40 +04:00
Andrey Smirnov
c3532c4869
feat: update Talos with GRUB and other fixes
This should speed up image generation for disk images.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-01-21 17:22:13 +04:00
Andrey Smirnov
b5ba6630ed
fix: avoid pulling Talos core in schematic pkg
This pulls a fix https://github.com/siderolabs/talos/pull/12601

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-01-15 22:08:10 +04:00
Andrey Smirnov
99cbfd73d4
fix: don't enforce bundle verified
This is not set by cosign when veryfing using raw certificate
verification.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-01-08 14:45:50 +04:00
Noel Georgi
8723b0274e
fix: drop sbc board support
Drop all SBC board support.

Fixes: https://github.com/siderolabs/talos/issues/12492

Signed-off-by: Noel Georgi <git@frezbo.dev>
2025-12-26 21:52:51 +05:30
Noel Georgi
f0150c419d
feat: use rootless Image Factory
Pull in new Talos imager to support rootless IF.

Part of: https://github.com/siderolabs/talos/issues/12146/

Signed-off-by: Noel Georgi <git@frezbo.dev>
2025-12-26 15:48:23 +05:30
Mateusz Urbanek
f57218fbf0
feat: refactor configuration of image factory
Refactor configuration of Image Factory.
This PR removes most of the flags, and instead allows configuration
using config files and/or environment variables.

Signed-off-by: Mateusz Urbanek <mateusz.urbanek@siderolabs.com>
2025-12-22 14:24:46 +01:00
Andrey Smirnov
e440ce7a1c
fix: support new cosign bundle format
Refactor the image signature verification code, add more tests.

Support both old and new bundle format from cosign.

Update cosign to address
https://github.com/sigstore/timestamp-authority/security/advisories/GHSA-4qg8-fj49-pxjh.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-12-10 22:30:46 +04:00
Andrey Smirnov
5eb17756a1
feat: introduce Enterprise Image Factory
Just a few changes:

* introduce license split
* add 'Enterprise' label to Enterprise version
* add a separate test pipeline

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-12-09 13:21:55 +04:00
Noel Georgi
67996611c9
feat: show booter command in final wizard
Fixes: #280

Signed-off-by: Noel Georgi <git@frezbo.dev>
2025-11-20 18:38:11 +05:30
Noel Georgi
fb22bcea42
feat: support selecting bootloader
Support selecting bootloader.

Fixes: #224

Signed-off-by: Noel Georgi <git@frezbo.dev>
2025-11-15 23:18:52 +05:30
Noel Georgi
e881e4b031
feat: bump deps
Bump deps.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2025-11-10 20:34:52 +05:30
Andrey Smirnov
d1bec57973
feat: implement schematic GET API
Retrieve schematics by a known ID.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-11-06 16:10:09 +04:00
Noel Georgi
f1dad9da10
feat: better test matrix
Better test matrix for `EnhanceFromSchematic`.

Less duplicates and covers all versions, easier to add newer Talos versions, this caught a very small bug where `extraKernelArgs` were populated when overlays were used.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2025-11-05 19:14:37 +05:30
Andrey Smirnov
bc4f9590b2
fix: remove secureboot talosctl preset
See https://github.com/siderolabs/image-factory/pull/325#pullrequestreview-3365270007

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-10-22 18:11:32 +04:00