Skip to content

[release-1.0] Backport installer library work and egress credential providers - #159

Merged
EItanya merged 5 commits into
release-1.0from
backport/installer-library-1.0
Nov 8, 2026
Merged

EItanya merged 5 commits into
release-1.0from
backport/installer-library-1.0

Conversation

@EItanya

@EItanya EItanya commented Nov 8, 2026

Copy link
Copy Markdown

Backports the installer work merged to main since #148. Each commit is a git cherry-pick -x of the main commit:

All five applied without conflicts.

I used Claude Code to cherry-pick the commits and checked the result with go test and hack/verify-all.sh.

Signed-off-by: Eitan Yarmush <eitan.yarmush@solo.io>
(cherry picked from commit 19cc8d5)
Signed-off-by: Eitan Yarmush <eitan.yarmush@solo.io>
* charts: let egress use other credential providers

credentialProvider.enabled turns off the bundled Kubernetes Secret
provider and its k8s.io route. credentialProvider.extraProviders points
the egress gateway at providers deployed outside the chart, matching
the ate-setup --credential-provider options.

Signed-off-by: Eitan Yarmush <eitan.yarmush@solo.io>

* charts: move extra credential providers under atenetEgress

credentialProvider configures the bundled provider. The extra providers
configure the egress gateway.

Signed-off-by: Eitan Yarmush <eitan.yarmush@solo.io>

---------

Signed-off-by: Eitan Yarmush <eitan.yarmush@solo.io>
(cherry picked from commit 40c2eaa)
Signed-off-by: Eitan Yarmush <eitan.yarmush@solo.io>
* kubectl-ate: add typed objectStore config to install

objectStore now takes a bucket and s3 or gcs settings, and the installer
fills the atelet and substrate chart values from them. The substrate
release's object store plugin now gets the S3 region, endpoint, path
style and credentials too. Before, it had only the backend name.

The bare objectStore: s3 form still works, and so do the raw chart values.
The wizard asks for these settings instead of a values file.

Signed-off-by: Eitan Yarmush <eitan.yarmush@solo.io>

* kubectl-ate: configure postgres and objectStore the same way

postgres is now a struct with a type, like objectStore, and both still
accept the type alone. The installer's RustFS is now objectStore type
bundled, matching postgres. Configs that say rustfs still work.

Signed-off-by: Eitan Yarmush <eitan.yarmush@solo.io>

* kubectl-ate: don't name the system namespace in install help

TestNoNewHardcodedInstallLayoutInGo rejects ate-system literals.

Signed-off-by: Eitan Yarmush <eitan.yarmush@solo.io>

---------

Signed-off-by: Eitan Yarmush <eitan.yarmush@solo.io>
(cherry picked from commit dda7ca9)
Signed-off-by: Eitan Yarmush <eitan.yarmush@solo.io>
* kubectl-ate: take install charts as an fs.FS

A program that embeds the installer can pass charts it ships itself
instead of writing them to a directory.

Signed-off-by: Eitan Yarmush <eitan.yarmush@solo.io>

* kubectl-ate: split installer options per operation and export steps

Upgrade and Uninstall take their own options, so Options holds only the
cluster, charts and config. Step, Run and InstallSteps are exported so a
caller can add steps to an install, such as setting up its own database
before StepCheckDatabase.

Signed-off-by: Eitan Yarmush <eitan.yarmush@solo.io>

---------

Signed-off-by: Eitan Yarmush <eitan.yarmush@solo.io>
(cherry picked from commit d006b3b)
Signed-off-by: Eitan Yarmush <eitan.yarmush@solo.io>
kagent imports the installer, so it can't stay under cmd/kubectl-ate/internal.
microvmassets moves with it. Fork-only packages live under pkg/kagent so
upstream can't add a package at the same path.

Signed-off-by: Eitan Yarmush <eitan.yarmush@solo.io>
(cherry picked from commit 471cd0c)
Signed-off-by: Eitan Yarmush <eitan.yarmush@solo.io>
@EItanya
EItanya merged commit e6e3c44 into release-1.0 Nov 8, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant