commit 53c51fa258ff8cadd2a5a83ef369f820a469ab5b Author: Radar231 Date: Wed Jul 28 12:03:01 2021 -0400 initial checkin diff --git a/README.md b/README.md new file mode 100644 index 0000000..3255687 --- /dev/null +++ b/README.md @@ -0,0 +1,14 @@ +# guacamole k8s manifest + +## Introduction + +This deploys a guacamole server. It uses the maxwaldorf/guacamole container, +which in turn is forked from the oznu/guacamole container. This image is an +all in one guacamole solution (guacamole, guacd, and postfix). + +## Links + +* https://hub.docker.com/r/maxwaldorf/guacamole +* https://github.com/MaxWaldorf/guacamole +* https://hub.docker.com/r/oznu/guacamole + diff --git a/maxwaldorf-guacamole_deployment.yml b/maxwaldorf-guacamole_deployment.yml new file mode 100644 index 0000000..0a7d627 --- /dev/null +++ b/maxwaldorf-guacamole_deployment.yml @@ -0,0 +1,41 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: maxwaldorf-guacamole +spec: + selector: + matchLabels: + app: maxwaldorf-guacamole + replicas: 1 + strategy: + type: Recreate + template: + metadata: + labels: + app: maxwaldorf-guacamole + spec: + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: beta.kubernetes.io/arch + operator: In + values: + - arm64 + containers: + - name: maxwaldorf-guacamole + image: maxwaldorf/guacamole:latest_arm64v8 + ports: + - containerPort: 8080 + name: "maxwa-guacamole" + volumeMounts: + - name: maxwaldorf-guacamole + mountPath: "/config" + volumes: + - name: maxwaldorf-guacamole + persistentVolumeClaim: + claimName: maxwaldorf-guacamole-pvc + +# EOF diff --git a/maxwaldorf-guacamole_ingress.yml b/maxwaldorf-guacamole_ingress.yml new file mode 100644 index 0000000..365a7a7 --- /dev/null +++ b/maxwaldorf-guacamole_ingress.yml @@ -0,0 +1,19 @@ +--- +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: maxwaldorf-guacamole + annotations: + kubernetes.io/ingress.class: traefik +spec: + rules: + - host: guac.lan + http: + paths: + - path: / + pathType: Prefix + backend: + serviceName: maxwaldorf-guacamole + servicePort: 8080 + +# EOF diff --git a/maxwaldorf-guacamole_pv.yml b/maxwaldorf-guacamole_pv.yml new file mode 100644 index 0000000..fe87ff3 --- /dev/null +++ b/maxwaldorf-guacamole_pv.yml @@ -0,0 +1,21 @@ +--- +apiVersion: v1 +kind: PersistentVolume +metadata: + name: maxwaldorf-guacamole-pv + labels: + name: maxwaldorf-guacamole-pv +spec: + storageClassName: manual + capacity: + storage: 1Gi + accessModes: + - ReadWriteOnce + mountOptions: + - hard + - nfsvers=4.0 + nfs: + server: 192.168.7.11 + path: "/volume1/k8s-storage/guacamole/maxwaldorf-guacamole" + +# EOF diff --git a/maxwaldorf-guacamole_pvc.yml b/maxwaldorf-guacamole_pvc.yml new file mode 100644 index 0000000..f27c293 --- /dev/null +++ b/maxwaldorf-guacamole_pvc.yml @@ -0,0 +1,19 @@ +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: maxwaldorf-guacamole-pvc + labels: + app: maxwaldorf-guacamole +spec: + accessModes: + - ReadWriteOnce + storageClassName: "manual" + resources: + requests: + storage: 1Gi + selector: + matchLabels: + name: maxwaldorf-guacamole-pv + +# EOF diff --git a/maxwaldorf-guacamole_service.yml b/maxwaldorf-guacamole_service.yml new file mode 100644 index 0000000..dea6a9f --- /dev/null +++ b/maxwaldorf-guacamole_service.yml @@ -0,0 +1,14 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: maxwaldorf-guacamole +spec: + ports: + - name: http + port: 8080 + selector: + # apply service to any pod with label app: nginx + app: maxwaldorf-guacamole + +# EOF