261 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>
v1.2.0
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
Noel Georgi
471706d294
chore: drop update to talos main tests
These were added when we were not keeping Image
Factory up-to-date with Talos, this was a hack
never really worked in CI except a few times.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2026-04-23 01:44:36 +05:30
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>
v1.1.0
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
Orzelius
04500387d7
chore: remove deuplicate k8s-down ci step
remove duplicate step, rekres, bump deps, fix lint issues

Signed-off-by: Orzelius <33936483+Orzelius@users.noreply.github.com>
2026-02-19 12:00:57 +09: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
713fc6ef2d
fix: memory usage when building images
Pulls in a fix https://github.com/siderolabs/talos/pull/12807.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-02-18 16:26:53 +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
Andrey Smirnov
f0c7a7b53c
release(v1.0.3): prepare release
This is the official v1.0.3 release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
v1.0.3
2026-02-09 15:11:24 +04:00
Daddie0
dd926314f6
docs: correct path to hack/copy-artifacts.sh
Documentation update.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-02-09 14:37:40 +04:00
Andrey Smirnov
ddc1a83891
fix: update Talos to fix rpi_5 build
Pulls in a fix https://github.com/siderolabs/talos/pull/12747

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-02-09 13:24:13 +04:00
Kevin Tijssen
b3d07e5e38
docs: remove redundant Kubernetes version prerequisite
Remove the generic "Kubernetes 1.23+" prerequisite as it's redundant and
potentially confusing. The actual minimum Kubernetes version depends on
the hostUsers configuration:

Signed-off-by: Kevin Tijssen <kevin.tijssen@siderolabs.com>
2026-02-06 14:43:52 +01:00
Kevin Tijssen
96667959f6
fix: values.schema.json
Signed-off-by: Kevin Tijssen <kevin.tijssen@siderolabs.com>
2026-02-06 14:34:42 +01:00
Kevin Tijssen
8a8da46331
feat: adjust security context for user namespace mode
Signed-off-by: Kevin Tijssen <kevin.tijssen@siderolabs.com>
2026-02-06 14:29:24 +01:00
Kevin Tijssen
bc631dc3f9
fix: values.schema.json
Signed-off-by: Kevin Tijssen <kevin.tijssen@siderolabs.com>
2026-02-06 14:22:13 +01:00
Kevin Tijssen
8ea6fe9ecc
feat: add user namespace support with Kubernetes version validation
Add support for Kubernetes user namespaces to enhance pod security isolation.
This feature allows pods to run with a separate user namespace instead of
the host's user namespace when hostUsers is set to false.

Changes:
- Add hostUsers configuration option to values.yaml (default: true)
- Add Kubernetes version validation (requires K8s 1.25+ when hostUsers=false)
- Create helm-docs template (README.md.gotmpl) for automated documentation
- Update README with comprehensive security, configuration, and setup guides

Signed-off-by: Kevin Tijssen <kevin.tijssen@siderolabs.com>
2026-02-06 14:13:36 +01:00
Andrey Smirnov
324c464e22
fix: skip initializing TUF if keyless signing is disabled
Also fix up the docs and allow doucumenting the non-leaf items to
clarify the documentation.

Clarify external registry, add a note about proxying.

Fixes #388

Fixes #389

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-02-06 13:58:49 +04: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>
v1.0.2
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>
v1.0.1
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>
v1.0.0
2026-01-30 05:37:25 +05:30
Kevin Tijssen
a90529cc00
feat: add more security contexts
* Changed E2E timeouts
* Changes Container securityContext

Signed-off-by: Kevin Tijssen <kevin.tijssen@siderolabs.com>
Signed-off-by: Noel Georgi <git@frezbo.dev>
2026-01-29 20:44:16 +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
Mateusz Urbanek
aa325ee4ff
feat: add Helm docs and schema
Add generation of Helm Docs and Helm JSON Schema for Factory chart.

Signed-off-by: Mateusz Urbanek <mateusz.urbanek@siderolabs.com>
2026-01-28 10:48:04 +01:00
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
Mateusz Urbanek
42a1c45849
feat: add helm to kres
Add kres rules for Helm chart management.

Signed-off-by: Mateusz Urbanek <mateusz.urbanek@siderolabs.com>
2026-01-27 10:46:38 +01:00
Andrey Smirnov
ac4718a617
feat: update Talos and pkgs
Brings in RPi5 SBC support, GRUB 2.14, and GRUB prefix fixes.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-01-26 19:42:07 +04:00
Mateusz Urbanek
1d6468ee6d
feat: add helm e2e to CI
Add kres configuration to enable testing Helm Chart in the CI.

Signed-off-by: Mateusz Urbanek <mateusz.urbanek@siderolabs.com>
2026-01-26 11:12:09 +01:00
Kevin Tijssen
2f0499cc73
feat: added e2e tests
Signed-off-by: Kevin Tijssen <kevin.tijssen@siderolabs.com>
2026-01-26 09:11:26 +01:00
Kevin Tijssen
2eccf98ad5
fix: made changes on the recommendation of copilot
Signed-off-by: Kevin Tijssen <kevin.tijssen@siderolabs.com>
2026-01-26 09:11:24 +01:00
Kevin Tijssen
e27ea3647d
feat: Added E2E with KUTTL
Signed-off-by: Kevin Tijssen <kevin.tijssen@siderolabs.com>
2026-01-26 09:11:24 +01:00
Kevin Tijssen
9f6b9e7966
feat: Added additional tests
Signed-off-by: Kevin Tijssen <kevin.tijssen@siderolabs.com>
2026-01-26 09:11:23 +01:00