-
-
Notifications
You must be signed in to change notification settings - Fork 192
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore: helmfile snapshot-controller and volsync #8893
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Signed-off-by: Devin Buhl <devin@buhl.casa>
--- kubernetes/apps/volsync-system/snapshot-controller/app Kustomization: volsync-system/snapshot-controller HelmRelease: volsync-system/snapshot-controller
+++ kubernetes/apps/volsync-system/snapshot-controller/app Kustomization: volsync-system/snapshot-controller HelmRelease: volsync-system/snapshot-controller
@@ -1,36 +0,0 @@
----
-apiVersion: helm.toolkit.fluxcd.io/v2
-kind: HelmRelease
-metadata:
- labels:
- app.kubernetes.io/name: snapshot-controller
- kustomize.toolkit.fluxcd.io/name: snapshot-controller
- kustomize.toolkit.fluxcd.io/namespace: volsync-system
- name: snapshot-controller
- namespace: volsync-system
-spec:
- chart:
- spec:
- chart: snapshot-controller
- sourceRef:
- kind: HelmRepository
- name: piraeus
- namespace: flux-system
- version: 4.0.1
- install:
- crds: CreateReplace
- remediation:
- retries: 3
- interval: 30m
- upgrade:
- cleanupOnFail: true
- crds: CreateReplace
- remediation:
- retries: 3
- strategy: rollback
- values:
- controller:
- replicaCount: 2
- serviceMonitor:
- create: true
-
--- kubernetes/apps/volsync-system/volsync/app Kustomization: volsync-system/volsync HelmRelease: volsync-system/volsync
+++ kubernetes/apps/volsync-system/volsync/app Kustomization: volsync-system/volsync HelmRelease: volsync-system/volsync
@@ -14,28 +14,19 @@
chart: volsync
sourceRef:
kind: HelmRepository
name: backube
namespace: flux-system
version: 0.12.0-rc.2
- dependsOn:
- - name: snapshot-controller
- namespace: volsync-system
install:
remediation:
retries: 3
interval: 30m
upgrade:
cleanupOnFail: true
remediation:
retries: 3
strategy: rollback
- values:
- manageCRDs: true
- metrics:
- disableAuth: true
- podSecurityContext:
- runAsGroup: 1000
- runAsNonRoot: true
- runAsUser: 1000
- replicaCount: 1
+ valuesFrom:
+ - kind: ConfigMap
+ name: volsync-values-2hgd95b579
--- kubernetes/apps/volsync-system/volsync/app Kustomization: volsync-system/volsync ConfigMap: volsync-system/volsync-values-2hgd95b579
+++ kubernetes/apps/volsync-system/volsync/app Kustomization: volsync-system/volsync ConfigMap: volsync-system/volsync-values-2hgd95b579
@@ -0,0 +1,22 @@
+---
+apiVersion: v1
+data:
+ values.yaml: |
+ ---
+ manageCRDs: true
+ replicaCount: 2
+ metrics:
+ disableAuth: true
+ podSecurityContext:
+ runAsNonRoot: true
+ runAsUser: 1000
+ runAsGroup: 1000
+kind: ConfigMap
+metadata:
+ labels:
+ app.kubernetes.io/name: volsync
+ kustomize.toolkit.fluxcd.io/name: volsync
+ kustomize.toolkit.fluxcd.io/namespace: volsync-system
+ name: volsync-values-2hgd95b579
+ namespace: volsync-system
+
--- kubernetes/apps/rook-ceph/rook-ceph/app Kustomization: rook-ceph/rook-ceph HelmRelease: rook-ceph/rook-ceph-operator
+++ kubernetes/apps/rook-ceph/rook-ceph/app Kustomization: rook-ceph/rook-ceph HelmRelease: rook-ceph/rook-ceph-operator
@@ -14,15 +14,12 @@
chart: rook-ceph
sourceRef:
kind: HelmRepository
name: rook-ceph
namespace: flux-system
version: v1.16.4
- dependsOn:
- - name: snapshot-controller
- namespace: volsync-system
install:
remediation:
retries: 3
interval: 30m
timeout: 15m
upgrade:
--- kubernetes/apps/rook-ceph/rook-ceph/cluster Kustomization: rook-ceph/rook-ceph-cluster HelmRelease: rook-ceph/rook-ceph-cluster
+++ kubernetes/apps/rook-ceph/rook-ceph/cluster Kustomization: rook-ceph/rook-ceph-cluster HelmRelease: rook-ceph/rook-ceph-cluster
@@ -17,14 +17,12 @@
name: rook-ceph
namespace: flux-system
version: v1.16.4
dependsOn:
- name: rook-ceph-operator
namespace: rook-ceph
- - name: snapshot-controller
- namespace: volsync-system
install:
remediation:
retries: 3
interval: 30m
timeout: 15m
upgrade:
--- kubernetes/apps Kustomization: flux-system/cluster-apps Kustomization: default/atuin
+++ kubernetes/apps Kustomization: flux-system/cluster-apps Kustomization: default/atuin
@@ -18,14 +18,12 @@
provider: sops
secretRef:
name: sops-age
dependsOn:
- name: rook-ceph-cluster
namespace: rook-ceph
- - name: volsync
- namespace: volsync-system
interval: 30m
path: ./kubernetes/apps/default/atuin/app
postBuild:
substitute:
APP: atuin
GATUS_SUBDOMAIN: sh
--- kubernetes/apps Kustomization: flux-system/cluster-apps Kustomization: default/autobrr
+++ kubernetes/apps Kustomization: flux-system/cluster-apps Kustomization: default/autobrr
@@ -20,14 +20,12 @@
name: sops-age
dependsOn:
- name: onepassword
namespace: external-secrets
- name: rook-ceph-cluster
namespace: rook-ceph
- - name: volsync
- namespace: volsync-system
interval: 30m
path: ./kubernetes/apps/default/autobrr/app
postBuild:
substitute:
APP: autobrr
VOLSYNC_CAPACITY: 5Gi
--- kubernetes/apps Kustomization: flux-system/cluster-apps Kustomization: default/bazarr
+++ kubernetes/apps Kustomization: flux-system/cluster-apps Kustomization: default/bazarr
@@ -20,14 +20,12 @@
name: sops-age
dependsOn:
- name: onepassword
namespace: external-secrets
- name: rook-ceph-cluster
namespace: rook-ceph
- - name: volsync
- namespace: volsync-system
interval: 30m
path: ./kubernetes/apps/default/bazarr/app
postBuild:
substitute:
APP: bazarr
VOLSYNC_CAPACITY: 5Gi
--- kubernetes/apps Kustomization: flux-system/cluster-apps Kustomization: default/cross-seed
+++ kubernetes/apps Kustomization: flux-system/cluster-apps Kustomization: default/cross-seed
@@ -17,14 +17,14 @@
provider: sops
secretRef:
name: sops-age
dependsOn:
- name: onepassword
namespace: external-secrets
- - name: volsync
- namespace: volsync-system
+ - name: rook-ceph-cluster
+ namespace: rook-ceph
interval: 30m
path: ./kubernetes/apps/default/cross-seed/app
postBuild:
substitute:
APP: cross-seed
VOLSYNC_CAPACITY: 5Gi
--- kubernetes/apps Kustomization: flux-system/cluster-apps Kustomization: default/home-assistant
+++ kubernetes/apps Kustomization: flux-system/cluster-apps Kustomization: default/home-assistant
@@ -22,14 +22,12 @@
- name: emqx-cluster
namespace: default
- name: onepassword
namespace: external-secrets
- name: rook-ceph-cluster
namespace: rook-ceph
- - name: volsync
- namespace: volsync-system
interval: 30m
path: ./kubernetes/apps/default/home-assistant/app
postBuild:
substitute:
APP: home-assistant
GATUS_SUBDOMAIN: hass
--- kubernetes/apps Kustomization: flux-system/cluster-apps Kustomization: default/jellyseerr
+++ kubernetes/apps Kustomization: flux-system/cluster-apps Kustomization: default/jellyseerr
@@ -20,14 +20,12 @@
name: sops-age
dependsOn:
- name: onepassword
namespace: external-secrets
- name: rook-ceph-cluster
namespace: rook-ceph
- - name: volsync
- namespace: volsync-system
interval: 30m
path: ./kubernetes/apps/default/jellyseerr/app
postBuild:
substitute:
APP: jellyseerr
GATUS_PATH: /api/v1/status
--- kubernetes/apps Kustomization: flux-system/cluster-apps Kustomization: default/pinchflat
+++ kubernetes/apps Kustomization: flux-system/cluster-apps Kustomization: default/pinchflat
@@ -18,14 +18,12 @@
provider: sops
secretRef:
name: sops-age
dependsOn:
- name: rook-ceph-cluster
namespace: rook-ceph
- - name: volsync
- namespace: volsync-system
interval: 30m
path: ./kubernetes/apps/default/pinchflat/app
postBuild:
substitute:
APP: pinchflat
VOLSYNC_CAPACITY: 5Gi
--- kubernetes/apps Kustomization: flux-system/cluster-apps Kustomization: default/plex
+++ kubernetes/apps Kustomization: flux-system/cluster-apps Kustomization: default/plex
@@ -20,14 +20,12 @@
name: sops-age
dependsOn:
- name: onepassword
namespace: external-secrets
- name: rook-ceph-cluster
namespace: rook-ceph
- - name: volsync
- namespace: volsync-system
interval: 30m
path: ./kubernetes/apps/default/plex/app
postBuild:
substitute:
APP: plex
GATUS_PATH: /web/index.html
--- kubernetes/apps Kustomization: flux-system/cluster-apps Kustomization: default/prowlarr
+++ kubernetes/apps Kustomization: flux-system/cluster-apps Kustomization: default/prowlarr
@@ -20,14 +20,12 @@
name: sops-age
dependsOn:
- name: onepassword
namespace: external-secrets
- name: rook-ceph-cluster
namespace: rook-ceph
- - name: volsync
- namespace: volsync-system
interval: 30m
path: ./kubernetes/apps/default/prowlarr/app
postBuild:
substitute:
APP: prowlarr
VOLSYNC_CAPACITY: 1Gi
--- kubernetes/apps Kustomization: flux-system/cluster-apps Kustomization: default/qbittorrent
+++ kubernetes/apps Kustomization: flux-system/cluster-apps Kustomization: default/qbittorrent
@@ -20,14 +20,12 @@
name: sops-age
dependsOn:
- name: onepassword
namespace: external-secrets
- name: rook-ceph-cluster
namespace: rook-ceph
- - name: volsync
- namespace: volsync-system
interval: 30m
path: ./kubernetes/apps/default/qbittorrent/app
postBuild:
substitute:
APP: qbittorrent
GATUS_SUBDOMAIN: qb
--- kubernetes/apps Kustomization: flux-system/cluster-apps Kustomization: default/radarr
+++ kubernetes/apps Kustomization: flux-system/cluster-apps Kustomization: default/radarr
@@ -20,14 +20,12 @@
name: sops-age
dependsOn:
- name: onepassword
namespace: external-secrets
- name: rook-ceph-cluster
namespace: rook-ceph
- - name: volsync
- namespace: volsync-system
interval: 30m
path: ./kubernetes/apps/default/radarr/app
postBuild:
substitute:
APP: radarr
VOLSYNC_CAPACITY: 5Gi
--- kubernetes/apps Kustomization: flux-system/cluster-apps Kustomization: default/recyclarr
+++ kubernetes/apps Kustomization: flux-system/cluster-apps Kustomization: default/recyclarr
@@ -19,14 +19,12 @@
name: sops-age
dependsOn:
- name: onepassword
namespace: external-secrets
- name: rook-ceph-cluster
namespace: rook-ceph
- - name: volsync
- namespace: volsync-system
interval: 30m
path: ./kubernetes/apps/default/recyclarr/app
postBuild:
substitute:
APP: recyclarr
VOLSYNC_CAPACITY: 1Gi
--- kubernetes/apps Kustomization: flux-system/cluster-apps Kustomization: default/sabnzbd
+++ kubernetes/apps Kustomization: flux-system/cluster-apps Kustomization: default/sabnzbd
@@ -20,14 +20,12 @@
name: sops-age
dependsOn:
- name: onepassword
namespace: external-secrets
- name: rook-ceph-cluster
namespace: rook-ceph
- - name: volsync
- namespace: volsync-system
interval: 30m
path: ./kubernetes/apps/default/sabnzbd/app
postBuild:
substitute:
APP: sabnzbd
GATUS_SUBDOMAIN: sab
--- kubernetes/apps Kustomization: flux-system/cluster-apps Kustomization: default/sonarr
+++ kubernetes/apps Kustomization: flux-system/cluster-apps Kustomization: default/sonarr
@@ -20,14 +20,12 @@
name: sops-age
dependsOn:
- name: onepassword
namespace: external-secrets
- name: rook-ceph-cluster
namespace: rook-ceph
- - name: volsync
- namespace: volsync-system
interval: 30m
path: ./kubernetes/apps/default/sonarr/app
postBuild:
substitute:
APP: sonarr
VOLSYNC_CAPACITY: 5Gi
--- kubernetes/apps Kustomization: flux-system/cluster-apps Kustomization: default/tautulli
+++ kubernetes/apps Kustomization: flux-system/cluster-apps Kustomization: default/tautulli
@@ -18,14 +18,12 @@
provider: sops
secretRef:
name: sops-age
dependsOn:
- name: rook-ceph-cluster
namespace: rook-ceph
- - name: volsync
- namespace: volsync-system
interval: 30m
path: ./kubernetes/apps/default/tautulli/app
postBuild:
substitute:
APP: tautulli
VOLSYNC_CAPACITY: 5Gi
--- kubernetes/apps Kustomization: flux-system/cluster-apps Kustomization: default/zigbee
+++ kubernetes/apps Kustomization: flux-system/cluster-apps Kustomization: default/zigbee
@@ -22,14 +22,12 @@
- name: emqx-cluster
namespace: default
- name: onepassword
namespace: external-secrets
- name: rook-ceph-cluster
namespace: rook-ceph
- - name: volsync
- namespace: volsync-system
interval: 30m
path: ./kubernetes/apps/default/zigbee/app
postBuild:
substitute:
APP: zigbee
VOLSYNC_CAPACITY: 1Gi
--- kubernetes/apps Kustomization: flux-system/cluster-apps Kustomization: default/zwave
+++ kubernetes/apps Kustomization: flux-system/cluster-apps Kustomization: default/zwave
@@ -18,14 +18,12 @@
provider: sops
secretRef:
name: sops-age
dependsOn:
- name: rook-ceph-cluster
namespace: rook-ceph
- - name: volsync
- namespace: volsync-system
interval: 30m
path: ./kubernetes/apps/default/zwave/app
postBuild:
substitute:
APP: zwave
VOLSYNC_CAPACITY: 1Gi
--- kubernetes/apps Kustomization: flux-system/cluster-apps Kustomization: rook-ceph/rook-ceph-cluster
+++ kubernetes/apps Kustomization: flux-system/cluster-apps Kustomization: rook-ceph/rook-ceph-cluster
@@ -14,15 +14,12 @@
components:
- ../../../../components/gatus/guarded
decryption:
provider: sops
secretRef:
name: sops-age
- dependsOn:
- - name: onepassword
- namespace: external-secrets
healthCheckExprs:
- apiVersion: ceph.rook.io/v1
current: status.ceph.health in ['HEALTH_OK', 'HEALTH_WARN']
failed: status.ceph.health == 'HEALTH_ERR'
kind: CephCluster
healthChecks:
--- kubernetes/apps Kustomization: flux-system/cluster-apps Kustomization: volsync-system/snapshot-controller
+++ kubernetes/apps Kustomization: flux-system/cluster-apps Kustomization: volsync-system/snapshot-controller
@@ -1,28 +0,0 @@
----
-apiVersion: kustomize.toolkit.fluxcd.io/v1
-kind: Kustomization
-metadata:
- labels:
- kustomize.toolkit.fluxcd.io/name: cluster-apps
- kustomize.toolkit.fluxcd.io/namespace: flux-system
- name: snapshot-controller
- namespace: volsync-system
-spec:
- commonMetadata:
- labels:
- app.kubernetes.io/name: snapshot-controller
- decryption:
- provider: sops
- secretRef:
- name: sops-age
- interval: 30m
- path: ./kubernetes/apps/volsync-system/snapshot-controller/app
- prune: true
- sourceRef:
- kind: GitRepository
- name: flux-system
- namespace: flux-system
- targetNamespace: volsync-system
- timeout: 5m
- wait: false
-
--- kubernetes/apps Kustomization: flux-system/cluster-apps Kustomization: kube-system/snapshot-controller
+++ kubernetes/apps Kustomization: flux-system/cluster-apps Kustomization: kube-system/snapshot-controller
@@ -0,0 +1,28 @@
+---
+apiVersion: kustomize.toolkit.fluxcd.io/v1
+kind: Kustomization
+metadata:
+ labels:
+ kustomize.toolkit.fluxcd.io/name: cluster-apps
+ kustomize.toolkit.fluxcd.io/namespace: flux-system
+ name: snapshot-controller
+ namespace: kube-system
+spec:
+ commonMetadata:
+ labels:
+ app.kubernetes.io/name: snapshot-controller
+ decryption:
+ provider: sops
+ secretRef:
+ name: sops-age
+ interval: 30m
+ path: ./kubernetes/apps/kube-system/snapshot-controller/app
+ prune: true
+ sourceRef:
+ kind: GitRepository
+ name: flux-system
+ namespace: flux-system
+ targetNamespace: kube-system
+ timeout: 5m
+ wait: false
+
--- kubernetes/apps/kube-system/snapshot-controller/app Kustomization: kube-system/snapshot-controller HelmRelease: kube-system/snapshot-controller
+++ kubernetes/apps/kube-system/snapshot-controller/app Kustomization: kube-system/snapshot-controller HelmRelease: kube-system/snapshot-controller
@@ -0,0 +1,34 @@
+---
+apiVersion: helm.toolkit.fluxcd.io/v2
+kind: HelmRelease
+metadata:
+ labels:
+ app.kubernetes.io/name: snapshot-controller
+ kustomize.toolkit.fluxcd.io/name: snapshot-controller
+ kustomize.toolkit.fluxcd.io/namespace: kube-system
+ name: snapshot-controller
+ namespace: kube-system
+spec:
+ chart:
+ spec:
+ chart: snapshot-controller
+ sourceRef:
+ kind: HelmRepository
+ name: piraeus
+ namespace: flux-system
+ version: 4.0.1
+ install:
+ crds: CreateReplace
+ remediation:
+ retries: 3
+ interval: 30m
+ upgrade:
+ cleanupOnFail: true
+ crds: CreateReplace
+ remediation:
+ retries: 3
+ strategy: rollback
+ valuesFrom:
+ - kind: ConfigMap
+ name: snapshot-controller-values-g4f8gffcmt
+
--- kubernetes/apps/kube-system/snapshot-controller/app Kustomization: kube-system/snapshot-controller ConfigMap: kube-system/snapshot-controller-values-g4f8gffcmt
+++ kubernetes/apps/kube-system/snapshot-controller/app Kustomization: kube-system/snapshot-controller ConfigMap: kube-system/snapshot-controller-values-g4f8gffcmt
@@ -0,0 +1,18 @@
+---
+apiVersion: v1
+data:
+ values.yaml: |
+ ---
+ controller:
+ replicaCount: 2
+ serviceMonitor:
+ create: true
+kind: ConfigMap
+metadata:
+ labels:
+ app.kubernetes.io/name: snapshot-controller
+ kustomize.toolkit.fluxcd.io/name: snapshot-controller
+ kustomize.toolkit.fluxcd.io/namespace: kube-system
+ name: snapshot-controller-values-g4f8gffcmt
+ namespace: kube-system
+ |
--- HelmRelease: volsync-system/snapshot-controller ServiceAccount: volsync-system/snapshot-controller
+++ HelmRelease: volsync-system/snapshot-controller ServiceAccount: volsync-system/snapshot-controller
@@ -1,11 +0,0 @@
----
-apiVersion: v1
-kind: ServiceAccount
-metadata:
- name: snapshot-controller
- namespace: volsync-system
- labels:
- app.kubernetes.io/name: snapshot-controller
- app.kubernetes.io/instance: snapshot-controller
- app.kubernetes.io/managed-by: Helm
-
--- HelmRelease: volsync-system/snapshot-controller ClusterRole: volsync-system/snapshot-controller
+++ HelmRelease: volsync-system/snapshot-controller ClusterRole: volsync-system/snapshot-controller
@@ -1,122 +0,0 @@
----
-kind: ClusterRole
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
- name: snapshot-controller
-rules:
-- apiGroups:
- - ''
- resources:
- - persistentvolumes
- verbs:
- - get
- - list
- - watch
-- apiGroups:
- - ''
- resources:
- - persistentvolumeclaims
- verbs:
- - get
- - list
- - watch
- - update
-- apiGroups:
- - ''
- resources:
- - events
- verbs:
- - list
- - watch
- - create
- - update
- - patch
-- apiGroups:
- - snapshot.storage.k8s.io
- resources:
- - volumesnapshotclasses
- verbs:
- - get
- - list
- - watch
-- apiGroups:
- - snapshot.storage.k8s.io
- resources:
- - volumesnapshotcontents
- verbs:
- - create
- - get
- - list
- - watch
- - update
- - delete
- - patch
-- apiGroups:
- - snapshot.storage.k8s.io
- resources:
- - volumesnapshotcontents/status
- verbs:
- - patch
-- apiGroups:
- - snapshot.storage.k8s.io
- resources:
- - volumesnapshots
- verbs:
- - create
- - get
- - list
- - watch
- - update
- - patch
- - delete
-- apiGroups:
- - snapshot.storage.k8s.io
- resources:
- - volumesnapshots/status
- verbs:
- - update
- - patch
-- apiGroups:
- - groupsnapshot.storage.k8s.io
- resources:
- - volumegroupsnapshotclasses
- verbs:
- - get
- - list
- - watch
-- apiGroups:
- - groupsnapshot.storage.k8s.io
- resources:
- - volumegroupsnapshotcontents
- verbs:
- - create
- - get
- - list
- - watch
- - update
- - delete
- - patch
-- apiGroups:
- - groupsnapshot.storage.k8s.io
- resources:
- - volumegroupsnapshotcontents/status
- verbs:
- - patch
-- apiGroups:
- - groupsnapshot.storage.k8s.io
- resources:
- - volumegroupsnapshots
- verbs:
- - get
- - list
- - watch
- - update
- - patch
-- apiGroups:
- - groupsnapshot.storage.k8s.io
- resources:
- - volumegroupsnapshots/status
- verbs:
- - update
- - patch
-
--- HelmRelease: volsync-system/snapshot-controller ClusterRoleBinding: volsync-system/snapshot-controller
+++ HelmRelease: volsync-system/snapshot-controller ClusterRoleBinding: volsync-system/snapshot-controller
@@ -1,14 +0,0 @@
----
-kind: ClusterRoleBinding
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
- name: snapshot-controller
-subjects:
-- kind: ServiceAccount
- name: snapshot-controller
- namespace: volsync-system
-roleRef:
- kind: ClusterRole
- name: snapshot-controller
- apiGroup: rbac.authorization.k8s.io
-
--- HelmRelease: volsync-system/snapshot-controller Role: volsync-system/snapshot-controller
+++ HelmRelease: volsync-system/snapshot-controller Role: volsync-system/snapshot-controller
@@ -1,19 +0,0 @@
----
-kind: Role
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
- name: snapshot-controller
- namespace: volsync-system
-rules:
-- apiGroups:
- - coordination.k8s.io
- resources:
- - leases
- verbs:
- - get
- - watch
- - list
- - delete
- - update
- - create
-
--- HelmRelease: volsync-system/snapshot-controller RoleBinding: volsync-system/snapshot-controller
+++ HelmRelease: volsync-system/snapshot-controller RoleBinding: volsync-system/snapshot-controller
@@ -1,14 +0,0 @@
----
-kind: RoleBinding
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
- name: snapshot-controller
- namespace: volsync-system
-subjects:
-- kind: ServiceAccount
- name: snapshot-controller
-roleRef:
- kind: Role
- name: snapshot-controller
- apiGroup: rbac.authorization.k8s.io
-
--- HelmRelease: volsync-system/snapshot-controller Service: volsync-system/snapshot-controller
+++ HelmRelease: volsync-system/snapshot-controller Service: volsync-system/snapshot-controller
@@ -1,20 +0,0 @@
----
-apiVersion: v1
-kind: Service
-metadata:
- name: snapshot-controller
- namespace: volsync-system
- labels:
- app.kubernetes.io/name: snapshot-controller
- app.kubernetes.io/instance: snapshot-controller
- app.kubernetes.io/managed-by: Helm
-spec:
- clusterIP: None
- ports:
- - port: 8080
- targetPort: 8080
- name: http
- selector:
- app.kubernetes.io/name: snapshot-controller
- app.kubernetes.io/instance: snapshot-controller
-
--- HelmRelease: volsync-system/snapshot-controller Deployment: volsync-system/snapshot-controller
+++ HelmRelease: volsync-system/snapshot-controller Deployment: volsync-system/snapshot-controller
@@ -1,63 +0,0 @@
----
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: snapshot-controller
- namespace: volsync-system
- labels:
- app.kubernetes.io/name: snapshot-controller
- app.kubernetes.io/instance: snapshot-controller
- app.kubernetes.io/managed-by: Helm
-spec:
- replicas: 2
- revisionHistoryLimit: 10
- selector:
- matchLabels:
- app.kubernetes.io/name: snapshot-controller
- app.kubernetes.io/instance: snapshot-controller
- template:
- metadata:
- labels:
- app.kubernetes.io/name: snapshot-controller
- app.kubernetes.io/instance: snapshot-controller
- spec:
- serviceAccountName: snapshot-controller
- securityContext: {}
- containers:
- - name: snapshot-controller
- securityContext:
- capabilities:
- drop:
- - ALL
- readOnlyRootFilesystem: true
- runAsNonRoot: true
- runAsUser: 1000
- image: registry.k8s.io/sig-storage/snapshot-controller:v8.2.0
- imagePullPolicy: IfNotPresent
- args:
- - --http-endpoint=:8080
- - --leader-election=true
- - --leader-election-namespace=$(NAMESPACE)
- ports:
- - name: http
- containerPort: 8080
- protocol: TCP
- readinessProbe:
- httpGet:
- port: http
- path: /healthz/leader-election
- scheme: HTTP
- livenessProbe:
- httpGet:
- port: http
- path: /healthz/leader-election
- scheme: HTTP
- env:
- - name: NAMESPACE
- valueFrom:
- fieldRef:
- fieldPath: metadata.namespace
- resources: {}
- hostNetwork: false
- dnsPolicy: ClusterFirst
-
--- HelmRelease: volsync-system/snapshot-controller ServiceMonitor: volsync-system/snapshot-controller
+++ HelmRelease: volsync-system/snapshot-controller ServiceMonitor: volsync-system/snapshot-controller
@@ -1,19 +0,0 @@
----
-apiVersion: monitoring.coreos.com/v1
-kind: ServiceMonitor
-metadata:
- name: snapshot-controller
- namespace: volsync-system
- labels:
- app.kubernetes.io/name: snapshot-controller
- app.kubernetes.io/instance: snapshot-controller
- app.kubernetes.io/managed-by: Helm
-spec:
- selector:
- matchLabels:
- app.kubernetes.io/name: snapshot-controller
- app.kubernetes.io/instance: snapshot-controller
- endpoints:
- - port: http
- path: /metrics
-
--- HelmRelease: volsync-system/volsync Deployment: volsync-system/volsync
+++ HelmRelease: volsync-system/volsync Deployment: volsync-system/volsync
@@ -6,13 +6,13 @@
labels:
control-plane: volsync-controller
app.kubernetes.io/name: volsync
app.kubernetes.io/instance: volsync
app.kubernetes.io/managed-by: Helm
spec:
- replicas: 1
+ replicas: 2
selector:
matchLabels:
control-plane: volsync-controller
app.kubernetes.io/name: volsync
app.kubernetes.io/instance: volsync
template:
--- HelmRelease: kube-system/snapshot-controller ServiceAccount: kube-system/snapshot-controller
+++ HelmRelease: kube-system/snapshot-controller ServiceAccount: kube-system/snapshot-controller
@@ -0,0 +1,11 @@
+---
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: snapshot-controller
+ namespace: kube-system
+ labels:
+ app.kubernetes.io/name: snapshot-controller
+ app.kubernetes.io/instance: snapshot-controller
+ app.kubernetes.io/managed-by: Helm
+
--- HelmRelease: kube-system/snapshot-controller ClusterRole: kube-system/snapshot-controller
+++ HelmRelease: kube-system/snapshot-controller ClusterRole: kube-system/snapshot-controller
@@ -0,0 +1,122 @@
+---
+kind: ClusterRole
+apiVersion: rbac.authorization.k8s.io/v1
+metadata:
+ name: snapshot-controller
+rules:
+- apiGroups:
+ - ''
+ resources:
+ - persistentvolumes
+ verbs:
+ - get
+ - list
+ - watch
+- apiGroups:
+ - ''
+ resources:
+ - persistentvolumeclaims
+ verbs:
+ - get
+ - list
+ - watch
+ - update
+- apiGroups:
+ - ''
+ resources:
+ - events
+ verbs:
+ - list
+ - watch
+ - create
+ - update
+ - patch
+- apiGroups:
+ - snapshot.storage.k8s.io
+ resources:
+ - volumesnapshotclasses
+ verbs:
+ - get
+ - list
+ - watch
+- apiGroups:
+ - snapshot.storage.k8s.io
+ resources:
+ - volumesnapshotcontents
+ verbs:
+ - create
+ - get
+ - list
+ - watch
+ - update
+ - delete
+ - patch
+- apiGroups:
+ - snapshot.storage.k8s.io
+ resources:
+ - volumesnapshotcontents/status
+ verbs:
+ - patch
+- apiGroups:
+ - snapshot.storage.k8s.io
+ resources:
+ - volumesnapshots
+ verbs:
+ - create
+ - get
+ - list
+ - watch
+ - update
+ - patch
+ - delete
+- apiGroups:
+ - snapshot.storage.k8s.io
+ resources:
+ - volumesnapshots/status
+ verbs:
+ - update
+ - patch
+- apiGroups:
+ - groupsnapshot.storage.k8s.io
+ resources:
+ - volumegroupsnapshotclasses
+ verbs:
+ - get
+ - list
+ - watch
+- apiGroups:
+ - groupsnapshot.storage.k8s.io
+ resources:
+ - volumegroupsnapshotcontents
+ verbs:
+ - create
+ - get
+ - list
+ - watch
+ - update
+ - delete
+ - patch
+- apiGroups:
+ - groupsnapshot.storage.k8s.io
+ resources:
+ - volumegroupsnapshotcontents/status
+ verbs:
+ - patch
+- apiGroups:
+ - groupsnapshot.storage.k8s.io
+ resources:
+ - volumegroupsnapshots
+ verbs:
+ - get
+ - list
+ - watch
+ - update
+ - patch
+- apiGroups:
+ - groupsnapshot.storage.k8s.io
+ resources:
+ - volumegroupsnapshots/status
+ verbs:
+ - update
+ - patch
+
--- HelmRelease: kube-system/snapshot-controller ClusterRoleBinding: kube-system/snapshot-controller
+++ HelmRelease: kube-system/snapshot-controller ClusterRoleBinding: kube-system/snapshot-controller
@@ -0,0 +1,14 @@
+---
+kind: ClusterRoleBinding
+apiVersion: rbac.authorization.k8s.io/v1
+metadata:
+ name: snapshot-controller
+subjects:
+- kind: ServiceAccount
+ name: snapshot-controller
+ namespace: kube-system
+roleRef:
+ kind: ClusterRole
+ name: snapshot-controller
+ apiGroup: rbac.authorization.k8s.io
+
--- HelmRelease: kube-system/snapshot-controller Role: kube-system/snapshot-controller
+++ HelmRelease: kube-system/snapshot-controller Role: kube-system/snapshot-controller
@@ -0,0 +1,19 @@
+---
+kind: Role
+apiVersion: rbac.authorization.k8s.io/v1
+metadata:
+ name: snapshot-controller
+ namespace: kube-system
+rules:
+- apiGroups:
+ - coordination.k8s.io
+ resources:
+ - leases
+ verbs:
+ - get
+ - watch
+ - list
+ - delete
+ - update
+ - create
+
--- HelmRelease: kube-system/snapshot-controller RoleBinding: kube-system/snapshot-controller
+++ HelmRelease: kube-system/snapshot-controller RoleBinding: kube-system/snapshot-controller
@@ -0,0 +1,14 @@
+---
+kind: RoleBinding
+apiVersion: rbac.authorization.k8s.io/v1
+metadata:
+ name: snapshot-controller
+ namespace: kube-system
+subjects:
+- kind: ServiceAccount
+ name: snapshot-controller
+roleRef:
+ kind: Role
+ name: snapshot-controller
+ apiGroup: rbac.authorization.k8s.io
+
--- HelmRelease: kube-system/snapshot-controller Service: kube-system/snapshot-controller
+++ HelmRelease: kube-system/snapshot-controller Service: kube-system/snapshot-controller
@@ -0,0 +1,20 @@
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: snapshot-controller
+ namespace: kube-system
+ labels:
+ app.kubernetes.io/name: snapshot-controller
+ app.kubernetes.io/instance: snapshot-controller
+ app.kubernetes.io/managed-by: Helm
+spec:
+ clusterIP: None
+ ports:
+ - port: 8080
+ targetPort: 8080
+ name: http
+ selector:
+ app.kubernetes.io/name: snapshot-controller
+ app.kubernetes.io/instance: snapshot-controller
+
--- HelmRelease: kube-system/snapshot-controller Deployment: kube-system/snapshot-controller
+++ HelmRelease: kube-system/snapshot-controller Deployment: kube-system/snapshot-controller
@@ -0,0 +1,63 @@
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: snapshot-controller
+ namespace: kube-system
+ labels:
+ app.kubernetes.io/name: snapshot-controller
+ app.kubernetes.io/instance: snapshot-controller
+ app.kubernetes.io/managed-by: Helm
+spec:
+ replicas: 2
+ revisionHistoryLimit: 10
+ selector:
+ matchLabels:
+ app.kubernetes.io/name: snapshot-controller
+ app.kubernetes.io/instance: snapshot-controller
+ template:
+ metadata:
+ labels:
+ app.kubernetes.io/name: snapshot-controller
+ app.kubernetes.io/instance: snapshot-controller
+ spec:
+ serviceAccountName: snapshot-controller
+ securityContext: {}
+ containers:
+ - name: snapshot-controller
+ securityContext:
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
+ runAsNonRoot: true
+ runAsUser: 1000
+ image: registry.k8s.io/sig-storage/snapshot-controller:v8.2.0
+ imagePullPolicy: IfNotPresent
+ args:
+ - --http-endpoint=:8080
+ - --leader-election=true
+ - --leader-election-namespace=$(NAMESPACE)
+ ports:
+ - name: http
+ containerPort: 8080
+ protocol: TCP
+ readinessProbe:
+ httpGet:
+ port: http
+ path: /healthz/leader-election
+ scheme: HTTP
+ livenessProbe:
+ httpGet:
+ port: http
+ path: /healthz/leader-election
+ scheme: HTTP
+ env:
+ - name: NAMESPACE
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.namespace
+ resources: {}
+ hostNetwork: false
+ dnsPolicy: ClusterFirst
+
--- HelmRelease: kube-system/snapshot-controller ServiceMonitor: kube-system/snapshot-controller
+++ HelmRelease: kube-system/snapshot-controller ServiceMonitor: kube-system/snapshot-controller
@@ -0,0 +1,19 @@
+---
+apiVersion: monitoring.coreos.com/v1
+kind: ServiceMonitor
+metadata:
+ name: snapshot-controller
+ namespace: kube-system
+ labels:
+ app.kubernetes.io/name: snapshot-controller
+ app.kubernetes.io/instance: snapshot-controller
+ app.kubernetes.io/managed-by: Helm
+spec:
+ selector:
+ matchLabels:
+ app.kubernetes.io/name: snapshot-controller
+ app.kubernetes.io/instance: snapshot-controller
+ endpoints:
+ - port: http
+ path: /metrics
+ |
Signed-off-by: Devin Buhl <devin@buhl.casa>
Signed-off-by: Devin Buhl <devin@buhl.casa>
Signed-off-by: Devin Buhl <devin@buhl.casa>
Signed-off-by: Devin Buhl <devin@buhl.casa>
Signed-off-by: Devin Buhl <devin@buhl.casa>
Signed-off-by: Devin Buhl <devin@buhl.casa>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The reason for this is it removes a lot of spaghetti depends in the apps, expecting these crds to exist before flux lands is nice. I also moved snapshot-controller to kube-system as this component is used by volsync and rook-ceph and potentially other CSI