fix: ensure ambient mode is the default in all operator code#2326
Merged
fix: ensure ambient mode is the default in all operator code#2326
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR standardizes operator behavior so that Ambient is treated as the default service mesh mode whenever spec.network.serviceMesh.mode is omitted, and adjusts tests and sample manifests accordingly.
Changes:
- Updated operator controllers (
package-store, authorization policies, waypoint utilities, and ambient waypoint reconciler) to compute anistioModethat defaults toMode.AmbientwhenserviceMesh.modeis undefined. - Adjusted unit tests to reflect Ambient-as-default semantics and to explicitly cover Sidecar behavior in relevant scenarios.
- Updated the test chart package manifest to rely on the default mesh mode instead of explicitly setting
serviceMesh.mode: ambient.
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
src/test/chart/templates/package.yaml |
Updates the test chart package to rely on the default mesh mode instead of explicitly specifying Ambient. |
src/pepr/operator/controllers/packages/package-store.ts |
Changes getAmbientPackages to treat missing serviceMesh.mode as Ambient via a defaulted istioMode. |
src/pepr/operator/controllers/packages/package-store.spec.ts |
Updates tests for getAmbientPackages to assert that packages with empty network are treated as Ambient and that explicit Sidecar remains non-ambient. |
src/pepr/operator/controllers/network/authorizationPolicies.ts |
Updates findMatchingSsoClient to use a defaulted istioMode so packages without serviceMesh.mode are treated as Ambient. |
src/pepr/operator/controllers/network/authorizationPolicies.spec.ts |
Adds a Sidecar-mode configuration in an existing test and keeps explicit ambient/sidecar cases for authorization policy behavior. |
src/pepr/operator/controllers/istio/waypoint-utils.ts |
Updates shouldUseAmbientWaypoint to default istioMode to Ambient when serviceMesh.mode is missing. |
src/pepr/operator/controllers/istio/waypoint-utils.spec.ts |
Adjusts the test matrix so that a package with no serviceMesh config is expected to use ambient waypoint (Ambient default). |
src/pepr/operator/controllers/istio/ambient-waypoint.ts |
Updates service and pod reconciliation to gate behavior on a defaulted istioMode, treating missing serviceMesh.mode as Ambient when deciding whether to add waypoint labels. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
joelmccoy
previously approved these changes
Jan 29, 2026
chance-coleman
approved these changes
Jan 29, 2026
joelmccoy
approved these changes
Jan 29, 2026
slaskawi
pushed a commit
that referenced
this pull request
Jan 29, 2026
## Description Updates operator code to ensure Ambient mode is set as the default mode in all places checking `pkg.spec.network.serviceMesh.mode`. ## Related Issue Known issues in 0.60.0 ## Type of change - [x] Bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Other (security config, docs update, etc) ## Checklist before merging - [x] Test, docs, adr added or updated as needed - [x] [Contributor Guide](https://github.com/defenseunicorns/uds-template-capability/blob/main/CONTRIBUTING.md) followed (cherry picked from commit bda5384)
slaskawi
added a commit
that referenced
this pull request
Jan 29, 2026
chance-coleman
pushed a commit
that referenced
this pull request
Jan 29, 2026
🤖 I have created a release *beep* *boop* --- ## [0.60.1](v0.60.0...v0.60.1) (2026-01-29) ### Bug Fixes * ensure ambient mode is the default in all operator code ([#2326](#2326)) (backport-0.60) ([#2327](#2327)) ([287ab4d](287ab4d)) ### Miscellaneous * chore(deps): update keycloak to v26.5.2 ([#2297](#2297)) (backport-0.60) ([#2328](#2328)) ([287ab4d](6e5db83)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Sebastian Łaskawiec <sebastian.laskawiec@defenseunicorns.com>
chance-coleman
added a commit
that referenced
this pull request
Feb 10, 2026
🤖 I have created a release *beep* *boop* --- ## [0.61.0](v0.60.0...v0.61.0) (2026-02-10) ### Features * add blackbox exporter to uds-core as optional component ([#2314](#2314)) ([2f08ee5](2f08ee5)) * automount uds trust bundle to all applications ([#2337](#2337)) ([ce66203](ce66203)) * cluster-less crd pipeline ([#2316](#2316)) ([5128ffb](5128ffb)) * improve Keycloak availability ([#2334](#2334)) ([a306465](a306465)) ### Bug Fixes * cleanup zarf --no-progress deprecation ([#2352](#2352)) ([78d3b15](78d3b15)) * ensure ambient mode is the default in all operator code ([#2326](#2326)) ([bda5384](bda5384)) * multiarch script output ([#2338](#2338)) ([457d9b3](457d9b3)) * validate authservice callback uri + redirect uri ([#2349](#2349)) ([0ae9121](0ae9121)) ### Miscellaneous * bump eks/aks k8s to 1.34 ([#2339](#2339)) ([4145337](4145337)) * crd versioning adr ([#2308](#2308)) ([f1e5a86](f1e5a86)) * **deps:** bump @isaacs/brace-expansion from 5.0.0 to 5.0.1 ([#2336](#2336)) ([5db96c7](5db96c7)) * **deps:** bump lodash from 4.17.21 to 4.17.23 ([#2319](#2319)) ([ad29405](ad29405)) * **deps:** update grafana ([#2257](#2257)) ([74ad882](74ad882)) * **deps:** update keycloak to v26.5.2 ([#2297](#2297)) ([e393a3d](e393a3d)) * **deps:** update loki ([#2265](#2265)) ([e12859b](e12859b)) * **deps:** update metrics-server to v0.8.1 ([#2324](#2324)) ([a48c45a](a48c45a)) * **deps:** update pepr to v1.0.8 ([#2320](#2320)) ([b4b1b48](b4b1b48)) * **deps:** update vector ([#2315](#2315)) ([872f083](872f083)) * remove deprecated devDep for root-ca script ([#2342](#2342)) ([616fbdb](616fbdb)) * update uds package icon to new doug logo ([#2353](#2353)) ([77150aa](77150aa)) ### Documentation * add clarity on label placement for reload ([#2330](#2330)) ([1a2515f](1a2515f)) * fix broken link and adjust markdown annotation ([#2331](#2331)) ([5d542a3](5d542a3)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Chance Coleman <139784371+chance-coleman@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Updates operator code to ensure Ambient mode is set as the default mode in all places checking
pkg.spec.network.serviceMesh.mode.Related Issue
Known issues in 0.60.0
Type of change
Checklist before merging