Skip to content

Commit 50dcb66

Browse files
committed
Change static variable starting field to schema
This change is introduced to ensure we know which spec we're referencing. We are still only able to reference the `spec` and the `metadata` of the schema. This change also affects how we reference schema variables when compiling `includeWhen` expressions changing from ```yaml name: ${spec.name} ``` to ```yaml name: ${schema.spec.name} ``` more examples in files changed
1 parent b4cb7c2 commit 50dcb66

File tree

39 files changed

+463
-458
lines changed

39 files changed

+463
-458
lines changed

api/v1alpha1/groupversion_info.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
package v1alpha1
1818

1919
import (
20-
2120
"k8s.io/apimachinery/pkg/runtime/schema"
2221
"sigs.k8s.io/controller-runtime/pkg/scheme"
2322
)

examples/ack-controller/ec2-controller/ec2-controller.yaml

Lines changed: 37 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -42,31 +42,31 @@ spec:
4242
apiVersion: kro.run/v1alpha1
4343
kind: EC2CRDGroup
4444
metadata:
45-
name: ${spec.name}-crd-group
45+
name: ${schema.spec.name}-crd-group
4646
spec:
47-
name: ${spec.name}-crd-group
47+
name: ${schema.spec.name}-crd-group
4848
- name: ec2ControllerIamRole
4949
template:
5050
apiVersion: iam.services.k8s.aws/v1alpha1
5151
kind: Role
5252
metadata:
53-
name: ${spec.name}-iam-role
54-
namespace: ${spec.namespace}
53+
name: ${schema.spec.name}-iam-role
54+
namespace: ${schema.spec.namespace}
5555
spec:
56-
name: ${spec.name}-iam-role
57-
description: ${spec.values.iamRole.roleDescription}
58-
maxSessionDuration: ${spec.values.iamRole.maxSessionDuration}
56+
name: ${schema.spec.name}-iam-role
57+
description: ${schema.spec.values.iamRole.roleDescription}
58+
maxSessionDuration: ${schema.spec.values.iamRole.maxSessionDuration}
5959
policies:
6060
- arn:aws:iam::aws:policy/AmazonEC2FullAccess
6161
assumeRolePolicyDocument: >
6262
{
6363
"Version": "2012-10-17",
6464
"Statement": [{
6565
"Effect": "Allow",
66-
"Principal": {"Federated": "arn:aws:iam::${spec.values.aws.accountID}:oidc-provider/${spec.values.iamRole.oidcProvider}"},
66+
"Principal": {"Federated": "arn:aws:iam::${schema.spec.values.aws.accountID}:oidc-provider/${schema.spec.values.iamRole.oidcProvider}"},
6767
"Action": "sts:AssumeRoleWithWebIdentity",
6868
"Condition": {
69-
"StringEquals": {"${spec.values.iamRole.oidcProvider}:sub": "system:serviceaccount:${spec.namespace}:${spec.values.serviceAccount.name}"}
69+
"StringEquals": {"${schema.spec.values.iamRole.oidcProvider}:sub": "system:serviceaccount:${schema.spec.namespace}:${schema.spec.values.serviceAccount.name}"}
7070
}
7171
}]
7272
}
@@ -75,75 +75,75 @@ spec:
7575
apiVersion: v1
7676
kind: ServiceAccount
7777
metadata:
78-
name: ${spec.values.serviceAccount.name}
79-
namespace: ${spec.namespace}
78+
name: ${schema.spec.values.serviceAccount.name}
79+
namespace: ${schema.spec.namespace}
8080
annotations:
8181
eks.amazonaws.com/role-arn: ${ec2ControllerIamRole.status.ackResourceMetadata.arn}
8282
- name: deployment
8383
template:
8484
apiVersion: apps/v1
8585
kind: Deployment
8686
metadata:
87-
name: ${spec.name}-deployment
88-
namespace: ${spec.namespace}
87+
name: ${schema.spec.name}-deployment
88+
namespace: ${schema.spec.namespace}
8989
labels:
90-
app.kubernetes.io.name: ${spec.name}-deployment
91-
app.kubernetes.io.instance: ${spec.name}
90+
app.kubernetes.io.name: ${schema.spec.name}-deployment
91+
app.kubernetes.io.instance: ${schema.spec.name}
9292
spec:
93-
replicas: ${spec.values.deployment.replicas}
93+
replicas: ${schema.spec.values.deployment.replicas}
9494
selector:
9595
matchLabels:
96-
app.kubernetes.io.name: ${spec.name}-deployment
97-
app.kubernetes.io.instance: ${spec.name}
96+
app.kubernetes.io.name: ${schema.spec.name}-deployment
97+
app.kubernetes.io.instance: ${schema.spec.name}
9898
template:
9999
metadata:
100100
labels:
101-
app.kubernetes.io.name: ${spec.name}-deployment
102-
app.kubernetes.io.instance: ${spec.name}
101+
app.kubernetes.io.name: ${schema.spec.name}-deployment
102+
app.kubernetes.io.instance: ${schema.spec.name}
103103
spec:
104104
serviceAccountName: ${serviceAccount.metadata.name}
105105
containers:
106106
- command:
107107
- ./bin/controller
108108
args:
109109
- --aws-region
110-
- ${spec.values.aws.region}
111-
- --enable-development-logging=${spec.values.log.enabled}
110+
- ${schema.spec.values.aws.region}
111+
- --enable-development-logging=${schema.spec.values.log.enabled}
112112
- --log-level
113-
- ${spec.values.log.level}
113+
- ${schema.spec.values.log.level}
114114
- --deletion-policy
115-
- ${spec.values.image.deletePolicy}
115+
- ${schema.spec.values.image.deletePolicy}
116116
- --watch-namespace
117-
- ${spec.namespace}
118-
image: ${spec.values.image.repository}:${spec.values.image.tag}
117+
- ${schema.spec.namespace}
118+
image: ${schema.spec.values.image.repository}:${schema.spec.values.image.tag}
119119
name: controller
120120
ports:
121121
- name: http
122-
containerPort: ${spec.values.deployment.containerPort}
122+
containerPort: ${schema.spec.values.deployment.containerPort}
123123
resources:
124124
requests:
125-
memory: ${spec.values.image.resources.requests.memory}
126-
cpu: ${spec.values.image.resources.requests.cpu}
125+
memory: ${schema.spec.values.image.resources.requests.memory}
126+
cpu: ${schema.spec.values.image.resources.requests.cpu}
127127
limits:
128-
memory: ${spec.values.image.resources.limits.memory}
129-
cpu: ${spec.values.image.resources.limits.cpu}
128+
memory: ${schema.spec.values.image.resources.limits.memory}
129+
cpu: ${schema.spec.values.image.resources.limits.cpu}
130130
env:
131131
- name: ACK_SYSTEM_NAMESPACE
132-
value: ${spec.namespace}
132+
value: ${schema.spec.namespace}
133133
- name: AWS_REGION
134-
value: ${spec.values.aws.region}
134+
value: ${schema.spec.values.aws.region}
135135
- name: DELETE_POLICY
136-
value: ${spec.values.image.deletePolicy}
136+
value: ${schema.spec.values.image.deletePolicy}
137137
- name: ACK_LOG_LEVEL
138-
value: ${spec.values.log.level}
138+
value: ${schema.spec.values.log.level}
139139
ports:
140140
- containerPort: 80
141141
- name: clusterRoleBinding
142142
template:
143143
apiVersion: rbac.authorization.k8s.io/v1
144144
kind: ClusterRoleBinding
145145
metadata:
146-
name: ${spec.name}-clusterrolebinding
146+
name: ${schema.spec.name}-clusterrolebinding
147147
roleRef:
148148
kind: ClusterRole
149149
apiGroup: rbac.authorization.k8s.io
@@ -157,7 +157,7 @@ spec:
157157
apiVersion: rbac.authorization.k8s.io/v1
158158
kind: ClusterRole
159159
metadata:
160-
name: ${spec.name}-clusterrole
160+
name: ${schema.spec.name}-clusterrole
161161
rules:
162162
- apiGroups:
163163
- ""

