File tree 8 files changed +93
-19
lines changed 8 files changed +93
-19
lines changed Original file line number Diff line number Diff line change @@ -100,6 +100,7 @@ app = argo_cd_base.app | {
100
100
redis = _dragonfly
101
101
}
102
102
ingresses.main = ingress.Ingress {
103
+ className = "cilium"
103
104
rules.main = {
104
105
httpPaths.main.backend.service = {
105
106
name = "argo-cd-server"
Original file line number Diff line number Diff line change 1
1
import file
2
2
3
3
import charts.cilium
4
+ import charts.cilium.api.v2alpha1 as ciliumv2alpha1
4
5
import cilium_shared
5
6
import konfig.models.frontend
7
+ import konfig.models.utils as modelutils
6
8
import konfig.utils
7
9
8
10
_valueFile = utils.abs_path(file.current(), "values.yaml")
@@ -14,4 +16,53 @@ app: frontend.App {
14
16
charts.cilium = cilium.Chart {
15
17
valueFiles: [_valueFile]
16
18
}
19
+
20
+ extraResources.bgpPeering = ciliumv2alpha1.CiliumBGPPeeringPolicy {
21
+ metadata: modelutils.AppMetadataBuilder({
22
+ name = "cilium-ingress"
23
+ }, modelutils.ArgoCDOptions {
24
+ sync.SkipDryRunOnMissingResource = True
25
+ })
26
+ spec: {
27
+ # nodeSelector.matchLabels = {
28
+ # "bgp.kube.macro.network/peer-group" = "main"
29
+ # }
30
+ virtualRouters = [
31
+ {
32
+ localASN = 64512
33
+ exportPodCIDR = False
34
+ neighbors = [
35
+ {
36
+ peerAddress = "10.1.0.1/32"
37
+ peerASN = 64512
38
+ eBGPMultihopTTL = 1
39
+ }
40
+ ]
41
+ serviceSelector.matchLabels = {
42
+ "cilium.io/ingress": "true"
43
+ }
44
+ }
45
+ ]
46
+ }
47
+ }
48
+
49
+ extraResources.ipPool = ciliumv2alpha1.CiliumLoadBalancerIPPool {
50
+ metadata: {
51
+ name = "cilium-ingress"
52
+ }
53
+ spec: {
54
+ blocks = [
55
+ {
56
+ cidr = "10.10.30.0/24"
57
+ }
58
+ {
59
+ cidr = "fc42:0:0:a::10:0/108"
60
+ }
61
+ ]
62
+ allowFirstLastIPs = "No"
63
+ serviceSelector.matchLabels = {
64
+ "cilium.io/ingress": "true"
65
+ }
66
+ }
67
+ }
17
68
}
Original file line number Diff line number Diff line change @@ -32,6 +32,33 @@ endpointRoutes:
32
32
# #
33
33
enabled : false
34
34
35
+ bgpControlPlane :
36
+ enabled : true
37
+ secretsNamespace :
38
+ create : true
39
+ name : cilium-bgp
40
+
41
+ wellKnownIdentities :
42
+ enabled : true
43
+
44
+ loadBalancer :
45
+ algorithm : maglev
46
+ mode : dsr
47
+ serviceTopology : true
48
+ l7 :
49
+ backend : envoy
50
+
51
+ envoyConfig :
52
+ enabled : true
53
+
54
+ encryption :
55
+ enabled : true
56
+ type : wireguard
57
+
58
+ # # Enable BPF clock source probing for more efficient tick retrieval.
59
+ # #
60
+ bpfClockProbe : false
61
+
35
62
dnsPolicy : ClusterFirst
36
63
37
64
operator :
Original file line number Diff line number Diff line change @@ -11,10 +11,5 @@ sources:
11
11
12
12
policy : upsert-only
13
13
14
- extraArgs :
15
- - --crd-source-apiversion=externaldns.k8s.io/v1alpha1
16
- - --crd-source-kind=DNSEndpoint
17
- - --ingress-class=traefik
18
-
19
14
serviceMonitor :
20
15
enabled : false
Original file line number Diff line number Diff line change @@ -8,11 +8,14 @@ app = external_dns_base.app | {
8
8
unifiCreds = external_dns_base.unifiCreds
9
9
}
10
10
charts: {
11
- external_dns_cloudflare = external_dns.Chart {
12
- values: external_dns_base.cloudflareValues
13
- }
14
11
external_dns_unifi = external_dns.Chart {
15
- values: external_dns_base.unifiValues
12
+ values: external_dns_base.unifiValues | {
13
+ extraArgs = [
14
+ "--crd-source-apiversion=externaldns.k8s.io/v1alpha1"
15
+ "--crd-source-kind=DNSEndpoint"
16
+ "--ingress-class=cilium"
17
+ ]
18
+ }
16
19
}
17
20
}
18
21
}
Original file line number Diff line number Diff line change @@ -67,6 +67,8 @@ app = bootstrap.app | {
67
67
name = "bootstrap"
68
68
namespace = _argo_cd_namespace
69
69
}, utils.ArgoCDOptions {
70
+ compare.ServerSideDiff = True
71
+ compare.IncludeMutationWebhook = True
70
72
finalize = False
71
73
})
72
74
spec = {
Original file line number Diff line number Diff line change @@ -51,6 +51,8 @@ schema TenantBackend[inputConfig: frontend.Tenant]:
51
51
metadata = utils.AppMetadataBuilder(_metadata | {
52
52
name = "${config.name}-shared"
53
53
}, utils.ArgoCDOptions {
54
+ compare.ServerSideDiff = True
55
+ compare.IncludeMutationWebhook = True
54
56
sync.Prune = "false"
55
57
finalize = False
56
58
})
@@ -159,6 +161,8 @@ schema TenantBackend[inputConfig: frontend.Tenant]:
159
161
metadata = utils.AppMetadataBuilder(_metadata | {
160
162
name = "${config.name}-apps"
161
163
}, utils.ArgoCDOptions {
164
+ compare.ServerSideDiff = True
165
+ compare.IncludeMutationWebhook = True
162
166
sync.Prune = "false"
163
167
finalize = False
164
168
})
Original file line number Diff line number Diff line change 1
1
AppMetadataBuilder = lambda config: any, options: ArgoCDOptions -> {str:} {
2
- _options = options
3
-
4
- if not options.compare?.ServerSideDiff:
5
- _options.compare.ServerSideDiff = True
6
- if not options.compare?.IncludeMutationWebhook:
7
- _options.compare.IncludeMutationWebhook = True
8
- if not options?.finalize:
9
- _options.finalize = True
10
-
11
- _argoCDOptionMetadataBuilder(_options) | {
2
+ _argoCDOptionMetadataBuilder(options) | {
12
3
name: config?.name
13
4
namespace: config?.namespace
14
5
labels: config?.labels
You can’t perform that action at this time.
0 commit comments