Add seedbox data serving endpoints
This commit is contained in:
parent
0a3b05c558
commit
b5612dcead
7
redxen/seedbox/kustomization.yaml
Normal file
7
redxen/seedbox/kustomization.yaml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- rsync/
|
||||||
|
- nginx/
|
||||||
|
- persistentvolume.yml
|
||||||
|
- persistentvolumeclaim.yml
|
74
redxen/seedbox/nginx/deployment.yml
Normal file
74
redxen/seedbox/nginx/deployment.yml
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
# yaml-language-server: $schema=https://kubernetesjsonschema.dev/master/deployment-apps-v1.json
|
||||||
|
kind: Deployment
|
||||||
|
apiVersion: apps/v1
|
||||||
|
metadata:
|
||||||
|
namespace: redxen
|
||||||
|
labels:
|
||||||
|
app: seedbox-nginx
|
||||||
|
name: seedbox-nginx-dp
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: seedbox-nginx
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
namespace: redxen
|
||||||
|
labels:
|
||||||
|
app: seedbox-nginx
|
||||||
|
spec:
|
||||||
|
hostUsers: false
|
||||||
|
securityContext:
|
||||||
|
seccompProfile:
|
||||||
|
type: RuntimeDefault
|
||||||
|
runAsNonRoot: true
|
||||||
|
runAsUser: 10000
|
||||||
|
runAsGroup: 10000
|
||||||
|
initContainers:
|
||||||
|
- name: volume-permissions
|
||||||
|
image: busybox
|
||||||
|
command: ["chown", "-c", "10000:10000", "/run/nginx"]
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
securityContext:
|
||||||
|
capabilities:
|
||||||
|
drop: ["SETPCAP", "MKNOD", "AUDIT_WRITE", "NET_RAW", "DAC_OVERRIDE", "FOWNER", "FSETID", "KILL", "SETGID", "SETUID", "NET_BIND_SERVICE", "SYS_CHROOT", "SETFCAP"]
|
||||||
|
runAsUser: 0
|
||||||
|
runAsNonRoot: false
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
|
readOnlyRootFilesystem: true
|
||||||
|
volumeMounts:
|
||||||
|
- name: tmpfs-run
|
||||||
|
mountPath: /run/nginx
|
||||||
|
containers:
|
||||||
|
- name: seedbox-nginx
|
||||||
|
image: redxen.eu/daemons/nginx/seedbox:latest
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
securityContext:
|
||||||
|
capabilities:
|
||||||
|
drop: ["ALL"]
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
|
readOnlyRootFilesystem: true
|
||||||
|
volumeMounts:
|
||||||
|
- name: seedbox-data
|
||||||
|
mountPath: /var/data
|
||||||
|
readOnly: true
|
||||||
|
- name: tmpfs-run
|
||||||
|
mountPath: /run/nginx
|
||||||
|
ports:
|
||||||
|
- containerPort: 80
|
||||||
|
livenessProbe:
|
||||||
|
httpGet:
|
||||||
|
port: 80
|
||||||
|
httpHeaders:
|
||||||
|
- name: "Host"
|
||||||
|
value: "sd.redxen.eu"
|
||||||
|
path: /
|
||||||
|
volumes:
|
||||||
|
- name: seedbox-data
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: seedbox-data-pvc
|
||||||
|
readOnly: true
|
||||||
|
- name: tmpfs-run
|
||||||
|
emptyDir:
|
||||||
|
medium: Memory
|
||||||
|
sizeLimit: 2Mi
|
5
redxen/seedbox/nginx/kustomization.yaml
Normal file
5
redxen/seedbox/nginx/kustomization.yaml
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- deployment.yml
|
||||||
|
- service.yml
|
16
redxen/seedbox/nginx/service.yml
Normal file
16
redxen/seedbox/nginx/service.yml
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
# yaml-language-server: $schema=https://kubernetesjsonschema.dev/master/service-v1.json
|
||||||
|
kind: Service
|
||||||
|
apiVersion: v1
|
||||||
|
metadata:
|
||||||
|
namespace: redxen
|
||||||
|
labels:
|
||||||
|
app: seedbox-nginx
|
||||||
|
name: seedbox-nginx-sv
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app: seedbox-nginx
|
||||||
|
type: ClusterIP
|
||||||
|
ports:
|
||||||
|
- name: http
|
||||||
|
port: 80
|
||||||
|
protocol: TCP
|
28
redxen/seedbox/persistentvolume.yml
Normal file
28
redxen/seedbox/persistentvolume.yml
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
# yaml-language-server: $schema=https://kubernetesjsonschema.dev/master/persistentvolume-v1.json
|
||||||
|
kind: PersistentVolume
|
||||||
|
apiVersion: v1
|
||||||
|
metadata:
|
||||||
|
namespace: redxen
|
||||||
|
name: seedbox-data-pv
|
||||||
|
spec:
|
||||||
|
storageClassName: local-storage
|
||||||
|
claimRef:
|
||||||
|
namespace: redxen
|
||||||
|
name: seedbox-data-pvc
|
||||||
|
capacity:
|
||||||
|
storage: 1Gi
|
||||||
|
volumeMode: Filesystem
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
#persistentVolumeReclaimPolicy: Retain
|
||||||
|
hostPath:
|
||||||
|
path: /var/lib/seedbox
|
||||||
|
type: DirectoryOrCreate
|
||||||
|
nodeAffinity:
|
||||||
|
required:
|
||||||
|
nodeSelectorTerms:
|
||||||
|
- matchExpressions:
|
||||||
|
- key: kubernetes.io/hostname
|
||||||
|
operator: In
|
||||||
|
values:
|
||||||
|
- bournemouth.united-kingdom
|
15
redxen/seedbox/persistentvolumeclaim.yml
Normal file
15
redxen/seedbox/persistentvolumeclaim.yml
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
# yaml-language-server: $schema=https://kubernetesjsonschema.dev/master/persistentvolumeclaim-v1.json
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
apiVersion: v1
|
||||||
|
metadata:
|
||||||
|
namespace: redxen
|
||||||
|
name: seedbox-data-pvc
|
||||||
|
spec:
|
||||||
|
volumeName: seedbox-data-pv
|
||||||
|
storageClassName: local-storage
|
||||||
|
volumeMode: Filesystem
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 1Gi
|
70
redxen/seedbox/rsync/deployment.yml
Normal file
70
redxen/seedbox/rsync/deployment.yml
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
# yaml-language-server: $schema=https://kubernetesjsonschema.dev/master/deployment-apps-v1.json
|
||||||
|
kind: Deployment
|
||||||
|
apiVersion: apps/v1
|
||||||
|
metadata:
|
||||||
|
namespace: redxen
|
||||||
|
labels:
|
||||||
|
app: seedbox-rsync
|
||||||
|
name: seedbox-rsync-dp
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: seedbox-rsync
|
||||||
|
replicas: 1
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
namespace: redxen
|
||||||
|
labels:
|
||||||
|
app: seedbox-rsync
|
||||||
|
spec:
|
||||||
|
hostUsers: false
|
||||||
|
securityContext:
|
||||||
|
seccompProfile:
|
||||||
|
type: RuntimeDefault
|
||||||
|
runAsNonRoot: true
|
||||||
|
runAsUser: 10000
|
||||||
|
runAsGroup: 10000
|
||||||
|
initContainers:
|
||||||
|
- name: volume-permissions
|
||||||
|
image: busybox
|
||||||
|
command: ["chown", "-c", "10000:10000", "/var/run"]
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
securityContext:
|
||||||
|
capabilities:
|
||||||
|
drop: ["SETPCAP", "MKNOD", "AUDIT_WRITE", "NET_RAW", "DAC_OVERRIDE", "FOWNER", "FSETID", "KILL", "SETGID", "SETUID", "NET_BIND_SERVICE", "SYS_CHROOT", "SETFCAP"]
|
||||||
|
runAsUser: 0
|
||||||
|
runAsNonRoot: false
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
|
readOnlyRootFilesystem: true
|
||||||
|
volumeMounts:
|
||||||
|
- name: tmpfs-run
|
||||||
|
mountPath: /var/run
|
||||||
|
containers:
|
||||||
|
- name: seedbox-rsync
|
||||||
|
image: redxen.eu/daemons/rsync/seedbox:latest
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
securityContext:
|
||||||
|
capabilities:
|
||||||
|
drop: ["ALL"]
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
|
readOnlyRootFilesystem: true
|
||||||
|
volumeMounts:
|
||||||
|
- name: seedbox-data
|
||||||
|
mountPath: /var/data
|
||||||
|
readOnly: true
|
||||||
|
- name: tmpfs-run
|
||||||
|
mountPath: /var/run
|
||||||
|
ports:
|
||||||
|
- containerPort: 8874
|
||||||
|
livenessProbe:
|
||||||
|
tcpSocket:
|
||||||
|
port: 8874
|
||||||
|
volumes:
|
||||||
|
- name: seedbox-data
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: seedbox-data-pvc
|
||||||
|
readOnly: true
|
||||||
|
- name: tmpfs-run
|
||||||
|
emptyDir:
|
||||||
|
medium: Memory
|
||||||
|
sizeLimit: 2Mi
|
5
redxen/seedbox/rsync/kustomization.yaml
Normal file
5
redxen/seedbox/rsync/kustomization.yaml
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- deployment.yml
|
||||||
|
- service.yml
|
16
redxen/seedbox/rsync/service.yml
Normal file
16
redxen/seedbox/rsync/service.yml
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
# yaml-language-server: $schema=https://kubernetesjsonschema.dev/master/service-v1.json
|
||||||
|
kind: Service
|
||||||
|
apiVersion: v1
|
||||||
|
metadata:
|
||||||
|
namespace: redxen
|
||||||
|
labels:
|
||||||
|
app: seedbox-rsync
|
||||||
|
name: seedbox-rsync-sv
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app: seedbox-rsync
|
||||||
|
type: ClusterIP
|
||||||
|
ports:
|
||||||
|
- name: rsync
|
||||||
|
port: 8874
|
||||||
|
protocol: TCP
|
Loading…
Reference in New Issue
Block a user