Skip to content

feat!: only allow creation of one UDSPackage per namespace#1372

Merged
noahpb merged 40 commits intomainfrom
feat/single-pkg-namespace
Apr 9, 2025
Merged

feat!: only allow creation of one UDSPackage per namespace#1372
noahpb merged 40 commits intomainfrom
feat/single-pkg-namespace

Conversation

@noahpb
Copy link
Copy Markdown
Contributor

@noahpb noahpb commented Mar 21, 2025

Description

This introduces a breaking change to the UDS Operator.

As part of our ongoing work to introduce ambient mesh support to UDS Core, we have made the decision to restrict consumers to creating one UDS Package custom resource in any given namespace. This PR introduces this change to the operator.

Notable changes:

  • Adds a new Pepr watch for UDSPackage
  • Adds a PackageStore intended to serve as an in-memory map of all namespaces that have packages
  • Adds a check to package validator that will block the creation of a UDSPackage if there is a preexisting UDSPackage in the target namespace

This change has limited backwards compatibility. Users with namespaces that have one or more Package CR may be prevented from making additional modifications to their existing Package CRs. Delete actions against these Package CRs will never be blocked, but updates/patches can be. Users are encouraged to elect a single Package CR to remain in the namespace and migrate configurations accordingly.

Related Issue

Fixes #1352

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)

Steps to Validate

# check out this branch and then run:
$ uds run dev-setup

# deploy the operator
$ npx pepr deploy

# create a test package in a valid namespace:
$ kubectl create ns test
$ kubectl apply -f - <<EOF
apiVersion: uds.dev/v1alpha1
kind: Package
metadata:
  name: foo
  labels: {}
  namespace: test
spec: {}
EOF
package.uds.dev/foo created

# create a new package in the same namespace:
$ kubectl apply -f - <<EOF
apiVersion: uds.dev/v1alpha1
kind: Package
metadata:
  name: foo-1
  labels: {}
  namespace: test
spec: {}
EOF
Error from server: error when creating "STDIN": admission webhook "pepr-uds-core.pepr.dev" denied the request: A package with the name "foo" already exists in the namespace "test". Only one package can exist in a namespace.

# apply an update to the existing package
$ kubectl apply -f - <<EOF
apiVersion: uds.dev/v1alpha1
kind: Package
metadata:
  name: foo
  namespace: test
spec: {}
EOF
package.uds.dev/foo configured

Checklist before merging

