Skip to content

Commit 838891c

Browse files
Creating a helm chart for application sets
Signed-off-by: Markos Kandylis <markos_kandylis@hotmail.com>
1 parent 1758b08 commit 838891c

File tree

12 files changed

+715
-0
lines changed

12 files changed

+715
-0
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Patterns to ignore when building packages.
2+
# This supports shell glob matching, relative path matching, and
3+
# negation (prefixed with !). Only one pattern per line.
4+
.DS_Store
5+
# Common VCS dirs
6+
.git/
7+
.gitignore
8+
.bzr/
9+
.bzrignore
10+
.hg/
11+
.hgignore
12+
.svn/
13+
# Common backup files
14+
*.swp
15+
*.bak
16+
*.tmp
17+
*.orig
18+
*~
19+
# Various IDEs
20+
.project
21+
.idea/
22+
*.tmproj
23+
.vscode/

charts/application-sets/Chart.yaml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
apiVersion: v2
2+
name: application-sets
3+
description: A Helm chart for Kubernetes
4+
5+
# A chart can be either an 'application' or a 'library' chart.
6+
#
7+
# Application charts are a collection of templates that can be packaged into versioned archives
8+
# to be deployed.
9+
#
10+
# Library charts provide useful utilities or functions for the chart developer. They're included as
11+
# a dependency of application charts to inject those utilities and functions into the rendering
12+
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
13+
type: application
14+
15+
# This is the chart version. This version number should be incremented each time you make changes
16+
# to the chart and its templates, including the app version.
17+
# Versions are expected to follow Semantic Versioning (https://semver.org/)
18+
version: 0.1.0
19+
20+
# This is the version number of the application being deployed. This version number should be
21+
# incremented each time you make changes to the application. Versions are not expected to
22+
# follow Semantic Versioning. They should reflect the version the application is using.
23+
# It is recommended to use it with quotes.
24+
appVersion: "1.16.0"

charts/application-sets/README.md

