Skip to content

Commit 20a2ac8

Browse files
authored
Add ACK addons (#29)
* add ack addons --------- Signed-off-by: Carlos Santana <[email protected]>
1 parent dad7113 commit 20a2ac8

9 files changed

+687
-15
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
---
2+
apiVersion: argoproj.io/v1alpha1
3+
kind: ApplicationSet
4+
metadata:
5+
name: addons-aws-ack-apigatewayv2-appset
6+
spec:
7+
syncPolicy:
8+
preserveResourcesOnDeletion: true
9+
generators:
10+
- merge:
11+
mergeKeys: [server]
12+
generators:
13+
- clusters:
14+
values:
15+
addonChart: apigatewayv2-chart
16+
addonChartReleaseName: ack-apigatewayv2
17+
addonChartRepositoryNamespace: aws-controllers-k8s
18+
# anything not staging or prod use this version
19+
addonChartVersion: '1.0.6'
20+
# using oci repostory already configure in argocd
21+
# argocd repo add public.ecr.aws --type helm --name aws-public-ecr --enable-oci
22+
addonChartRepository: public.ecr.aws
23+
selector:
24+
matchExpressions:
25+
- key: akuity.io/argo-cd-cluster-name
26+
operator: NotIn
27+
values: [in-cluster]
28+
- key: enable_ack_apigatewayv2
29+
operator: In
30+
values: ['true']
31+
- clusters:
32+
selector:
33+
matchLabels:
34+
environment: staging
35+
values:
36+
addonChartVersion: '1.0.6'
37+
- clusters:
38+
selector:
39+
matchLabels:
40+
environment: prod
41+
values:
42+
addonChartVersion: '1.0.6'
43+
template:
44+
metadata:
45+
name: addon-{{name}}-{{values.addonChartReleaseName}}
46+
spec:
47+
project: default
48+
sources:
49+
- repoURL: '{{metadata.annotations.addons_repo_url}}'
50+
targetRevision: '{{metadata.annotations.addons_repo_revision}}'
51+
ref: values
52+
- chart: '{{values.addonChartRepositoryNamespace}}/{{values.addonChart}}'
53+
repoURL: '{{values.addonChartRepository}}'
54+
targetRevision: '{{values.addonChartVersion}}'
55+
helm:
56+
releaseName: '{{values.addonChartReleaseName}}'
57+
ignoreMissingValueFiles: true
58+
valueFiles:
59+
- $values/{{metadata.annotations.addons_repo_basepath}}charts/addons/{{values.addonChart}}/values.yaml
60+
- $values/{{metadata.annotations.addons_repo_basepath}}environments/{{metadata.labels.environment}}/addons/{{values.addonChartReleaseName}}/values.yaml
61+
- $values/{{metadata.annotations.addons_repo_basepath}}clusters/{{name}}/addons/{{values.addonChartReleaseName}}/values.yaml
62+
values: |
63+
aws:
64+
region: {{metadata.annotations.aws_region}}
65+
nameOverride: '{{values.addonChartRepositoryNamespace}}'
66+
serviceAccount:
67+
name: {{metadata.annotations.ack_apigatewayv2_service_account}}
68+
annotations:
69+
eks.amazonaws.com/role-arn: {{metadata.annotations.ack_apigatewayv2_iam_role_arn}}
70+
destination:
71+
namespace: '{{metadata.annotations.ack_apigatewayv2_namespace}}'
72+
name: '{{name}}'
73+
syncPolicy:
74+
automated: {}
75+
syncOptions:
76+
- CreateNamespace=true
77+
- ServerSideApply=true # Big CRDs.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
---
2+
apiVersion: argoproj.io/v1alpha1
3+
kind: ApplicationSet
4+
metadata:
5+
name: addons-aws-ack-dynamodb-appset
6+
spec:
7+
syncPolicy:
8+
preserveResourcesOnDeletion: true
9+
generators:
10+
- merge:
11+
mergeKeys: [server]
12+
generators:
13+
- clusters:
14+
values:
15+
addonChart: dynamodb-chart
16+
addonChartReleaseName: ack-dynamodb
17+
addonChartRepositoryNamespace: aws-controllers-k8s
18+
# anything not staging or prod use this version
19+
addonChartVersion: '1.2.3'
20+
# using oci repostory already configure in argocd
21+
# argocd repo add public.ecr.aws --type helm --name aws-public-ecr --enable-oci
22+
addonChartRepository: public.ecr.aws
23+
selector:
24+
matchExpressions:
25+
- key: akuity.io/argo-cd-cluster-name
26+
operator: NotIn
27+
values: [in-cluster]
28+
- key: enable_ack_dynamodb
29+
operator: In
30+
values: ['true']
31+
- clusters:
32+
selector:
33+
matchLabels:
34+
environment: staging
35+
values:
36+
addonChartVersion: '1.2.3'
37+
- clusters:
38+
selector:
39+
matchLabels:
40+
environment: prod
41+
values:
42+
addonChartVersion: '1.2.3'
43+
template:
44+
metadata:
45+
name: addon-{{name}}-{{values.addonChartReleaseName}}
46+
spec:
47+
project: default
48+
sources:
49+
- repoURL: '{{metadata.annotations.addons_repo_url}}'
50+
targetRevision: '{{metadata.annotations.addons_repo_revision}}'
51+
ref: values
52+
- chart: '{{values.addonChartRepositoryNamespace}}/{{values.addonChart}}'
53+
repoURL: '{{values.addonChartRepository}}'
54+
targetRevision: '{{values.addonChartVersion}}'
55+
helm:
56+
releaseName: '{{values.addonChartReleaseName}}'
57+
ignoreMissingValueFiles: true
58+
valueFiles:
59+
- $values/{{metadata.annotations.addons_repo_basepath}}charts/addons/{{values.addonChart}}/values.yaml
60+
- $values/{{metadata.annotations.addons_repo_basepath}}environments/{{metadata.labels.environment}}/addons/{{values.addonChartReleaseName}}/values.yaml
61+
- $values/{{metadata.annotations.addons_repo_basepath}}clusters/{{name}}/addons/{{values.addonChartReleaseName}}/values.yaml
62+
values: |
63+
aws:
64+
region: {{metadata.annotations.aws_region}}
65+
nameOverride: '{{values.addonChartRepositoryNamespace}}'
66+
serviceAccount:
67+
name: {{metadata.annotations.ack_dynamodb_service_account}}
68+
annotations:
69+
eks.amazonaws.com/role-arn: {{metadata.annotations.ack_dynamodb_iam_role_arn}}
70+
destination:
71+
namespace: '{{metadata.annotations.ack_dynamodb_namespace}}'
72+
name: '{{name}}'
73+
syncPolicy:
74+
automated: {}
75+
syncOptions:
76+
- CreateNamespace=true
77+
- ServerSideApply=true # Big CRDs.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
---
2+
apiVersion: argoproj.io/v1alpha1
3+
kind: ApplicationSet
4+
metadata:
5+
name: addons-aws-ack-emrcontainers-appset
6+
spec:
7+
syncPolicy:
8+
preserveResourcesOnDeletion: true
9+
generators:
10+
- merge:
11+
mergeKeys: [server]
12+
generators:
13+
- clusters:
14+
values:
15+
addonChart: emrcontainers-chart
16+
addonChartReleaseName: ack-emrcontainers
17+
addonChartRepositoryNamespace: aws-controllers-k8s
18+
# anything not staging or prod use this version
19+
addonChartVersion: '1.0.4'
20+
# using oci repostory already configure in argocd
21+
# argocd repo add public.ecr.aws --type helm --name aws-public-ecr --enable-oci
22+
addonChartRepository: public.ecr.aws
23+
selector:
24+
matchExpressions:
25+
- key: akuity.io/argo-cd-cluster-name
26+
operator: NotIn
27+
values: [in-cluster]
28+
- key: enable_ack_emrcontainers
29+
operator: In
30+
values: ['true']
31+
- clusters:
32+
selector:
33+
matchLabels:
34+
environment: staging
35+
values:
36+
addonChartVersion: '1.0.4'
37+
- clusters:
38+
selector:
39+
matchLabels:
40+
environment: prod
41+
values:
42+
addonChartVersion: '1.0.4'
43+
template:
44+
metadata:
45+
name: addon-{{name}}-{{values.addonChartReleaseName}}
46+
spec:
47+
project: default
48+
sources:
49+
- repoURL: '{{metadata.annotations.addons_repo_url}}'
50+
targetRevision: '{{metadata.annotations.addons_repo_revision}}'
51+
ref: values
52+
- chart: '{{values.addonChartRepositoryNamespace}}/{{values.addonChart}}'
53+
repoURL: '{{values.addonChartRepository}}'
54+
targetRevision: '{{values.addonChartVersion}}'
55+
helm:
56+
releaseName: '{{values.addonChartReleaseName}}'
57+
ignoreMissingValueFiles: true
58+
valueFiles:
59+
- $values/{{metadata.annotations.addons_repo_basepath}}charts/addons/{{values.addonChart}}/values.yaml
60+
- $values/{{metadata.annotations.addons_repo_basepath}}environments/{{metadata.labels.environment}}/addons/{{values.addonChartReleaseName}}/values.yaml
61+
- $values/{{metadata.annotations.addons_repo_basepath}}clusters/{{name}}/addons/{{values.addonChartReleaseName}}/values.yaml
62+
values: |
63+
aws:
64+
region: {{metadata.annotations.aws_region}}
65+
nameOverride: '{{values.addonChartRepositoryNamespace}}'
66+
serviceAccount:
67+
name: {{metadata.annotations.ack_emrcontainers_service_account}}
68+
annotations:
69+
eks.amazonaws.com/role-arn: {{metadata.annotations.ack_emrcontainers_iam_role_arn}}
70+
destination:
71+
namespace: '{{metadata.annotations.ack_emrcontainers_namespace}}'
72+
name: '{{name}}'
73+
syncPolicy:
74+
automated: {}
75+
syncOptions:
76+
- CreateNamespace=true
77+
- ServerSideApply=true # Big CRDs.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
---
2+
apiVersion: argoproj.io/v1alpha1
3+
kind: ApplicationSet
4+
metadata:
5+
name: addons-aws-ack-eventbridge-appset
6+
spec:
7+
syncPolicy:
8+
preserveResourcesOnDeletion: true
9+
generators:
10+
- merge:
11+
mergeKeys: [server]
12+
generators:
13+
- clusters:
14+
values:
15+
addonChart: eventbridge-chart
16+
addonChartReleaseName: ack-eventbridge
17+
addonChartRepositoryNamespace: aws-controllers-k8s
18+
# anything not staging or prod use this version
19+
addonChartVersion: '1.0.4'
20+
# using oci repostory already configure in argocd
21+
# argocd repo add public.ecr.aws --type helm --name aws-public-ecr --enable-oci
22+
addonChartRepository: public.ecr.aws
23+
selector:
24+
matchExpressions:
25+
- key: akuity.io/argo-cd-cluster-name
26+
operator: NotIn
27+
values: [in-cluster]
28+
- key: enable_ack_eventbridge
29+
operator: In
30+
values: ['true']
31+
- clusters:
32+
selector:
33+
matchLabels:
34+
environment: staging
35+
values:
36+
addonChartVersion: '1.0.4'
37+
- clusters:
38+
selector:
39+
matchLabels:
40+
environment: prod
41+
values:
42+
addonChartVersion: '1.0.4'
43+
template:
44+
metadata:
45+
name: addon-{{name}}-{{values.addonChartReleaseName}}
46+
spec:
47+
project: default
48+
sources:
49+
- repoURL: '{{metadata.annotations.addons_repo_url}}'
50+
targetRevision: '{{metadata.annotations.addons_repo_revision}}'
51+
ref: values
52+
- chart: '{{values.addonChartRepositoryNamespace}}/{{values.addonChart}}'
53+
repoURL: '{{values.addonChartRepository}}'
54+
targetRevision: '{{values.addonChartVersion}}'
55+
helm:
56+
releaseName: '{{values.addonChartReleaseName}}'
57+
ignoreMissingValueFiles: true
58+
valueFiles:
59+
- $values/{{metadata.annotations.addons_repo_basepath}}charts/addons/{{values.addonChart}}/values.yaml
60+
- $values/{{metadata.annotations.addons_repo_basepath}}environments/{{metadata.labels.environment}}/addons/{{values.addonChartReleaseName}}/values.yaml
61+
- $values/{{metadata.annotations.addons_repo_basepath}}clusters/{{name}}/addons/{{values.addonChartReleaseName}}/values.yaml
62+
values: |
63+
aws:
64+
region: {{metadata.annotations.aws_region}}
65+
nameOverride: '{{values.addonChartRepositoryNamespace}}'
66+
serviceAccount:
67+
name: {{metadata.annotations.ack_eventbridge_service_account}}
68+
annotations:
69+
eks.amazonaws.com/role-arn: {{metadata.annotations.ack_eventbridge_iam_role_arn}}
70+
destination:
71+
namespace: '{{metadata.annotations.ack_eventbridge_namespace}}'
72+
name: '{{name}}'
73+
syncPolicy:
74+
automated: {}
75+
syncOptions:
76+
- CreateNamespace=true
77+
- ServerSideApply=true # Big CRDs.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
---
2+
apiVersion: argoproj.io/v1alpha1
3+
kind: ApplicationSet
4+
metadata:
5+
name: addons-aws-ack-prometheusservice-appset
6+
spec:
7+
syncPolicy:
8+
preserveResourcesOnDeletion: true
9+
generators:
10+
- merge:
11+
mergeKeys: [server]
12+
generators:
13+
- clusters:
14+
values:
15+
addonChart: prometheusservice-chart
16+
addonChartReleaseName: ack-prometheusservice
17+
addonChartRepositoryNamespace: aws-controllers-k8s
18+
# anything not staging or prod use this version
19+
addonChartVersion: '1.2.5'
20+
# using oci repostory already configure in argocd
21+
# argocd repo add public.ecr.aws --type helm --name aws-public-ecr --enable-oci
22+
addonChartRepository: public.ecr.aws
23+
selector:
24+
matchExpressions:
25+
- key: akuity.io/argo-cd-cluster-name
26+
operator: NotIn
27+
values: [in-cluster]
28+
- key: enable_ack_prometheusservice
29+
operator: In
30+
values: ['true']
31+
- clusters:
32+
selector:
33+
matchLabels:
34+
environment: staging
35+
values:
36+
addonChartVersion: '1.2.5'
37+
- clusters:
38+
selector:
39+
matchLabels:
40+
environment: prod
41+
values:
42+
addonChartVersion: '1.2.5'
43+
template:
44+
metadata:
45+
name: addon-{{name}}-{{values.addonChartReleaseName}}
46+
spec:
47+
project: default
48+
sources:
49+
- repoURL: '{{metadata.annotations.addons_repo_url}}'
50+
targetRevision: '{{metadata.annotations.addons_repo_revision}}'
51+
ref: values
52+
- chart: '{{values.addonChartRepositoryNamespace}}/{{values.addonChart}}'
53+
repoURL: '{{values.addonChartRepository}}'
54+
targetRevision: '{{values.addonChartVersion}}'
55+
helm:
56+
releaseName: '{{values.addonChartReleaseName}}'
57+
ignoreMissingValueFiles: true
58+
valueFiles:
59+
- $values/{{metadata.annotations.addons_repo_basepath}}charts/addons/{{values.addonChart}}/values.yaml
60+
- $values/{{metadata.annotations.addons_repo_basepath}}environments/{{metadata.labels.environment}}/addons/{{values.addonChartReleaseName}}/values.yaml
61+
- $values/{{metadata.annotations.addons_repo_basepath}}clusters/{{name}}/addons/{{values.addonChartReleaseName}}/values.yaml
62+
values: |
63+
aws:
64+
region: {{metadata.annotations.aws_region}}
65+
nameOverride: '{{values.addonChartRepositoryNamespace}}'
66+
serviceAccount:
67+
name: {{metadata.annotations.ack_prometheusservice_service_account}}
68+
annotations:
69+
eks.amazonaws.com/role-arn: {{metadata.annotations.ack_prometheusservice_iam_role_arn}}
70+
destination:
71+
namespace: '{{metadata.annotations.ack_prometheusservice_namespace}}'
72+
name: '{{name}}'
73+
syncPolicy:
74+
automated: {}
75+
syncOptions:
76+
- CreateNamespace=true
77+
- ServerSideApply=true # Big CRDs.

0 commit comments

Comments
 (0)