123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- apiVersion: v1
- kind: Service
- metadata:
- name: octoprint
- labels:
- run: octoprint
- spec:
- ports:
- - name: http
- port: 5000
- targetPort: 5000
- selector:
- run: octoprint
- type: LoadBalancer
- status:
- loadBalancer: {}
- ---
- apiVersion: v1
- kind: PersistentVolume
- metadata:
- name: octoprint
- spec:
- capacity:
- storage: 100Mi
- volumeMode: Filesystem
- accessModes:
- - ReadWriteOnce
- persistentVolumeReclaimPolicy: Retain # Keep 4eva
- storageClassName: default
- mountOptions:
- - hard
- - nfsvers=3
- nfs:
- path: /mnt/DroboFS/Shares/Kubernetes/volumes/static/octoprint
- server: 10.42.42.10
- claimRef:
- name: octoprint
- namespace: default
- ---
- apiVersion: v1
- kind: PersistentVolumeClaim
- metadata:
- # labels:
- # run: octoprint
- name: octoprint
- spec:
- storageClassName: default
- # volumeName: octoprint
- accessModes:
- - ReadWriteOnce
- resources:
- requests:
- storage: 100Mi
- status: {}
- ---
- apiVersion: apps/v1
- kind: Deployment
- metadata:
- name: octoprint
- spec:
- replicas: 1
- selector:
- matchLabels:
- run: octoprint
- strategy:
- type: Recreate
- template:
- metadata:
- labels:
- run: octoprint
- spec:
- nodeSelector:
- octoprint: "true"
- containers:
- - image: octoprint/octoprint
- name: octoprint
- securityContext:
- privileged: true
- env:
- - name: OCTOPRINT_PORT
- value: "5000"
- ports:
- - containerPort: 5000
- resources: {}
- volumeMounts:
- - mountPath: /octoprint
- name: octoprint
- - mountPath: /dev/ttyUSB0
- name: ttyusb
- restartPolicy: Always
- volumes:
- - name: octoprint
- persistentVolumeClaim:
- claimName: octoprint
- - name: ttyusb
- hostPath:
- path: /dev/ttyUSB0
- status: {}
- #---
- ## Hosting
- #apiVersion: networking.k8s.io/v1
- #kind: Ingress
- #metadata:
- # name: octoprint-ingress
- # annotations:
- # #cert-manager.io/cluster-issuer: "letsencrypt-prod"
- # ## No basic auth for octoprint
- # ## type of authentication
- # #nginx.ingress.kubernetes.io/auth-type: basic
- # ## name of the secret that contains the user/password definitions
- # #nginx.ingress.kubernetes.io/auth-secret: basic-auth
- # ## message to display with an appropriate context why the authentication is required
- # #nginx.ingress.kubernetes.io/auth-realm: 'Authentication Required - Octoprint'
- # # Octoprint uses large attachments
- # nginx.ingress.kubernetes.io/proxy-body-size: 200m
- #spec:
- # tls:
- # - hosts:
- # - octoprint.monkeybox.org
- # secretName: octoprint-tls
- # rules:
- # - host: octoprint.monkeybox.org
- # http:
- # paths:
- # - path: /
- # pathType: Prefix
- # backend:
- # service:
- # name: octoprint
- # port:
- # number: 80
|