examples/ack-controller/eks-controller/eks-controller.yaml

Lines changed: 40 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -45,18 +45,18 @@ spec:
4545
apiVersion: kro.run/v1alpha1
4646
kind: EKSCRDGroup
4747
metadata:
48-
name: ${spec.name}-crd-group
48+
name: ${schema.spec.name}-crd-group
4949
spec:
50-
name: ${spec.name}-crd-group
50+
name: ${schema.spec.name}-crd-group
5151
- name: eksControllerIamPolicy
5252
template:
5353
apiVersion: iam.services.k8s.aws/v1alpha1
5454
kind: Policy
5555
metadata:
56-
name: ${spec.name}-iam-policy
56+
name: ${schema.spec.name}-iam-policy
5757
spec:
58-
name: ${spec.name}-iam-policy
59-
description: ${spec.values.iamPolicy.description}
58+
name: ${schema.spec.name}-iam-policy
59+
description: ${schema.spec.values.iamPolicy.description}
6060
policyDocument: >
6161
{
6262
"Version": "2012-10-17",
@@ -80,23 +80,23 @@ spec:
8080
apiVersion: iam.services.k8s.aws/v1alpha1
8181
kind: Role
8282
metadata:
83-
name: ${spec.name}-iam-role
84-
namespace: ${spec.namespace}
83+
name: ${schema.spec.name}-iam-role
84+
namespace: ${schema.spec.namespace}
8585
spec:
86-
name: ${spec.name}-iam-role
87-
description: ${spec.values.iamRole.roleDescription}
88-
maxSessionDuration: ${spec.values.iamRole.maxSessionDuration}
86+
name: ${schema.spec.name}-iam-role
87+
description: ${schema.spec.values.iamRole.roleDescription}
88+
maxSessionDuration: ${schema.spec.values.iamRole.maxSessionDuration}
8989
policies:
9090
- ${eksControllerIamPolicy.status.ackResourceMetadata.arn}
9191
assumeRolePolicyDocument: >
9292
{
9393
"Version":"2012-10-17",
9494
"Statement": [{
9595
"Effect":"Allow",
96-
"Principal": {"Federated": "arn:aws:iam::${spec.values.aws.accountID}:oidc-provider/${spec.values.iamRole.oidcProvider}"},
96+
"Principal": {"Federated": "arn:aws:iam::${schema.spec.values.aws.accountID}:oidc-provider/${schema.spec.values.iamRole.oidcProvider}"},
9797
"Action": ["sts:AssumeRoleWithWebIdentity"],
9898
"Condition": {
99-
"StringEquals": {"${spec.values.iamRole.oidcProvider}:sub": "system:serviceaccount:${spec.namespace}:${spec.values.serviceAccount.name}"}
99+
"StringEquals": {"${schema.spec.values.iamRole.oidcProvider}:sub": "system:serviceaccount:${schema.spec.namespace}:${schema.spec.values.serviceAccount.name}"}
100100
}
101101
}]
102102
}
@@ -105,75 +105,75 @@ spec:
105105
apiVersion: v1
106106
kind: ServiceAccount
107107
metadata:
108-
name: ${spec.values.serviceAccount.name}
109-
namespace: ${spec.namespace}
108+
name: ${schema.spec.values.serviceAccount.name}
109+
namespace: ${schema.spec.namespace}
110110
annotations:
111111
eks.amazonaws.com/role-arn : ${eksControllerIamRole.status.ackResourceMetadata.arn}
112112
- name: deployment
113113
template:
114114
apiVersion: apps/v1
115115
kind: Deployment
116116
metadata:
117-
name: ${spec.name}-deployment
118-
namespace: ${spec.namespace}
117+
name: ${schema.spec.name}-deployment
118+
namespace: ${schema.spec.namespace}
119119
labels:
120-
app.kubernetes.io.name: ${spec.name}-deployment
121-
app.kubernetes.io.instance: ${spec.name}
120+
app.kubernetes.io.name: ${schema.spec.name}-deployment
121+
app.kubernetes.io.instance: ${schema.spec.name}
122122
spec:
123-
replicas: ${spec.values.deployment.replicas}
123+
replicas: ${schema.spec.values.deployment.replicas}
124124
selector:
125125
matchLabels:
126-
app.kubernetes.io.name: ${spec.name}-deployment
127-
app.kubernetes.io.instance: ${spec.name}
126+
app.kubernetes.io.name: ${schema.spec.name}-deployment
127+
app.kubernetes.io.instance: ${schema.spec.name}
128128
template:
129129
metadata:
130130
labels:
131-
app.kubernetes.io.name: ${spec.name}-deployment
132-
app.kubernetes.io.instance: ${spec.name}
131+
app.kubernetes.io.name: ${schema.spec.name}-deployment
132+
app.kubernetes.io.instance: ${schema.spec.name}
133133
spec:
134134
serviceAccountName: ${serviceAccount.metadata.name}
135135
containers:
136136
- command:
137137
- ./bin/controller
138138
args:
139139
- --aws-region
140-
- ${spec.values.aws.region}
141-
- --enable-development-logging=${spec.values.log.enabled}
140+
- ${schema.spec.values.aws.region}
141+
- --enable-development-logging=${schema.spec.values.log.enabled}
142142
- --log-level
143-
- ${spec.values.log.level}
143+
- ${schema.spec.values.log.level}
144144
- --deletion-policy
145-
- ${spec.values.image.deletePolicy}
145+
- ${schema.spec.values.image.deletePolicy}
146146
- --watch-namespace
147-
- ${spec.namespace}
148-
image: ${spec.values.image.repository}:${spec.values.image.tag}
147+
- ${schema.spec.namespace}
148+
image: ${schema.spec.values.image.repository}:${schema.spec.values.image.tag}
149149
name: controller
150150
ports:
151151
- name: http
152-
containerPort: ${spec.values.deployment.containerPort}
152+
containerPort: ${schema.spec.values.deployment.containerPort}
153153
resources:
154154
requests:
155-
memory: ${spec.values.image.resources.requests.memory}
156-
cpu: ${spec.values.image.resources.requests.cpu}
155+
memory: ${schema.spec.values.image.resources.requests.memory}
156+
cpu: ${schema.spec.values.image.resources.requests.cpu}
157157
limits:
158-
memory: ${spec.values.image.resources.limits.memory}
159-
cpu: ${spec.values.image.resources.limits.cpu}
158+
memory: ${schema.spec.values.image.resources.limits.memory}
159+
cpu: ${schema.spec.values.image.resources.limits.cpu}
160160
env:
161161
- name: ACK_SYSTEM_NAMESPACE
162-
value: ${spec.namespace}
162+
value: ${schema.spec.namespace}
163163
- name: AWS_REGION
164-
value: ${spec.values.aws.region}
164+
value: ${schema.spec.values.aws.region}
165165
- name: DELETE_POLICY
166-
value: ${spec.values.image.deletePolicy}
166+
value: ${schema.spec.values.image.deletePolicy}
167167
- name: ACK_LOG_LEVEL
168-
value: ${spec.values.log.level}
168+
value: ${schema.spec.values.log.level}
169169
ports:
170170
- containerPort: 80
171171
- name: clusterRoleBinding
172172
template:
173173
apiVersion: rbac.authorization.k8s.io/v1
174174
kind: ClusterRoleBinding
175175
metadata:
176-
name: ${spec.name}-clusterrolebinding
176+
name: ${schema.spec.name}-clusterrolebinding
177177
roleRef:
178178
kind: ClusterRole
179179
apiGroup: rbac.authorization.k8s.io
@@ -187,7 +187,7 @@ spec:
187187
apiVersion: rbac.authorization.k8s.io/v1
188188
kind: ClusterRole
189189
metadata:
190-
name: ${spec.name}-clusterrole
190+
name: ${schema.spec.name}-clusterrole
191191
rules:
192192
- apiGroups:
193193
- ""

0 commit comments

Comments
 (0)