Skip to content

Commit 47cbcf4

Browse files
authored
feat: reorganize helmfile flux apps and update flux ks intervals (#1795)
1 parent 1ee30f4 commit 47cbcf4

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+165
-206
lines changed

templates/config/bootstrap/helmfile.yaml.j2

+5-5
Original file line numberDiff line numberDiff line change
@@ -19,33 +19,33 @@ releases:
1919
namespace: kube-system
2020
chart: cilium/cilium
2121
version: 1.17.1
22-
values: ['{{ requiredEnv "ROOT_DIR" }}/kubernetes/apps/kube-system/cilium/app/helm-values.yaml']
22+
values: ['{{ requiredEnv "ROOT_DIR" }}/kubernetes/apps/kube-system/cilium/app/helm/values.yaml']
2323

2424
- name: coredns
2525
namespace: kube-system
2626
chart: oci://ghcr.io/coredns/charts/coredns
2727
version: 1.39.1
28-
values: ['{{ requiredEnv "ROOT_DIR" }}/kubernetes/apps/kube-system/coredns/app/helm-values.yaml']
28+
values: ['{{ requiredEnv "ROOT_DIR" }}/kubernetes/apps/kube-system/coredns/app/helm/values.yaml']
2929
needs: ['kube-system/cilium']
3030

3131
- name: cert-manager
3232
namespace: cert-manager
3333
chart: jetstack/cert-manager
3434
version: v1.17.1
35-
values: ['{{ requiredEnv "ROOT_DIR" }}/kubernetes/apps/cert-manager/cert-manager/app/helm-values.yaml']
35+
values: ['{{ requiredEnv "ROOT_DIR" }}/kubernetes/apps/cert-manager/cert-manager/app/helm/values.yaml']
3636
needs: ['kube-system/coredns']
3737

3838
- name: flux-operator
3939
namespace: flux-system
4040
chart: oci://ghcr.io/controlplaneio-fluxcd/charts/flux-operator
4141
version: 0.16.0
42-
values: ['{{ requiredEnv "ROOT_DIR" }}/kubernetes/apps/flux-system/flux-operator/app/helm-values.yaml']
42+
values: ['{{ requiredEnv "ROOT_DIR" }}/kubernetes/apps/flux-system/flux-operator/app/helm/values.yaml']
4343
needs: ['cert-manager/cert-manager']
4444

4545
- name: flux-instance
4646
namespace: flux-system
4747
chart: oci://ghcr.io/controlplaneio-fluxcd/charts/flux-instance
4848
version: 0.16.0
4949
wait: false
50-
values: ['{{ requiredEnv "ROOT_DIR" }}/kubernetes/apps/flux-system/flux-operator/instance/helm-values.yaml']
50+
values: ['{{ requiredEnv "ROOT_DIR" }}/kubernetes/apps/flux-system/flux-instance/app/helm/values.yaml']
5151
needs: ['flux-system/flux-operator']

templates/config/kubernetes/apps/cert-manager/cert-manager/issuers/clusterissuers.yaml.j2 templates/config/kubernetes/apps/cert-manager/cert-manager/app/clusterissuers.yaml.j2

+8-6
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33
apiVersion: cert-manager.io/v1
44
kind: ClusterIssuer
55
metadata:
6-
name: letsencrypt-production
6+
name: letsencrypt-staging
77
spec:
88
acme:
9-
server: https://acme-v02.api.letsencrypt.org/directory
9+
server: https://acme-staging-v02.api.letsencrypt.org/directory
1010
privateKeySecretRef:
11-
name: letsencrypt-production
11+
name: letsencrypt-staging
1212
solvers:
1313
- dns01:
1414
cloudflare:
@@ -18,17 +18,18 @@ spec:
1818
selector:
1919
dnsZones:
2020
- "${SECRET_DOMAIN}"
21+
#% if cloudflare_cluster_issuer == 'production' %#
2122
---
2223
# yaml-language-server: $schema=https://raw.githubusercontent.com/datreeio/CRDs-catalog/main/cert-manager.io/clusterissuer_v1.json
2324
apiVersion: cert-manager.io/v1
2425
kind: ClusterIssuer
2526
metadata:
26-
name: letsencrypt-staging
27+
name: letsencrypt-production
2728
spec:
2829
acme:
29-
server: https://acme-staging-v02.api.letsencrypt.org/directory
30+
server: https://acme-v02.api.letsencrypt.org/directory
3031
privateKeySecretRef:
31-
name: letsencrypt-staging
32+
name: letsencrypt-production
3233
solvers:
3334
- dns01:
3435
cloudflare:
@@ -38,3 +39,4 @@ spec:
3839
selector:
3940
dnsZones:
4041
- "${SECRET_DOMAIN}"
42+
#% endif %#

templates/config/kubernetes/apps/cert-manager/cert-manager/app/helmrelease.yaml.j2

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ kind: HelmRelease
55
metadata:
66
name: cert-manager
77
spec:
8-
interval: 30m
8+
interval: 1h
99
chart:
1010
spec:
1111
chart: cert-manager
@@ -23,4 +23,4 @@ spec:
2323
retries: 3
2424
valuesFrom:
2525
- kind: ConfigMap
26-
name: cert-manager-helm-values
26+
name: cert-manager-values

templates/config/kubernetes/apps/cert-manager/cert-manager/app/kustomization.yaml.j2

+5-3
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,11 @@ apiVersion: kustomize.config.k8s.io/v1beta1
44
kind: Kustomization
55
resources:
66
- ./helmrelease.yaml
7+
- ./secret.sops.yaml
8+
- ./clusterissuers.yaml
79
configMapGenerator:
8-
- name: cert-manager-helm-values
10+
- name: cert-manager-values
911
files:
10-
- values.yaml=./helm-values.yaml
12+
- values.yaml=./helm/values.yaml
1113
configurations:
12-
- kustomizeconfig.yaml
14+
- ./helm/kustomizeconfig.yaml

templates/config/kubernetes/apps/cert-manager/cert-manager/issuers/kustomization.yaml.j2

-7
This file was deleted.

templates/config/kubernetes/apps/cert-manager/cert-manager/ks.yaml.j2

+8-27
Original file line numberDiff line numberDiff line change
@@ -9,41 +9,21 @@ spec:
99
commonMetadata:
1010
labels:
1111
app.kubernetes.io/name: *app
12-
interval: 30m
13-
path: ./kubernetes/apps/cert-manager/cert-manager/app
14-
prune: true
15-
sourceRef:
16-
kind: GitRepository
17-
name: flux-system
18-
namespace: flux-system
19-
timeout: 5m
20-
targetNamespace: *namespace
21-
wait: false
22-
---
23-
# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/kustomization-kustomize-v1.json
24-
apiVersion: kustomize.toolkit.fluxcd.io/v1
25-
kind: Kustomization
26-
metadata:
27-
name: &app cert-manager-issuers
28-
namespace: &namespace cert-manager
29-
spec:
30-
commonMetadata:
31-
labels:
32-
app.kubernetes.io/name: *app
33-
interval: 30m
34-
path: ./kubernetes/apps/cert-manager/cert-manager/issuers
35-
prune: true
3612
healthCheckExprs:
3713
- apiVersion: cert-manager.io/v1
3814
kind: ClusterIssuer
3915
failed: status.conditions.filter(e, e.type == 'Ready').all(e, e.status == 'False')
4016
current: status.conditions.filter(e, e.type == 'Ready').all(e, e.status == 'True')
17+
interval: 1h
18+
path: ./kubernetes/apps/cert-manager/cert-manager/app
19+
prune: true
20+
retryInterval: 2m
4121
sourceRef:
4222
kind: GitRepository
4323
name: flux-system
4424
namespace: flux-system
4525
targetNamespace: *namespace
46-
timeout: 5m
26+
timeout: 15m
4727
wait: true
4828
---
4929
# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/kustomization-kustomize-v1.json
@@ -57,16 +37,17 @@ spec:
5737
labels:
5838
app.kubernetes.io/name: *app
5939
dependsOn:
60-
- name: cert-manager-issuers
40+
- name: cert-manager
6141
namespace: cert-manager
6242
healthCheckExprs:
6343
- apiVersion: cert-manager.io/v1
6444
kind: Certificate
6545
failed: status.conditions.filter(e, e.type == 'Ready').all(e, e.status == 'False')
6646
current: status.conditions.filter(e, e.type == 'Ready').all(e, e.status == 'True')
67-
interval: 30m
47+
interval: 1h
6848
path: ./kubernetes/apps/cert-manager/cert-manager/tls
6949
prune: true
50+
retryInterval: 2m
7051
sourceRef:
7152
kind: GitRepository
7253
name: flux-system

templates/config/kubernetes/apps/default/echo-server/app/helmrelease.yaml.j2

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ kind: HelmRelease
55
metadata:
66
name: echo-server
77
spec:
8-
interval: 30m
8+
interval: 1h
99
chart:
1010
spec:
1111
chart: app-template

templates/config/kubernetes/apps/default/echo-server/ks.yaml.j2

+2-1
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,10 @@ spec:
99
commonMetadata:
1010
labels:
1111
app.kubernetes.io/name: *app
12-
interval: 30m
12+
interval: 1h
1313
path: ./kubernetes/apps/default/echo-server/app
1414
prune: true
15+
retryInterval: 2m
1516
sourceRef:
1617
kind: GitRepository
1718
name: flux-system

templates/config/kubernetes/apps/flux-system/flux-operator/instance/helmrelease.yaml.j2 templates/config/kubernetes/apps/flux-system/flux-instance/app/helmrelease.yaml.j2

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ kind: HelmRelease
55
metadata:
66
name: flux-instance
77
spec:
8-
interval: 30m
8+
interval: 1h
99
chart:
1010
spec:
1111
chart: flux-instance
@@ -27,4 +27,4 @@ spec:
2727
namespace: flux-system
2828
valuesFrom:
2929
- kind: ConfigMap
30-
name: flux-instance-helm-values
30+
name: flux-instance-values

templates/config/kubernetes/apps/flux-system/flux-operator/instance/kustomization.yaml.j2 templates/config/kubernetes/apps/flux-system/flux-instance/app/kustomization.yaml.j2

+6-4
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,12 @@ apiVersion: kustomize.config.k8s.io/v1beta1
44
kind: Kustomization
55
resources:
66
- ./helmrelease.yaml
7-
- ./github-webhook
7+
- ./secret.sops.yaml
8+
- ./ingress.yaml
9+
- ./receiver.yaml
810
configMapGenerator:
9-
- name: flux-instance-helm-values
11+
- name: flux-instance-values
1012
files:
11-
- values.yaml=./helm-values.yaml
13+
- values.yaml=./helm/values.yaml
1214
configurations:
13-
- kustomizeconfig.yaml
15+
- ./helm/kustomizeconfig.yaml
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
---
2+
# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/kustomization-kustomize-v1.json
3+
apiVersion: kustomize.toolkit.fluxcd.io/v1
4+
kind: Kustomization
5+
metadata:
6+
name: &app flux-instance
7+
namespace: &namespace flux-system
8+
spec:
9+
commonMetadata:
10+
labels:
11+
app.kubernetes.io/name: *app
12+
interval: 1h
13+
path: ./kubernetes/apps/flux-system/flux-instance/app
14+
prune: false # let's not make happy accidents
15+
retryInterval: 2m
16+
sourceRef:
17+
kind: GitRepository
18+
name: flux-system
19+
namespace: flux-system
20+
targetNamespace: *namespace
21+
timeout: 5m
22+
wait: false

templates/config/kubernetes/apps/flux-system/flux-operator/app/helmrelease.yaml.j2

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ kind: HelmRelease
55
metadata:
66
name: flux-operator
77
spec:
8-
interval: 30m
8+
interval: 1h
99
chart:
1010
spec:
1111
chart: flux-operator
@@ -24,4 +24,4 @@ spec:
2424
retries: 3
2525
valuesFrom:
2626
- kind: ConfigMap
27-
name: flux-operator-helm-values
27+
name: flux-operator-values

templates/config/kubernetes/apps/flux-system/flux-operator/app/kustomization.yaml.j2

+3-3
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ kind: Kustomization
55
resources:
66
- ./helmrelease.yaml
77
configMapGenerator:
8-
- name: flux-operator-helm-values
8+
- name: flux-operator-values
99
files:
10-
- values.yaml=./helm-values.yaml
10+
- values.yaml=./helm/values.yaml
1111
configurations:
12-
- kustomizeconfig.yaml
12+
- ./helm/kustomizeconfig.yaml

templates/config/kubernetes/apps/flux-system/flux-operator/instance/github-webhook/kustomization.yaml.j2

-8
This file was deleted.

templates/config/kubernetes/apps/flux-system/flux-operator/ks.yaml.j2

+4-23
Original file line numberDiff line numberDiff line change
@@ -4,34 +4,15 @@ apiVersion: kustomize.toolkit.fluxcd.io/v1
44
kind: Kustomization
55
metadata:
66
name: &app flux-operator
7-
namespace: flux-system
8-
spec:
9-
targetNamespace: flux-system
10-
commonMetadata:
11-
labels:
12-
app.kubernetes.io/name: *app
13-
path: ./kubernetes/apps/flux-system/flux-operator/app
14-
prune: false # never should be deleted
15-
sourceRef:
16-
kind: GitRepository
17-
name: flux-system
18-
wait: false
19-
interval: 30m
20-
timeout: 5m
21-
---
22-
# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/kustomization-kustomize-v1.json
23-
apiVersion: kustomize.toolkit.fluxcd.io/v1
24-
kind: Kustomization
25-
metadata:
26-
name: &app flux-instance
277
namespace: &namespace flux-system
288
spec:
299
commonMetadata:
3010
labels:
3111
app.kubernetes.io/name: *app
32-
interval: 30m
33-
path: ./kubernetes/apps/flux-system/flux-operator/instance
34-
prune: false # never should be deleted
12+
interval: 1h
13+
path: ./kubernetes/apps/flux-system/flux-operator/app
14+
prune: false # let's not make happy accidents
15+
retryInterval: 2m
3516
sourceRef:
3617
kind: GitRepository
3718
name: flux-system

templates/config/kubernetes/apps/flux-system/kustomization.yaml.j2

+1
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,5 @@ namespace: flux-system
66
components:
77
- ../../components/common
88
resources:
9+
- ./flux-instance/ks.yaml
910
- ./flux-operator/ks.yaml

templates/config/kubernetes/apps/kube-system/cilium/app/helmrelease.yaml.j2

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ kind: HelmRelease
55
metadata:
66
name: cilium
77
spec:
8-
interval: 30m
8+
interval: 1h
99
chart:
1010
spec:
1111
chart: cilium
@@ -23,7 +23,7 @@ spec:
2323
retries: 3
2424
valuesFrom:
2525
- kind: ConfigMap
26-
name: cilium-helm-values
26+
name: cilium-values
2727
values:
2828
operator:
2929
tolerations: []

templates/config/kubernetes/apps/kube-system/cilium/app/kustomization.yaml.j2

+4-3
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,10 @@ apiVersion: kustomize.config.k8s.io/v1beta1
44
kind: Kustomization
55
resources:
66
- ./helmrelease.yaml
7+
- ./networks.yaml
78
configMapGenerator:
8-
- name: cilium-helm-values
9+
- name: cilium-values
910
files:
10-
- values.yaml=./helm-values.yaml
11+
- values.yaml=./helm/values.yaml
1112
configurations:
12-
- kustomizeconfig.yaml
13+
- ./helm/kustomizeconfig.yaml

0 commit comments

Comments
 (0)