Commit Graph

18 Commits

Author SHA1 Message Date
Francisco Herrera 87475465cd
feat: add spaceDelimitedClaims field to RequestAuthentication API (#3547)
Signed-off-by: Francisco Herrera <fjglira@gmail.com>
2025-09-22 20:44:28 -07:00
jacob-delgado d9ba074fd3
update go.mod dependencies (#3541)
* update deps

* use go 1.23, not go 1.24

* make gen

* fix: non-constant format string in call to fmt.Errorf
2025-07-17 12:38:43 -04:00
John Howard 0e96d7b671
AuthorizationPolicy serviceAccount: allow same namespace (#3417) 2025-01-20 21:19:57 -05:00
John Howard 27d505cbdb
AuthorizationPolicy: add `serviceAccounts` field (#3340)
* AuthorizationPolicy: add `serviceAccounts` field

This is a minor implementation complexity in favor of a dramatic
simplification to usage of Istio authorization.

Today, if a user wants to dive into zero-trust 101, they are presented
with a requirement to set `principals`: `A list of peer identities
derived from the peer certificate`, and write
`<TRUST_DOMAIN>/ns/<NAMESPACE>/sa/<SERVICE_ACCOUNT>`.

This simple sentance is a huge cognitive overload for users in my
experience working with users, and unnecesarily pushes SPIFFE, trust
domains, and other unneccesary concepts onto users. Additionally, the
requirement to set 'trust domain', which is overwhelmingly not desired
by users who just want SA auth, leads to all sorts of wonky workarounds
in Istio like `cluster.local` being a magic value.

Instead, we just add a SA field directly. This takes the format `ns/sa`,
as you cannot safely reference a SA without a namespace field as well.
Note we do this, rather than just require you to set 'service account' and 'namespace'
as individual fields, since you could have `namespace=[a,b],sa=[d,e]`
which is ambiguous.

If this is directionally approved, I will add some more documentation
and CEL validation and testing.

* Tests and validation

* add doc

* Clarify comment that this is a KSA
2024-12-18 16:55:32 -05:00
John Howard 2ee8e3cf06
Fix over-correcting new SE CEL validation (#3320)
Adds regression test and fixes the issue
2024-10-10 15:17:46 -04:00
Frédéric Gaudet 2397ade04b
feat(DestinationRules): Adding aggression and min_weight_percent to DestinationRules API (#3216)
* feat(): Adding aggression and min_weight_percent to DestinationRules API

Signed-off-by: Frédéric Gaudet <frederic.gaudet@blablacar.com>

* feat(): Wrapping slowStart parameters

Signed-off-by: Frédéric Gaudet <frederic.gaudet@blablacar.com>

* feat(): Adding aggression and min_weight_percent to DestinationRules API

Signed-off-by: Frédéric Gaudet <frederic.gaudet@blablacar.com>

* Update networking/v1alpha3/destination_rule.proto

Co-authored-by: John Howard <john.howard@solo.io>

* feat(): Regenerating protos

Signed-off-by: Frédéric Gaudet <frederic.gaudet@blablacar.com>

* feat(): Update documentation

Signed-off-by: Frédéric Gaudet <frederic.gaudet@blablacar.com>

* feat(): Adding validation in LoadBalancerSettings

Signed-off-by: Frédéric Gaudet <frederic.gaudet@blablacar.com>

* feat(): Adding tests and comments

Signed-off-by: Frédéric Gaudet <frederic.gaudet@blablacar.com>

* feat(): Fixing tests

Signed-off-by: Frédéric Gaudet <frederic.gaudet@blablacar.com>

* feat(): Make Duration field required

Signed-off-by: Frédéric Gaudet <frederic.gaudet@blablacar.com>

* feat(): Gen files

Signed-off-by: Frédéric Gaudet <frederic.gaudet@blablacar.com>

---------

Signed-off-by: Frédéric Gaudet <frederic.gaudet@blablacar.com>
Co-authored-by: John Howard <john.howard@solo.io>
2024-10-08 06:26:45 -04:00
John Howard eb7df4d4b4
Add CEL validation to SE and WG (#3302)
* Add CEL validation to SE and WG

* fix bad validation
2024-10-02 14:37:29 -04:00
John Howard 1708641991
Improve validation for targetRefs (#3312)
Per
https://gateway-api.sigs.k8s.io/geps/gep-2648/?h=targetrefs#multiple,
only 16 max allowed -- which is quite reasonable.

Additionally, consistently allow only workloadSelector OR targetRef; we
had this only on some types
2024-09-26 16:04:24 -04:00
John Howard b960de3424
validation: add CEL validation to workload entry (#3235)
* validation: add CEL validation to workload entry

* more
2024-07-15 09:46:14 -04:00
John Howard 0dbacc0160
CEL Validations for ProxyConfig, RequestAuthentication, and PeerAuthentication (#3223)
* Add CEL validation for ProxyConfig

* add PA

* Add RequestAuthentication

* allow empty validation

* validate groups

* oops

* gen

* fix
2024-06-04 17:16:07 -04:00
John Howard 1bd7c057ee
Fix CEL validation on older k8s versions (#3219)
* Fix CEL validation on older k8s versions

Also add testing so we can catch this (though its tied to a single k8s
version, so its not perfect -- but should be able to catch most cases).

CEL before k8s 1.30 did not estimate the cost correctly so its basically
impossible

* actually keep it
2024-05-31 11:21:11 -04:00
John Howard 638ceb91b1
Improvements to CEL validations (#3218)
* Validate wildcard label selectors

* More CEL improvements

This gives WasmPlugin and Telemetry full parity with the webhook.
Verified by fuzzing, which I will merge into istio/istio after this
(tests fail before this lands)
2024-05-29 22:58:03 -04:00
dependabot[bot] 209833968f
Bump golang.org/x/net from 0.19.0 to 0.23.0 in /tests (#3164)
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.19.0 to 0.23.0.
- [Commits](https://github.com/golang/net/compare/v0.19.0...v0.23.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-22 09:29:24 -07:00
dependabot[bot] 65c5c282bf
Bump google.golang.org/protobuf from 1.31.0 to 1.33.0 in /tests (#3123)
Bumps google.golang.org/protobuf from 1.31.0 to 1.33.0.

---
updated-dependencies:
- dependency-name: google.golang.org/protobuf
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-13 20:33:34 -07:00
jacob-delgado 412dcc8314
Update test dependencies (#3029)
* Update test dependencies

* fix cel-go
2023-12-14 18:06:33 -08:00
dependabot[bot] 4f180435eb
Bump golang.org/x/net from 0.14.0 to 0.17.0 in /tests (#3027)
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.14.0 to 0.17.0.
- [Commits](https://github.com/golang/net/compare/v0.14.0...v0.17.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-14 15:35:32 -08:00
John Howard 7616d8fa4f
telemetry: add native CRD validation (#2971) 2023-10-23 18:03:02 -07:00
John Howard a53bf82349
Adopt CRD native validation (#2951)
* Adopt CRD native validation: WasmPlugin

* fix banner

* Hide confusing errors
2023-10-16 12:49:37 -07:00