├── nginx ├── .gitignore ├── nginx-configmap.yaml ├── nginx-svc.yaml └── nginx-deployment.yaml ├── jenkins ├── namespace.yaml ├── jenkins-pvc.yaml ├── jenkins-pv.yaml ├── jenkins-svc.yaml ├── jenkins-ingress.yaml └── jenkins-rc.yaml ├── bf2 ├── bf2-pvc.yaml ├── bf2-pv.yaml ├── bf2-svc.yaml └── bf2-rc.yaml ├── gate ├── gate-pvc.yaml ├── gate-svc.yaml ├── gate-pv.yaml ├── gate-ingress.yaml └── gate-rc.yaml ├── ark_dedicated ├── ark-pvc.yaml ├── ark-pv.yaml ├── ark-svc.yaml └── ark-rc.yaml ├── bf1942 ├── bf1942-pvc.yaml ├── bf1942-pv.yaml ├── bf1942-svc.yaml └── bf1942-rc.yaml ├── gearman ├── gearman-pvc.yaml ├── gearmand-svc.yaml ├── gearman-pv.yaml ├── gearmand-rc.yaml └── gearman-rc.yaml ├── mumble ├── mumble-pvc.yaml ├── mumble-pv.yaml ├── mumble-svc.yaml └── mumble-rc.yaml ├── plex ├── sabnzbd-pvc.yaml ├── plex-pv.yaml ├── plex-svc.yaml ├── plex-ingress.yaml └── plex-deployment.yaml ├── sabnzbd ├── sabnzbd-pvc.yaml ├── sabnzbd-svc.yaml ├── sabnzbd-pv.yaml ├── sabnzbd-ingress.yaml └── sabnzbd-deployment.yaml ├── crashplan ├── crashplan-pvc.yaml ├── crashplan_conf-pvc.yaml ├── crashplan-pv.yaml ├── crashplan_conf-pv.yaml ├── crashplan-svc.yaml └── crashplan-rc.yaml ├── homeassistant ├── hapush-pvc.yaml ├── hadashboard-pvc.yaml ├── homeassistant-pvc.yaml ├── hapush-pv.yaml ├── hadashboard-pv.yaml ├── homeassistant-pv.yaml ├── homeassistant-svc.yaml ├── homeassistant-ingress.yaml └── homeassistant-deployment.yaml ├── bf1942_dc ├── bf1942_dc-pvc.yaml ├── bf1942_dc-pv.yaml ├── bf1942_dc-svc.yaml └── bf1942_dc-rc.yaml ├── hurtworld ├── hurtworld-pvc.yaml ├── hurtworld-pv.yaml ├── hurtworld-svc.yaml └── hurtworld-rc.yaml ├── mosquitto ├── mosquitto-config.pvc.yaml ├── mosquitto-data-pvc.yaml ├── mosquitto-log.pvc.yaml ├── mosquitto-config.pv.yaml ├── mosquitto-data-pv.yaml ├── mosquitto-log.pv.yaml ├── mosquitto-svc.yaml ├── mosquitto-ingress.yaml ├── mosquitto-rc.yaml └── mosquitto-deployment.yaml ├── observium ├── observium-logs-pvc.yaml ├── observium-rrd-pvc.yaml ├── observium-config-pvc.yaml ├── observium-html-pvc.yaml ├── observium-svc.yaml ├── observium-logs-pv.yaml ├── observium-rrd-pv.yaml ├── observium-html-pv.yaml ├── observium-config-pv.yaml ├── observium-ingress.yaml └── observium-deployment.yaml ├── insurgency_dedicated ├── insurgency-pvc.yaml ├── insurgency-pv.yaml ├── hlstatsx-scr-svc.yaml ├── insurgency-svc.yaml └── insurgency-rc.yaml ├── docker_configs ├── docker_configs-pvc.yaml └── docker_configs-pv.yaml ├── flower ├── flower-service.yaml ├── flower-ingress.yaml └── flower-rc.yaml ├── mysql ├── mysql-pvc.yaml ├── mysql-pv.yaml ├── mysql-svc.yaml └── mysql-rc.yaml ├── security_camera ├── security_camera-pvc.yaml └── security_camera-pv.yaml ├── zoneminder ├── zoneminder-config-pvc.yaml ├── zoneminder-content-pvc.yaml ├── zoneminder-svc.yaml ├── zoneminder-content-pv.yaml ├── zoneminder-config-pv.yaml ├── zoneminder-ingress.yaml └── zoneminder-deployment.yaml ├── kubedash ├── kubedash-svc.yaml ├── kubedash-endpoints.yaml ├── kubedash-ingress.yaml └── kubedash-rc.yaml ├── docker_repo ├── docker_certs-pvc.yaml ├── docker_repo-pvc.yaml ├── docker_certs-pv.yaml ├── docker_repo-pv.yaml ├── docker_repo-svc.yaml ├── docker_repo-deployment.yaml └── docker_repo-rc.yaml ├── rabbitmq ├── rabbitmq-service.yaml └── rabbitmq-rc.yaml ├── hlstatsx ├── hlstatsx-svc.yaml ├── hlstatsx-ingress.yaml └── hlstatsx-rc.yaml ├── kube-lego ├── kube-lego-svc.yaml ├── kube-lego-configmap.yaml └── kube-lego-deployment.yaml ├── sonarr ├── sonarr-svc.yaml ├── sonarr-ingress.yaml └── sonarr-deployment.yaml ├── README.md ├── gateapi ├── gateapi-svc.yaml ├── gateapi-ingress.yaml └── gateapi-rc.yaml ├── letsencrypt ├── letsencrypt-svc.yaml ├── letsencrypt-ingress.yaml └── letsencrypt-rc.yaml ├── motion ├── motion-svc.yaml ├── motion-deployment.yaml └── motion-rc.yaml ├── couchpotato ├── couchpotato-svc.yaml ├── couchpotato-ingress.yaml └── couchpotato-deployment.yaml ├── heapster ├── heapster-service.yaml ├── influxdb-service.yaml ├── grafana-service.yaml ├── heapster-controller.yaml └── influxdb-grafana-controller.yaml ├── static_sites ├── grafana-ingress.yaml ├── router-ingress.yaml ├── baby-ingress.yaml ├── hass-ingress.yaml ├── default-ingress.yaml ├── sonaar-ingress.yaml ├── netdata-ingress.yaml ├── openhab-ingress.yaml ├── phpmyadmin-ingress.yaml ├── sabnzbd-ingress.yaml ├── fileserv-ingress.yaml ├── mosquitto-ingress.yaml ├── couchpotato-ingress.yaml ├── baby-svc.yaml ├── hass-svc.yaml ├── router-svc.yaml ├── plex-svc.yaml ├── sonarr-svc.yaml ├── fileserv-svc.yaml ├── netdata-svc.yaml ├── openhab-svc.yaml ├── sabnzbd-svc.yaml ├── mosquitto-svc.yaml └── couchpotato-svc.yaml ├── dashboard ├── dashboard-svc.yaml └── dashboard-rc.yaml ├── default-http-backend ├── default-http-backend-svc.yaml └── default-http-backend-rc.yaml ├── celery └── celery-rc.yaml └── LICENSE /nginx/.gitignore: -------------------------------------------------------------------------------- 1 | nginx-secrets.yaml 2 | -------------------------------------------------------------------------------- /jenkins/namespace.yaml: -------------------------------------------------------------------------------- 1 | kind: Namespace 2 | apiVersion: v1 3 | metadata: 4 | name: jenkins 5 | labels: 6 | name: jenkins 7 | -------------------------------------------------------------------------------- /bf2/bf2-pvc.yaml: -------------------------------------------------------------------------------- 1 | kind: PersistentVolumeClaim 2 | apiVersion: v1 3 | metadata: 4 | name: bf2 5 | spec: 6 | accessModes: 7 | - ReadWriteOnce 8 | resources: 9 | requests: 10 | storage: 200Gi 11 | -------------------------------------------------------------------------------- /gate/gate-pvc.yaml: -------------------------------------------------------------------------------- 1 | kind: PersistentVolumeClaim 2 | apiVersion: v1 3 | metadata: 4 | name: gate 5 | spec: 6 | accessModes: 7 | - ReadWriteOnce 8 | resources: 9 | requests: 10 | storage: 100Mi 11 | -------------------------------------------------------------------------------- /ark_dedicated/ark-pvc.yaml: -------------------------------------------------------------------------------- 1 | kind: PersistentVolumeClaim 2 | apiVersion: v1 3 | metadata: 4 | name: ark 5 | spec: 6 | accessModes: 7 | - ReadWriteOnce 8 | resources: 9 | requests: 10 | storage: 200Gi 11 | -------------------------------------------------------------------------------- /bf1942/bf1942-pvc.yaml: -------------------------------------------------------------------------------- 1 | kind: PersistentVolumeClaim 2 | apiVersion: v1 3 | metadata: 4 | name: bf1942 5 | spec: 6 | accessModes: 7 | - ReadWriteOnce 8 | resources: 9 | requests: 10 | storage: 200Gi 11 | -------------------------------------------------------------------------------- /gearman/gearman-pvc.yaml: -------------------------------------------------------------------------------- 1 | kind: PersistentVolumeClaim 2 | apiVersion: v1 3 | metadata: 4 | name: gearman 5 | spec: 6 | accessModes: 7 | - ReadOnlyMany 8 | resources: 9 | requests: 10 | storage: 1Gi 11 | -------------------------------------------------------------------------------- /jenkins/jenkins-pvc.yaml: -------------------------------------------------------------------------------- 1 | kind: PersistentVolumeClaim 2 | apiVersion: v1 3 | metadata: 4 | name: jenkins 5 | spec: 6 | accessModes: 7 | - ReadWriteOnce 8 | resources: 9 | requests: 10 | storage: 1Gi 11 | -------------------------------------------------------------------------------- /mumble/mumble-pvc.yaml: -------------------------------------------------------------------------------- 1 | kind: PersistentVolumeClaim 2 | apiVersion: v1 3 | metadata: 4 | name: mumble 5 | spec: 6 | accessModes: 7 | - ReadWriteOnce 8 | resources: 9 | requests: 10 | storage: 10Mi 11 | -------------------------------------------------------------------------------- /plex/sabnzbd-pvc.yaml: -------------------------------------------------------------------------------- 1 | kind: PersistentVolumeClaim 2 | apiVersion: v1 3 | metadata: 4 | name: sabnzbd 5 | spec: 6 | accessModes: 7 | - ReadWriteOnce 8 | resources: 9 | requests: 10 | storage: 500Mi 11 | -------------------------------------------------------------------------------- /sabnzbd/sabnzbd-pvc.yaml: -------------------------------------------------------------------------------- 1 | kind: PersistentVolumeClaim 2 | apiVersion: v1 3 | metadata: 4 | name: sabnzbd 5 | spec: 6 | accessModes: 7 | - ReadWriteOnce 8 | resources: 9 | requests: 10 | storage: 500Mi 11 | -------------------------------------------------------------------------------- /crashplan/crashplan-pvc.yaml: -------------------------------------------------------------------------------- 1 | kind: PersistentVolumeClaim 2 | apiVersion: v1 3 | metadata: 4 | name: crashplan 5 | spec: 6 | accessModes: 7 | - ReadWriteOnce 8 | resources: 9 | requests: 10 | storage: 2Ti 11 | -------------------------------------------------------------------------------- /homeassistant/hapush-pvc.yaml: -------------------------------------------------------------------------------- 1 | kind: PersistentVolumeClaim 2 | apiVersion: v1 3 | metadata: 4 | name: hapush 5 | spec: 6 | accessModes: 7 | - ReadWriteOnce 8 | resources: 9 | requests: 10 | storage: 100Mi 11 | -------------------------------------------------------------------------------- /bf1942_dc/bf1942_dc-pvc.yaml: -------------------------------------------------------------------------------- 1 | kind: PersistentVolumeClaim 2 | apiVersion: v1 3 | metadata: 4 | name: bf1942-dc 5 | spec: 6 | accessModes: 7 | - ReadWriteOnce 8 | resources: 9 | requests: 10 | storage: 200Gi 11 | -------------------------------------------------------------------------------- /hurtworld/hurtworld-pvc.yaml: -------------------------------------------------------------------------------- 1 | kind: PersistentVolumeClaim 2 | apiVersion: v1 3 | metadata: 4 | name: hurtworld 5 | spec: 6 | accessModes: 7 | - ReadWriteOnce 8 | resources: 9 | requests: 10 | storage: 100Gi 11 | -------------------------------------------------------------------------------- /crashplan/crashplan_conf-pvc.yaml: -------------------------------------------------------------------------------- 1 | kind: PersistentVolumeClaim 2 | apiVersion: v1 3 | metadata: 4 | name: crashplan-conf 5 | spec: 6 | accessModes: 7 | - ReadWriteOnce 8 | resources: 9 | requests: 10 | storage: 1Gi 11 | -------------------------------------------------------------------------------- /homeassistant/hadashboard-pvc.yaml: -------------------------------------------------------------------------------- 1 | kind: PersistentVolumeClaim 2 | apiVersion: v1 3 | metadata: 4 | name: hadashboard 5 | spec: 6 | accessModes: 7 | - ReadWriteOnce 8 | resources: 9 | requests: 10 | storage: 5Gi 11 | -------------------------------------------------------------------------------- /mosquitto/mosquitto-config.pvc.yaml: -------------------------------------------------------------------------------- 1 | kind: PersistentVolumeClaim 2 | apiVersion: v1 3 | metadata: 4 | name: mosquitto 5 | spec: 6 | accessModes: 7 | - ReadOnlyMany 8 | resources: 9 | requests: 10 | storage: 15Mi 11 | -------------------------------------------------------------------------------- /mosquitto/mosquitto-data-pvc.yaml: -------------------------------------------------------------------------------- 1 | kind: PersistentVolumeClaim 2 | apiVersion: v1 3 | metadata: 4 | name: mosquitto-data 5 | spec: 6 | accessModes: 7 | - ReadWriteOnce 8 | resources: 9 | requests: 10 | storage: 50Mi 11 | -------------------------------------------------------------------------------- /mosquitto/mosquitto-log.pvc.yaml: -------------------------------------------------------------------------------- 1 | kind: PersistentVolumeClaim 2 | apiVersion: v1 3 | metadata: 4 | name: mosquitto-log 5 | spec: 6 | accessModes: 7 | - ReadWriteOnce 8 | resources: 9 | requests: 10 | storage: 25Mi 11 | -------------------------------------------------------------------------------- /observium/observium-logs-pvc.yaml: -------------------------------------------------------------------------------- 1 | kind: PersistentVolumeClaim 2 | apiVersion: v1 3 | metadata: 4 | name: observium-logs 5 | spec: 6 | accessModes: 7 | - ReadWriteOnce 8 | resources: 9 | requests: 10 | storage: 1Gi 11 | -------------------------------------------------------------------------------- /observium/observium-rrd-pvc.yaml: -------------------------------------------------------------------------------- 1 | kind: PersistentVolumeClaim 2 | apiVersion: v1 3 | metadata: 4 | name: observium-rrd 5 | spec: 6 | accessModes: 7 | - ReadWriteOnce 8 | resources: 9 | requests: 10 | storage: 10Gi 11 | -------------------------------------------------------------------------------- /homeassistant/homeassistant-pvc.yaml: -------------------------------------------------------------------------------- 1 | kind: PersistentVolumeClaim 2 | apiVersion: v1 3 | metadata: 4 | name: homeassistant 5 | spec: 6 | accessModes: 7 | - ReadWriteMany 8 | resources: 9 | requests: 10 | storage: 100Gi 11 | -------------------------------------------------------------------------------- /insurgency_dedicated/insurgency-pvc.yaml: -------------------------------------------------------------------------------- 1 | kind: PersistentVolumeClaim 2 | apiVersion: v1 3 | metadata: 4 | name: insurgency 5 | spec: 6 | accessModes: 7 | - ReadWriteOnce 8 | resources: 9 | requests: 10 | storage: 200Gi 11 | -------------------------------------------------------------------------------- /observium/observium-config-pvc.yaml: -------------------------------------------------------------------------------- 1 | kind: PersistentVolumeClaim 2 | apiVersion: v1 3 | metadata: 4 | name: observium-config 5 | spec: 6 | accessModes: 7 | - ReadWriteOnce 8 | resources: 9 | requests: 10 | storage: 100Mi 11 | -------------------------------------------------------------------------------- /observium/observium-html-pvc.yaml: -------------------------------------------------------------------------------- 1 | kind: PersistentVolumeClaim 2 | apiVersion: v1 3 | metadata: 4 | name: observium-html 5 | spec: 6 | accessModes: 7 | - ReadWriteOnce 8 | resources: 9 | requests: 10 | storage: 100Mi 11 | -------------------------------------------------------------------------------- /docker_configs/docker_configs-pvc.yaml: -------------------------------------------------------------------------------- 1 | kind: PersistentVolumeClaim 2 | apiVersion: v1 3 | metadata: 4 | name: docker-configs 5 | spec: 6 | accessModes: 7 | - ReadWriteMany 8 | resources: 9 | requests: 10 | storage: 500Gi 11 | -------------------------------------------------------------------------------- /flower/flower-service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | component: flower 6 | name: flower 7 | spec: 8 | ports: 9 | - port: 5555 10 | selector: 11 | app: taskQueue 12 | component: flower 13 | -------------------------------------------------------------------------------- /mysql/mysql-pvc.yaml: -------------------------------------------------------------------------------- 1 | kind: PersistentVolumeClaim 2 | apiVersion: v1 3 | metadata: 4 | name: mysql 5 | namespace: kube-system 6 | spec: 7 | accessModes: 8 | - ReadWriteOnce 9 | resources: 10 | requests: 11 | storage: 250Gi 12 | -------------------------------------------------------------------------------- /security_camera/security_camera-pvc.yaml: -------------------------------------------------------------------------------- 1 | kind: PersistentVolumeClaim 2 | apiVersion: v1 3 | metadata: 4 | name: security-camera 5 | spec: 6 | accessModes: 7 | - ReadWriteMany 8 | resources: 9 | requests: 10 | storage: 1Ti 11 | -------------------------------------------------------------------------------- /zoneminder/zoneminder-config-pvc.yaml: -------------------------------------------------------------------------------- 1 | kind: PersistentVolumeClaim 2 | apiVersion: v1 3 | metadata: 4 | name: zoneminder-config 5 | spec: 6 | accessModes: 7 | - ReadWriteOnce 8 | resources: 9 | requests: 10 | storage: 500Mi 11 | -------------------------------------------------------------------------------- /zoneminder/zoneminder-content-pvc.yaml: -------------------------------------------------------------------------------- 1 | kind: PersistentVolumeClaim 2 | apiVersion: v1 3 | metadata: 4 | name: zoneminder-content 5 | spec: 6 | accessModes: 7 | - ReadWriteOnce 8 | resources: 9 | requests: 10 | storage: 1Ti 11 | -------------------------------------------------------------------------------- /gate/gate-svc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: gate 5 | labels: 6 | app: gate 7 | kubernetes.io/name: "gate" 8 | spec: 9 | selector: 10 | app: gate 11 | ports: 12 | - name: gate 13 | port: 80 14 | -------------------------------------------------------------------------------- /kubedash/kubedash-svc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: "v1" 2 | kind: "Service" 3 | metadata: 4 | labels: 5 | name: "kubedash" 6 | name: "kubedash" 7 | spec: 8 | ports: 9 | - 10 | port: 80 11 | targetPort: 8289 12 | 13 | -------------------------------------------------------------------------------- /docker_repo/docker_certs-pvc.yaml: -------------------------------------------------------------------------------- 1 | kind: PersistentVolumeClaim 2 | apiVersion: v1 3 | metadata: 4 | name: docker-certs 5 | namespace: kube-system 6 | spec: 7 | accessModes: 8 | - ReadOnlyMany 9 | resources: 10 | requests: 11 | storage: 1Mi 12 | -------------------------------------------------------------------------------- /docker_repo/docker_repo-pvc.yaml: -------------------------------------------------------------------------------- 1 | kind: PersistentVolumeClaim 2 | apiVersion: v1 3 | metadata: 4 | name: docker-repo 5 | namespace: kube-system 6 | spec: 7 | accessModes: 8 | - ReadWriteOnce 9 | resources: 10 | requests: 11 | storage: 300Gi 12 | -------------------------------------------------------------------------------- /nginx/nginx-configmap.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | data: 3 | proxy-connect-timeout: "15" 4 | proxy-read-timeout: "600" 5 | proxy-send-imeout: "600" 6 | hsts-include-subdomains: "false" 7 | body-size: "64m" 8 | kind: ConfigMap 9 | metadata: 10 | name: nginx 11 | -------------------------------------------------------------------------------- /rabbitmq/rabbitmq-service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | component: rabbitmq 6 | name: rabbitmq-service 7 | spec: 8 | ports: 9 | - port: 5672 10 | selector: 11 | app: taskQueue 12 | component: rabbitmq 13 | -------------------------------------------------------------------------------- /hlstatsx/hlstatsx-svc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: hlstatsx 5 | labels: 6 | app: hlstatsx 7 | kubernetes.io/name: "hlstatsx" 8 | spec: 9 | selector: 10 | app: hlstatsx 11 | ports: 12 | - name: hlstatsx 13 | port: 80 14 | -------------------------------------------------------------------------------- /gearman/gearmand-svc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: gearmand 5 | labels: 6 | app: gearmand 7 | kubernetes.io/name: "gearmand" 8 | spec: 9 | selector: 10 | app: gearmand 11 | ports: 12 | - name: gearmand 13 | port: 4730 14 | -------------------------------------------------------------------------------- /kube-lego/kube-lego-svc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: kube-lego 5 | annotations: 6 | ingress-nginx.kubernetes.io/ssl-redirect: "false" 7 | spec: 8 | ports: 9 | - port: 8080 10 | targetPort: 8080 11 | selector: 12 | app: kube-lego 13 | -------------------------------------------------------------------------------- /bf2/bf2-pv.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: PersistentVolume 3 | metadata: 4 | name: bf2 5 | spec: 6 | capacity: 7 | storage: 200Gi 8 | accessModes: 9 | - ReadWriteOnce 10 | nfs: 11 | path: /mnt/fileserv/kubernetes/bf2 12 | server: 10.0.1.14 13 | -------------------------------------------------------------------------------- /sonarr/sonarr-svc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: sonarr 5 | labels: 6 | app: sonarr 7 | kubernetes.io/name: "sonarr" 8 | spec: 9 | selector: 10 | app: sonarr 11 | ports: 12 | - name: sonarr 13 | port: 80 14 | targetPort: 8989 15 | -------------------------------------------------------------------------------- /zoneminder/zoneminder-svc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: zoneminder 5 | labels: 6 | app: zoneminder 7 | kubernetes.io/name: "zoneminder" 8 | spec: 9 | selector: 10 | app: zoneminder 11 | ports: 12 | - name: zoneminder 13 | port: 80 14 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # kubernetes 2 | my yaml files for kubernetes cluster 3 | 4 | # Note 5 | This repository is kept around for historical purposes. This was all created long ago and useful back then. Today, I would encourage you to investigate helm charts and [flux](https://fluxcd.io/) for cluster management. 6 | -------------------------------------------------------------------------------- /gate/gate-pv.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: PersistentVolume 3 | metadata: 4 | name: gate 5 | spec: 6 | capacity: 7 | storage: 100Mi 8 | accessModes: 9 | - ReadWriteOnce 10 | nfs: 11 | path: /mnt/fileserv/kubernetes/gate 12 | server: 10.0.1.14 13 | -------------------------------------------------------------------------------- /gateapi/gateapi-svc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: gateapi 5 | labels: 6 | app: gateapi 7 | kubernetes.io/name: "gateapi" 8 | spec: 9 | selector: 10 | app: gateapi 11 | ports: 12 | - name: gateapi 13 | port: 80 14 | targetPort: 8080 15 | -------------------------------------------------------------------------------- /nginx/nginx-svc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: nginx 5 | spec: 6 | type: NodePort 7 | ports: 8 | - port: 80 9 | nodePort: 30080 10 | name: http 11 | - port: 443 12 | nodePort: 30443 13 | name: https 14 | selector: 15 | app: nginx 16 | -------------------------------------------------------------------------------- /plex/plex-pv.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: PersistentVolume 3 | metadata: 4 | name: plex 5 | spec: 6 | capacity: 7 | storage: 100Gi 8 | accessModes: 9 | - ReadWriteOnce 10 | nfs: 11 | path: /mnt/fileserv/kubernetes/plex 12 | server: 10.0.1.14 13 | -------------------------------------------------------------------------------- /sabnzbd/sabnzbd-svc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: sabnzbd 5 | labels: 6 | app: sabnzbd 7 | kubernetes.io/name: "sabnzbd" 8 | spec: 9 | selector: 10 | app: sabnzbd 11 | ports: 12 | - name: sabnzbd 13 | port: 80 14 | targetPort: 8080 15 | -------------------------------------------------------------------------------- /ark_dedicated/ark-pv.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: PersistentVolume 3 | metadata: 4 | name: ark 5 | spec: 6 | capacity: 7 | storage: 200Gi 8 | accessModes: 9 | - ReadWriteOnce 10 | nfs: 11 | path: /mnt/fileserv/kubernetes/ark 12 | server: 10.0.1.14 13 | -------------------------------------------------------------------------------- /bf1942/bf1942-pv.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: PersistentVolume 3 | metadata: 4 | name: bf1942 5 | spec: 6 | capacity: 7 | storage: 200Gi 8 | accessModes: 9 | - ReadWriteOnce 10 | nfs: 11 | path: /mnt/fileserv/kubernetes/bf1942 12 | server: 10.0.1.14 13 | -------------------------------------------------------------------------------- /gearman/gearman-pv.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: PersistentVolume 3 | metadata: 4 | name: gearman 5 | spec: 6 | capacity: 7 | storage: 1Gi 8 | accessModes: 9 | - ReadOnlyMany 10 | nfs: 11 | path: /mnt/fileserv/kubernetes/gearman 12 | server: 10.0.1.14 13 | -------------------------------------------------------------------------------- /letsencrypt/letsencrypt-svc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: letsencrypt 5 | labels: 6 | app: letsencrypt 7 | kubernetes.io/name: "letsencrypt" 8 | spec: 9 | selector: 10 | app: letsencrypt 11 | ports: 12 | - name: letsencrypt 13 | port: 80 14 | -------------------------------------------------------------------------------- /mumble/mumble-pv.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: PersistentVolume 3 | metadata: 4 | name: mumble 5 | spec: 6 | capacity: 7 | storage: 10Mi 8 | accessModes: 9 | - ReadWriteOnce 10 | nfs: 11 | path: /mnt/fileserv/kubernetes/mumble 12 | server: 10.0.1.14 13 | -------------------------------------------------------------------------------- /crashplan/crashplan-pv.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: PersistentVolume 3 | metadata: 4 | name: crashplan 5 | spec: 6 | capacity: 7 | storage: 2Ti 8 | accessModes: 9 | - ReadWriteOnce 10 | nfs: 11 | path: /mnt/fileserv/Backup/crashplan 12 | server: 10.0.1.14 13 | -------------------------------------------------------------------------------- /jenkins/jenkins-pv.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: PersistentVolume 3 | metadata: 4 | name: jenkins 5 | spec: 6 | capacity: 7 | storage: 1Gi 8 | accessModes: 9 | - ReadWriteOnce 10 | nfs: 11 | path: /mnt/fileserv/kubernetes/jenkins 12 | server: 10.0.1.14 13 | -------------------------------------------------------------------------------- /motion/motion-svc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: motion 5 | labels: 6 | k8s-app: motion 7 | kubernetes.io/name: "motion" 8 | spec: 9 | selector: 10 | app: motion 11 | ports: 12 | - name: motion 13 | port: 9081 14 | externalIPs: ["10.0.1.19"] 15 | -------------------------------------------------------------------------------- /sabnzbd/sabnzbd-pv.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: PersistentVolume 3 | metadata: 4 | name: sabnzbd 5 | spec: 6 | capacity: 7 | storage: 500Mi 8 | accessModes: 9 | - ReadWriteOnce 10 | nfs: 11 | path: /mnt/fileserv/kubernetes/sabnzbd 12 | server: 10.0.1.14 13 | -------------------------------------------------------------------------------- /homeassistant/hapush-pv.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: PersistentVolume 3 | metadata: 4 | name: hapush 5 | spec: 6 | capacity: 7 | storage: 100Mi 8 | accessModes: 9 | - ReadWriteOnce 10 | nfs: 11 | path: /mnt/fileserv/kubernetes/hapush 12 | server: 10.0.1.14 13 | -------------------------------------------------------------------------------- /observium/observium-svc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: observium 5 | labels: 6 | app: observium 7 | kubernetes.io/name: "observium" 8 | spec: 9 | selector: 10 | app: observium 11 | ports: 12 | - name: observium 13 | port: 80 14 | targetPort: 8000 15 | -------------------------------------------------------------------------------- /bf1942_dc/bf1942_dc-pv.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: PersistentVolume 3 | metadata: 4 | name: bf1942-dc 5 | spec: 6 | capacity: 7 | storage: 200Gi 8 | accessModes: 9 | - ReadWriteOnce 10 | nfs: 11 | path: /mnt/fileserv/kubernetes/bf1942_dc 12 | server: 10.0.1.14 13 | -------------------------------------------------------------------------------- /hurtworld/hurtworld-pv.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: PersistentVolume 3 | metadata: 4 | name: hurtworld 5 | spec: 6 | capacity: 7 | storage: 100Gi 8 | accessModes: 9 | - ReadWriteOnce 10 | nfs: 11 | path: /mnt/fileserv/kubernetes/hurtworld 12 | server: 10.0.1.14 13 | -------------------------------------------------------------------------------- /plex/plex-svc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: plex 5 | labels: 6 | app: plex 7 | kubernetes.io/name: "plex" 8 | spec: 9 | selector: 10 | app: plex 11 | ports: 12 | - name: plex 13 | port: 32400 14 | targetPort: 32400 15 | externalIPs: ["10.0.1.14"] 16 | -------------------------------------------------------------------------------- /docker_configs/docker_configs-pv.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: PersistentVolume 3 | metadata: 4 | name: docker-configs 5 | spec: 6 | capacity: 7 | storage: 500Gi 8 | accessModes: 9 | - ReadWriteMany 10 | nfs: 11 | path: /mnt/fileserv/docker_configs 12 | server: 10.0.1.14 13 | -------------------------------------------------------------------------------- /homeassistant/hadashboard-pv.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: PersistentVolume 3 | metadata: 4 | name: hadashboard 5 | spec: 6 | capacity: 7 | storage: 5Gi 8 | accessModes: 9 | - ReadWriteOnce 10 | nfs: 11 | path: /mnt/fileserv/kubernetes/hadashboard 12 | server: 10.0.1.14 13 | -------------------------------------------------------------------------------- /couchpotato/couchpotato-svc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: couchpotato 5 | labels: 6 | app: couchpotato 7 | kubernetes.io/name: "couchpotato" 8 | spec: 9 | selector: 10 | app: couchpotato 11 | ports: 12 | - name: couchpotato 13 | port: 80 14 | targetPort: 5050 15 | -------------------------------------------------------------------------------- /crashplan/crashplan_conf-pv.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: PersistentVolume 3 | metadata: 4 | name: crashplan-conf 5 | spec: 6 | capacity: 7 | storage: 1Gi 8 | accessModes: 9 | - ReadWriteOnce 10 | nfs: 11 | path: /mnt/fileserv/kubernetes/crashplan/conf 12 | server: 10.0.1.14 13 | -------------------------------------------------------------------------------- /insurgency_dedicated/insurgency-pv.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: PersistentVolume 3 | metadata: 4 | name: insurgency 5 | spec: 6 | capacity: 7 | storage: 200Gi 8 | accessModes: 9 | - ReadWriteOnce 10 | nfs: 11 | path: /mnt/fileserv/kubernetes/insurgency 12 | server: 10.0.1.14 13 | -------------------------------------------------------------------------------- /mosquitto/mosquitto-config.pv.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: PersistentVolume 3 | metadata: 4 | name: mosquitto 5 | spec: 6 | capacity: 7 | storage: 15Mi 8 | accessModes: 9 | - ReadOnlyMany 10 | nfs: 11 | path: /mnt/fileserv/kubernetes/mosquitto/config 12 | server: 10.0.1.14 13 | -------------------------------------------------------------------------------- /mosquitto/mosquitto-data-pv.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: PersistentVolume 3 | metadata: 4 | name: mosquitto-data 5 | spec: 6 | capacity: 7 | storage: 50Mi 8 | accessModes: 9 | - ReadWriteOnce 10 | nfs: 11 | path: /mnt/fileserv/kubernetes/mosquitto/data 12 | server: 10.0.1.14 13 | -------------------------------------------------------------------------------- /mosquitto/mosquitto-log.pv.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: PersistentVolume 3 | metadata: 4 | name: mosquitto-log 5 | spec: 6 | capacity: 7 | storage: 25Mi 8 | accessModes: 9 | - ReadWriteOnce 10 | nfs: 11 | path: /mnt/fileserv/kubernetes/mosquitto/log 12 | server: 10.0.1.14 13 | -------------------------------------------------------------------------------- /observium/observium-logs-pv.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: PersistentVolume 3 | metadata: 4 | name: observium-logs 5 | spec: 6 | capacity: 7 | storage: 1Gi 8 | accessModes: 9 | - ReadWriteOnce 10 | nfs: 11 | path: /mnt/fileserv/kubernetes/observium/logs 12 | server: 10.0.1.14 13 | -------------------------------------------------------------------------------- /observium/observium-rrd-pv.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: PersistentVolume 3 | metadata: 4 | name: observium-rrd 5 | spec: 6 | capacity: 7 | storage: 10Gi 8 | accessModes: 9 | - ReadWriteOnce 10 | nfs: 11 | path: /mnt/fileserv/kubernetes/observium/rrd 12 | server: 10.0.1.14 13 | -------------------------------------------------------------------------------- /security_camera/security_camera-pv.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: PersistentVolume 3 | metadata: 4 | name: security-camera 5 | spec: 6 | capacity: 7 | storage: 1Ti 8 | accessModes: 9 | - ReadWriteMany 10 | nfs: 11 | path: /mnt/fileserv/security_camera 12 | server: 10.0.1.14 13 | -------------------------------------------------------------------------------- /zoneminder/zoneminder-content-pv.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: PersistentVolume 3 | metadata: 4 | name: zoneminder-content 5 | spec: 6 | capacity: 7 | storage: 1Ti 8 | accessModes: 9 | - ReadWriteOnce 10 | nfs: 11 | path: /mnt/fileserv/security_camera 12 | server: 10.0.1.14 13 | -------------------------------------------------------------------------------- /homeassistant/homeassistant-pv.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: PersistentVolume 3 | metadata: 4 | name: homeassistant 5 | spec: 6 | capacity: 7 | storage: 100Gi 8 | accessModes: 9 | - ReadWriteMany 10 | nfs: 11 | path: /mnt/fileserv/kubernetes/homeassistant 12 | server: 10.0.1.14 13 | -------------------------------------------------------------------------------- /mysql/mysql-pv.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: PersistentVolume 3 | metadata: 4 | name: mysql 5 | namespace: kube-system 6 | spec: 7 | capacity: 8 | storage: 250Gi 9 | accessModes: 10 | - ReadWriteOnce 11 | nfs: 12 | path: /mnt/fileserv/kubernetes/mysql 13 | server: 10.0.1.14 14 | -------------------------------------------------------------------------------- /observium/observium-html-pv.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: PersistentVolume 3 | metadata: 4 | name: observium-html 5 | spec: 6 | capacity: 7 | storage: 100Mi 8 | accessModes: 9 | - ReadWriteOnce 10 | nfs: 11 | path: /mnt/fileserv/kubernetes/observium/html 12 | server: 10.0.1.14 13 | -------------------------------------------------------------------------------- /zoneminder/zoneminder-config-pv.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: PersistentVolume 3 | metadata: 4 | name: zoneminder-config 5 | spec: 6 | capacity: 7 | storage: 500Mi 8 | accessModes: 9 | - ReadWriteOnce 10 | nfs: 11 | path: /mnt/fileserv/kubernetes/zoneminder 12 | server: 10.0.1.14 13 | -------------------------------------------------------------------------------- /homeassistant/homeassistant-svc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: homeassistant 5 | labels: 6 | app: homeasistant 7 | kubernetes.io/name: "homeassistant" 8 | spec: 9 | selector: 10 | app: homeassistant 11 | ports: 12 | - name: homeassistant 13 | port: 80 14 | targetPort: 8123 15 | -------------------------------------------------------------------------------- /insurgency_dedicated/hlstatsx-scr-svc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: hlstatsx-scr 5 | labels: 6 | app: hlstatsx-scr 7 | kubernetes.io/name: "hlstatsx-scr" 8 | spec: 9 | selector: 10 | app: insurgency 11 | ports: 12 | - name: hlstatsx-scr 13 | port: 27500 14 | protocol: UDP 15 | -------------------------------------------------------------------------------- /observium/observium-config-pv.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: PersistentVolume 3 | metadata: 4 | name: observium-config 5 | spec: 6 | capacity: 7 | storage: 100Mi 8 | accessModes: 9 | - ReadWriteOnce 10 | nfs: 11 | path: /mnt/fileserv/kubernetes/observium/config 12 | server: 10.0.1.14 13 | -------------------------------------------------------------------------------- /crashplan/crashplan-svc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: crashplan 5 | labels: 6 | k8s-app: crashplan 7 | spec: 8 | selector: 9 | k8s-app: crashplan 10 | ports: 11 | - name: crashplan-p1 12 | port: 4242 13 | externalIPs: ["10.0.1.19","10.0.1.20","10.0.1.21","10.0.1.22","10.0.1.23"] 14 | -------------------------------------------------------------------------------- /heapster/heapster-service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | kubernetes.io/cluster-service: 'true' 6 | kubernetes.io/name: Heapster 7 | name: heapster 8 | namespace: kube-system 9 | spec: 10 | ports: 11 | - port: 80 12 | targetPort: 8082 13 | selector: 14 | k8s-app: heapster 15 | -------------------------------------------------------------------------------- /letsencrypt/letsencrypt-ingress.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: extensions/v1beta1 2 | kind: Ingress 3 | metadata: 4 | name: letsencrypt 5 | spec: 6 | rules: 7 | - host: gate.burntsheep.com 8 | http: 9 | paths: 10 | - path: /.well-known 11 | backend: 12 | serviceName: letsencrypt 13 | servicePort: 80 14 | -------------------------------------------------------------------------------- /docker_repo/docker_certs-pv.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: PersistentVolume 3 | metadata: 4 | name: docker-certs 5 | namespace: kube-system 6 | spec: 7 | capacity: 8 | storage: 1Mi 9 | accessModes: 10 | - ReadOnlyMany 11 | nfs: 12 | path: /mnt/fileserv/kubernetes/docker_certs 13 | server: 10.0.1.14 14 | -------------------------------------------------------------------------------- /docker_repo/docker_repo-pv.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: PersistentVolume 3 | metadata: 4 | name: docker-repo 5 | namespace: kube-system 6 | spec: 7 | capacity: 8 | storage: 300Gi 9 | accessModes: 10 | - ReadWriteOnce 11 | nfs: 12 | path: /mnt/fileserv/kubernetes/docker_repo 13 | server: 10.0.1.14 14 | -------------------------------------------------------------------------------- /heapster/influxdb-service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: null 5 | name: monitoring-influxdb 6 | namespace: kube-system 7 | spec: 8 | ports: 9 | - name: http 10 | port: 8083 11 | targetPort: 8083 12 | - name: api 13 | port: 8086 14 | targetPort: 8086 15 | selector: 16 | name: influxGrafana 17 | -------------------------------------------------------------------------------- /jenkins/jenkins-svc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: jenkins 5 | labels: 6 | app: jenkins 7 | kubernetes.io/name: "jenkins" 8 | spec: 9 | selector: 10 | app: jenkins 11 | ports: 12 | - name: jenkins 13 | port: 80 14 | targetPort: 8080 15 | - name: jnlp 16 | port: 50000 17 | targetPort: 50000 18 | -------------------------------------------------------------------------------- /bf2/bf2-svc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: bf2 5 | labels: 6 | app: bf2 7 | kubernetes.io/name: "bf2" 8 | spec: 9 | selector: 10 | app: bf2 11 | ports: 12 | - name: bf2-main 13 | port: 16567 14 | protocol: UDP 15 | externalIPs: ["10.0.1.19", "10.0.1.20", "10.0.1.21", "10.0.1.22", "10.0.1.23", "10.0.1.24"] 16 | -------------------------------------------------------------------------------- /mumble/mumble-svc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: mumble 5 | labels: 6 | app: mumble 7 | kubernetes.io/name: "mumble" 8 | spec: 9 | selector: 10 | app: mumble 11 | ports: 12 | - name: mumble 13 | port: 64738 14 | - name: mumble-udp 15 | port: 64738 16 | protocol: UDP 17 | externalIPs: ["10.0.1.19"] 18 | -------------------------------------------------------------------------------- /kube-lego/kube-lego-configmap.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | metadata: 3 | name: kube-lego 4 | data: 5 | # modify this to specify your address 6 | lego.email: "knobby@burntsheep.com" 7 | # configre letencrypt's production api 8 | lego.url: "https://acme-v01.api.letsencrypt.org/directory" 9 | #lego.url: "https://acme-staging.api.letsencrypt.org/directory" 10 | kind: ConfigMap 11 | -------------------------------------------------------------------------------- /bf1942/bf1942-svc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: bf1942 5 | labels: 6 | app: bf1942 7 | kubernetes.io/name: "bf1942" 8 | spec: 9 | selector: 10 | app: bf1942 11 | ports: 12 | - name: bf1942-main 13 | port: 14567 14 | protocol: UDP 15 | externalIPs: ["10.0.1.19", "10.0.1.20", "10.0.1.21", "10.0.1.22", "10.0.1.23", "10.0.1.24"] 16 | -------------------------------------------------------------------------------- /mosquitto/mosquitto-svc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: mosquitto 5 | labels: 6 | app: mosquitto 7 | kubernetes.io/name: "mosquitto" 8 | spec: 9 | selector: 10 | app: mosquitto 11 | ports: 12 | - name: mosquitto 13 | port: 1883 14 | - name: mosquitto-web 15 | port: 80 16 | targetPort: 9001 17 | externalIPs: ["10.0.1.19"] 18 | -------------------------------------------------------------------------------- /static_sites/grafana-ingress.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: extensions/v1beta1 2 | kind: Ingress 3 | metadata: 4 | name: grafana 5 | annotations: 6 | kubernetes.io/tls-acme: "true" 7 | spec: 8 | rules: 9 | - host: grafana.burntsheep.com 10 | http: 11 | paths: 12 | - path: / 13 | backend: 14 | serviceName: default-http-backend 15 | servicePort: 80 16 | -------------------------------------------------------------------------------- /dashboard/dashboard-svc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: kubernetes-dashboard 5 | namespace: kube-system 6 | labels: 7 | k8s-app: kubernetes-dashboard 8 | kubernetes.io/cluster-service: "true" 9 | spec: 10 | selector: 11 | k8s-app: kubernetes-dashboard 12 | ports: 13 | - port: 9099 14 | targetPort: 9090 15 | externalIPs: ["10.0.1.19"] 16 | -------------------------------------------------------------------------------- /kubedash/kubedash-endpoints.yaml: -------------------------------------------------------------------------------- 1 | { 2 | "kind": "Endpoints", 3 | "apiVersion": "v1", 4 | "metadata": { 5 | "name": "kubedash" 6 | }, 7 | "subsets": [ 8 | { 9 | "addresses": [ 10 | { "ip": "10.2.85.8" } 11 | ], 12 | "ports": [ 13 | { "port": 8289 } 14 | ] 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /bf1942_dc/bf1942_dc-svc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: bf1942-dc 5 | labels: 6 | app: bf1942-dc 7 | kubernetes.io/name: "bf1942-dc" 8 | spec: 9 | selector: 10 | app: bf1942-dc 11 | ports: 12 | - name: bf1942-dc-main 13 | port: 14567 14 | protocol: UDP 15 | externalIPs: ["10.0.1.19", "10.0.1.20", "10.0.1.21", "10.0.1.22", "10.0.1.23", "10.0.1.24"] 16 | -------------------------------------------------------------------------------- /mysql/mysql-svc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: mysql 5 | namespace: kube-system 6 | labels: 7 | k8s-app: mysql 8 | kubernetes.io/cluster-service: "true" 9 | kubernetes.io/name: "mysql" 10 | spec: 11 | selector: 12 | k8s-app: mysql 13 | ports: 14 | - name: mysql 15 | port: 3306 16 | externalIPs: ["10.0.1.19","10.0.1.20","10.0.1.21","10.0.1.22","10.0.1.23"] 17 | -------------------------------------------------------------------------------- /static_sites/router-ingress.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: extensions/v1beta1 2 | kind: Ingress 3 | metadata: 4 | name: router 5 | spec: 6 | rules: 7 | - host: router.burntsheep.com 8 | http: 9 | paths: 10 | - path: / 11 | backend: 12 | serviceName: router 13 | servicePort: 80 14 | - path: /.well-known 15 | backend: 16 | serviceName: letsencrypt 17 | servicePort: 80 18 | -------------------------------------------------------------------------------- /docker_repo/docker_repo-svc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: docker-repo 5 | namespace: kube-system 6 | labels: 7 | k8s-app: docker-repo 8 | kubernetes.io/cluster-service: "true" 9 | kubernetes.io/name: "docker-repo" 10 | spec: 11 | selector: 12 | app: "docker-repo" 13 | ports: 14 | - name: registry 15 | port: 5000 16 | protocol: TCP 17 | externalIPs: ["10.0.1.19","10.0.1.14"] 18 | -------------------------------------------------------------------------------- /plex/plex-ingress.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: extensions/v1beta1 2 | kind: Ingress 3 | metadata: 4 | name: plex 5 | annotations: 6 | kubernetes.io/tls-acme: "true" 7 | spec: 8 | tls: 9 | - hosts: 10 | - plex.burntsheep.com 11 | secretName: plex-cert 12 | rules: 13 | - host: plex.burntsheep.com 14 | http: 15 | paths: 16 | - path: / 17 | backend: 18 | serviceName: plex 19 | servicePort: 80 20 | -------------------------------------------------------------------------------- /static_sites/baby-ingress.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: extensions/v1beta1 2 | kind: Ingress 3 | metadata: 4 | name: baby 5 | annotations: 6 | kubernetes.io/tls-acme: "true" 7 | spec: 8 | tls: 9 | - hosts: 10 | - baby.burntsheep.com 11 | secretName: baby-cert 12 | rules: 13 | - host: baby.burntsheep.com 14 | http: 15 | paths: 16 | - path: / 17 | backend: 18 | serviceName: baby 19 | servicePort: 80 20 | -------------------------------------------------------------------------------- /static_sites/hass-ingress.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: extensions/v1beta1 2 | kind: Ingress 3 | metadata: 4 | name: hass 5 | annotations: 6 | kubernetes.io/tls-acme: "true" 7 | spec: 8 | tls: 9 | - hosts: 10 | - hass.burntsheep.com 11 | secretName: hass-cert 12 | rules: 13 | - host: hass.burntsheep.com 14 | http: 15 | paths: 16 | - path: / 17 | backend: 18 | serviceName: hass 19 | servicePort: 80 20 | -------------------------------------------------------------------------------- /flower/flower-ingress.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: extensions/v1beta1 2 | kind: Ingress 3 | metadata: 4 | name: flower 5 | annotations: 6 | kubernetes.io/tls-acme: "true" 7 | spec: 8 | tls: 9 | - hosts: 10 | - flower.burntsheep.com 11 | secretName: flower-cert 12 | rules: 13 | - host: flower.burntsheep.com 14 | http: 15 | paths: 16 | - path: / 17 | backend: 18 | serviceName: flower 19 | servicePort: 5555 20 | -------------------------------------------------------------------------------- /gateapi/gateapi-ingress.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: extensions/v1beta1 2 | kind: Ingress 3 | metadata: 4 | name: gateapi 5 | annotations: 6 | kubernetes.io/tls-acme: "true" 7 | spec: 8 | tls: 9 | - hosts: 10 | - gateapi.burntsheep.com 11 | secretName: gateapi-cert 12 | rules: 13 | - host: gateapi.burntsheep.com 14 | http: 15 | paths: 16 | - path: / 17 | backend: 18 | serviceName: gateapi 19 | servicePort: 80 20 | -------------------------------------------------------------------------------- /hlstatsx/hlstatsx-ingress.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: extensions/v1beta1 2 | kind: Ingress 3 | metadata: 4 | name: hlstatsx 5 | annotations: 6 | kubernetes.io/tls-acme: "true" 7 | spec: 8 | tls: 9 | - hosts: 10 | - stats.burntsheep.com 11 | secretName: stats-cert 12 | rules: 13 | - host: stats.burntsheep.com 14 | http: 15 | paths: 16 | - path: / 17 | backend: 18 | serviceName: hlstatsx 19 | servicePort: 80 20 | -------------------------------------------------------------------------------- /hurtworld/hurtworld-svc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: hurtworld 5 | labels: 6 | k8s-app: hurtworld 7 | kubernetes.io/name: "hurtworld" 8 | spec: 9 | selector: 10 | k8s-app: hurtworld 11 | ports: 12 | - name: hw-client 13 | port: 12881 14 | protocol: UDP 15 | - name: hw-main 16 | port: 12871 17 | protocol: UDP 18 | externalIPs: ["10.0.1.19", "10.0.1.20", "10.0.1.21", "10.0.1.22", "10.0.1.23"] 19 | -------------------------------------------------------------------------------- /jenkins/jenkins-ingress.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: extensions/v1beta1 2 | kind: Ingress 3 | metadata: 4 | name: jenkins 5 | annotations: 6 | kubernetes.io/tls-acme: "true" 7 | spec: 8 | tls: 9 | - hosts: 10 | - jenkins.burntsheep.com 11 | secretName: jenkins-cert 12 | rules: 13 | - host: jenkins.burntsheep.com 14 | http: 15 | paths: 16 | - path: / 17 | backend: 18 | serviceName: jenkins 19 | servicePort: 80 20 | -------------------------------------------------------------------------------- /sabnzbd/sabnzbd-ingress.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: extensions/v1beta1 2 | kind: Ingress 3 | metadata: 4 | name: sabnzbd 5 | annotations: 6 | kubernetes.io/tls-acme: "true" 7 | spec: 8 | tls: 9 | - hosts: 10 | - sabnzbd.burntsheep.com 11 | secretName: sabnzbd-cert 12 | rules: 13 | - host: sabnzbd.burntsheep.com 14 | http: 15 | paths: 16 | - path: / 17 | backend: 18 | serviceName: sabnzbd 19 | servicePort: 80 20 | -------------------------------------------------------------------------------- /static_sites/default-ingress.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: extensions/v1beta1 2 | kind: Ingress 3 | metadata: 4 | name: 0default 5 | annotations: 6 | kubernetes.io/tls-acme: "true" 7 | spec: 8 | tls: 9 | - hosts: 10 | - a.burntsheep.com 11 | secretName: a-cert 12 | rules: 13 | - host: a.burntsheep.com 14 | http: 15 | paths: 16 | - path: / 17 | backend: 18 | serviceName: default-http-backend 19 | servicePort: 80 20 | -------------------------------------------------------------------------------- /static_sites/sonaar-ingress.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: extensions/v1beta1 2 | kind: Ingress 3 | metadata: 4 | name: sonaar 5 | annotations: 6 | kubernetes.io/tls-acme: "true" 7 | spec: 8 | tls: 9 | - hosts: 10 | - sonaar.burntsheep.com 11 | secretName: sonaar-cert 12 | rules: 13 | - host: sonaar.burntsheep.com 14 | http: 15 | paths: 16 | - path: / 17 | backend: 18 | serviceName: sonaar 19 | servicePort: 80 20 | -------------------------------------------------------------------------------- /gate/gate-ingress.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: extensions/v1beta1 2 | kind: Ingress 3 | metadata: 4 | name: gate 5 | namespace: default 6 | annotations: 7 | kubernetes.io/tls-acme: "true" 8 | spec: 9 | tls: 10 | - hosts: 11 | - gate.burntsheep.com 12 | secretName: gate-cert 13 | rules: 14 | - host: gate.burntsheep.com 15 | http: 16 | paths: 17 | - path: / 18 | backend: 19 | serviceName: gate 20 | servicePort: 80 21 | -------------------------------------------------------------------------------- /static_sites/netdata-ingress.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: extensions/v1beta1 2 | kind: Ingress 3 | metadata: 4 | name: netdata 5 | annotations: 6 | kubernetes.io/tls-acme: "true" 7 | spec: 8 | tls: 9 | - hosts: 10 | - netdata.burntsheep.com 11 | secretName: netdata-cert 12 | rules: 13 | - host: netdata.burntsheep.com 14 | http: 15 | paths: 16 | - path: / 17 | backend: 18 | serviceName: netdata 19 | servicePort: 80 20 | -------------------------------------------------------------------------------- /static_sites/openhab-ingress.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: extensions/v1beta1 2 | kind: Ingress 3 | metadata: 4 | name: openhab 5 | annotations: 6 | kubernetes.io/tls-acme: "true" 7 | spec: 8 | tls: 9 | - hosts: 10 | - openhab.burntsheep.com 11 | secretName: openhab-cert 12 | rules: 13 | - host: openhab.burntsheep.com 14 | http: 15 | paths: 16 | - path: / 17 | backend: 18 | serviceName: openhab 19 | servicePort: 80 20 | -------------------------------------------------------------------------------- /static_sites/phpmyadmin-ingress.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: extensions/v1beta1 2 | kind: Ingress 3 | metadata: 4 | name: phpmyadmin 5 | spec: 6 | rules: 7 | - host: phpmyadmin.burntsheep.com 8 | http: 9 | paths: 10 | - path: / 11 | backend: 12 | serviceName: default-http-backend 13 | servicePort: 80 14 | - path: /.well-known 15 | backend: 16 | serviceName: letsencrypt 17 | servicePort: 80 18 | 19 | -------------------------------------------------------------------------------- /static_sites/sabnzbd-ingress.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: extensions/v1beta1 2 | kind: Ingress 3 | metadata: 4 | name: sabnzbd 5 | annotations: 6 | kubernetes.io/tls-acme: "true" 7 | spec: 8 | tls: 9 | - hosts: 10 | - sabnzbd.burntsheep.com 11 | secretName: sabnzbd-cert 12 | rules: 13 | - host: sabnzbd.burntsheep.com 14 | http: 15 | paths: 16 | - path: / 17 | backend: 18 | serviceName: sabnzbd 19 | servicePort: 80 20 | -------------------------------------------------------------------------------- /kubedash/kubedash-ingress.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: extensions/v1beta1 2 | kind: Ingress 3 | metadata: 4 | name: kubedash 5 | annotations: 6 | kubernetes.io/tls-acme: "true" 7 | spec: 8 | tls: 9 | - hosts: 10 | - kubedash.burntsheep.com 11 | secretName: kubedash-cert 12 | rules: 13 | - host: kubedash.burntsheep.com 14 | http: 15 | paths: 16 | - path: / 17 | backend: 18 | serviceName: kubedash 19 | servicePort: 80 20 | -------------------------------------------------------------------------------- /static_sites/fileserv-ingress.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: extensions/v1beta1 2 | kind: Ingress 3 | metadata: 4 | name: fileserv 5 | annotations: 6 | kubernetes.io/tls-acme: "true" 7 | spec: 8 | tls: 9 | - hosts: 10 | - fileserv.burntsheep.com 11 | secretName: fileserv-cert 12 | rules: 13 | - host: fileserv.burntsheep.com 14 | http: 15 | paths: 16 | - path: / 17 | backend: 18 | serviceName: fileserv 19 | servicePort: 80 20 | -------------------------------------------------------------------------------- /mosquitto/mosquitto-ingress.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: extensions/v1beta1 2 | kind: Ingress 3 | metadata: 4 | name: mosquitto 5 | annotations: 6 | kubernetes.io/tls-acme: "true" 7 | spec: 8 | tls: 9 | - hosts: 10 | - mosquitto.burntsheep.com 11 | secretName: mosquitto-cert 12 | rules: 13 | - host: mosquitto.burntsheep.com 14 | http: 15 | paths: 16 | - path: / 17 | backend: 18 | serviceName: mosquitto 19 | servicePort: 80 20 | -------------------------------------------------------------------------------- /observium/observium-ingress.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: extensions/v1beta1 2 | kind: Ingress 3 | metadata: 4 | name: observium 5 | annotations: 6 | kubernetes.io/tls-acme: "true" 7 | spec: 8 | tls: 9 | - hosts: 10 | - observium.burntsheep.com 11 | secretName: observium-cert 12 | rules: 13 | - host: observium.burntsheep.com 14 | http: 15 | paths: 16 | - path: / 17 | backend: 18 | serviceName: observium 19 | servicePort: 80 20 | -------------------------------------------------------------------------------- /static_sites/mosquitto-ingress.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: extensions/v1beta1 2 | kind: Ingress 3 | metadata: 4 | name: netdata 5 | annotations: 6 | kubernetes.io/tls-acme: "true" 7 | spec: 8 | tls: 9 | - hosts: 10 | - mosquitto.burntsheep.com 11 | secretName: mosquitto-cert 12 | rules: 13 | - host: mosquitto.burntsheep.com 14 | http: 15 | paths: 16 | - path: / 17 | backend: 18 | serviceName: mosquitto 19 | servicePort: 80 20 | -------------------------------------------------------------------------------- /gearman/gearmand-rc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ReplicationController 3 | metadata: 4 | name: gearmand 5 | labels: 6 | app: gearmand 7 | spec: 8 | replicas: 1 9 | selector: 10 | app: gearmand 11 | template: 12 | metadata: 13 | labels: 14 | app: gearmand 15 | spec: 16 | containers: 17 | - image: pataquets/gearmand 18 | name: gearmand 19 | ports: 20 | - containerPort: 4730 21 | imagePullPolicy: Always 22 | -------------------------------------------------------------------------------- /zoneminder/zoneminder-ingress.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: extensions/v1beta1 2 | kind: Ingress 3 | metadata: 4 | name: zoneminder 5 | annotations: 6 | kubernetes.io/tls-acme: "true" 7 | spec: 8 | tls: 9 | - hosts: 10 | - zoneminder.burntsheep.com 11 | secretName: zoneminder-cert 12 | rules: 13 | - host: zoneminder.burntsheep.com 14 | http: 15 | paths: 16 | - path: / 17 | backend: 18 | serviceName: zoneminder 19 | servicePort: 80 20 | -------------------------------------------------------------------------------- /default-http-backend/default-http-backend-svc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | # This must match the --default-backend-service argument of the l7 lb 5 | # controller and is required because GCE mandates a default backend. 6 | name: default-http-backend 7 | labels: 8 | app: default-http-backend 9 | spec: 10 | ports: 11 | - port: 80 12 | targetPort: 8080 13 | protocol: TCP 14 | name: http 15 | selector: 16 | app: default-http-backend 17 | -------------------------------------------------------------------------------- /homeassistant/homeassistant-ingress.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: extensions/v1beta1 2 | kind: Ingress 3 | metadata: 4 | name: homeassistant 5 | annotations: 6 | kubernetes.io/tls-acme: "true" 7 | spec: 8 | tls: 9 | - secretName: homeassistant-cert 10 | hosts: 11 | - hass.burntsheep.com 12 | rules: 13 | - host: hass.burntsheep.com 14 | http: 15 | paths: 16 | - path: / 17 | backend: 18 | serviceName: homeassistant 19 | servicePort: 80 20 | -------------------------------------------------------------------------------- /couchpotato/couchpotato-ingress.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: extensions/v1beta1 2 | kind: Ingress 3 | metadata: 4 | name: couchpotato 5 | annotations: 6 | kubernetes.io/tls-acme: "true" 7 | spec: 8 | tls: 9 | - secretName: couchpotato-cert 10 | hosts: 11 | - couchpotato.burntsheep.com 12 | rules: 13 | - host: couchpotato.burntsheep.com 14 | http: 15 | paths: 16 | - path: / 17 | backend: 18 | serviceName: couchpotato 19 | servicePort: 80 20 | -------------------------------------------------------------------------------- /static_sites/couchpotato-ingress.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: extensions/v1beta1 2 | kind: Ingress 3 | metadata: 4 | name: couchpotato 5 | annotations: 6 | kubernetes.io/tls-acme: "true" 7 | spec: 8 | tls: 9 | - hosts: 10 | - couchpotato.burntsheep.com 11 | secretName: couchpotato-cert 12 | rules: 13 | - host: couchpotato.burntsheep.com 14 | http: 15 | paths: 16 | - path: / 17 | backend: 18 | serviceName: couchpotato 19 | servicePort: 80 20 | -------------------------------------------------------------------------------- /heapster/grafana-service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | kubernetes.io/cluster-service: 'true' 6 | kubernetes.io/name: monitoring-grafana 7 | name: monitoring-grafana 8 | namespace: kube-system 9 | spec: 10 | # In a production setup, we recommend accessing Grafana through an external Loadbalancer 11 | # or through a public IP. 12 | # type: LoadBalancer 13 | ports: 14 | - port: 80 15 | targetPort: 3000 16 | selector: 17 | name: influxGrafana 18 | -------------------------------------------------------------------------------- /rabbitmq/rabbitmq-rc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ReplicationController 3 | metadata: 4 | labels: 5 | component: rabbitmq 6 | name: rabbitmq-controller 7 | spec: 8 | replicas: 1 9 | template: 10 | metadata: 11 | labels: 12 | app: taskQueue 13 | component: rabbitmq 14 | spec: 15 | containers: 16 | - image: rabbitmq 17 | name: rabbitmq 18 | ports: 19 | - containerPort: 5672 20 | resources: 21 | limits: 22 | cpu: 100m 23 | -------------------------------------------------------------------------------- /ark_dedicated/ark-svc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: ark 5 | labels: 6 | app: ark 7 | kubernetes.io/name: "ark" 8 | spec: 9 | selector: 10 | app: ark 11 | ports: 12 | - name: ark-rcon 13 | port: 32330 14 | - name: ark-main-udp 15 | port: 27115 16 | protocol: UDP 17 | - name: ark-game-data 18 | port: 7778 19 | protocol: UDP 20 | - name: ark-game-data-tcp 21 | port: 7778 22 | externalIPs: ["10.0.1.19", "10.0.1.20", "10.0.1.21", "10.0.1.22", "10.0.1.23", "10.0.1.24"] 23 | -------------------------------------------------------------------------------- /insurgency_dedicated/insurgency-svc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: insurgency 5 | labels: 6 | app: insurgency 7 | kubernetes.io/name: "insurgency" 8 | spec: 9 | selector: 10 | app: insurgency 11 | ports: 12 | - name: insurg-main 13 | port: 27015 14 | - name: insurg-main-udp 15 | port: 27015 16 | protocol: UDP 17 | - name: insurg-05 18 | port: 27005 19 | protocol: UDP 20 | - name: insurg-20 21 | port: 27020 22 | protocol: UDP 23 | externalIPs: ["10.0.1.19", "10.0.1.20", "10.0.1.21", "10.0.1.22", "10.0.1.23", "10.0.1.24"] 24 | -------------------------------------------------------------------------------- /sonarr/sonarr-ingress.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: extensions/v1beta1 2 | kind: Ingress 3 | metadata: 4 | name: sonarr 5 | annotations: 6 | kubernetes.io/tls-acme: "true" 7 | spec: 8 | tls: 9 | - secretName: sonarr-cert 10 | hosts: 11 | - sonarr.burntsheep.com 12 | - sonaar.burntsheep.com 13 | rules: 14 | - host: sonarr.burntsheep.com 15 | http: 16 | paths: 17 | - path: / 18 | backend: 19 | serviceName: sonarr 20 | servicePort: 80 21 | - host: sonaar.burntsheep.com 22 | http: 23 | paths: 24 | - path: / 25 | backend: 26 | serviceName: sonarr 27 | servicePort: 80 28 | -------------------------------------------------------------------------------- /hlstatsx/hlstatsx-rc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ReplicationController 3 | metadata: 4 | name: hlstatsx-v0 5 | labels: 6 | app: hlstatsx 7 | version: v0 8 | spec: 9 | replicas: 1 10 | selector: 11 | app: hlstatsx 12 | version: v0 13 | template: 14 | metadata: 15 | labels: 16 | app: hlstatsx 17 | version: v0 18 | spec: 19 | containers: 20 | - name: hlstatsx 21 | image: 10.0.1.14:5000/hlstatsx 22 | resources: 23 | limits: 24 | cpu: 0.5 25 | ports: 26 | - containerPort: 80 27 | name: hlstatsx 28 | - containerPort: 443 29 | name: hlstatsx-ssl 30 | imagePullPolicy: Always 31 | -------------------------------------------------------------------------------- /static_sites/baby-svc.yaml: -------------------------------------------------------------------------------- 1 | { 2 | "kind": "Service", 3 | "apiVersion": "v1", 4 | "metadata": { 5 | "name": "baby" 6 | }, 7 | "spec": { 8 | "ports": [ 9 | { 10 | "protocol": "TCP", 11 | "port": 80, 12 | "targetPort": 8080 13 | } 14 | ] 15 | } 16 | } 17 | 18 | { 19 | "kind": "Endpoints", 20 | "apiVersion": "v1", 21 | "metadata": { 22 | "name": "baby" 23 | }, 24 | "subsets": [ 25 | { 26 | "addresses": [ 27 | { "ip": "10.0.1.10" } 28 | ], 29 | "ports": [ 30 | { "port": 8080 } 31 | ] 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /static_sites/hass-svc.yaml: -------------------------------------------------------------------------------- 1 | { 2 | "kind": "Service", 3 | "apiVersion": "v1", 4 | "metadata": { 5 | "name": "hass" 6 | }, 7 | "spec": { 8 | "ports": [ 9 | { 10 | "protocol": "TCP", 11 | "port": 80, 12 | "targetPort": 8123 13 | } 14 | ] 15 | } 16 | } 17 | 18 | { 19 | "kind": "Endpoints", 20 | "apiVersion": "v1", 21 | "metadata": { 22 | "name": "hass" 23 | }, 24 | "subsets": [ 25 | { 26 | "addresses": [ 27 | { "ip": "10.0.1.18" } 28 | ], 29 | "ports": [ 30 | { "port": 8123 } 31 | ] 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /static_sites/router-svc.yaml: -------------------------------------------------------------------------------- 1 | { 2 | "kind": "Service", 3 | "apiVersion": "v1", 4 | "metadata": { 5 | "name": "router" 6 | }, 7 | "spec": { 8 | "ports": [ 9 | { 10 | "protocol": "TCP", 11 | "port": 80, 12 | "targetPort": 80 13 | } 14 | ] 15 | } 16 | } 17 | 18 | { 19 | "kind": "Endpoints", 20 | "apiVersion": "v1", 21 | "metadata": { 22 | "name": "router" 23 | }, 24 | "subsets": [ 25 | { 26 | "addresses": [ 27 | { "ip": "10.0.1.1" } 28 | ], 29 | "ports": [ 30 | { "port": 80 } 31 | ] 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /heapster/heapster-controller.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ReplicationController 3 | metadata: 4 | labels: 5 | k8s-app: heapster 6 | name: heapster 7 | version: v6 8 | name: heapster 9 | namespace: kube-system 10 | spec: 11 | replicas: 1 12 | selector: 13 | k8s-app: heapster 14 | version: v6 15 | template: 16 | metadata: 17 | labels: 18 | k8s-app: heapster 19 | version: v6 20 | spec: 21 | containers: 22 | - name: heapster 23 | image: kubernetes/heapster:canary 24 | imagePullPolicy: Always 25 | command: 26 | - /heapster 27 | - --source=kubernetes:https://kubernetes.default 28 | - --sink=influxdb:http://monitoring-influxdb:8086 29 | -------------------------------------------------------------------------------- /motion/motion-deployment.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: extensions/v1beta1 2 | kind: Deployment 3 | metadata: 4 | name: motion 5 | spec: 6 | replicas: 1 7 | template: 8 | metadata: 9 | labels: 10 | app: motion 11 | spec: 12 | containers: 13 | - name: motion 14 | image: 10.0.1.14:5000/motion:12 15 | resources: 16 | limits: 17 | cpu: 1 18 | memory: 2Gi 19 | ports: 20 | - containerPort: 9081 21 | name: motion 22 | volumeMounts: 23 | - name: security-store 24 | mountPath: /fileserv/security_camera 25 | volumes: 26 | - name: security-store 27 | persistentVolumeClaim: 28 | claimName: security-camera 29 | -------------------------------------------------------------------------------- /static_sites/plex-svc.yaml: -------------------------------------------------------------------------------- 1 | { 2 | "kind": "Service", 3 | "apiVersion": "v1", 4 | "metadata": { 5 | "name": "plex" 6 | }, 7 | "spec": { 8 | "ports": [ 9 | { 10 | "protocol": "TCP", 11 | "port": 32400, 12 | "targetPort": 32400 13 | } 14 | ] 15 | } 16 | } 17 | 18 | { 19 | "kind": "Endpoints", 20 | "apiVersion": "v1", 21 | "metadata": { 22 | "name": "plex" 23 | }, 24 | "subsets": [ 25 | { 26 | "addresses": [ 27 | { "ip": "10.0.1.14" } 28 | ], 29 | "ports": [ 30 | { "port": 32400 } 31 | ] 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /static_sites/sonarr-svc.yaml: -------------------------------------------------------------------------------- 1 | { 2 | "kind": "Service", 3 | "apiVersion": "v1", 4 | "metadata": { 5 | "name": "sonarr" 6 | }, 7 | "spec": { 8 | "ports": [ 9 | { 10 | "protocol": "TCP", 11 | "port": 80, 12 | "targetPort": 8989 13 | } 14 | ] 15 | } 16 | } 17 | 18 | { 19 | "kind": "Endpoints", 20 | "apiVersion": "v1", 21 | "metadata": { 22 | "name": "sonarr" 23 | }, 24 | "subsets": [ 25 | { 26 | "addresses": [ 27 | { "ip": "10.0.1.14" } 28 | ], 29 | "ports": [ 30 | { "port": 8989 } 31 | ] 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /static_sites/fileserv-svc.yaml: -------------------------------------------------------------------------------- 1 | { 2 | "kind": "Service", 3 | "apiVersion": "v1", 4 | "metadata": { 5 | "name": "fileserv" 6 | }, 7 | "spec": { 8 | "ports": [ 9 | { 10 | "protocol": "TCP", 11 | "port": 80, 12 | "targetPort": 80 13 | } 14 | ] 15 | } 16 | } 17 | 18 | { 19 | "kind": "Endpoints", 20 | "apiVersion": "v1", 21 | "metadata": { 22 | "name": "fileserv" 23 | }, 24 | "subsets": [ 25 | { 26 | "addresses": [ 27 | { "ip": "10.0.1.14" } 28 | ], 29 | "ports": [ 30 | { "port": 80 } 31 | ] 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /static_sites/netdata-svc.yaml: -------------------------------------------------------------------------------- 1 | { 2 | "kind": "Service", 3 | "apiVersion": "v1", 4 | "metadata": { 5 | "name": "netdata" 6 | }, 7 | "spec": { 8 | "ports": [ 9 | { 10 | "protocol": "TCP", 11 | "port": 80, 12 | "targetPort": 19999 13 | } 14 | ] 15 | } 16 | } 17 | 18 | { 19 | "kind": "Endpoints", 20 | "apiVersion": "v1", 21 | "metadata": { 22 | "name": "netdata" 23 | }, 24 | "subsets": [ 25 | { 26 | "addresses": [ 27 | { "ip": "10.0.1.1" } 28 | ], 29 | "ports": [ 30 | { "port": 19999 } 31 | ] 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /static_sites/openhab-svc.yaml: -------------------------------------------------------------------------------- 1 | { 2 | "kind": "Service", 3 | "apiVersion": "v1", 4 | "metadata": { 5 | "name": "openhab" 6 | }, 7 | "spec": { 8 | "ports": [ 9 | { 10 | "protocol": "TCP", 11 | "port": 80, 12 | "targetPort": 8080 13 | } 14 | ] 15 | } 16 | } 17 | 18 | { 19 | "kind": "Endpoints", 20 | "apiVersion": "v1", 21 | "metadata": { 22 | "name": "openhab" 23 | }, 24 | "subsets": [ 25 | { 26 | "addresses": [ 27 | { "ip": "10.0.1.18" } 28 | ], 29 | "ports": [ 30 | { "port": 8080 } 31 | ] 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /static_sites/sabnzbd-svc.yaml: -------------------------------------------------------------------------------- 1 | { 2 | "kind": "Service", 3 | "apiVersion": "v1", 4 | "metadata": { 5 | "name": "sabnzbd" 6 | }, 7 | "spec": { 8 | "ports": [ 9 | { 10 | "protocol": "TCP", 11 | "port": 80, 12 | "targetPort": 8080 13 | } 14 | ] 15 | } 16 | } 17 | 18 | { 19 | "kind": "Endpoints", 20 | "apiVersion": "v1", 21 | "metadata": { 22 | "name": "sabnzbd" 23 | }, 24 | "subsets": [ 25 | { 26 | "addresses": [ 27 | { "ip": "10.0.1.14" } 28 | ], 29 | "ports": [ 30 | { "port": 8080 } 31 | ] 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /static_sites/mosquitto-svc.yaml: -------------------------------------------------------------------------------- 1 | { 2 | "kind": "Service", 3 | "apiVersion": "v1", 4 | "metadata": { 5 | "name": "mosquitto" 6 | }, 7 | "spec": { 8 | "ports": [ 9 | { 10 | "protocol": "TCP", 11 | "port": 80, 12 | "targetPort": 9001 13 | } 14 | ] 15 | } 16 | } 17 | 18 | { 19 | "kind": "Endpoints", 20 | "apiVersion": "v1", 21 | "metadata": { 22 | "name": "mosquitto" 23 | }, 24 | "subsets": [ 25 | { 26 | "addresses": [ 27 | { "ip": "10.0.1.1" } 28 | ], 29 | "ports": [ 30 | { "port": 9001 } 31 | ] 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /static_sites/couchpotato-svc.yaml: -------------------------------------------------------------------------------- 1 | { 2 | "kind": "Service", 3 | "apiVersion": "v1", 4 | "metadata": { 5 | "name": "couchpotato" 6 | }, 7 | "spec": { 8 | "ports": [ 9 | { 10 | "protocol": "TCP", 11 | "port": 80, 12 | "targetPort": 5050 13 | } 14 | ] 15 | } 16 | } 17 | 18 | { 19 | "kind": "Endpoints", 20 | "apiVersion": "v1", 21 | "metadata": { 22 | "name": "couchpotato" 23 | }, 24 | "subsets": [ 25 | { 26 | "addresses": [ 27 | { "ip": "10.0.1.14" } 28 | ], 29 | "ports": [ 30 | { "port": 5050 } 31 | ] 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /flower/flower-rc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ReplicationController 3 | metadata: 4 | labels: 5 | component: flower 6 | name: flower 7 | spec: 8 | replicas: 1 9 | template: 10 | metadata: 11 | labels: 12 | app: taskQueue 13 | component: flower 14 | spec: 15 | containers: 16 | - image: 10.0.1.14:5000/flower 17 | name: flower 18 | resources: 19 | limits: 20 | cpu: 100m 21 | env: 22 | - name: FLOWER_OAUTH2_KEY 23 | value: 811357267326-5904mosijg3jjsbehtnblqrue33b1irg.apps.googleusercontent.com 24 | - name: FLOWER_OAUTH2_SECRET 25 | value: 2xypEg-_ijzgyDkTYex4twyA 26 | - name: FLOWER_OAUTH2_REDIRECT_URI 27 | value: https://flower.burntsheep.com/login 28 | -------------------------------------------------------------------------------- /gateapi/gateapi-rc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ReplicationController 3 | metadata: 4 | name: gateapi-v0 5 | labels: 6 | app: gateapi 7 | version: v0 8 | spec: 9 | replicas: 1 10 | selector: 11 | app: gateapi 12 | version: v0 13 | template: 14 | metadata: 15 | labels: 16 | app: gateapi 17 | version: v0 18 | spec: 19 | containers: 20 | - name: gateapi 21 | image: 10.0.1.14:5000/gateapi 22 | resources: 23 | limits: 24 | cpu: 0.5 25 | volumeMounts: 26 | - name: security-camera 27 | mountPath: /security_camera 28 | ports: 29 | - containerPort: 8080 30 | name: gateapi 31 | imagePullPolicy: Always 32 | volumes: 33 | - name: security-camera 34 | persistentVolumeClaim: 35 | claimName: security-camera 36 | -------------------------------------------------------------------------------- /celery/celery-rc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ReplicationController 3 | metadata: 4 | labels: 5 | component: celery 6 | name: celery-controller 7 | spec: 8 | replicas: 3 9 | template: 10 | metadata: 11 | labels: 12 | app: taskQueue 13 | component: celery 14 | spec: 15 | containers: 16 | - image: 10.0.1.14:5000/celery_motion:5 17 | name: celery-motion 18 | ports: 19 | - containerPort: 5672 20 | resources: 21 | limits: 22 | cpu: 2000m 23 | requests: 24 | cpu: 1000m 25 | volumeMounts: 26 | - name: security-camera-storage 27 | mountPath: /fileserv/security_camera 28 | imagePullPolicy: Always 29 | volumes: 30 | - name: security-camera-storage 31 | persistentVolumeClaim: 32 | claimName: security-camera 33 | 34 | -------------------------------------------------------------------------------- /bf2/bf2-rc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ReplicationController 3 | metadata: 4 | name: bf2-v0 5 | labels: 6 | app: bf2 7 | version: v0 8 | spec: 9 | replicas: 1 10 | selector: 11 | app: bf2 12 | version: v0 13 | template: 14 | metadata: 15 | labels: 16 | app: bf2 17 | version: v0 18 | spec: 19 | containers: 20 | - name: bf2 21 | image: 10.0.1.14:5000/bf2 22 | resources: 23 | limits: 24 | cpu: 2 25 | memory: 2Gi 26 | volumeMounts: 27 | - name: bf2-store 28 | mountPath: /srv/bf2/mods/bf2/settings 29 | ports: 30 | - containerPort: 14567 31 | protocol: UDP 32 | name: bf2-main 33 | imagePullPolicy: Always 34 | volumes: 35 | - name: bf2-store 36 | persistentVolumeClaim: 37 | claimName: bf2 38 | -------------------------------------------------------------------------------- /jenkins/jenkins-rc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ReplicationController 3 | metadata: 4 | name: jenkins-v0 5 | labels: 6 | app: jenkins 7 | version: v0 8 | spec: 9 | replicas: 1 10 | selector: 11 | app: jenkins 12 | version: v0 13 | template: 14 | metadata: 15 | labels: 16 | app: jenkins 17 | version: v0 18 | spec: 19 | containers: 20 | - name: jenkins 21 | image: jenkins 22 | resources: 23 | limits: 24 | cpu: 1 25 | volumeMounts: 26 | - name: jenkins 27 | mountPath: /var/jenkins_home 28 | ports: 29 | - containerPort: 8080 30 | name: jenkins 31 | - containerPort: 50000 32 | name: jnlp 33 | imagePullPolicy: Always 34 | volumes: 35 | - name: jenkins 36 | persistentVolumeClaim: 37 | claimName: jenkins 38 | -------------------------------------------------------------------------------- /mosquitto/mosquitto-rc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ReplicationController 3 | metadata: 4 | name: mosquitto-v0 5 | labels: 6 | app: mosquitto 7 | version: v0 8 | spec: 9 | replicas: 1 10 | selector: 11 | app: mosquitto 12 | version: v0 13 | template: 14 | metadata: 15 | labels: 16 | app: mosquitto 17 | version: v0 18 | spec: 19 | containers: 20 | - name: mosquitto 21 | image: 10.0.1.14:5000/mosquitto 22 | imagePullPolicy: Always 23 | resources: 24 | limits: 25 | cpu: 0.5 26 | memory: 500Mi 27 | volumeMounts: 28 | - name: mosquitto 29 | mountPath: /etc/mosquitto 30 | ports: 31 | - containerPort: 8883 32 | name: mosquitto 33 | volumes: 34 | - name: mosquitto 35 | persistentVolumeClaim: 36 | claimName: mosquitto 37 | -------------------------------------------------------------------------------- /motion/motion-rc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ReplicationController 3 | metadata: 4 | name: motion-v0 5 | labels: 6 | k8s-app: motion 7 | version: v0 8 | spec: 9 | replicas: 1 10 | selector: 11 | k8s-app: motion 12 | version: v0 13 | template: 14 | metadata: 15 | labels: 16 | k8s-app: motion 17 | version: v0 18 | spec: 19 | containers: 20 | - name: motion 21 | image: 10.0.1.14:5000/motion 22 | resources: 23 | limits: 24 | cpu: 1 25 | memory: 2Gi 26 | volumeMounts: 27 | - name: security-store 28 | mountPath: /fileserv/security_camera 29 | ports: 30 | - containerPort: 9081 31 | name: motion 32 | imagePullPolicy: Always 33 | volumes: 34 | - name: security-store 35 | persistentVolumeClaim: 36 | claimName: security-camera 37 | -------------------------------------------------------------------------------- /bf1942/bf1942-rc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ReplicationController 3 | metadata: 4 | name: bf1942-v0 5 | labels: 6 | app: bf1942 7 | version: v0 8 | spec: 9 | replicas: 1 10 | selector: 11 | app: bf1942 12 | version: v0 13 | template: 14 | metadata: 15 | labels: 16 | app: bf1942 17 | version: v0 18 | spec: 19 | containers: 20 | - name: bf1942 21 | image: inanimate/battlefield1942 22 | resources: 23 | limits: 24 | cpu: 2 25 | memory: 2Gi 26 | volumeMounts: 27 | - name: bf1942-store 28 | mountPath: /srv/bf1942/mods/bf1942/settings 29 | ports: 30 | - containerPort: 14567 31 | protocol: UDP 32 | name: bf1942-main 33 | imagePullPolicy: Always 34 | volumes: 35 | - name: bf1942-store 36 | persistentVolumeClaim: 37 | claimName: bf1942 38 | -------------------------------------------------------------------------------- /mumble/mumble-rc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ReplicationController 3 | metadata: 4 | name: mumble-v0 5 | labels: 6 | app: mumble 7 | version: v0 8 | spec: 9 | replicas: 1 10 | selector: 11 | app: mumble 12 | version: v0 13 | template: 14 | metadata: 15 | labels: 16 | app: mumble 17 | version: v0 18 | spec: 19 | containers: 20 | - name: mumble 21 | image: coppit/mumble-server 22 | imagePullPolicy: Always 23 | resources: 24 | limits: 25 | cpu: 0.5 26 | memory: 500Mi 27 | volumeMounts: 28 | - name: mumble 29 | mountPath: /data 30 | ports: 31 | - containerPort: 64738 32 | name: mumble 33 | - containerPort: 64738 34 | name: mudp 35 | protocol: UDP 36 | volumes: 37 | - name: mumble 38 | persistentVolumeClaim: 39 | claimName: mumble 40 | -------------------------------------------------------------------------------- /bf1942_dc/bf1942_dc-rc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ReplicationController 3 | metadata: 4 | name: bf1942-dc-v0 5 | labels: 6 | app: bf1942-dc 7 | version: v0 8 | spec: 9 | replicas: 1 10 | selector: 11 | app: bf1942-dc 12 | version: v0 13 | template: 14 | metadata: 15 | labels: 16 | app: bf1942-dc 17 | version: v0 18 | spec: 19 | containers: 20 | - name: bf1942-dc 21 | image: 10.0.1.14:5000/bf1942_dc 22 | resources: 23 | limits: 24 | cpu: 2 25 | memory: 2Gi 26 | volumeMounts: 27 | - name: bf1942-dc-store 28 | mountPath: /srv/bf1942/mods/bf1942/settings 29 | ports: 30 | - containerPort: 14567 31 | protocol: UDP 32 | name: bf1942-dc-main 33 | imagePullPolicy: Always 34 | volumes: 35 | - name: bf1942-dc-store 36 | persistentVolumeClaim: 37 | claimName: bf1942-dc 38 | -------------------------------------------------------------------------------- /sabnzbd/sabnzbd-deployment.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: extensions/v1beta1 2 | kind: Deployment 3 | metadata: 4 | name: sabnzbd 5 | spec: 6 | replicas: 1 7 | template: 8 | metadata: 9 | labels: 10 | app: sabnzbd 11 | spec: 12 | nodeSelector: 13 | fileserv: "true" 14 | containers: 15 | - name: sabnzbd 16 | image: sabnzbd/sabnzbd 17 | imagePullPolicy: Always 18 | ports: 19 | - containerPort: 8080 20 | env: 21 | - name: SABNZBD_UID 22 | value: "1000" 23 | - name: SABNZBD_GID 24 | value: "1000" 25 | volumeMounts: 26 | - name: sabnzbd 27 | mountPath: /datadir 28 | - name: sabnzbd-downloads 29 | mountPath: /download 30 | volumes: 31 | - name: sabnzbd 32 | persistentVolumeClaim: 33 | claimName: sabnzbd 34 | - name: sabnzbd-downloads 35 | hostPath: 36 | path: /mnt/fileserv/Library 37 | -------------------------------------------------------------------------------- /gate/gate-rc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ReplicationController 3 | metadata: 4 | name: gate-v0 5 | labels: 6 | app: gate 7 | version: v0 8 | spec: 9 | replicas: 1 10 | selector: 11 | app: gate 12 | version: v0 13 | template: 14 | metadata: 15 | labels: 16 | app: gate 17 | version: v0 18 | spec: 19 | containers: 20 | - name: gate 21 | image: 10.0.1.14:5000/gate 22 | resources: 23 | limits: 24 | cpu: 0.5 25 | volumeMounts: 26 | - name: gate 27 | mountPath: /var/www 28 | - name: security-camera 29 | mountPath: /var/www/html/media 30 | ports: 31 | - containerPort: 80 32 | name: gate 33 | imagePullPolicy: Always 34 | volumes: 35 | - name: gate 36 | persistentVolumeClaim: 37 | claimName: gate 38 | - name: security-camera 39 | persistentVolumeClaim: 40 | claimName: security-camera 41 | -------------------------------------------------------------------------------- /gearman/gearman-rc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ReplicationController 3 | metadata: 4 | name: gearman-v0 5 | labels: 6 | k8s-app: gearman 7 | version: v0 8 | spec: 9 | replicas: 3 10 | selector: 11 | k8s-app: gearman 12 | version: v0 13 | template: 14 | metadata: 15 | labels: 16 | k8s-app: gearman 17 | version: v0 18 | spec: 19 | containers: 20 | - name: gearman 21 | image: 10.0.1.14:5000/gearman-client 22 | resources: 23 | limits: 24 | cpu: 0.5 25 | volumeMounts: 26 | - name: gearman-storage 27 | mountPath: /usr/local/bin 28 | - name: security-camera-storage 29 | mountPath: /fileserv/security_camera 30 | imagePullPolicy: Always 31 | volumes: 32 | - name: gearman-storage 33 | persistentVolumeClaim: 34 | claimName: gearman 35 | - name: security-camera-storage 36 | persistentVolumeClaim: 37 | claimName: security-camera 38 | -------------------------------------------------------------------------------- /kube-lego/kube-lego-deployment.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: extensions/v1beta1 2 | kind: Deployment 3 | metadata: 4 | name: kube-lego 5 | spec: 6 | replicas: 1 7 | template: 8 | metadata: 9 | labels: 10 | app: kube-lego 11 | spec: 12 | containers: 13 | - name: kube-lego 14 | image: jetstack/kube-lego:0.1.3 15 | imagePullPolicy: Always 16 | ports: 17 | - containerPort: 8080 18 | env: 19 | - name: LEGO_EMAIL 20 | valueFrom: 21 | configMapKeyRef: 22 | name: kube-lego 23 | key: lego.email 24 | - name: LEGO_URL 25 | valueFrom: 26 | configMapKeyRef: 27 | name: kube-lego 28 | key: lego.url 29 | - name: LEGO_NAMESPACE 30 | valueFrom: 31 | fieldRef: 32 | fieldPath: metadata.namespace 33 | - name: LEGO_POD_IP 34 | valueFrom: 35 | fieldRef: 36 | fieldPath: status.podIP 37 | -------------------------------------------------------------------------------- /kubedash/kubedash-rc.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: "v1" 3 | kind: "ReplicationController" 4 | metadata: 5 | labels: 6 | name: "kubedash" 7 | name: "kubedash" 8 | namespace: "kube-system" 9 | spec: 10 | replicas: 1 11 | selector: 12 | name: "kubedash" 13 | template: 14 | metadata: 15 | labels: 16 | name: "kubedash" 17 | spec: 18 | containers: 19 | - 20 | image: "gcr.io/google_containers/kubedash:v0.2.1" 21 | name: "kubedash" 22 | command: 23 | - "/kubedash" 24 | resources: 25 | limits: 26 | cpu: 50m 27 | memory: 100Mi 28 | volumeMounts: 29 | - 30 | name: "ssl-certs" 31 | mountPath: "/etc/ssl/certs" 32 | readOnly: true 33 | volumes: 34 | - 35 | name: "ssl-certs" 36 | hostPath: 37 | path: "/etc/ssl/certs" 38 | -------------------------------------------------------------------------------- /hurtworld/hurtworld-rc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ReplicationController 3 | metadata: 4 | name: hurtworld-v0 5 | labels: 6 | k8s-app: hurtworld 7 | version: v0 8 | spec: 9 | replicas: 1 10 | selector: 11 | k8s-app: hurtworld 12 | version: v0 13 | template: 14 | metadata: 15 | labels: 16 | k8s-app: hurtworld 17 | version: v0 18 | spec: 19 | containers: 20 | - name: hurtworld 21 | image: 10.0.1.14:5000/hurtworld 22 | resources: 23 | limits: 24 | cpu: 1 25 | memory: 2Gi 26 | volumeMounts: 27 | - name: hurtworld-store 28 | mountPath: /srv/hurtworld/serverfiles 29 | ports: 30 | - containerPort: 12881 31 | name: hw-client 32 | protocol: UDP 33 | - containerPort: 12871 34 | name: hw-main 35 | protocol: UDP 36 | imagePullPolicy: Always 37 | volumes: 38 | - name: hurtworld-store 39 | persistentVolumeClaim: 40 | claimName: hurtworld 41 | -------------------------------------------------------------------------------- /default-http-backend/default-http-backend-rc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ReplicationController 3 | metadata: 4 | name: default-http-backend 5 | spec: 6 | replicas: 1 7 | selector: 8 | app: default-http-backend 9 | template: 10 | metadata: 11 | labels: 12 | app: default-http-backend 13 | spec: 14 | terminationGracePeriodSeconds: 600 15 | containers: 16 | - name: default-http-backend 17 | # Any image is permissable as long as: 18 | # 1. It serves a 404 page at / 19 | # 2. It serves 200 on a /healthz endpoint 20 | image: gcr.io/google_containers/defaultbackend:1.0 21 | livenessProbe: 22 | httpGet: 23 | path: /healthz 24 | port: 8080 25 | scheme: HTTP 26 | initialDelaySeconds: 30 27 | timeoutSeconds: 5 28 | ports: 29 | - containerPort: 8080 30 | resources: 31 | limits: 32 | cpu: 10m 33 | memory: 20Mi 34 | requests: 35 | cpu: 10m 36 | memory: 20Mi 37 | -------------------------------------------------------------------------------- /nginx/nginx-deployment.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: extensions/v1beta1 2 | kind: Deployment 3 | metadata: 4 | name: nginx 5 | spec: 6 | replicas: 1 7 | template: 8 | metadata: 9 | labels: 10 | app: nginx 11 | spec: 12 | containers: 13 | - image: simonswine/nginx-ingress-controller:0.0.2 14 | name: nginx 15 | imagePullPolicy: Always 16 | env: 17 | - name: POD_NAME 18 | valueFrom: 19 | fieldRef: 20 | fieldPath: metadata.name 21 | - name: POD_NAMESPACE 22 | valueFrom: 23 | fieldRef: 24 | fieldPath: metadata.namespace 25 | livenessProbe: 26 | httpGet: 27 | path: /healthz 28 | port: 10249 29 | scheme: HTTP 30 | initialDelaySeconds: 30 31 | timeoutSeconds: 5 32 | ports: 33 | - containerPort: 80 34 | - containerPort: 443 35 | args: 36 | - /nginx-ingress-controller 37 | - --default-backend-service=default/default-http-backend 38 | - --nginx-configmap=default/nginx 39 | -------------------------------------------------------------------------------- /zoneminder/zoneminder-deployment.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: extensions/v1beta1 2 | kind: Deployment 3 | metadata: 4 | name: zoneminder 5 | spec: 6 | replicas: 1 7 | template: 8 | metadata: 9 | labels: 10 | app: zoneminder 11 | spec: 12 | containers: 13 | - name: zoneminder 14 | image: 10.0.1.14:5000/zoneminder 15 | imagePullPolicy: Always 16 | resources: 17 | limits: 18 | cpu: 2 19 | ports: 20 | - containerPort: 80 21 | env: 22 | - name: TZ 23 | value: "America/New_York" 24 | volumeMounts: 25 | - name: zoneminder-content 26 | mountPath: /content 27 | - name: zoneminder-config 28 | mountPath: /config 29 | - name: shm 30 | mountPath: /dev/shm 31 | volumes: 32 | - name: shm 33 | emptyDir: 34 | medium: Memory 35 | - name: zoneminder-content 36 | persistentVolumeClaim: 37 | claimName: zoneminder-content 38 | - name: zoneminder-config 39 | persistentVolumeClaim: 40 | claimName: zoneminder-config 41 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Mike Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /sonarr/sonarr-deployment.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: extensions/v1beta1 2 | kind: Deployment 3 | metadata: 4 | name: sonarr 5 | spec: 6 | replicas: 1 7 | template: 8 | metadata: 9 | labels: 10 | app: sonarr 11 | spec: 12 | nodeSelector: 13 | fileserv: "true" 14 | containers: 15 | - name: sonarr 16 | image: linuxserver/sonarr 17 | imagePullPolicy: Always 18 | ports: 19 | - containerPort: 8989 20 | env: 21 | - name: PGID 22 | value: "1000" 23 | - name: PUID 24 | value: "1000" 25 | volumeMounts: 26 | - name: sonarr 27 | mountPath: /config 28 | - name: sonarr-downloads 29 | mountPath: /download 30 | - name: sonarr-lib 31 | mountPath: /mnt/fileserv/Library/Videos/TV 32 | volumes: 33 | - name: sonarr 34 | hostPath: 35 | path: /mnt/fileserv/kubernetes/sonarr 36 | - name: sonarr-downloads 37 | hostPath: 38 | path: /mnt/fileserv/Library 39 | - name: sonarr-lib 40 | hostPath: 41 | path: /mnt/fileserv/Library/Videos/TV 42 | -------------------------------------------------------------------------------- /ark_dedicated/ark-rc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ReplicationController 3 | metadata: 4 | name: ark-v0 5 | labels: 6 | app: ark 7 | version: v0 8 | spec: 9 | replicas: 1 10 | selector: 11 | app: ark 12 | version: v0 13 | template: 14 | metadata: 15 | labels: 16 | app: ark 17 | version: v0 18 | spec: 19 | containers: 20 | - name: ark 21 | image: 10.0.1.14:5000/ark_dedicated 22 | resources: 23 | limits: 24 | cpu: 3 25 | memory: 12Gi 26 | volumeMounts: 27 | - name: ark-store 28 | mountPath: /ark 29 | ports: 30 | - containerPort: 32330 31 | name: ark-rcon 32 | - containerPort: 7778 33 | name: ark-game-data 34 | protocol: UDP 35 | - containerPort: 7778 36 | name: ark-g-d-tcp 37 | - containerPort: 27115 38 | name: ark-main-udp 39 | protocol: UDP 40 | imagePullPolicy: Always 41 | env: 42 | - name: SERVERPORT 43 | value: "27115" 44 | volumes: 45 | - name: ark-store 46 | persistentVolumeClaim: 47 | claimName: ark 48 | -------------------------------------------------------------------------------- /mysql/mysql-rc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ReplicationController 3 | metadata: 4 | name: mysql-v0 5 | namespace: kube-system 6 | labels: 7 | k8s-app: mysql 8 | version: v0 9 | kubernetes.io/cluster-service: "true" 10 | spec: 11 | replicas: 1 12 | selector: 13 | k8s-app: mysql 14 | version: v0 15 | template: 16 | metadata: 17 | labels: 18 | k8s-app: mysql 19 | version: v0 20 | kubernetes.io/cluster-service: "true" 21 | spec: 22 | containers: 23 | - name: mysql 24 | image: mysql 25 | resources: 26 | limits: 27 | cpu: 0.5 28 | env: 29 | - name: MYSQL_ROOT_PASSWORD 30 | value: ARZLdnvM5Bdf8pWj 31 | ports: 32 | - containerPort: 3306 33 | name: mysql 34 | volumeMounts: 35 | - name: mysql-persistent-storage 36 | mountPath: /var/lib/mysql 37 | - name: mysql-config 38 | mountPath: /etc/mysql/conf.d 39 | volumes: 40 | - name: mysql-persistent-storage 41 | persistentVolumeClaim: 42 | claimName: mysql 43 | - name: mysql-config 44 | persistentVolumeClaim: 45 | claimName: mysql-config 46 | -------------------------------------------------------------------------------- /dashboard/dashboard-rc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ReplicationController 3 | metadata: 4 | # Keep the name in sync with image version and 5 | # gce/coreos/kube-manifests/addons/dashboard counterparts 6 | name: kubernetes-dashboard-v1.0.1 7 | namespace: kube-system 8 | labels: 9 | k8s-app: kubernetes-dashboard 10 | version: v1.0.1 11 | kubernetes.io/cluster-service: "true" 12 | spec: 13 | replicas: 1 14 | selector: 15 | k8s-app: kubernetes-dashboard 16 | template: 17 | metadata: 18 | labels: 19 | k8s-app: kubernetes-dashboard 20 | version: v1.0.1 21 | kubernetes.io/cluster-service: "true" 22 | spec: 23 | containers: 24 | - name: kubernetes-dashboard 25 | image: gcr.io/google_containers/kubernetes-dashboard-amd64:v1.0.1 26 | resources: 27 | # keep request = limit to keep this container in guaranteed class 28 | limits: 29 | cpu: 100m 30 | memory: 50Mi 31 | requests: 32 | cpu: 100m 33 | memory: 50Mi 34 | ports: 35 | - containerPort: 9090 36 | livenessProbe: 37 | httpGet: 38 | path: / 39 | port: 9090 40 | initialDelaySeconds: 30 41 | timeoutSeconds: 30 42 | -------------------------------------------------------------------------------- /mosquitto/mosquitto-deployment.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: extensions/v1beta1 2 | kind: Deployment 3 | metadata: 4 | name: mosquitto 5 | spec: 6 | replicas: 1 7 | template: 8 | metadata: 9 | labels: 10 | app: mosquitto 11 | spec: 12 | containers: 13 | - name: mosquitto 14 | image: toke/mosquitto 15 | imagePullPolicy: Always 16 | resources: 17 | limits: 18 | cpu: 0.5 19 | memory: 500Mi 20 | ports: 21 | - containerPort: 9001 22 | - containerPort: 8883 23 | volumeMounts: 24 | - name: mosquitto 25 | mountPath: /srv/mqtt/config 26 | - name: localtime 27 | mountPath: /etc/localtime 28 | - name: mosquitto-data 29 | mountPath: /srv/mqtt/data 30 | - name: mosquitto-log 31 | mountPath: /srv/mqtt/log 32 | volumes: 33 | - name: mosquitto 34 | persistentVolumeClaim: 35 | claimName: mosquitto 36 | - name: mosquitto-data 37 | persistentVolumeClaim: 38 | claimName: mosquitto-data 39 | - name: mosquitto-log 40 | persistentVolumeClaim: 41 | claimName: mosquitto-log 42 | - name: localtime 43 | hostPath: 44 | path: /etc/localtime 45 | -------------------------------------------------------------------------------- /letsencrypt/letsencrypt-rc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ReplicationController 3 | metadata: 4 | name: letsencrypt-v0 5 | labels: 6 | app: letsencrypt 7 | version: v0 8 | spec: 9 | replicas: 1 10 | selector: 11 | app: letsencrypt 12 | version: v0 13 | template: 14 | metadata: 15 | labels: 16 | app: letsencrypt 17 | version: v0 18 | spec: 19 | containers: 20 | - name: letsencrypt 21 | 10.0.1.14:5000. 22 | image: ployst/letsencrypt 23 | resources: 24 | limits: 25 | cpu: 0.1 26 | ports: 27 | - containerPort: 80 28 | name: letsencrypt 29 | imagePullPolicy: Always 30 | env: 31 | - name: EMAIL 32 | value: knobby@burntsheep.com 33 | - name: DOMAINS 34 | value: "gate.burntsheep.com mosquitto.burntsheep.com gateapi.burntsheep.com stats.burntsheep.com couchpotato.burntsheep.com sonaar.burntsheep.com sabnzbd.burntsheep.com fileserv.burntsheep.com router.burntsheep.com grafana.burntsheep.com games.burntsheep.com openhab.burntsheep.com jenkins.burntsheep.com kubedash.burntsheep.com phpmyadmin.burntsheep.com baby.burntsheep.com" 35 | - name: RC_NAMES 36 | value: nginx-ingress 37 | - name: SECRET_NAME 38 | value: nginx-certs 39 | -------------------------------------------------------------------------------- /observium/observium-deployment.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: extensions/v1beta1 2 | kind: Deployment 3 | metadata: 4 | name: observium 5 | spec: 6 | replicas: 1 7 | template: 8 | metadata: 9 | labels: 10 | app: observium 11 | spec: 12 | containers: 13 | - name: observium 14 | image: yelp/observium 15 | imagePullPolicy: Always 16 | ports: 17 | - containerPort: 8000 18 | env: 19 | - name: WORKERS 20 | value: "4" 21 | - name: USE_WEATHERMAP 22 | value: "true" 23 | volumeMounts: 24 | - name: observium-html 25 | mountPath: /opt/observium/html 26 | - name: observium-config 27 | mountPath: /config 28 | - name: observium-logs 29 | mountPath: /opt/observium/logs 30 | - name: observium-rrd 31 | mountPath: /opt/observium/rrd 32 | volumes: 33 | - name: observium-html 34 | persistentVolumeClaim: 35 | claimName: observium-html 36 | - name: observium-config 37 | persistentVolumeClaim: 38 | claimName: observium-config 39 | - name: observium-logs 40 | persistentVolumeClaim: 41 | claimName: observium-logs 42 | - name: observium-rrd 43 | persistentVolumeClaim: 44 | claimName: observium-rrd 45 | -------------------------------------------------------------------------------- /crashplan/crashplan-rc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ReplicationController 3 | metadata: 4 | name: crashplan-v0 5 | labels: 6 | k8s-app: crashplan 7 | version: v0 8 | spec: 9 | replicas: 1 10 | selector: 11 | k8s-app: crashplan 12 | version: v0 13 | template: 14 | metadata: 15 | labels: 16 | k8s-app: crashplan 17 | version: v0 18 | spec: 19 | containers: 20 | - name: crashplan 21 | image: gfjardim/crashplan 22 | resources: 23 | limits: 24 | cpu: 1 25 | ports: 26 | - name: crashplan-p1 27 | containerPort: 4242 28 | - name: crashplan-p2 29 | containerPort: 4243 30 | volumeMounts: 31 | - name: crashplan-persistent-storage 32 | mountPath: /data 33 | - name: crashplan-conf-persistent-storage 34 | mountPath: /config 35 | - name: localtime 36 | mountPath: /etc/localtime 37 | readOnly: true 38 | imagePullPolicy: Always 39 | volumes: 40 | - name: crashplan-persistent-storage 41 | persistentVolumeClaim: 42 | claimName: crashplan 43 | - name: crashplan-conf-persistent-storage 44 | persistentVolumeClaim: 45 | claimName: crashplan-conf 46 | - name: localtime 47 | hostPath: 48 | path: /etc/localtime 49 | -------------------------------------------------------------------------------- /couchpotato/couchpotato-deployment.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: extensions/v1beta1 2 | kind: Deployment 3 | metadata: 4 | name: couchpotato 5 | spec: 6 | replicas: 1 7 | template: 8 | metadata: 9 | labels: 10 | app: couchpotato 11 | spec: 12 | nodeSelector: 13 | fileserv: "true" 14 | containers: 15 | - name: couchpotato 16 | image: linuxserver/couchpotato 17 | imagePullPolicy: Always 18 | ports: 19 | - containerPort: 5050 20 | env: 21 | - name: PGID 22 | value: "1000" 23 | - name: PUID 24 | value: "1000" 25 | volumeMounts: 26 | - name: couchpotato 27 | mountPath: /config 28 | - name: localtime 29 | mountPath: /etc/localtime 30 | - name: couchpotato-downloads 31 | mountPath: /downloads 32 | - name: couchpotato-movies 33 | mountPath: /movies 34 | volumes: 35 | - name: couchpotato 36 | hostPath: 37 | path: /mnt/fileserv/kubernetes/couchpotato 38 | - name: couchpotato-downloads 39 | hostPath: 40 | path: /mnt/fileserv/Library/Videos/incoming_movies 41 | - name: couchpotato-movies 42 | hostPath: 43 | path: /mnt/fileserv/Library/Videos/Movies 44 | - name: localtime 45 | hostPath: 46 | path: /etc/localtime 47 | -------------------------------------------------------------------------------- /plex/plex-deployment.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: extensions/v1beta1 2 | kind: Deployment 3 | metadata: 4 | name: plex 5 | spec: 6 | replicas: 1 7 | template: 8 | metadata: 9 | labels: 10 | app: plex 11 | spec: 12 | nodeSelector: 13 | fileserv: "true" 14 | containers: 15 | - name: plex 16 | image: linuxserver/plex 17 | imagePullPolicy: Always 18 | ports: 19 | - containerPort: 32400 20 | name: plex 21 | - containerPort: 32400 22 | name: plex-udp 23 | protocol: UDP 24 | - containerPort: 32469 25 | name: plex2 26 | - containerPort: 32469 27 | name: plex2-udp 28 | protocol: UDP 29 | - containerPort: 5353 30 | name: plex3-udp 31 | protocol: UDP 32 | - containerPort: 1900 33 | name: plex4-udp 34 | protocol: UDP 35 | env: 36 | - name: PUID 37 | value: "1000" 38 | - name: PGID 39 | value: "1000" 40 | - name: VERSION 41 | value: "latest" 42 | volumeMounts: 43 | - name: plex 44 | mountPath: /config 45 | - name: plex-media 46 | mountPath: /data 47 | volumes: 48 | - name: plex-media 49 | hostPath: 50 | path: /mnt/fileserv/Library/Videos 51 | - name: plex 52 | hostPath: 53 | path: /mnt/fileserv/kubernetes/plex 54 | -------------------------------------------------------------------------------- /docker_repo/docker_repo-deployment.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: extensions/v1beta1 2 | kind: Deployment 3 | metadata: 4 | name: docker-repo-v0 5 | namespace: kube-system 6 | labels: 7 | k8s-app: docker-repo 8 | version: v0 9 | kubernetes.io/cluster-service: "true" 10 | spec: 11 | replicas: 1 12 | template: 13 | metadata: 14 | labels: 15 | app: docker-repo 16 | k8s-app: docker-repo 17 | spec: 18 | nodeSelector: 19 | fileserv: "true" 20 | containers: 21 | - name: registry 22 | image: registry:2 23 | resources: 24 | limits: 25 | cpu: 500m 26 | memory: 100Mi 27 | env: 28 | - name: REGISTRY_HTTP_TLS_KEY 29 | value: /certs/docker-key.pem 30 | - name: REGISTRY_HTTP_TLS_CERTIFICATE 31 | value: /certs/docker.pem 32 | - name: REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY 33 | value: /var/lib/registry 34 | volumeMounts: 35 | - name: image-store 36 | mountPath: /var/lib/registry 37 | - name: docker-certs 38 | mountPath: /certs 39 | ports: 40 | - containerPort: 5000 41 | name: registry 42 | protocol: TCP 43 | imagePullPolicy: Always 44 | volumes: 45 | - name: image-store 46 | hostPath: 47 | path: /mnt/fileserv/kubernetes/docker_repo 48 | - name: docker-certs 49 | persistentVolumeClaim: 50 | claimName: docker-certs 51 | -------------------------------------------------------------------------------- /insurgency_dedicated/insurgency-rc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ReplicationController 3 | metadata: 4 | name: insurgency-v0 5 | labels: 6 | app: insurgency 7 | version: v0 8 | spec: 9 | replicas: 1 10 | selector: 11 | app: insurgency 12 | version: v0 13 | template: 14 | metadata: 15 | labels: 16 | app: insurgency 17 | version: v0 18 | spec: 19 | containers: 20 | - name: hlstatsx-scr 21 | image: 10.0.1.14:5000/hlstatsx_scripts 22 | resources: 23 | limits: 24 | cpu: 0.5 25 | ports: 26 | - containerPort: 27500 27 | name: hlstatsx-scr 28 | protocol: UDP 29 | imagePullPolicy: Always 30 | - name: insurgency 31 | image: 10.0.1.14:5000/insurgency_dedicated 32 | resources: 33 | limits: 34 | cpu: 3 35 | memory: 2Gi 36 | volumeMounts: 37 | - name: insurgency-store 38 | mountPath: /insurgency 39 | ports: 40 | - containerPort: 27015 41 | name: insurg-main 42 | - containerPort: 27015 43 | name: insurg-main-udp 44 | protocol: UDP 45 | - containerPort: 27005 46 | name: insurg-05 47 | protocol: UDP 48 | - containerPort: 27020 49 | name: insurg-20 50 | protocol: UDP 51 | imagePullPolicy: Always 52 | volumes: 53 | - name: insurgency-store 54 | persistentVolumeClaim: 55 | claimName: insurgency 56 | -------------------------------------------------------------------------------- /docker_repo/docker_repo-rc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ReplicationController 3 | metadata: 4 | name: docker-repo-v0 5 | namespace: kube-system 6 | labels: 7 | k8s-app: docker-repo 8 | version: v0 9 | kubernetes.io/cluster-service: "true" 10 | spec: 11 | replicas: 1 12 | selector: 13 | k8s-app: docker-repo 14 | version: v0 15 | template: 16 | metadata: 17 | labels: 18 | k8s-app: docker-repo 19 | version: v0 20 | kubernetes.io/cluster-service: "true" 21 | spec: 22 | nodeSelector: 23 | fileserv: "true" 24 | containers: 25 | - name: registry 26 | image: registry:2 27 | resources: 28 | limits: 29 | cpu: 100m 30 | memory: 100Mi 31 | env: 32 | - name: REGISTRY_HTTP_TLS_KEY 33 | value: /certs/docker-key.pem 34 | - name: REGISTRY_HTTP_TLS_CERTIFICATE 35 | value: /certs/docker.pem 36 | - name: REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY 37 | value: /var/lib/registry 38 | volumeMounts: 39 | - name: image-store 40 | mountPath: /var/lib/registry 41 | - name: docker-certs 42 | mountPath: /certs 43 | ports: 44 | - containerPort: 5000 45 | name: registry 46 | protocol: TCP 47 | imagePullPolicy: Always 48 | volumes: 49 | - name: image-store 50 | persistentVolumeClaim: 51 | claimName: docker-repo 52 | - name: docker-certs 53 | persistentVolumeClaim: 54 | claimName: docker-certs 55 | -------------------------------------------------------------------------------- /heapster/influxdb-grafana-controller.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ReplicationController 3 | metadata: 4 | labels: 5 | name: influxGrafana 6 | name: influxdb-grafana 7 | namespace: kube-system 8 | spec: 9 | replicas: 1 10 | selector: 11 | name: influxGrafana 12 | template: 13 | metadata: 14 | labels: 15 | name: influxGrafana 16 | spec: 17 | containers: 18 | - name: influxdb 19 | image: kubernetes/heapster_influxdb:v0.6 20 | volumeMounts: 21 | - mountPath: /data 22 | name: influxdb-storage 23 | - name: grafana 24 | image: kubernetes/heapster_grafana:v2.5.0 25 | env: 26 | - name: INFLUXDB_SERVICE_URL 27 | value: http://monitoring-influxdb:8086 28 | # The following env variables are required to make Grafana accessible via 29 | # the kubernetes api-server proxy. On production clusters, we recommend 30 | # removing these env variables, setup auth for grafana, and expose the grafana 31 | # service using a LoadBalancer or a public IP. 32 | - name: GF_AUTH_BASIC_ENABLED 33 | value: "false" 34 | - name: GF_AUTH_ANONYMOUS_ENABLED 35 | value: "true" 36 | - name: GF_AUTH_ANONYMOUS_ORG_ROLE 37 | value: Admin 38 | - name: GF_SERVER_ROOT_URL 39 | value: /api/v1/proxy/namespaces/kube-system/services/monitoring-grafana/ 40 | volumeMounts: 41 | - mountPath: /var 42 | name: grafana-storage 43 | volumes: 44 | - name: influxdb-storage 45 | emptyDir: {} 46 | - name: grafana-storage 47 | emptyDir: {} 48 | -------------------------------------------------------------------------------- /homeassistant/homeassistant-deployment.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: extensions/v1beta1 2 | kind: Deployment 3 | metadata: 4 | name: homeassistant 5 | spec: 6 | replicas: 1 7 | template: 8 | metadata: 9 | labels: 10 | app: homeassistant 11 | spec: 12 | nodeSelector: 13 | zwave: "true" 14 | # hostNetwork: true 15 | containers: 16 | - name: homeassistant 17 | image: homeassistant/home-assistant 18 | imagePullPolicy: Always 19 | volumeMounts: 20 | - name: homeassistant 21 | mountPath: /config 22 | - name: localtime 23 | mountPath: /etc/localtime 24 | - name: dev-zwave 25 | mountPath: /dev/usbzwave 26 | - name: dev-insteon 27 | mountPath: /dev/usbinsteon 28 | securityContext: 29 | privileged: true 30 | - name: appdaemon 31 | image: mezz64/appdaemon 32 | imagePullPolicy: Always 33 | volumeMounts: 34 | - name: appdaemon 35 | mountPath: /conf 36 | - name: localtime 37 | mountPath: /etc/localtime 38 | #- name: hadashboard 39 | # image: marijngiesen/hadashboard 40 | # imagePullPolicy: Always 41 | # volumeMounts: 42 | # - name: hadashboard 43 | # mountPath: /app/dashboards 44 | # - name: hapush 45 | # mountPath: /app/hapush 46 | volumes: 47 | - name: homeassistant 48 | persistentVolumeClaim: 49 | claimName: homeassistant 50 | - name: appdaemon 51 | persistentVolumeClaim: 52 | claimName: homeassistant 53 | #- name: hadashboard 54 | # persistentVolumeClaim: 55 | # claimName: hadashboard 56 | #- name: hapush 57 | # persistentVolumeClaim: 58 | # claimName: hapush 59 | - name: localtime 60 | hostPath: 61 | path: /etc/localtime 62 | - name: dev-zwave 63 | hostPath: 64 | path: /dev/usbzwave 65 | - name: dev-insteon 66 | hostPath: 67 | path: /dev/usbinsteon 68 | --------------------------------------------------------------------------------