Whitespace-only changes.
Lines changed: 231 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,231 @@
1+
argocd:
2+
enabled: false
3+
chartName: argo-cd
4+
namespace: argocd
5+
releaseName: argocd
6+
defaultVersion: "7.7.8"
7+
chartRepository: "https://argoproj.github.io/argo-helm"
8+
selector:
9+
matchExpressions:
10+
- key: enable_argocd
11+
operator: In
12+
values: ['true']
13+
iam-chart:
14+
enabled: false
15+
enableAckPodIdentity: false
16+
namespace: ack-system
17+
defaultVersion: "1.3.13"
18+
chartNamespace: aws-controllers-k8s
19+
chartRepository: public.ecr.aws
20+
selector:
21+
matchExpressions:
22+
- key: enable_ack_iam
23+
operator: In
24+
values: ['true']
25+
environments:
26+
- selector:
27+
environment: staging
28+
tenant: tenant1
29+
chartVersion: "7.6.12"
30+
valuesObject:
31+
aws:
32+
region: '{{.metadata.annotations.aws_region}}'
33+
serviceAccount:
34+
name: '{{.metadata.annotations.ack_iam_service_account}}'
35+
ack-eks:
36+
enabled: false
37+
enableAckPodIdentity: false
38+
namespace: ack-system
39+
chartName: eks-chart
40+
defaultVersion: "1.5.1"
41+
chartNamespace: aws-controllers-k8s
42+
chartRepository: public.ecr.aws
43+
selector:
44+
matchExpressions:
45+
- key: enable_ack_eks
46+
operator: In
47+
values: ['true']
48+
valuesObject:
49+
aws:
50+
region: '{{.metadata.annotations.aws_region}}'
51+
serviceAccount:
52+
name: '{{.metadata.annotations.ack_eks_service_account}}'
53+
ack-acm:
54+
enabled: true
55+
enableAckPodIdentity: true
56+
namespace: ack-system
57+
chartName: acm-chart
58+
defaultVersion: "1.0.2"
59+
chartNamespace: aws-controllers-k8s
60+
chartRepository: public.ecr.aws
61+
selector:
62+
matchExpressions:
63+
- key: enable_ack_acm
64+
operator: In
65+
values: ['true']
66+
valuesObject:
67+
aws:
68+
region: '{{.metadata.annotations.aws_region}}'
69+
serviceAccount:
70+
name: 'ack-acm-controller'
71+
annotations:
72+
eks.amazonaws.com/role-arn: '{{default "" (index .metadata.annotations "ack_acm_role_arn")}}'
73+
route53-chart:
74+
enabled: false
75+
enableAckPodIdentity: false
76+
namespace: ack-system
77+
chartName: route53-chart
78+
defaultVersion: "0.0.20"
79+
chartNamespace: aws-controllers-k8s
80+
chartRepository: public.ecr.aws
81+
selector:
82+
matchExpressions:
83+
- key: enable_route53_controller
84+
operator: In
85+
values: ['true']
86+
valuesObject:
87+
aws:
88+
region: '{{.metadata.annotations.aws_region}}'
89+
serviceAccount:
90+
name: 'route53-controller'
91+
annotations:
92+
eks.amazonaws.com/role-arn: '{{default "" (index .metadata.annotations "ack_route53_controller_role_arn")}}'
93+
external-secrets:
94+
enabled: true
95+
enableAckPodIdentity: false
96+
namespace: external-secrets
97+
chartName: external-secrets
98+
defaultVersion: "0.10.3"
99+
chartRepository: "https://charts.external-secrets.io"
100+
additionalResources:
101+
path: "charts/fleet-secret"
102+
type: "ecr-token"
103+
helm:
104+
releaseName: ecr-token
105+
selector:
106+
matchExpressions:
107+
- key: enable_external_secrets
108+
operator: In
109+
values: ['true']
110+
valuesObject:
111+
installCRDs: '{{default toBool(true) toBool((index .metadata.labels "use_external_secrets"))}}'
112+
serviceAccount:
113+
name: "external-secrets-sa"
114+
annotations:
115+
eks.amazonaws.com/role-arn: '{{default "" (index .metadata.annotations "external_secrets_iam_role_arn")}}'
116+
aws-load-balancer-controller:
117+
enabled: true
118+
enableAckPodIdentity: true
119+
namespace: kube-system
120+
defaultVersion: "1.8.4"
121+
chartRepository: "https://aws.github.io/eks-charts"
122+
selector:
123+
matchExpressions:
124+
- key: enable_aws_load_balancer_controller
125+
operator: In
126+
values: ['true']
127+
valuesObject:
128+
serviceAccount:
129+
name: "aws-load-balancer-controller-sa"
130+
vpcId: '{{.metadata.annotations.aws_vpc_id}}'
131+
clusterName: '{{.name}}'
132+
ignoreDifferences:
133+
- kind: Secret
134+
name: aws-load-balancer-tls
135+
jsonPointers: [/data]
136+
- group: admissionregistration.k8s.io
137+
kind: MutatingWebhookConfiguration
138+
jqPathExpressions: ['.webhooks[].clientConfig.caBundle']
139+
- group: admissionregistration.k8s.io
140+
kind: ValidatingWebhookConfiguration
141+
jqPathExpressions: ['.webhooks[].clientConfig.caBundle']
142+
metrics-server:
143+
enabled: false
144+
namespace: kube-system
145+
defaultVersion: "3.11.0"
146+
chartRepository: "https://kubernetes-sigs.github.io/metrics-server"
147+
selector:
148+
matchExpressions:
149+
- key: enable_metrics_server
150+
operator: In
151+
values: ['true']
152+
karpenter:
153+
enabled: false
154+
enableAckPodIdentity: false
155+
releaseName: karpenter
156+
namespace: 'karpenter'
157+
chartName: karpenter/karpenter
158+
chartRepository: public.ecr.aws
159+
defaultVersion: "1.0.4"
160+
selector:
161+
matchExpressions:
162+
- key: enable_karpenter
163+
operator: In
164+
values: ['true']
165+
valuesObject:
166+
settings:
167+
clusterName: '{{.metadata.annotations.aws_cluster_name}}'
168+
interruptionQueue: '{{.metadata.annotations.karpenter_sqs_queue_name}}'
169+
serviceAccount:
170+
name: '{{.metadata.annotations.karpenter_service_account}}'
171+
annotations:
172+
eks.amazonaws.com/role-arn: '{{.metadata.annotations.karpenter_iam_role_arn}}'
173+
aws_efs_csi_driver:
174+
enabled: false
175+
enableAckPodIdentity: false
176+
releaseName: aws-efs-csi-driver
177+
namespace: "kube-sytem"
178+
chartName: aws-efs-csi-driver
179+
chartRepository: https://kubernetes-sigs.github.io/aws-efs-csi-driver
180+
defaultVersion: "3.0.7"
181+
selector:
182+
matchExpressions:
183+
- key: enable_aws_efs_csi_driver
184+
operator: In
185+
values: ['true']
186+
valuesObject:
187+
controller:
188+
serviceAccount:
189+
name: '{{default "" (index .metadata.annotations aws_efs_csi_driver_controller_service_account)}}'
190+
annotations:
191+
eks.amazonaws.com/role-arn: '{{default "" (index .metadata.annotations aws_efs_csi_driver_iam_role_arn)}}'
192+
node:
193+
serviceAccount:
194+
name: '{{.metadata.annotations.aws_efs_csi_driver_node_service_account}}'
195+
annotations:
196+
eks.amazonaws.com/role-arn: '{{.metadata.annotations.aws_efs_csi_driver_iam_role_arn}}'
197+
kro:
198+
enabled: false
199+
namespace: kro-system
200+
defaultVersion: "0.2.1"
201+
chartName: kro
202+
chartNamespace: kro
203+
chartRepository: ghcr.io/kro-run
204+
selector:
205+
matchExpressions:
206+
- key: enable_kro
207+
operator: In
208+
values: ['true']
209+
kro-resource-groups:
210+
enabled: false
211+
type: manifest
212+
namespace: kro-resource-groups
213+
defaultVersion: "0.1.0"
214+
path: kro/resource-groups
215+
selector:
216+
matchExpressions:
217+
- key: enable_kro_resource_groups
218+
operator: In
219+
values: ['true']
220+
external-dns:
221+
enabled: false
222+
releaseName: external-dns
223+
namespace: '{{.metadata.annotations.external_dns_namespace}}'
224+
chartName: external-dns
225+
chartRepository: https://kubernetes-sigs.github.io/external-dns
226+
defaultVersion: "1.14.5"
227+
selector:
228+
matchExpressions:
229+
- key: enable_external_dns
230+
operator: In
231+
values: ['true']
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
adot_collector:
2+
enableACK: true
3+
enabled: true
4+
namespace: '{{default "adot-collector-kubeprometheus" (index .metadata.annotations "adot_collector_namespace")}}'
5+
defaultVersion: "1.0.0"
6+
path: charts/adot-collector
7+
selector:
8+
matchExpressions:
9+
- key: enable_adot_collector
10+
operator: In
11+
values: ['true']
12+
valuesObject:
13+
ekscluster: '{{.metadata.annotations.aws_cluster_name}}'
14+
accountId: '{{.metadata.annotations.aws_account_id}}'
15+
region: '{{.metadata.annotations.aws_region}}'
16+
ampurl: '{{.metadata.annotations.amp_endpoint_url}}api/v1/remote_write'
17+
serviceAccount: '{{.metadata.annotations.adot_collector_serviceaccount}}'
18+
amp-prometheus:
19+
enabled: true
20+
enableACK: true
21+
ackPodIdentity:
22+
repoURL: "testPath"
23+
chart: "chartName"
24+
chartVersion: "v1"
25+
releaseName: amp-prometheus
26+
namespace: '{{default "amp-prometheus" (index .metadata.annotations "amp_prometheus_namespace")}}'
27+
chartName: prometheus
28+
chartRepository: https://prometheus-community.github.io/helm-charts
29+
defaultVersion: "27.3.1"
30+
valuesObject:
31+
serviceAccounts:
32+
server:
33+
name: '{{default "amp-prometheus-server-sa" (index .metadata.annotations "amp_prometheus_server_sa")}}'
34+
annotations:
35+
eks.amazonaws.com/role-arn: '{{default "" (index .metadata.annotations "amp_prometheus_iam_role_arn")}}'
36+
server:
37+
remoteWrite:
38+
-
39+
url: '{{.metadata.annotations.amp_endpoint_url}}api/v1/remote_write'
40+
sigv4:
41+
region: '{{.metadata.annotations.aws_region}}'
42+
role_arn: '{{default "" (index .metadata.annotations "amp_prometheus_crossaccount_role")}}'
43+
selector:
44+
matchExpressions:
45+
- key: enable_amp_prometheus
46+
operator: In
47+
values: ['true']
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
karpenter-resources:
2+
enabled: true
3+
chartName: karpenter-resources
4+
defaultVersion: "1.0.0"
5+
path: 'charts/karpenter-resources'
6+
namespace: karpenter-resources
7+
selector:
8+
matchExpressions:
9+
- key: enable_karpenter_resources
10+
operator: In
11+
values: ['true']
12+
valuesObject:
13+
nodeClases:
14+
role: '{{.metadata.annotations.karpenter_node_iam_role_name}}'
15+
clusterName: '{{.metadata.annotations.aws_cluster_name}}'

0 commit comments

Comments
 (0)