finalize user-facing elements(finalizer/tagging/labeling) #1469
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
finalize all user-facing elements, details below:
AWS
For AWS resources created by this controller, the tagging strategy is as follows:
elbv2.k8s.aws/cluster: cluster-name
will be applied on all AWS resources.ingress.k8s.aws/stack: stack-id
will be applied on all AWS resources provisioned for Ingress resources:stack-id
will begroupName
stack-id
will benamespace/ingressName
ingress.k8s.aws/resource: resource-id
will be applied on all AWS resources provisioned for Ingress resources:resource-id
will beLoadBalancer
resource-id
will beManagedLBSecurityGroup
resource-id
will benamespace/ingressName-serviceName:servicePort
service.k8s.aws/stack: stack-id
will be applied on all AWS resources provisioned for Service resources:stack-id
will benamespace/serviceName
service.k8s.aws/resource: resource-id
will be applied on all AWS resources provisioned for Service resources:resource-id
will beLoadBalancer
resource-id
will benamespace/serviceName:servicePort
For AWS resources created by this controller, the naming strategy is as follows:
k8s-%.17s{groupName}-%.10s{hash}
k8s-%.8s{namespace}%.8s{name}-%.10s{hash}
k8s-%.8s{namespace}%.8s{name}-%.10s{hash}
K8s
For K8s resources created by this controller, the labelling strategy is as follows:
Note: We break "stack" into "stack-namespace" and "stack-name" for implicit IngressGroup and Service since label value must be within 63 characters.
ingress.k8s.aws/stack: groupName
ingress.k8s.aws/stack-namespace: namespace
ingress.k8s.aws/stack-name: ingressName
service.k8s.aws/stack-namespace: namespace
service.k8s.aws/stack-name: serviceName
For K8s resources, the following finalizers are used:
group.ingress.k8s.aws/groupName
ingress.k8s.aws/resources
service.k8s.aws/resources
elbv2.k8s.aws/resources
For pods behind targetGroupBindings with IP targetType, the following readinessGate will be injected:
target-health.elbv2.k8s.aws/targetGroupBindingName
additional changes:
k8s-.8{namespace}-.8{name}-.10{hash}
pattern. For IngressGroups, the name can bek8s-.17{groupName}-.10{hash}
LoadBalancer
Test done:
-> disable new controller -> delete TargetGroupBindings -> run old controller -> verify resource state (success)
Fixes #1463