Skip to content

Move the installer to pkg/kagent/install - #157

Merged
EItanya merged 1 commit into
installer-cluster-accessfrom
installer-pkg
Nov 8, 2026
Merged

EItanya merged 1 commit into
installer-cluster-accessfrom
installer-pkg

Conversation

@EItanya

@EItanya EItanya commented Nov 8, 2026

Copy link
Copy Markdown

kagent will import the installer, so it moves out of cmd/kubectl-ate/internal. Stacked on #154.

This is a pure move. cmd/kubectl-ate/internal/install (with tui) moves to pkg/kagent/install, and cmd/kubectl-ate/internal/microvmassets moves to pkg/kagent/microvmassets. Only import paths and one template comment change. Fork-only packages go under pkg/kagent so an upstream sync can't collide with them (see #156).

I wrote this with Claude Code and reviewed the diff.

@EItanya
EItanya added this pull request to stack #155 November 8, 2026 16:06
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>
@EItanya
EItanya merged commit 471cd0c into main Nov 8, 2026
9 of 10 checks passed
EItanya added a commit that referenced this pull request Nov 8, 2026
…roviders (#159)

* docs: list substrate-atelet among the published charts (#151)

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 (#152)

* 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: typed postgres and objectStore config for install (#153)

* 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: per-operation installer options and exported steps (#154)

* 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>

* Move the installer to pkg/kagent/install (#157)

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>

---------

Signed-off-by: Eitan Yarmush <eitan.yarmush@solo.io>
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