Skip to content

Comments

fix: ensure ambient mode is the default in all operator code#2326

Merged
mjnagel merged 5 commits intomainfrom
fix-ambient-default-mode
Jan 29, 2026
Merged

fix: ensure ambient mode is the default in all operator code#2326
mjnagel merged 5 commits intomainfrom
fix-ambient-default-mode

Conversation

@mjnagel
Copy link
Contributor

@mjnagel mjnagel commented 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

  • 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

@mjnagel mjnagel self-assigned this Jan 29, 2026
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 an istioMode that defaults to Mode.Ambient when serviceMesh.mode is 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
joelmccoy previously approved these changes Jan 29, 2026
@mjnagel mjnagel marked this pull request as ready for review January 29, 2026 18:27
@mjnagel mjnagel requested a review from a team as a code owner January 29, 2026 18:27
@mjnagel mjnagel merged commit bda5384 into main Jan 29, 2026
42 of 43 checks passed
@mjnagel mjnagel deleted the fix-ambient-default-mode branch January 29, 2026 18:37
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
…(backport-0.60) (#2327)

Backport of commit: bda5384

Co-authored-by: Micah Nagel <micah.nagel@defenseunicorns.com>
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>
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.

3 participants