Skip to content

feat(helm): configure the egress proxy log level - #119

Merged
EItanya merged 3 commits into
kagent-dev:mainfrom
TarasLykhenko:feat/helm-egress-log-level
Nov 4, 2026
Merged

EItanya merged 3 commits into
kagent-dev:mainfrom
TarasLykhenko:feat/helm-egress-log-level

Conversation

@TarasLykhenko

@TarasLykhenko TarasLykhenko commented Nov 3, 2026 •

Copy link
Copy Markdown

Allow installations to reduce logging without patching the Deployment, and enable debug filters when troubleshooting.

Expose atenetEgress.agentgateway.logLevel, defaulting to info. Pass the value unchanged to RUST_LOG, including filters such as info,agentgateway=debug. Document the value and test the default and overrides.

The Helm e2e installation explicitly sets debug because its networking tests assert the debug-level CONNECT tunnel terminated log. Normal installations retain the info default.

Validation:

  • All 46 Helm tests pass, repeated three times. The new default and module-filter tests fail against the original template.
  • All three charts pass Helm lint.
  • The actual Helm e2e install flags render exactly one RUST_LOG=debug entry.
  • Committed-manifest verification and git diff --check pass.
  • Broader checks did not pass: go test -race -timeout=60s ./... encountered macOS microVM child-process unsupported operation failures and package timeouts. hack/verify-all.sh did not finish within 120s in its benchmarking Python verifier.

AI use: AI-assisted backport, diff review, local checks, and PR preparation.

Signed-off-by: TarasLykhenko <18290033+TarasLykhenko@users.noreply.github.com>
Signed-off-by: TarasLykhenko <18290033+TarasLykhenko@users.noreply.github.com>
@TarasLykhenko
TarasLykhenko force-pushed the feat/helm-egress-log-level branch from eac2989 to 3f723eb Compare November 3, 2026 16:13
@TarasLykhenko
TarasLykhenko marked this pull request as ready for review November 3, 2026 16:17
Signed-off-by: TarasLykhenko <18290033+TarasLykhenko@users.noreply.github.com>
@EItanya
EItanya merged commit 65fcc74 into kagent-dev:main Nov 4, 2026
6 checks passed
EItanya added a commit that referenced this pull request Nov 7, 2026
* feat(helm): configure the egress proxy log level (#119)

(cherry picked from commit 65fcc74)

* kubectl-ate: add install and status commands (#138)

* kubectl-ate: add install and status commands

kubectl ate install installs the substrate-crds, substrate-podcert,
substrate-atelet and substrate charts in order, from copies embedded in the
binary. It creates the CA pools, identity secrets and object store
credentials the charts expect. By default it applies a single-replica
PostgreSQL for evaluation.

--microvm stages the microVM guest assets in the object store and applies
the microvm SandboxConfig. The helm-e2e workflow now installs with
kubectl ate install --microvm.

kubectl ate status shows the releases and their workloads.

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

* tools/apitool: tidy go.mod for the Helm SDK dependencies

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

* kubectl-ate: name Helm's field manager kubectl-ate

Helm names its server-side apply manager after the binary, so rerunning
install from a renamed binary conflicted with the fields the first run
applied.

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

---------

Signed-off-by: Eitan Yarmush <eitan.yarmush@solo.io>
(cherry picked from commit 4e72650)

* kubectl-ate: add upgrade command (#139)

Upgrade moves the certificate controller, atelet, the CRDs, then the
substrate release to the embedded charts, and keeps each release's values.
It refuses downgrades, skipped minor releases and CRD changes that would
strand stored objects. --dry-run prints each release's manifest diff.

If the microvm SandboxConfig exists, upgrade stages the assets the new
release pins and reapplies it.

Signed-off-by: Eitan Yarmush <eitan.yarmush@solo.io>
(cherry picked from commit 340d5cf)

* kubectl-ate: add uninstall command (#140)

* kubectl-ate: add uninstall command

Uninstall deletes every WorkerPool and waits for ate-controller to finalize
them. Then it uninstalls the releases in reverse order and removes the
bundled PostgreSQL. CRDs, CA keys, secrets and volumes stay unless
--include-crds or --purge is set.

The RustFS PVC gets helm.sh/resource-policy: keep, so helm uninstall keeps
the snapshots the database refers to.

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

* manifests: render the RustFS volume keep annotation

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

---------

Signed-off-by: Eitan Yarmush <eitan.yarmush@solo.io>
(cherry picked from commit 65cb208)

* kubectl-ate: show install progress in a TUI (#141)

* kubectl-ate: show install progress in a TUI

On a terminal, install, upgrade and uninstall draw a live step list, and
Ctrl+C cancels the running step. A bare kubectl ate install on a terminal
asks for its options and prints the matching command. --no-tui and -v
print plain lines.

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

* kubectl-ate: skip the install wizard when flags are set

LocalNonPersistentFlags returns a new FlagSet whose NFlag is always 0,
so install asked for its options even with --microvm or -f set. Check
each flag's Changed instead.

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

---------

Signed-off-by: Eitan Yarmush <eitan.yarmush@solo.io>
(cherry picked from commit 81ee5e0)

* kubectl-ate: configure install, upgrade and uninstall with a config file (#144)

* kubectl-ate: configure install, upgrade and uninstall with a config file

Install options came from a set of flags that scripts had to repeat on
every run. A YAML config, from a file or stdin with -c -, replaces them.
The wizard prints the config it built so the next run can skip it.

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

* kubectl-ate: set Helm values per release in the install config

releases.all applies to every release except substrate-crds, and
releases.podcert, atelet and substrate add values for one release.

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

* helm-e2e: give each release only the values it reads

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

---------

Signed-off-by: Eitan Yarmush <eitan.yarmush@solo.io>
(cherry picked from commit 04d9321)

* Merge pull request #146 from kagent-dev/helm-e2e-full

helm-e2e: run every suite on both runtimes
(cherry picked from commit c070968)

* ci: restore the Go build cache from main in run-tests and helm-e2e (#147)

setup-go keys its cache on go.sum with no fallback, so a PR that changes
go.sum built from scratch and saved its own 3.6GB copy. run-tests now
restores the latest main cache by prefix and saves only on main.
helm-e2e reuses the e2e job's cache.

Signed-off-by: Eitan Yarmush <eitan.yarmush@solo.io>
(cherry picked from commit 1a65fa0)

---------

Signed-off-by: Eitan Yarmush <eitan.yarmush@solo.io>
Co-authored-by: Taras Lykhenko <18290033+TarasLykhenko@users.noreply.github.com>
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.

2 participants