BEGIN_COMMIT_OVERRIDE
feat!: only allow creation of one UDSPackage per namespace (#1372)

BREAKING CHANGE: Package CR validation will now prevent creating multiple Package CRs in the same namespace. Ensure that you only have a single Package CR per namespace before this upgrade, otherwise you may be unable to update them going forward.
END_COMMIT_OVERRIDE

@noahpb noahpb marked this pull request as ready for review April 7, 2025 16:34
@noahpb noahpb requested a review from a team as a code owner April 7, 2025 16:34
Comment thread docs/reference/configuration/UDS operator/package.md Outdated
Comment thread src/pepr/operator/controllers/packages/package-store.spec.ts Outdated
Comment thread docs/reference/configuration/UDS operator/package.md
Comment thread src/pepr/operator/controllers/packages/packages.ts
Comment thread src/pepr/operator/controllers/packages/package-store.ts Outdated
Comment thread src/pepr/operator/controllers/packages/packages.ts
Comment thread docs/reference/configuration/UDS operator/package.md
Comment thread src/pepr/operator/controllers/packages/package-store.ts
Comment thread src/pepr/operator/controllers/packages/packages.ts
@slaskawi
Copy link
Copy Markdown
Contributor

slaskawi commented Apr 8, 2025

LGTM on my side

Comment thread src/pepr/operator/controllers/packages/package-store.ts Outdated
mjnagel
mjnagel previously approved these changes Apr 9, 2025
Copy link
Copy Markdown
Contributor

@mjnagel mjnagel left a comment

Choose a reason for hiding this comment

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

LGTM from a functional perspective. Two comments on cleaning/simplifying logic, but the current approach does work as well.

Comment thread src/pepr/operator/controllers/packages/package-store.ts Outdated
Comment thread src/pepr/operator/controllers/packages/packages.ts
@noahpb noahpb merged commit 2f4dbac into main Apr 9, 2025
22 checks passed
@noahpb noahpb deleted the feat/single-pkg-namespace branch April 9, 2025 17:41
mjnagel pushed a commit that referenced this pull request Apr 14, 2025
🤖 I have created a release *beep* *boop*
---


##
[0.40.0](v0.39.0...v0.40.0)
(2025-04-14)


### ⚠ BREAKING CHANGES

* ServiceMonitors and PodMonitors no longer require TLS configuration
for Istio, and may fail to scrape metrics if TLS configuration is
present. The UDS Operator will handle removing this configuration from
monitors in most cases, but may not update your monitor if TLS
configuration was directly added separate from the Operator's mutations.
In addition, the `istio-certs` and `exempt` scrape classes are no longer
supplied as part of the Prometheus setup and should not be set on your
monitoring resources going forward.
* `Package` CR validation will now prevent creating multiple `Package`
CRs in the same namespace. Ensure that you only have a single `Package`
CR per namespace before this upgrade, otherwise you may be unable to
update them going forward.
* Istio Ambient workloads are now included by default with UDS Core.
These workloads are now part of the `istio-controlplane` component
(previously part of the optional `istio-ambient` component) - any
override values/configuration should target this component instead of
`istio-ambient`.
* Theming configuration for removing additional registration fields has
moved under the `themeCustomizations` values
(`settings.enableRegistrationFields`). If overriding
`DISABLE_REGISTRATION_FIELDS` under `realmInitEnv`, you will need to
switch to this new value.

### Features

* add serviceMesh.mode in Package CR
([#1386](#1386))
([7e50b5d](7e50b5d))
* escape slashes in Keycloak Group names
([#1433](#1433))
([6b6be2d](6b6be2d))
* make istio ambient components default in uds core
([#1428](#1428))
([32d2752](32d2752))
* only allow creation of one `UDSPackage` per namespace
([#1372](#1372))
([2f4dbac](2f4dbac))
* opt prometheus stack into ambient
([#1445](#1445))
([793ccb8](793ccb8))
* recovering lost Keycloak credentials
([#1410](#1410))
([0f3b536](0f3b536))
* task cleanup for Keycloak
([#1448](#1448))
([5af6f2b](5af6f2b))


### Bug Fixes

* authpol remoteserviceaccount enablement
([#1415](#1415))
([c6ae565](c6ae565))
* conditional pepr build in tasks
([#1414](#1414))
([ea75df2](ea75df2))
* make exemptions conditional for `dev-setup`
([#1442](#1442))
([4d7b471](4d7b471))
* move disable registration fields to theme values
([#1397](#1397))
([61c67f0](61c67f0))
* remove flavor from dev deploy of prom CRDs task
([#1419](#1419))
([10c9ff2](10c9ff2))


### Miscellaneous

* **ci:** add e2e tests for cloud distros
([#1259](#1259))
([b116a96](b116a96))
* **deps:** update istio to v1.25.1
([#1387](#1387))
([c538ef4](c538ef4))
* **deps:** update loki
([#1349](#1349))
([f087f55](f087f55))
* **deps:** update loki to v3.4.3
([#1426](#1426))
([cc7fbd1](cc7fbd1))
* **deps:** update neuvector to 5.4.3
([#1368](#1368))
([6c4b44e](6c4b44e))
* **deps:** update prometheus-stack
([#1402](#1402))
([707b07d](707b07d))
* **deps:** update support dependencies to v3.28.14
([#1435](#1435))
([d29d1b5](d29d1b5))
* **deps:** update support dependencies to v3.28.15
([#1441](#1441))
([1e7ebce](1e7ebce))
* **deps:** update support dependencies to v3.4.8
([#1450](#1450))
([598242b](598242b))
* **deps:** update support dependencies to v4.6.1
([#1451](#1451))
([efb22ab](efb22ab))
* **deps:** update support-deps
([#1409](#1409))
([d1ade16](d1ade16))
* **deps:** update support-deps
([#1418](#1418))
([0eecf5f](0eecf5f))
* **deps:** update support-deps
([#1425](#1425))
([9b6f681](9b6f681))
* **deps:** update support-deps
([#1443](#1443))
([05def89](05def89))
* **deps:** update support-deps
([#1455](#1455))
([ccd72cf](ccd72cf))
* **deps:** update vector
([#1444](#1444))
([d36014d](d36014d))
* **deps:** update velero to v8.7.1
([#1391](#1391))
([ea4ed0f](ea4ed0f))
* **docs:** fix order of authpols doc
([#1408](#1408))
([ee55ab1](ee55ab1))
* prefer `===` for comparisons
([#1412](#1412))
([6963633](6963633))
* reduce sidecar cpu/memory requests for CI single-layer testing
([#1459](#1459))
([cc8c405](cc8c405))
* remove watch and conditional logic around ambient component
([#1447](#1447))
([d519af3](d519af3))
* update changelog
([#1406](#1406))
([4239d95](4239d95))


### Documentation

* fix Velero doc link path
([#1456](#1456))
([01cea57](01cea57))

---
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>
noahpb pushed a commit that referenced this pull request Apr 15, 2025
🤖 I have created a release *beep* *boop*
---


##
[0.40.0](v0.39.0...v0.40.0)
(2025-04-14)


### ⚠ BREAKING CHANGES

* ServiceMonitors and PodMonitors no longer require TLS configuration
for Istio, and may fail to scrape metrics if TLS configuration is
present. The UDS Operator will handle removing this configuration from
monitors in most cases, but may not update your monitor if TLS
configuration was directly added separate from the Operator's mutations.
In addition, the `istio-certs` and `exempt` scrape classes are no longer
supplied as part of the Prometheus setup and should not be set on your
monitoring resources going forward.
* `Package` CR validation will now prevent creating multiple `Package`
CRs in the same namespace. Ensure that you only have a single `Package`
CR per namespace before this upgrade, otherwise you may be unable to
update them going forward.
* Istio Ambient workloads are now included by default with UDS Core.
These workloads are now part of the `istio-controlplane` component
(previously part of the optional `istio-ambient` component) - any
override values/configuration should target this component instead of
`istio-ambient`.
* Theming configuration for removing additional registration fields has
moved under the `themeCustomizations` values
(`settings.enableRegistrationFields`). If overriding
`DISABLE_REGISTRATION_FIELDS` under `realmInitEnv`, you will need to
switch to this new value.

### Features

* add serviceMesh.mode in Package CR
([#1386](#1386))
([7e50b5d](7e50b5d))
* escape slashes in Keycloak Group names
([#1433](#1433))
([6b6be2d](6b6be2d))
* make istio ambient components default in uds core
([#1428](#1428))
([32d2752](32d2752))
* only allow creation of one `UDSPackage` per namespace
([#1372](#1372))
([2f4dbac](2f4dbac))
* opt prometheus stack into ambient
([#1445](#1445))
([793ccb8](793ccb8))
* recovering lost Keycloak credentials
([#1410](#1410))
([0f3b536](0f3b536))
* task cleanup for Keycloak
([#1448](#1448))
([5af6f2b](5af6f2b))


### Bug Fixes

* authpol remoteserviceaccount enablement
([#1415](#1415))
([c6ae565](c6ae565))
* conditional pepr build in tasks
([#1414](#1414))
([ea75df2](ea75df2))
* make exemptions conditional for `dev-setup`
([#1442](#1442))
([4d7b471](4d7b471))
* move disable registration fields to theme values
([#1397](#1397))
([61c67f0](61c67f0))
* remove flavor from dev deploy of prom CRDs task
([#1419](#1419))
([10c9ff2](10c9ff2))


### Miscellaneous

* **ci:** add e2e tests for cloud distros
([#1259](#1259))
([b116a96](b116a96))
* **deps:** update istio to v1.25.1
([#1387](#1387))
([c538ef4](c538ef4))
* **deps:** update loki
([#1349](#1349))
([f087f55](f087f55))
* **deps:** update loki to v3.4.3
([#1426](#1426))
([cc7fbd1](cc7fbd1))
* **deps:** update neuvector to 5.4.3
([#1368](#1368))
([6c4b44e](6c4b44e))
* **deps:** update prometheus-stack
([#1402](#1402))
([707b07d](707b07d))
* **deps:** update support dependencies to v3.28.14
([#1435](#1435))
([d29d1b5](d29d1b5))
* **deps:** update support dependencies to v3.28.15
([#1441](#1441))
([1e7ebce](1e7ebce))
* **deps:** update support dependencies to v3.4.8
([#1450](#1450))
([598242b](598242b))
* **deps:** update support dependencies to v4.6.1
([#1451](#1451))
([efb22ab](efb22ab))
* **deps:** update support-deps
([#1409](#1409))
([d1ade16](d1ade16))
* **deps:** update support-deps
([#1418](#1418))
([0eecf5f](0eecf5f))
* **deps:** update support-deps
([#1425](#1425))
([9b6f681](9b6f681))
* **deps:** update support-deps
([#1443](#1443))
([05def89](05def89))
* **deps:** update support-deps
([#1455](#1455))
([ccd72cf](ccd72cf))
* **deps:** update vector
([#1444](#1444))
([d36014d](d36014d))
* **deps:** update velero to v8.7.1
([#1391](#1391))
([ea4ed0f](ea4ed0f))
* **docs:** fix order of authpols doc
([#1408](#1408))
([ee55ab1](ee55ab1))
* prefer `===` for comparisons
([#1412](#1412))
([6963633](6963633))
* reduce sidecar cpu/memory requests for CI single-layer testing
([#1459](#1459))
([cc8c405](cc8c405))
* remove watch and conditional logic around ambient component
([#1447](#1447))
([d519af3](d519af3))
* update changelog
([#1406](#1406))
([4239d95](4239d95))


### Documentation

* fix Velero doc link path
([#1456](#1456))
([01cea57](01cea57))

---
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>
noahpb added a commit that referenced this pull request Apr 17, 2025
## Description
This introduces a breaking change to the UDS Operator. 

As part of our ongoing work to introduce ambient mesh support to UDS
Core, we have made the decision to restrict consumers to creating one
UDS Package custom resource in any given namespace. This PR introduces
this change to the operator.

Notable changes:
- Adds a new Pepr watch for `UDSPackage`
- Adds a `PackageStore` intended to serve as an in-memory map of all
namespaces that have packages
- Adds a check to package validator that will block the creation of a
UDSPackage if there is a preexisting UDSPackage in the target namespace

This change has limited backwards compatibility. Users with namespaces
that have one or more Package CR may be prevented from making additional
modifications to their existing Package CRs. Delete actions against
these Package CRs will never be blocked, but updates/patches can be.
Users are encouraged to elect a single Package CR to remain in the
namespace and migrate configurations accordingly.

## Related Issue

Fixes #1352

## Type of change

- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [x] Other (security config, docs update, etc)

## Steps to Validate
```bash
# check out this branch and then run:
$ uds run dev-setup

# deploy the operator
$ npx pepr deploy

# create a test package in a valid namespace:
$ kubectl create ns test
$ kubectl apply -f - <<EOF
apiVersion: uds.dev/v1alpha1
kind: Package
metadata:
  name: foo
  labels: {}
  namespace: test
spec: {}
EOF
package.uds.dev/foo created

# create a new package in the same namespace:
$ kubectl apply -f - <<EOF
apiVersion: uds.dev/v1alpha1
kind: Package
metadata:
  name: foo-1
  labels: {}
  namespace: test
spec: {}
EOF
Error from server: error when creating "STDIN": admission webhook "pepr-uds-core.pepr.dev" denied the request: A package with the name "foo" already exists in the namespace "test". Only one package can exist in a namespace.

# apply an update to the existing package
$ kubectl apply -f - <<EOF
apiVersion: uds.dev/v1alpha1
kind: Package
metadata:
  name: foo
  namespace: test
spec: {}
EOF
package.uds.dev/foo configured
```
## 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
noahpb pushed a commit that referenced this pull request Apr 17, 2025
🤖 I have created a release *beep* *boop*
---


##
[0.40.0](v0.39.0...v0.40.0)
(2025-04-14)


### ⚠ BREAKING CHANGES

* ServiceMonitors and PodMonitors no longer require TLS configuration
for Istio, and may fail to scrape metrics if TLS configuration is
present. The UDS Operator will handle removing this configuration from
monitors in most cases, but may not update your monitor if TLS
configuration was directly added separate from the Operator's mutations.
In addition, the `istio-certs` and `exempt` scrape classes are no longer
supplied as part of the Prometheus setup and should not be set on your
monitoring resources going forward.
* `Package` CR validation will now prevent creating multiple `Package`
CRs in the same namespace. Ensure that you only have a single `Package`
CR per namespace before this upgrade, otherwise you may be unable to
update them going forward.
* Istio Ambient workloads are now included by default with UDS Core.
These workloads are now part of the `istio-controlplane` component
(previously part of the optional `istio-ambient` component) - any
override values/configuration should target this component instead of
`istio-ambient`.
* Theming configuration for removing additional registration fields has
moved under the `themeCustomizations` values
(`settings.enableRegistrationFields`). If overriding
`DISABLE_REGISTRATION_FIELDS` under `realmInitEnv`, you will need to
switch to this new value.

### Features

* add serviceMesh.mode in Package CR
([#1386](#1386))
([7e50b5d](7e50b5d))
* escape slashes in Keycloak Group names
([#1433](#1433))
([6b6be2d](6b6be2d))
* make istio ambient components default in uds core
([#1428](#1428))
([32d2752](32d2752))
* only allow creation of one `UDSPackage` per namespace
([#1372](#1372))
([2f4dbac](2f4dbac))
* opt prometheus stack into ambient
([#1445](#1445))
([793ccb8](793ccb8))
* recovering lost Keycloak credentials
([#1410](#1410))
([0f3b536](0f3b536))
* task cleanup for Keycloak
([#1448](#1448))
([5af6f2b](5af6f2b))


### Bug Fixes

* authpol remoteserviceaccount enablement
([#1415](#1415))
([c6ae565](c6ae565))
* conditional pepr build in tasks
([#1414](#1414))
([ea75df2](ea75df2))
* make exemptions conditional for `dev-setup`
([#1442](#1442))
([4d7b471](4d7b471))
* move disable registration fields to theme values
([#1397](#1397))
([61c67f0](61c67f0))
* remove flavor from dev deploy of prom CRDs task
([#1419](#1419))
([10c9ff2](10c9ff2))


### Miscellaneous

* **ci:** add e2e tests for cloud distros
([#1259](#1259))
([b116a96](b116a96))
* **deps:** update istio to v1.25.1
([#1387](#1387))
([c538ef4](c538ef4))
* **deps:** update loki
([#1349](#1349))
([f087f55](f087f55))
* **deps:** update loki to v3.4.3
([#1426](#1426))
([cc7fbd1](cc7fbd1))
* **deps:** update neuvector to 5.4.3
([#1368](#1368))
([6c4b44e](6c4b44e))
* **deps:** update prometheus-stack
([#1402](#1402))
([707b07d](707b07d))
* **deps:** update support dependencies to v3.28.14
([#1435](#1435))
([d29d1b5](d29d1b5))
* **deps:** update support dependencies to v3.28.15
([#1441](#1441))
([1e7ebce](1e7ebce))
* **deps:** update support dependencies to v3.4.8
([#1450](#1450))
([598242b](598242b))
* **deps:** update support dependencies to v4.6.1
([#1451](#1451))
([efb22ab](efb22ab))
* **deps:** update support-deps
([#1409](#1409))
([d1ade16](d1ade16))
* **deps:** update support-deps
([#1418](#1418))
([0eecf5f](0eecf5f))
* **deps:** update support-deps
([#1425](#1425))
([9b6f681](9b6f681))
* **deps:** update support-deps
([#1443](#1443))
([05def89](05def89))
* **deps:** update support-deps
([#1455](#1455))
([ccd72cf](ccd72cf))
* **deps:** update vector
([#1444](#1444))
([d36014d](d36014d))
* **deps:** update velero to v8.7.1
([#1391](#1391))
([ea4ed0f](ea4ed0f))
* **docs:** fix order of authpols doc
([#1408](#1408))
([ee55ab1](ee55ab1))
* prefer `===` for comparisons
([#1412](#1412))
([6963633](6963633))
* reduce sidecar cpu/memory requests for CI single-layer testing
([#1459](#1459))
([cc8c405](cc8c405))
* remove watch and conditional logic around ambient component
([#1447](#1447))
([d519af3](d519af3))
* update changelog
([#1406](#1406))
([4239d95](4239d95))


### Documentation

* fix Velero doc link path
([#1456](#1456))
([01cea57](01cea57))

---
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>
mjnagel pushed a commit to BagelLab/uds-core that referenced this pull request Nov 14, 2025
…unicorns#1372)

## Description
This introduces a breaking change to the UDS Operator. 

As part of our ongoing work to introduce ambient mesh support to UDS
Core, we have made the decision to restrict consumers to creating one
UDS Package custom resource in any given namespace. This PR introduces
this change to the operator.

Notable changes:
- Adds a new Pepr watch for `UDSPackage`
- Adds a `PackageStore` intended to serve as an in-memory map of all
namespaces that have packages
- Adds a check to package validator that will block the creation of a
UDSPackage if there is a preexisting UDSPackage in the target namespace

This change has limited backwards compatibility. Users with namespaces
that have one or more Package CR may be prevented from making additional
modifications to their existing Package CRs. Delete actions against
these Package CRs will never be blocked, but updates/patches can be.
Users are encouraged to elect a single Package CR to remain in the
namespace and migrate configurations accordingly.

## Related Issue

Fixes defenseunicorns#1352

## Type of change

- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [x] Other (security config, docs update, etc)

## Steps to Validate
```bash
# check out this branch and then run:
$ uds run dev-setup

# deploy the operator
$ npx pepr deploy

# create a test package in a valid namespace:
$ kubectl create ns test
$ kubectl apply -f - <<EOF
apiVersion: uds.dev/v1alpha1
kind: Package
metadata:
  name: foo
  labels: {}
  namespace: test
spec: {}
EOF
package.uds.dev/foo created

# create a new package in the same namespace:
$ kubectl apply -f - <<EOF
apiVersion: uds.dev/v1alpha1
kind: Package
metadata:
  name: foo-1
  labels: {}
  namespace: test
spec: {}
EOF
Error from server: error when creating "STDIN": admission webhook "pepr-uds-core.pepr.dev" denied the request: A package with the name "foo" already exists in the namespace "test". Only one package can exist in a namespace.

# apply an update to the existing package
$ kubectl apply -f - <<EOF
apiVersion: uds.dev/v1alpha1
kind: Package
metadata:
  name: foo
  namespace: test
spec: {}
EOF
package.uds.dev/foo configured
```
## 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
mjnagel pushed a commit to BagelLab/uds-core that referenced this pull request Nov 14, 2025
🤖 I have created a release *beep* *boop*
---


##
[0.40.0](defenseunicorns/uds-core@v0.39.0...v0.40.0)
(2025-04-14)


### ⚠ BREAKING CHANGES

* ServiceMonitors and PodMonitors no longer require TLS configuration
for Istio, and may fail to scrape metrics if TLS configuration is
present. The UDS Operator will handle removing this configuration from
monitors in most cases, but may not update your monitor if TLS
configuration was directly added separate from the Operator's mutations.
In addition, the `istio-certs` and `exempt` scrape classes are no longer
supplied as part of the Prometheus setup and should not be set on your
monitoring resources going forward.
* `Package` CR validation will now prevent creating multiple `Package`
CRs in the same namespace. Ensure that you only have a single `Package`
CR per namespace before this upgrade, otherwise you may be unable to
update them going forward.
* Istio Ambient workloads are now included by default with UDS Core.
These workloads are now part of the `istio-controlplane` component
(previously part of the optional `istio-ambient` component) - any
override values/configuration should target this component instead of
`istio-ambient`.
* Theming configuration for removing additional registration fields has
moved under the `themeCustomizations` values
(`settings.enableRegistrationFields`). If overriding
`DISABLE_REGISTRATION_FIELDS` under `realmInitEnv`, you will need to
switch to this new value.

### Features

* add serviceMesh.mode in Package CR
([defenseunicorns#1386](defenseunicorns#1386))
([7e50b5d](defenseunicorns@7e50b5d))
* escape slashes in Keycloak Group names
([defenseunicorns#1433](defenseunicorns#1433))
([6b6be2d](defenseunicorns@6b6be2d))
* make istio ambient components default in uds core
([defenseunicorns#1428](defenseunicorns#1428))
([32d2752](defenseunicorns@32d2752))
* only allow creation of one `UDSPackage` per namespace
([defenseunicorns#1372](defenseunicorns#1372))
([2f4dbac](defenseunicorns@2f4dbac))
* opt prometheus stack into ambient
([defenseunicorns#1445](defenseunicorns#1445))
([793ccb8](defenseunicorns@793ccb8))
* recovering lost Keycloak credentials
([defenseunicorns#1410](defenseunicorns#1410))
([0f3b536](defenseunicorns@0f3b536))
* task cleanup for Keycloak
([defenseunicorns#1448](defenseunicorns#1448))
([5af6f2b](defenseunicorns@5af6f2b))


### Bug Fixes

* authpol remoteserviceaccount enablement
([defenseunicorns#1415](defenseunicorns#1415))
([c6ae565](defenseunicorns@c6ae565))
* conditional pepr build in tasks
([defenseunicorns#1414](defenseunicorns#1414))
([ea75df2](defenseunicorns@ea75df2))
* make exemptions conditional for `dev-setup`
([defenseunicorns#1442](defenseunicorns#1442))
([4d7b471](defenseunicorns@4d7b471))
* move disable registration fields to theme values
([defenseunicorns#1397](defenseunicorns#1397))
([61c67f0](defenseunicorns@61c67f0))
* remove flavor from dev deploy of prom CRDs task
([defenseunicorns#1419](defenseunicorns#1419))
([10c9ff2](defenseunicorns@10c9ff2))


### Miscellaneous

* **ci:** add e2e tests for cloud distros
([defenseunicorns#1259](defenseunicorns#1259))
([b116a96](defenseunicorns@b116a96))
* **deps:** update istio to v1.25.1
([defenseunicorns#1387](defenseunicorns#1387))
([c538ef4](defenseunicorns@c538ef4))
* **deps:** update loki
([defenseunicorns#1349](defenseunicorns#1349))
([f087f55](defenseunicorns@f087f55))
* **deps:** update loki to v3.4.3
([defenseunicorns#1426](defenseunicorns#1426))
([cc7fbd1](defenseunicorns@cc7fbd1))
* **deps:** update neuvector to 5.4.3
([defenseunicorns#1368](defenseunicorns#1368))
([6c4b44e](defenseunicorns@6c4b44e))
* **deps:** update prometheus-stack
([defenseunicorns#1402](defenseunicorns#1402))
([707b07d](defenseunicorns@707b07d))
* **deps:** update support dependencies to v3.28.14
([defenseunicorns#1435](defenseunicorns#1435))
([d29d1b5](defenseunicorns@d29d1b5))
* **deps:** update support dependencies to v3.28.15
([defenseunicorns#1441](defenseunicorns#1441))
([1e7ebce](defenseunicorns@1e7ebce))
* **deps:** update support dependencies to v3.4.8
([defenseunicorns#1450](defenseunicorns#1450))
([598242b](defenseunicorns@598242b))
* **deps:** update support dependencies to v4.6.1
([defenseunicorns#1451](defenseunicorns#1451))
([efb22ab](defenseunicorns@efb22ab))
* **deps:** update support-deps
([defenseunicorns#1409](defenseunicorns#1409))
([d1ade16](defenseunicorns@d1ade16))
* **deps:** update support-deps
([defenseunicorns#1418](defenseunicorns#1418))
([0eecf5f](defenseunicorns@0eecf5f))
* **deps:** update support-deps
([defenseunicorns#1425](defenseunicorns#1425))
([9b6f681](defenseunicorns@9b6f681))
* **deps:** update support-deps
([defenseunicorns#1443](defenseunicorns#1443))
([05def89](defenseunicorns@05def89))
* **deps:** update support-deps
([defenseunicorns#1455](defenseunicorns#1455))
([ccd72cf](defenseunicorns@ccd72cf))
* **deps:** update vector
([defenseunicorns#1444](defenseunicorns#1444))
([d36014d](defenseunicorns@d36014d))
* **deps:** update velero to v8.7.1
([defenseunicorns#1391](defenseunicorns#1391))
([ea4ed0f](defenseunicorns@ea4ed0f))
* **docs:** fix order of authpols doc
([defenseunicorns#1408](defenseunicorns#1408))
([ee55ab1](defenseunicorns@ee55ab1))
* prefer `===` for comparisons
([defenseunicorns#1412](defenseunicorns#1412))
([6963633](defenseunicorns@6963633))
* reduce sidecar cpu/memory requests for CI single-layer testing
([defenseunicorns#1459](defenseunicorns#1459))
([cc8c405](defenseunicorns@cc8c405))
* remove watch and conditional logic around ambient component
([defenseunicorns#1447](defenseunicorns#1447))
([d519af3](defenseunicorns@d519af3))
* update changelog
([defenseunicorns#1406](defenseunicorns#1406))
([4239d95](defenseunicorns@4239d95))


### Documentation

* fix Velero doc link path
([defenseunicorns#1456](defenseunicorns#1456))
([01cea57](defenseunicorns@01cea57))

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

Restrict usage of multiple Package CRs in a single namespace

4 participants