Commit Graph

212 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
Faseela K 4e0bbe7a60
Migrate storage version of security APIs to v1 (#3567)
* Migrate storage version of security APIs to v1

Signed-off-by: Faseela K <faseela.k@est.tech>

* add release notes

Signed-off-by: Faseela K <faseela.k@est.tech>

---------

Signed-off-by: Faseela K <faseela.k@est.tech>
2025-09-22 11:09:13 -07:00
Rama Chavali 39b0069968
add support for additional cookie attributes (#3523)
Signed-off-by: Rama Chavali <rama.rao@salesforce.com>
2025-09-20 00:11:10 -07:00
Sergei Nikolaev 35764fa2f6
feat: add tls.caCertCredentialName (#3544)
* feat: add tls.caCertCredentialName

Signed-off-by: Sergei Nikolaev <kinolaev@gmail.com>

* chore: add release note

Signed-off-by: Sergei Nikolaev <kinolaev@gmail.com>

---------

Signed-off-by: Sergei Nikolaev <kinolaev@gmail.com>
2025-07-31 17:27:05 -04:00
zirain 09a4d534f2
add RetryBudget in DestinationRule (#3512)
* add RetryBudget in DestinationRule

* address comment

* gen

Signed-off-by: zirain <zirain2009@gmail.com>

---------

Signed-off-by: zirain <zirain2009@gmail.com>
2025-06-25 12:53:18 -04:00
Tyler Schade 47c8bc9152
remove required validation for JWTRule issuer field (#3504)
Signed-off-by: tjons <tylerschade99@gmail.com>
2025-05-22 10:13:22 -04:00
Rama Chavali 11442f3c76
hide ca cert from tls certificates (#3495)
* hide ca cert from tls certificates

Signed-off-by: Rama Chavali <rama.rao@salesforce.com>

* fix hide

Signed-off-by: Rama Chavali <rama.rao@salesforce.com>

---------

Signed-off-by: Rama Chavali <rama.rao@salesforce.com>
2025-05-05 09:52:43 -04:00
Faseela K 6944c75efc
Migrate storage version of networking APIs to v1 (#3498)
* Migrate storage version of networking APIs to v1

Signed-off-by: Faseela K <faseela.k@est.tech>

* add release notes

Signed-off-by: Faseela K <faseela.k@est.tech>

* fix release notes

Signed-off-by: Faseela K <faseela.k@est.tech>

* generate crds

Signed-off-by: Faseela K <faseela.k@est.tech>

---------

Signed-off-by: Faseela K <faseela.k@est.tech>
2025-05-02 05:35:47 -04:00
Adesh Ghadage d4002d7d0b
Update refdocs to use markdown links and standardize HTTP/2 notation in master (#3430)
* update-refdocs-master-brokenUrl

* update-refdocs-release-1.24-brokenUrl

* updatedoc

* Regenerate API docs after changes

* Update networking/v1alpha3/destination_rule.proto

Co-authored-by: Craig Box <craig.box@gmail.com>

* Update networking/v1alpha3/destination_rule.proto

Co-authored-by: Craig Box <craig.box@gmail.com>

* Update networking/v1alpha3/destination_rule.proto

Co-authored-by: Craig Box <craig.box@gmail.com>

* Updated refdoc

---------

Co-authored-by: Craig Box <craig.box@gmail.com>
2025-05-02 05:35:39 -04:00
Adam Cattermole 5e743e9aad
Add wasm plugin fail strategy reload (#3471) 2025-05-01 22:08:39 -04:00
Rama Chavali ffa4a971b2
add ecdsa certificate support at gateways (#3466)
* add ecdsa certificate support at gateways

Signed-off-by: Rama Chavali <rama.rao@salesforce.com>

* add support for certs

Signed-off-by: Rama Chavali <rama.rao@salesforce.com>

* add cel validations

Signed-off-by: Rama Chavali <rama.rao@salesforce.com>

* add comments for subject alt names

Signed-off-by: Rama Chavali <rama.rao@salesforce.com>

* clean gen

Signed-off-by: Rama Chavali <rama.rao@salesforce.com>

* fix validations

Signed-off-by: Rama Chavali <rama.rao@salesforce.com>

* fix message

Signed-off-by: Rama Chavali <rama.rao@salesforce.com>

---------

Signed-off-by: Rama Chavali <rama.rao@salesforce.com>
2025-03-26 10:16:51 -04:00
Rama Chavali 81bc1902f4
add retry backoff interval (#3461)
* add retry backoff interval

Signed-off-by: Rama Chavali <rama.rao@salesforce.com>

* add more docs

Signed-off-by: Rama Chavali <rama.rao@salesforce.com>

---------

Signed-off-by: Rama Chavali <rama.rao@salesforce.com>
2025-03-20 03:33:41 -04:00
Leonardo Sarra 041c225b6e
Remove non-zero requirement on connectionPool.tcp.IdleTimeout (#3455) 2025-03-07 13:51:03 -05:00
Rama Chavali e40a0163c7
add retry host predicate api (#3432)
Signed-off-by: Rama Chavali <rama.rao@salesforce.com>
2025-02-22 02:11:53 -05:00
Ian Rudie 03360c1a87
Validation: remove CEL for PolicyTargetRef to allow vendor extensions (#3414)
* Validation: CEL adjusted to allow PolicyTargetReference to target gtwapi GatewayClass

Signed-off-by: Ian Rudie <ian.rudie@solo.io>

* adding releasenote

Signed-off-by: Ian Rudie <ian.rudie@solo.io>

* remove CEL validations for PolicyTargetRef to allow vendor extensions

Signed-off-by: Ian Rudie <ian.rudie@solo.io>

* remove centralized group/kind detail and move to where targetRef is used in resources

Signed-off-by: Ian Rudie <ian.rudie@solo.io>

---------

Signed-off-by: Ian Rudie <ian.rudie@solo.io>
2025-01-24 17:16:00 -05:00
Rama Chavali 5b3f065ee1
add domain name for virtual host match in envoy filters (#3376)
* add domain name for virtual host match in envoy filters

Signed-off-by: Rama Chavali <rama.rao@salesforce.com>

* update docs

Signed-off-by: Rama Chavali <rama.rao@salesforce.com>

* add examples

Signed-off-by: Rama Chavali <rama.rao@salesforce.com>

---------

Signed-off-by: Rama Chavali <rama.rao@salesforce.com>
2025-01-16 12:34:53 -05:00
John Howard a684e698b8
Validation: add documentation and use CEL pre-processor (#3333)
* Move to oneof

* more oneof

* simplify SE one

* simplify expressions

* add validation readme

* lint
2024-12-31 19:32:56 -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 8fb86e93bb
Add a new 'workload name' label override (#3374)
* Add a new 'workload name' label override

Today, we have a "workload name" concept that ends up in metrics.
This is defaulted to deriving from deployment metadata (Deployment name,
etc).

This approach is not perfect. We cannot always derive an appropriate
name (for instance, a Pod can be created directly!). WorkloadEntry,
which often is equvilent to Pod, is also using the WE name -- generally
we would want a higher order name there.

To fix this, I propose we add a label to explicitly specify the workload
name. This format mirrors the existing canonical-{service,revision}
label.

* regen
2024-12-16 15:04:26 -05:00
Craig Box 83045844df
Fix some proto descriptions (#3384)
* fix some protos

* change comments from proto_names to yamlCase

* missed some backticks

* add make gen from prow
2024-12-12 12:02:02 -05:00
Rudrakh Panigrahi f3e32c3b7a
support grpc probes for workload group health checks (#3372)
Signed-off-by: Rudrakh Panigrahi <rudrakh97@gmail.com>
2024-12-03 20:48:20 -05:00
Rama Chavali e14257a703
add option to skip istio specific tags in trace spans (#3322)
* add option to skip istio specific tags in trace spans

Signed-off-by: Rama Chavali <rama.rao@salesforce.com>

* move telemetry to boolean

Signed-off-by: Rama Chavali <rama.rao@salesforce.com>

---------

Signed-off-by: Rama Chavali <rama.rao@salesforce.com>
2024-11-01 11:11:52 -04:00
Tyler Schade 79c9bd45a8
Add ObservedGeneration field to IstioCondition (#3335)
* add observed generation to istiocondition

Signed-off-by: Tyler Schade <tyler.schade@solo.io>

* improve documentation

Signed-off-by: Tyler Schade <tyler.schade@solo.io>

* releasenotes

---------

Signed-off-by: Tyler Schade <tyler.schade@solo.io>
2024-10-28 11:45:52 -04: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
Istio Automation 9f3acff60b
Automator: update common-files@master in istio/api@master (#3324) 2024-10-04 20:47:01 -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 abec44418d
Pick up changes to CRD template naming and fix excessive WG validation (#3295)
* Rename tag names

* Drop embedding address validation in WG
2024-08-20 17:22:23 -04:00
John Howard 40f6cfad56
Regen after intorstr changes (#3283) 2024-07-29 13:47:35 -04:00
John Howard 8636ed9638
Improve OutboundTrafficPolicy docs (#3270)
This is a bit of a mess since its documented in 3 places * 2 resources.

Meaningful changes:
* Explain registry only != security
* Remove recommendation to use registry_only, but explain why someone
  might
2024-07-26 17:23:32 -04:00
John Howard 67bf1e8c5c
Make observedGeneration intOrStr (#3273)
int64 in proto is encoded to json as a string. To support this, we make
it accept either form.

Without this, istio fails to write the status. See
https://github.com/istio/istio/pull/52159.

Note: this is only an issue now since we just added schema validation
for status.
2024-07-26 17:20:31 -04:00
John Howard 8dd4b42e93
Allow targetRef to SE (#3271) 2024-07-22 14:01:30 -04:00
Istio Automation e644051774
Automator: update common-files@master in istio/api@master (#3272) 2024-07-18 12:31:20 -04:00
John Howard ba230b0fea
Make TTL allow duration=0s again (#3260) 2024-07-15 11:21:14 -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
Faseela K f7eee428a9
fix re2 link (#3229)
* fix re2 link

Signed-off-by: Faseela K <faseela.k@est.tech>

* generate crd

Signed-off-by: Faseela K <faseela.k@est.tech>

---------

Signed-off-by: Faseela K <faseela.k@est.tech>
2024-06-06 16:05:34 -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
John Howard 9ed092e1a0
Allow defining CRDs from a single version (#3186)
* Allow defining CRDs from a single version

Part of https://github.com/istio/api/issues/3127. Goes with a
corresponding tools change; this will fail until that merges.

This just shows DR. The tool will support both the new and old way (we
can remove the old way if we want), so we don't have to move everything
at once. We will, though. I kept it to one so its easy to review first.

* Move all APIs over
2024-05-14 15:09:49 -07:00
zirain 188722e5ed
cors: add unmatched_preflights (#3171)
* cors: add forward_not_matching_preflights

* rename

* update with rama's comment

* use Enum instead of bool

* address john's suggestion
2024-05-09 13:59:52 -07:00
Jackie Elliott 5b08a315cb
Add docs and examples for path templating (#3162)
* Add docs and examples for path templating

Signed-off-by: Jackie Elliott <jaellio@microsoft.com>

* Clarify path segment vs glob

Signed-off-by: Jackie Elliott <jaellio@microsoft.com>

* rebase

Signed-off-by: Jackie Elliott <jaellio@microsoft.com>

* Update docs to reflect more restrictive path templating support

Signed-off-by: Jackie Elliott <jaellio@microsoft.com>

* Clarify an invalid path template will result in a invalid auth
policy.

Signed-off-by: Jackie Elliott <jaellio@microsoft.com>

---------

Signed-off-by: Jackie Elliott <jaellio@microsoft.com>
2024-04-22 07:09:57 -07:00
John Howard fe48267f86
policy attachment: allow `targetRefs` (#3159)
* policy attachment: allow `targetRefs`

Based on https://github.com/kubernetes-sigs/gateway-api/pull/2966. Note
that we do not HAVE to follow the GatewayAPI here; we can make our own
decision. There is, however, a general desire to allow multiple for
ergonomics.

In this proposal, I hide `targetRef`, but the API will remain + be
implemented forever. Implementation cost here is near zero, as we can
easily translate it to a single `targetRefs`; we just hide from docs to
push users toward the new ones.

* codegen

* Align documentation

* consistency
2024-04-12 13:44:31 -07:00
John Howard 2410bbc01d
EnvoyFilter: implement `targetRefs` (#3160)
This is the only API we have a `selector` without `targetRef`.

The motivation at the time was that waypoints don't official support
EnvoyFilter, and targetRef was primarily for waypoints.

However, targetRef can be used with all Kubernetes Gateway, including
for ingress, where EnvoyFilter is supported. Also, long term it will
support waypoint as well I assume; the earlier we add the field the less
migration pain there is.

This PR goes directly to `targetRefs` in line with
https://github.com/istio/api/pull/3159.
2024-04-12 13:01:31 -07:00
zirain cf602b958d
Revert "add new phase to WasmPlugin (#3143)" (#3157)
This reverts commit 21eb08855c.
2024-04-11 13:07:31 -07:00
zirain 21eb08855c
add new phase to WasmPlugin (#3143)
* add new phase  to WasmPlugin

* fix build

* rename to INITIAL
2024-04-05 09:20:22 -07:00
Whitney Griffith d7ab31abb3
Promote Telemetry API to v1 (#3133)
* create v1 Telemetry API

Signed-off-by: whitneygriffith <whitney.griffith16@gmail.com>

* add tracing.match example

Signed-off-by: whitneygriffith <whitney.griffith16@gmail.com>

* update metrics.match example

Signed-off-by: whitneygriffith <whitney.griffith16@gmail.com>

---------

Signed-off-by: whitneygriffith <whitney.griffith16@gmail.com>
2024-04-04 10:59:08 -07:00
Whitney Griffith 2b0bfde445
Networking APIs graduation to v1 (#3111)
* bump networking apis to v1

Signed-off-by: whitneygriffith <whitney.griffith16@gmail.com>

* set storageVersion as v1beta1

Signed-off-by: whitneygriffith <whitney.griffith16@gmail.com>

* Add release notes

Signed-off-by: whitneygriffith <whitney.griffith16@gmail.com>

* Update release notes

Signed-off-by: whitneygriffith <whitney.griffith16@gmail.com>

* make gen

Signed-off-by: whitneygriffith <whitney.griffith16@gmail.com>

* Remove ProxyConfig v1

Signed-off-by: whitneygriffith <whitney.griffith16@gmail.com>

* update release notes

Signed-off-by: whitneygriffith <whitney.griffith16@gmail.com>

* Remove update notes

Signed-off-by: whitneygriffith <whitney.griffith16@gmail.com>

---------

Signed-off-by: whitneygriffith <whitney.griffith16@gmail.com>
2024-03-15 10:52:50 -07:00
Whitney Griffith 339eb52daa
PeerAuthentication Graduation to v1 (#3112)
* bump peer auth to v1

Signed-off-by: whitneygriffith <whitney.griffith16@gmail.com>

* update sync

Signed-off-by: whitneygriffith <whitney.griffith16@gmail.com>

* Add release notes

Signed-off-by: whitneygriffith <whitney.griffith16@gmail.com>

* run make gen

Signed-off-by: whitneygriffith <whitney.griffith16@gmail.com>

* Fix release notes

Signed-off-by: whitneygriffith <whitney.griffith16@gmail.com>

* Update release notes

Signed-off-by: whitneygriffith <whitney.griffith16@gmail.com>

* Update release notes

Signed-off-by: whitneygriffith <whitney.griffith16@gmail.com>

* make gen

Signed-off-by: whitneygriffith <whitney.griffith16@gmail.com>

* fix gen-check

Signed-off-by: whitneygriffith <whitney.griffith16@gmail.com>

---------

Signed-off-by: whitneygriffith <whitney.griffith16@gmail.com>
2024-03-13 16:19:34 -07:00