@@ -14,51 +14,51 @@ You can add annotations to kubernetes Ingress and Service objects to customize t
14
14
- Merge: such annotation can be specified on all Ingresses within IngressGroup, and will be merged together.
15
15
16
16
## Annotations
17
- | Name | Type | Default| Location| MergeBehavior|
18
- | -------------------------------------------------------------------------------------------------------| -----------------------------| ------- | --------| ------|
19
- | [ alb.ingress.kubernetes.io/load-balancer-name] ( #load-balancer-name ) | string | N/A| Ingress| Exclusive|
20
- | [ alb.ingress.kubernetes.io/group.name] ( #group.name ) | string | N/A| Ingress| N/A|
21
- | [ alb.ingress.kubernetes.io/group.order] ( #group.order ) | integer | 0| Ingress| N/A|
22
- | [ alb.ingress.kubernetes.io/tags] ( #tags ) | stringMap | N/A| Ingress,Service| Merge|
23
- | [ alb.ingress.kubernetes.io/ip-address-type] ( #ip-address-type ) | ipv4 \| dualstack \| dualstack-without-public-ipv4 | ipv4| Ingress| Exclusive|
24
- | [ alb.ingress.kubernetes.io/scheme] ( #scheme ) | internal \| internet-facing | internal| Ingress| Exclusive|
25
- | [ alb.ingress.kubernetes.io/subnets] ( #subnets ) | stringList | N/A| Ingress| Exclusive|
26
- | [ alb.ingress.kubernetes.io/security-groups] ( #security-groups ) | stringList | N/A| Ingress| Exclusive|
27
- | [ alb.ingress.kubernetes.io/manage-backend-security-group-rules] ( #manage-backend-security-group-rules ) | boolean | N/A| Ingress| Exclusive|
28
- | [ alb.ingress.kubernetes.io/customer-owned-ipv4-pool] ( #customer-owned-ipv4-pool ) | string | N/A| Ingress| Exclusive|
29
- | [ alb.ingress.kubernetes.io/load-balancer-attributes] ( #load-balancer-attributes ) | stringMap | N/A| Ingress| Exclusive|
30
- | [ alb.ingress.kubernetes.io/wafv2-acl-arn] ( #wafv2-acl-arn ) | string | N/A| Ingress| Exclusive|
31
- | [ alb.ingress.kubernetes.io/waf-acl-id] ( #waf-acl-id ) | string | N/A| Ingress| Exclusive|
32
- | [ alb.ingress.kubernetes.io/shield-advanced-protection] ( #shield-advanced-protection ) | boolean | N/A| Ingress| Exclusive|
33
- | [ alb.ingress.kubernetes.io/listen-ports] ( #listen-ports ) | json | '[ {"HTTP": 80}] ' \| '[ {"HTTPS": 443}] '| Ingress| Merge|
34
- | [ alb.ingress.kubernetes.io/ssl-redirect] ( #ssl-redirect ) | integer | N/A| Ingress| Exclusive|
35
- | [ alb.ingress.kubernetes.io/inbound-cidrs] ( #inbound-cidrs ) | stringList | 0.0.0.0/0, ::/0| Ingress| Exclusive|
36
- | [ alb.ingress.kubernetes.io/security-group-prefix-lists] ( #security-group-prefix-lists ) | stringList | pl-00000000, pl-1111111| Ingress| Exclusive|
37
- | [ alb.ingress.kubernetes.io/certificate-arn] ( #certificate-arn ) | stringList | N/A| Ingress| Merge|
38
- | [ alb.ingress.kubernetes.io/ssl-policy] ( #ssl-policy ) | string | ELBSecurityPolicy-2016-08| Ingress| Exclusive|
39
- | [ alb.ingress.kubernetes.io/target-type] ( #target-type ) | instance \| ip | instance| Ingress,Service| N/A|
40
- | [ alb.ingress.kubernetes.io/backend-protocol] ( #backend-protocol ) | HTTP \| HTTPS | HTTP| Ingress,Service| N/A|
41
- | [ alb.ingress.kubernetes.io/backend-protocol-version] ( #backend-protocol-version ) | string | HTTP1 | Ingress,Service| N/A|
42
- | [ alb.ingress.kubernetes.io/target-group-attributes] ( #target-group-attributes ) | stringMap | N/A| Ingress,Service| N/A|
43
- | [ alb.ingress.kubernetes.io/healthcheck-port] ( #healthcheck-port ) | integer \| traffic-port | traffic-port| Ingress,Service| N/A|
44
- | [ alb.ingress.kubernetes.io/healthcheck-protocol] ( #healthcheck-protocol ) | HTTP \| HTTPS | HTTP| Ingress,Service| N/A|
45
- | [ alb.ingress.kubernetes.io/healthcheck-path] ( #healthcheck-path ) | string | / \| /AWS.ALB/healthcheck | Ingress,Service| N/A|
46
- | [ alb.ingress.kubernetes.io/healthcheck-interval-seconds] ( #healthcheck-interval-seconds ) | integer | '15'| Ingress,Service| N/A|
47
- | [ alb.ingress.kubernetes.io/healthcheck-timeout-seconds] ( #healthcheck-timeout-seconds ) | integer | '5'| Ingress,Service| N/A|
48
- | [ alb.ingress.kubernetes.io/healthy-threshold-count] ( #healthy-threshold-count ) | integer | '2'| Ingress,Service| N/A|
49
- | [ alb.ingress.kubernetes.io/unhealthy-threshold-count] ( #unhealthy-threshold-count ) | integer | '2'| Ingress,Service| N/A|
50
- | [ alb.ingress.kubernetes.io/success-codes] ( #success-codes ) | string | '200' \| '12' | Ingress,Service| N/A|
51
- | [ alb.ingress.kubernetes.io/auth-type] ( #auth-type ) | none\| oidc\| cognito | none| Ingress,Service| N/A|
52
- | [ alb.ingress.kubernetes.io/auth-idp-cognito] ( #auth-idp-cognito ) | json | N/A| Ingress,Service| N/A|
53
- | [ alb.ingress.kubernetes.io/auth-idp-oidc] ( #auth-idp-oidc ) | json | N/A| Ingress,Service| N/A|
54
- | [ alb.ingress.kubernetes.io/auth-on-unauthenticated-request] ( #auth-on-unauthenticated-request ) | authenticate\| allow\| deny | authenticate| Ingress,Service| N/A|
55
- | [ alb.ingress.kubernetes.io/auth-scope] ( #auth-scope ) | string | openid| Ingress,Service| N/A|
56
- | [ alb.ingress.kubernetes.io/auth-session-cookie] ( #auth-session-cookie ) | string | AWSELBAuthSessionCookie| Ingress,Service| N/A|
57
- | [ alb.ingress.kubernetes.io/auth-session-timeout] ( #auth-session-timeout ) | integer | '604800'| Ingress,Service| N/A|
58
- | [ alb.ingress.kubernetes.io/actions.${action-name}] ( #actions ) | json | N/A| Ingress| N/A|
59
- | [ alb.ingress.kubernetes.io/conditions.${conditions-name}] ( #conditions ) | json | N/A| Ingress| N/A|
60
- | [ alb.ingress.kubernetes.io/target-node-labels] ( #target-node-labels ) | stringMap | N/A| Ingress,Service| N/A|
61
- | [ alb.ingress.kubernetes.io/mutual-authentication] ( #mutual-authentication ) | json | ' [ {"port": 443, "mode": "off"} ] ' | Ingress | Exclusive|
17
+ | Name | Type | Default| Location | MergeBehavior |
18
+ | -------------------------------------------------------------------------------------------------------| -----------------------------| ------| ----------------- | ----- ------|
19
+ | [ alb.ingress.kubernetes.io/load-balancer-name] ( #load-balancer-name ) | string | N/A| Ingress | Exclusive |
20
+ | [ alb.ingress.kubernetes.io/group.name] ( #group.name ) | string | N/A| Ingress | N/A |
21
+ | [ alb.ingress.kubernetes.io/group.order] ( #group.order ) | integer | 0| Ingress | N/A |
22
+ | [ alb.ingress.kubernetes.io/tags] ( #tags ) | stringMap | N/A| Ingress,Service | Merge |
23
+ | [ alb.ingress.kubernetes.io/ip-address-type] ( #ip-address-type ) | ipv4 \| dualstack \| dualstack-without-public-ipv4 | ipv4| Ingress | Exclusive |
24
+ | [ alb.ingress.kubernetes.io/scheme] ( #scheme ) | internal \| internet-facing | internal| Ingress | Exclusive |
25
+ | [ alb.ingress.kubernetes.io/subnets] ( #subnets ) | stringList | N/A| Ingress | Exclusive |
26
+ | [ alb.ingress.kubernetes.io/security-groups] ( #security-groups ) | stringList | N/A| Ingress | Exclusive |
27
+ | [ alb.ingress.kubernetes.io/manage-backend-security-group-rules] ( #manage-backend-security-group-rules ) | boolean | N/A| Ingress | Exclusive |
28
+ | [ alb.ingress.kubernetes.io/customer-owned-ipv4-pool] ( #customer-owned-ipv4-pool ) | string | N/A| Ingress | Exclusive |
29
+ | [ alb.ingress.kubernetes.io/load-balancer-attributes] ( #load-balancer-attributes ) | stringMap | N/A| Ingress | Exclusive |
30
+ | [ alb.ingress.kubernetes.io/wafv2-acl-arn] ( #wafv2-acl-arn ) | string | N/A| Ingress | Exclusive |
31
+ | [ alb.ingress.kubernetes.io/waf-acl-id] ( #waf-acl-id ) | string | N/A| Ingress | Exclusive |
32
+ | [ alb.ingress.kubernetes.io/shield-advanced-protection] ( #shield-advanced-protection ) | boolean | N/A| Ingress | Exclusive |
33
+ | [ alb.ingress.kubernetes.io/listen-ports] ( #listen-ports ) | json | '[ {"HTTP": 80}] ' \| '[ {"HTTPS": 443}] '| Ingress | Merge |
34
+ | [ alb.ingress.kubernetes.io/ssl-redirect] ( #ssl-redirect ) | integer | N/A| Ingress | Exclusive |
35
+ | [ alb.ingress.kubernetes.io/inbound-cidrs] ( #inbound-cidrs ) | stringList | 0.0.0.0/0, ::/0| Ingress | Exclusive |
36
+ | [ alb.ingress.kubernetes.io/security-group-prefix-lists] ( #security-group-prefix-lists ) | stringList | pl-00000000, pl-1111111| Ingress | Exclusive |
37
+ | [ alb.ingress.kubernetes.io/certificate-arn] ( #certificate-arn ) | stringList | N/A| Ingress | Merge |
38
+ | [ alb.ingress.kubernetes.io/ssl-policy] ( #ssl-policy ) | string | ELBSecurityPolicy-2016-08| Ingress | Exclusive |
39
+ | [ alb.ingress.kubernetes.io/target-type] ( #target-type ) | instance \| ip | instance| Ingress,Service | N/A |
40
+ | [ alb.ingress.kubernetes.io/backend-protocol] ( #backend-protocol ) | HTTP \| HTTPS | HTTP| Ingress,Service | N/A |
41
+ | [ alb.ingress.kubernetes.io/backend-protocol-version] ( #backend-protocol-version ) | string | HTTP1 | Ingress,Service | N/A |
42
+ | [ alb.ingress.kubernetes.io/target-group-attributes] ( #target-group-attributes ) | stringMap | N/A| Ingress,Service | N/A |
43
+ | [ alb.ingress.kubernetes.io/healthcheck-port] ( #healthcheck-port ) | integer \| traffic-port | traffic-port| Ingress,Service | N/A |
44
+ | [ alb.ingress.kubernetes.io/healthcheck-protocol] ( #healthcheck-protocol ) | HTTP \| HTTPS | HTTP| Ingress,Service | N/A |
45
+ | [ alb.ingress.kubernetes.io/healthcheck-path] ( #healthcheck-path ) | string | / \| /AWS.ALB/healthcheck | Ingress,Service | N/A |
46
+ | [ alb.ingress.kubernetes.io/healthcheck-interval-seconds] ( #healthcheck-interval-seconds ) | integer | '15'| Ingress,Service | N/A |
47
+ | [ alb.ingress.kubernetes.io/healthcheck-timeout-seconds] ( #healthcheck-timeout-seconds ) | integer | '5'| Ingress,Service | N/A |
48
+ | [ alb.ingress.kubernetes.io/healthy-threshold-count] ( #healthy-threshold-count ) | integer | '2'| Ingress,Service | N/A |
49
+ | [ alb.ingress.kubernetes.io/unhealthy-threshold-count] ( #unhealthy-threshold-count ) | integer | '2'| Ingress,Service | N/A |
50
+ | [ alb.ingress.kubernetes.io/success-codes] ( #success-codes ) | string | '200' \| '12' | Ingress,Service | N/A |
51
+ | [ alb.ingress.kubernetes.io/auth-type] ( #auth-type ) | none\| oidc\| cognito | none| Ingress,Service | N/A |
52
+ | [ alb.ingress.kubernetes.io/auth-idp-cognito] ( #auth-idp-cognito ) | json | N/A| Ingress,Service | N/A |
53
+ | [ alb.ingress.kubernetes.io/auth-idp-oidc] ( #auth-idp-oidc ) | json | N/A| Ingress,Service | N/A |
54
+ | [ alb.ingress.kubernetes.io/auth-on-unauthenticated-request] ( #auth-on-unauthenticated-request ) | authenticate\| allow\| deny | authenticate| Ingress,Service | N/A |
55
+ | [ alb.ingress.kubernetes.io/auth-scope] ( #auth-scope ) | string | openid| Ingress,Service | N/A |
56
+ | [ alb.ingress.kubernetes.io/auth-session-cookie] ( #auth-session-cookie ) | string | AWSELBAuthSessionCookie| Ingress,Service | N/A |
57
+ | [ alb.ingress.kubernetes.io/auth-session-timeout] ( #auth-session-timeout ) | integer | '604800'| Ingress,Service | N/A |
58
+ | [ alb.ingress.kubernetes.io/actions.${action-name}] ( #actions ) | json | N/A| Ingress | N/A |
59
+ | [ alb.ingress.kubernetes.io/conditions.${conditions-name}] ( #conditions ) | json | N/A| Ingress | N/A |
60
+ | [ alb.ingress.kubernetes.io/target-node-labels] ( #target-node-labels ) | stringMap | N/A| Ingress,Service | N/A |
61
+ | [ alb.ingress.kubernetes.io/mutual-authentication] ( #mutual-authentication ) | json | N/A | Ingress | Exclusive|
62
62
63
63
## IngressGroup
64
64
IngressGroup feature enables you to group multiple Ingress resources together.
@@ -790,16 +790,19 @@ TLS support can be controlled with the following annotations:
790
790
791
791
- <a name =" mutual-authentication " >` alb.ingress.kubernetes.io/mutual-authentication ` </a > specifies the mutual authentication configuration that should be assigned to the Application Load Balancer secure listener ports. See [ Mutual authentication with TLS] ( https://docs.aws.amazon.com/elasticloadbalancing/latest/application/mutual-authentication.html ) in the AWS documentation for more details.
792
792
793
- !!!note "Configuration Options"
794
- - ` port: listen port `
795
- - Must be a HTTPS port specified by [ listen-ports] ( #listen-ports ) .
796
- - ` mode: "off" (default) | "passthrough" | "verify" `
797
- - ` verify ` mode requires an existing trust store resource.
798
- - See [ Create a trust store] ( https://docs.aws.amazon.com/elasticloadbalancing/latest/application/mutual-authentication.html#create-trust-store ) in the AWS documentation for more details.
799
- - ` trustStore: ARN (arn:aws:elasticloadbalancing:trustStoreArn) | Name (my-trust-store) `
800
- - Both ARN and Name of trustStore are supported values.
801
- - ` trustStore ` is required when mode is ` verify ` .
802
- - ` ignoreClientCertificateExpiry : true | false (default) `
793
+ !!!note
794
+ - This annotation is not applicable for Outposts, Local Zones or Wavelength zones.
795
+ - "Configuration Options"
796
+ - ` port: listen port `
797
+ - Must be a HTTPS port specified by [ listen-ports] ( #listen-ports ) .
798
+ - ` mode: "off" (default) | "passthrough" | "verify" `
799
+ - ` verify ` mode requires an existing trust store resource.
800
+ - See [ Create a trust store] ( https://docs.aws.amazon.com/elasticloadbalancing/latest/application/mutual-authentication.html#create-trust-store ) in the AWS documentation for more details.
801
+ - ` trustStore: ARN (arn:aws:elasticloadbalancing:trustStoreArn) | Name (my-trust-store) `
802
+ - Both ARN and Name of trustStore are supported values.
803
+ - ` trustStore ` is required when mode is ` verify ` .
804
+ - ` ignoreClientCertificateExpiry : true | false (default) `
805
+ - Once the Mutual Authentication is set, to turn it off, you will have to explicitly pass in this annotation with ` mode : "off" ` .
803
806
804
807
!!!example
805
808
- [ listen-ports] ( #listen-ports ) specifies four HTTPS ports: ` 80, 443, 8080, 8443 `
0 commit comments