Skip to content

Commit 9a630ba

Browse files
committed
feat(config): Add SOPS configuration and BGP load balancer resources
1 parent 541272e commit 9a630ba

File tree

9 files changed

+174
-0
lines changed

9 files changed

+174
-0
lines changed
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
-----BEGIN PGP PUBLIC KEY BLOCK-----
2+
3+
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
62+
=te2g
63+
-----END PGP PUBLIC KEY BLOCK-----

clusters/feather-core/.sops.yaml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
creation_rules:
2+
- pgp: 0231831CB40B8E587B7353CBA3AF727721205A62
3+
path_regex: .*.env
4+
- pgp: 0231831CB40B8E587B7353CBA3AF727721205A62
5+
path_regex: .*.sops.env
6+
- pgp: 0231831CB40B8E587B7353CBA3AF727721205A62
7+
path_regex: .sops.yaml
8+
- pgp: 0231831CB40B8E587B7353CBA3AF727721205A62
9+
path_regex: s3.conf
10+
- pgp: 0231831CB40B8E587B7353CBA3AF727721205A62
11+
path_regex: .dockerconfigjson
12+
- path_regex: .*.yaml
13+
encrypted_regex: ^(ca_password|provisioner_password|intermediate_ca_key|root_ca_key|\.dockerconfigjson|sql\.php)$
14+
pgp: 0231831CB40B8E587B7353CBA3AF727721205A62
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
apiVersion: kustomize.toolkit.fluxcd.io/v1
2+
kind: Kustomization
3+
metadata:
4+
name: ipconfig
5+
namespace: flux-system
6+
spec:
7+
interval: 1h
8+
retryInterval: 1m
9+
timeout: 5m
10+
sourceRef:
11+
kind: GitRepository
12+
name: flux-system
13+
path: ./infrastructure/clusters/feather-core/ipconfig
14+
prune: true
15+
wait: true
16+
decryption:
17+
provider: sops
18+
secretRef:
19+
name: sops-gpg
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
apiVersion: cilium.io/v2alpha1
2+
kind: CiliumBGPClusterConfig
3+
metadata:
4+
name: bgp-dc01
5+
spec:
6+
nodeSelector:
7+
matchLabels:
8+
topology.kubernetes.io/zone: "dc01"
9+
bgpInstances:
10+
- name: "dc01-64601"
11+
localASN: 64601
12+
peers:
13+
- name: "opsense-dc01"
14+
peerASN: 64504
15+
peerAddress: 10.200.3.1
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
apiVersion: cilium.io/v2alpha1
2+
kind: CiliumBGPClusterConfig
3+
metadata:
4+
name: bgp-dc06
5+
spec:
6+
nodeSelector:
7+
matchLabels:
8+
topology.kubernetes.io/zone: "dc06"
9+
bgpInstances:
10+
- name: "dc06-64606"
11+
localASN: 64606
12+
peers:
13+
- name: "opsense-dc01"
14+
peerASN: 64504
15+
peerAddress: 10.200.3.1
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
apiVersion: cilium.io/v2alpha1
2+
kind: CiliumBGPAdvertisement
3+
metadata:
4+
name: bgp-advertisements
5+
spec:
6+
advertisements:
7+
- advertisementType: "Service"
8+
service:
9+
addresses:
10+
- LoadBalancerIP
11+
selector:
12+
matchExpressions:
13+
- key: "onelite.feather/bgp"
14+
operator: In
15+
values: ["announce"]
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
apiVersion: kustomize.config.k8s.io/v1beta1
2+
kind: Kustomization
3+
4+
resources:
5+
- lb-dc01.yaml
6+
- lb-dc06.yaml
7+
- bgp-dc01.yaml
8+
- bgp-dc06.yaml
9+
- cilium-bgpadvertisement-lb.yaml
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
apiVersion: cilium.io/v2alpha1
2+
kind: CiliumLoadBalancerIPPool
3+
metadata:
4+
name: lb-dc01
5+
spec:
6+
cidrs:
7+
- cidr: 10.210.90.0/28
8+
serviceSelector:
9+
matchExpressions:
10+
- key: onelite.feather/site
11+
operator: In
12+
values: ["dc01"]
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
apiVersion: cilium.io/v2alpha1
2+
kind: CiliumLoadBalancerIPPool
3+
metadata:
4+
name: lb-dc06
5+
spec:
6+
cidrs:
7+
- cidr: 10.200.90.0/28
8+
serviceSelector:
9+
matchExpressions:
10+
- key: onelite.feather/site
11+
operator: In
12+
values: ["dc06"]

0 commit comments

Comments
 (0)