feat: Switch to longhorn
This commit is contained in:
@@ -6,7 +6,7 @@ resources:
|
|||||||
- ../../controllers/cilium/cilium.yaml
|
- ../../controllers/cilium/cilium.yaml
|
||||||
- ../../controllers/cert-manager/cert-manager.yaml
|
- ../../controllers/cert-manager/cert-manager.yaml
|
||||||
- ../../controllers/spegel/spegel.yaml
|
- ../../controllers/spegel/spegel.yaml
|
||||||
- ../../controllers/openebs/openebs.yaml
|
- ../../controllers/longhorn/longhorn.yaml
|
||||||
- ../../configs/artifacts.yaml
|
- ../../configs/artifacts.yaml
|
||||||
- ../../configs/letsencrypt/letsencrypt.yaml
|
- ../../configs/letsencrypt/letsencrypt.yaml
|
||||||
- ../../configs/certificates/certificates.yaml
|
- ../../configs/certificates/certificates.yaml
|
||||||
|
|||||||
@@ -29,3 +29,8 @@ spec:
|
|||||||
copy:
|
copy:
|
||||||
- from: "@foundation/controllers/openebs/**"
|
- from: "@foundation/controllers/openebs/**"
|
||||||
to: "@artifact/"
|
to: "@artifact/"
|
||||||
|
- name: longhorn
|
||||||
|
originRevision: "@foundation"
|
||||||
|
copy:
|
||||||
|
- from: "@foundation/controllers/longhorn/**"
|
||||||
|
to: "@artifact/"
|
||||||
|
|||||||
38
controllers/longhorn/helm-release.yaml
Normal file
38
controllers/longhorn/helm-release.yaml
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||||
|
kind: HelmRelease
|
||||||
|
metadata:
|
||||||
|
name: longhorn
|
||||||
|
namespace: longhorn-system
|
||||||
|
spec:
|
||||||
|
interval: 12h
|
||||||
|
install:
|
||||||
|
strategy:
|
||||||
|
name: RetryOnFailure
|
||||||
|
retryInterval: 2m
|
||||||
|
upgrade:
|
||||||
|
strategy:
|
||||||
|
name: RetryOnFailure
|
||||||
|
retryInterval: 3m
|
||||||
|
chart:
|
||||||
|
spec:
|
||||||
|
chart: longhorn
|
||||||
|
# TODO: Is it safe to upgrade automatically to 1.x?
|
||||||
|
version: "1.10.x"
|
||||||
|
sourceRef:
|
||||||
|
kind: HelmRepository
|
||||||
|
name: longhorn
|
||||||
|
interval: 24h
|
||||||
|
values:
|
||||||
|
# TODO: These settings are specific to testing
|
||||||
|
defaultSettings:
|
||||||
|
defaultReplicaCount: 1
|
||||||
|
defaultDataPath: /var/mnt/longhorn
|
||||||
|
replicaAutoBalance: best-effort
|
||||||
|
defaultDataLocality: best-effort
|
||||||
|
freezeFilesystemForSnapshot: true
|
||||||
|
storageReservedPercentageForDefaultDisk: 0
|
||||||
|
storageMinimalAvailablePercentage: 10
|
||||||
|
storageOverProvisioningPercentage: 25
|
||||||
|
persistence:
|
||||||
|
defaultClassReplicaCount: 1
|
||||||
|
defaultDataLocality: best-effort
|
||||||
8
controllers/longhorn/helm-repository.yaml
Normal file
8
controllers/longhorn/helm-repository.yaml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
apiVersion: source.toolkit.fluxcd.io/v1
|
||||||
|
kind: HelmRepository
|
||||||
|
metadata:
|
||||||
|
name: longhorn
|
||||||
|
namespace: longhorn-system
|
||||||
|
spec:
|
||||||
|
interval: 24h
|
||||||
|
url: https://charts.longhorn.io
|
||||||
6
controllers/longhorn/kustomization.yaml
Normal file
6
controllers/longhorn/kustomization.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- namespace.yaml
|
||||||
|
- helm-repository.yaml
|
||||||
|
- helm-release.yaml
|
||||||
15
controllers/longhorn/longhorn.yaml
Normal file
15
controllers/longhorn/longhorn.yaml
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||||
|
kind: Kustomization
|
||||||
|
metadata:
|
||||||
|
name: longhorn
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
interval: 1h
|
||||||
|
retryInterval: 2m
|
||||||
|
timeout: 5m
|
||||||
|
sourceRef:
|
||||||
|
kind: ExternalArtifact
|
||||||
|
name: longhorn
|
||||||
|
path: ./
|
||||||
|
prune: true
|
||||||
|
wait: true
|
||||||
8
controllers/longhorn/namespace.yaml
Normal file
8
controllers/longhorn/namespace.yaml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Namespace
|
||||||
|
metadata:
|
||||||
|
name: longhorn-system
|
||||||
|
labels:
|
||||||
|
pod-security.kubernetes.io/enforce: privileged
|
||||||
|
pod-security.kubernetes.io/warn: privileged
|
||||||
|
pod-security.kubernetes.io/audit: privileged
|
||||||
Reference in New Issue
Block a user