Skip to content

Commit dfd8a2a

Browse files
authored
feat: add longhorn to openCenter (#33)
1 parent ef58a4e commit dfd8a2a

File tree

7 files changed

+142
-0
lines changed

7 files changed

+142
-0
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
---
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
apiVersion: kustomize.config.k8s.io/v1beta1
3+
kind: Kustomization
4+
resources:
5+
- resources/namespace.yaml
6+
- resources/longhorn-encrypted-storageclass.yaml
7+
- resources/longhorn-multi-attach-storageclass.yaml
8+
- resources/longhron-general-storageclass.yaml
9+
- resources/helmrelease.yaml
10+
11+
secretGenerator:
12+
- name: longhorn-values-base
13+
namespace: longhorn-system
14+
type: Opaque
15+
files:
16+
- hardened.yaml=helm-base-overrides/hardened-values-v0.0.1.yaml
17+
options:
18+
disableNameSuffixHash: true
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
---
2+
apiVersion: helm.toolkit.fluxcd.io/v2
3+
kind: HelmRelease
4+
metadata:
5+
name: longhorn
6+
namespace: longhorn-system
7+
spec:
8+
interval: 5m
9+
chart:
10+
spec:
11+
chart: longhorn
12+
version: "v1.10.0"
13+
sourceRef:
14+
kind: HelmRepository
15+
name: longhorn-repo
16+
namespace: longhorn-system
17+
install:
18+
crds: CreateReplace
19+
remediation:
20+
retries: 3
21+
createNamespace: true
22+
upgrade:
23+
crds: CreateReplace
24+
remediation:
25+
retries: 3
26+
values:
27+
longhornDriver:
28+
tolerations:
29+
- key: node-role.kubernetes.io/control-plane
30+
operator: Exists
31+
effect: NoSchedule
32+
nodeSelector:
33+
longhorn.io/storage-node: "enabled"
34+
longhornRecoveryBackend:
35+
tolerations:
36+
- key: node-role.kubernetes.io/control-plane
37+
operator: Exists
38+
effect: NoSchedule
39+
nodeSelector:
40+
longhorn.io/storage-node: "enabled"
41+
longhornUI:
42+
nodeSelector:
43+
longhorn.io/control-storage-node: "enabled"
44+
longhornConversionWebhook:
45+
nodeSelector:
46+
longhorn.io/control-storage-node: "enabled"
47+
longhornAdmissionWebhook:
48+
nodeSelector:
49+
longhorn.io/control-storage-node: "enabled"
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
---
2+
apiVersion: v1
3+
kind: Secret
4+
metadata:
5+
name: longhorn-crypto
6+
namespace: longhorn-system
7+
stringData:
8+
CRYPTO_KEY_VALUE: "Your encryption passphrase" # Be sure to replace this with your own passphrase
9+
CRYPTO_KEY_PROVIDER: "secret"
10+
CRYPTO_KEY_CIPHER: "aes-xts-plain64"
11+
CRYPTO_KEY_HASH: "sha256"
12+
CRYPTO_KEY_SIZE: "256"
13+
CRYPTO_PBKDF: "argon2i"
14+
---
15+
kind: StorageClass
16+
apiVersion: storage.k8s.io/v1
17+
metadata:
18+
name: general-encrypted
19+
provisioner: driver.longhorn.io
20+
allowVolumeExpansion: true
21+
reclaimPolicy: Delete
22+
volumeBindingMode: Immediate
23+
parameters:
24+
numberOfReplicas: "3"
25+
dataLocality: "best-effort"
26+
staleReplicaTimeout: "2880"
27+
fromBackup: ""
28+
fsType: "ext4"
29+
encrypted: "true"
30+
csi.storage.k8s.io/provisioner-secret-name: "longhorn-crypto"
31+
csi.storage.k8s.io/provisioner-secret-namespace: "longhorn-system"
32+
csi.storage.k8s.io/node-publish-secret-name: "longhorn-crypto"
33+
csi.storage.k8s.io/node-publish-secret-namespace: "longhorn-system"
34+
csi.storage.k8s.io/node-stage-secret-name: "longhorn-crypto"
35+
csi.storage.k8s.io/node-stage-secret-namespace: "longhorn-system"
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
kind: StorageClass
3+
apiVersion: storage.k8s.io/v1
4+
metadata:
5+
name: general
6+
annotations:
7+
storageclass.kubernetes.io/is-default-class: "true"
8+
provisioner: driver.longhorn.io
9+
allowVolumeExpansion: true
10+
reclaimPolicy: Delete
11+
volumeBindingMode: Immediate
12+
parameters:
13+
numberOfReplicas: "2"
14+
dataLocality: "best-effort"
15+
staleReplicaTimeout: "2880"
16+
fromBackup: ""
17+
fsType: "ext4"
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
apiVersion: v1
3+
kind: Namespace
4+
metadata:
5+
labels:
6+
kubernetes.io/metadata.name: longhorn-system
7+
pod-security.kubernetes.io/audit: privileged
8+
pod-security.kubernetes.io/audit-version: latest
9+
pod-security.kubernetes.io/enforce: privileged
10+
pod-security.kubernetes.io/enforce-version: latest
11+
pod-security.kubernetes.io/warn: privileged
12+
pod-security.kubernetes.io/warn-version: latest
13+
name: longhorn-system
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
apiVersion: source.toolkit.fluxcd.io/v1
3+
kind: HelmRepository
4+
metadata:
5+
name: longhorn-repo
6+
namespace: longhorn-system
7+
spec:
8+
interval: 10m # How often to check for updates to the repo index
9+
url: https://charts.longhorn.io

0 commit comments

Comments
 (0)