Initial commit

This commit is contained in:
Scooby Husky
2026-03-09 20:21:35 -05:00
commit aacb8eebbe
314 changed files with 21766 additions and 0 deletions
@@ -0,0 +1,17 @@
apiVersion: ceph.rook.io/v1
kind: CephFilesystem
metadata:
name: fileshare
namespace: rook-ceph
spec:
metadataPool:
replicated:
size: 2
dataPools:
- name: data0
replicated:
size: 2
preserveFilesystemOnDelete: true
metadataServer:
activeCount: 1
activeStandby: true
@@ -0,0 +1,17 @@
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: rook-cephfs
provisioner: rook-ceph.cephfs.csi.ceph.com
parameters:
clusterID: rook-ceph
fsName: fileshare
csi.storage.k8s.io/provisioner-secret-name: rook-csi-cephfs-provisioner
csi.storage.k8s.io/provisioner-secret-namespace: rook-ceph
csi.storage.k8s.io/controller-expand-secret-name: rook-csi-cephfs-provisioner
csi.storage.k8s.io/controller-expand-secret-namespace: rook-ceph
csi.storage.k8s.io/node-stage-secret-name: rook-csi-cephfs-node
csi.storage.k8s.io/node-stage-secret-namespace: rook-ceph
reclaimPolicy: Delete
volumeBindingMode: Immediate
allowVolumeExpansion: true
@@ -0,0 +1,12 @@
apiVersion: gateway.envoyproxy.io/v1alpha1
kind: Backend
metadata:
name: ceph-dashboard
namespace: rook-ceph
spec:
endpoints:
- fqdn:
hostname: rook-ceph-mgr-dashboard.rook-ceph.svc.cluster.local
port: 8443
tls:
insecureSkipVerify: true
@@ -0,0 +1,21 @@
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
name: ceph-dashboard
namespace: rook-ceph
spec:
parentRefs:
- name: edge
namespace: gateway
sectionName: https
hostnames:
- ceph.kube.huskypup.net
rules:
- matches:
- path:
type: PathPrefix
value: /
backendRefs:
- group: gateway.envoyproxy.io
kind: Backend
name: ceph-dashboard
@@ -0,0 +1,12 @@
apiVersion: networking.istio.io/v1beta1
kind: DestinationRule
metadata:
name: rook-ceph-mgr-dashboard
namespace: rook-ceph
spec:
host: rook-ceph-mgr-dashboard.rook-ceph.svc.cluster.local
trafficPolicy:
tls:
mode: SIMPLE
sni: rook-ceph-mgr-dashboard.rook-ceph.svc.cluster.local
insecureSkipVerify: true
@@ -0,0 +1,17 @@
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
name: ceph-dashboard
namespace: rook-ceph
spec:
hosts:
- ceph.kube.huskypup.net
gateways:
- istio-system/edge
http:
- timeout: 3600s
route:
- destination:
host: rook-ceph-mgr-dashboard.rook-ceph.svc.cluster.local
port:
number: 8443
@@ -0,0 +1,17 @@
apiVersion: v1
kind: Service
metadata:
name: rook-ceph-nfs-fileshare-external
namespace: rook-ceph
labels:
app: rook-ceph-nfs
ceph_nfs: fileshare
spec:
type: LoadBalancer
selector:
ceph_nfs: fileshare
ports:
- name: nfs
port: 2049
targetPort: 2049
protocol: TCP
@@ -0,0 +1,13 @@
apiVersion: ceph.rook.io/v1
kind: CephNFS
metadata:
name: fileshare
namespace: rook-ceph
spec:
server:
active: 1
placement:
tolerations:
- key: node-role.kubernetes.io/control-plane
operator: Exists
effect: NoSchedule
@@ -0,0 +1,21 @@
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: rook-ceph-mgr
namespace: rook-ceph
labels:
app: rook-ceph-mgr
rook_cluster: rook-ceph
release: kube-prometheus-stack
spec:
namespaceSelector:
matchNames:
- rook-ceph
selector:
matchLabels:
app: rook-ceph-mgr
rook_cluster: rook-ceph
endpoints:
- port: http-metrics
path: /metrics
interval: 30s
@@ -0,0 +1,83 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: cephfs-smb-pvc
namespace: rook-ceph
labels:
app: cephfs-smb-gateway
spec:
accessModes:
- ReadWriteMany
storageClassName: rook-cephfs
resources:
requests:
storage: 1Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: cephfs-smb-gateway
namespace: rook-ceph
labels:
app: cephfs-smb-gateway
spec:
replicas: 1
selector:
matchLabels:
app: cephfs-smb-gateway
template:
metadata:
labels:
app: cephfs-smb-gateway
spec:
containers:
- name: smb
image: docker.io/dperson/samba:amd64
args:
- -s
- "fileshare;/fileshare;yes;no;no;all"
- -u
- "fileshare;fileshare"
- -w
- "WORKGROUP"
ports:
- containerPort: 139
name: smb
- containerPort: 445
name: smb-alt
volumeMounts:
- name: cephfs
mountPath: /fileshare
securityContext:
runAsUser: 0
runAsGroup: 0
privileged: true
volumes:
- name: cephfs
persistentVolumeClaim:
claimName: cephfs-smb-pvc
tolerations:
- key: node-role.kubernetes.io/control-plane
operator: Exists
effect: NoSchedule
---
apiVersion: v1
kind: Service
metadata:
name: cephfs-smb-gateway
namespace: rook-ceph
labels:
app: cephfs-smb-gateway
spec:
type: LoadBalancer
selector:
app: cephfs-smb-gateway
ports:
- name: smb
port: 139
targetPort: 139
protocol: TCP
- name: smb-alt
port: 445
targetPort: 445
protocol: TCP