Removed Harbor's ingressRoute;Replaced Harbor's fqdn in all deployments

This commit is contained in:
Danny Bessems 2020-12-04 09:41:15 +01:00
parent 051f7fcbad
commit 93683f68d3
25 changed files with 72 additions and 94 deletions

View File

@ -245,32 +245,26 @@ kubectl exec -i guacamole-<pod-id> --container guacamole -- /opt/guacamole/bin/i
kubectl exec -i guacamole-<pod-id> --container mysql -- mysql -uguacamole -pguacamole guacamole < initdb.sql kubectl exec -i guacamole-<pod-id> --container mysql -- mysql -uguacamole -pguacamole guacamole < initdb.sql
kubectl rollout restart deployment guacamole kubectl rollout restart deployment guacamole
``` ```
##### 4.7) [Harbor](https://goharbor.io/) <small>(container image registry)</small>
*Running externally; refer to [Ansible.Harbor](https://code.spamasaurus.com/djpbessems/Ansible.Harbor/src/branch/master)-repository for actual setup*
Create `Endpoint`, `service` and `ingressRoute`
```
kubectl apply -f services/Harbor/ingressRoute-Harbor.yml
```
##### 4.8) [Lighttpd](https://www.lighttpd.net/) <small>(webserver)</small> ##### 4.7) [Lighttpd](https://www.lighttpd.net/) <small>(webserver)</small>
*Serves various semi-containerized websites; respective webcontent is stored on fileshare* *Serves various semi-containerized websites; respective webcontent is stored on fileshare*
``` ```
kubectl apply -f services/Lighttpd/configMap-Lighttpd.yml kubectl apply -f services/Lighttpd/configMap-Lighttpd.yml
kubectl apply -f services/Lighttpd/deploy-Lighttpd.yml kubectl apply -f services/Lighttpd/deploy-Lighttpd.yml
kubectl apply -f services/Lighttpd/cronJob-Spotweb.yml kubectl apply -f services/Lighttpd/cronJob-Spotweb.yml
``` ```
##### 4.9) PVR `namespace` <small>(automated media management)</small> ##### 4.8) PVR `namespace` <small>(automated media management)</small>
*Containers use shared resources to be able to interact with downloaded files* *Containers use shared resources to be able to interact with downloaded files*
``` ```
kubectl create secret generic --type=mount/smb smb-secret --from-literal=username=<<omitted>> --from-literal=password=<<omitted>> -n pvr kubectl create secret generic --type=mount/smb smb-secret --from-literal=username=<<omitted>> --from-literal=password=<<omitted>> -n pvr
kubectl apply -f services/PVR/persistentVolumeClaim-PVR.yml kubectl apply -f services/PVR/persistentVolumeClaim-PVR.yml
kubectl apply -f services/PVR/storageClass-PVR.yml kubectl apply -f services/PVR/storageClass-PVR.yml
``` ```
###### 4.9.1) [NZBHydra](https://github.com/theotherp/nzbhydra2) <small>(index aggregator)</small> ###### 4.8.1) [NZBHydra](https://github.com/theotherp/nzbhydra2) <small>(index aggregator)</small>
``` ```
kubectl apply -f services/PVR/deploy-NZBHydra.yml kubectl apply -f services/PVR/deploy-NZBHydra.yml
``` ```
###### 4.9.2) [Plex](https://www.plex.tv/) <small>(media library)</small> ###### 4.8.2) [Plex](https://www.plex.tv/) <small>(media library)</small>
*Due to usage of symlinks, partially incompatible with SMB-share-backed storage* *Due to usage of symlinks, partially incompatible with SMB-share-backed storage*
``` ```
kubectl apply -f services/PVR/deploy-Plex.yml kubectl apply -f services/PVR/deploy-Plex.yml
@ -280,32 +274,32 @@ After deploying, Plex server needs to be *claimed* (=assigned to Plex-account):
kubectl get endpoints Plex -n PVR kubectl get endpoints Plex -n PVR
``` ```
Browse to the respective IP address (http://<nodeipaddress>:32400/web) and follow instructions. Browse to the respective IP address (http://<nodeipaddress>:32400/web) and follow instructions.
###### 4.9.3) [Radarr](https://radarr.video/) <small>(movie management)</small> ###### 4.8.3) [Radarr](https://radarr.video/) <small>(movie management)</small>
``` ```
kubectl apply -f services/PVR/deploy-Radarr.yml kubectl apply -f services/PVR/deploy-Radarr.yml
``` ```
###### 4.9.4) [Readarr](https://readarr.com/) <small>(book management)</small> ###### 4.8.4) [Readarr](https://readarr.com/) <small>(book management)</small>
``` ```
kubectl apply -f services/PVR/deploy-Readarr.yml kubectl apply -f services/PVR/deploy-Readarr.yml
``` ```
###### 4.9.5) [SABnzbd](https://sabnzbd.org/) <small>(download client)</small> ###### 4.8.5) [SABnzbd](https://sabnzbd.org/) <small>(download client)</small>
``` ```
kubectl apply -f services/PVR/deploy-SABnzbd.yml kubectl apply -f services/PVR/deploy-SABnzbd.yml
``` ```
###### 4.9.6) [Sonarr](https://sonarr.tv/) <small>(tv management)</small> ###### 4.8.6) [Sonarr](https://sonarr.tv/) <small>(tv management)</small>
``` ```
kubectl apply -f services/PVR/deploy-Sonarr.yml kubectl apply -f services/PVR/deploy-Sonarr.yml
``` ```
##### 4.10) [Shaarli](https://github.com/shaarli/Shaarli) <small>(bookmarks/notes)</small> ##### 4.9) [Shaarli](https://github.com/shaarli/Shaarli) <small>(bookmarks/notes)</small>
``` ```
kubectl apply -f services/Shaarli/deploy-Shaarli.yml kubectl apply -f services/Shaarli/deploy-Shaarli.yml
``` ```
##### 4.11) [Theia](https://theia-ide.org/) <small>(web IDE)</small> ##### 4.10) [Theia](https://theia-ide.org/) <small>(web IDE)</small>
``` ```
kubectl apply -f services/Theia/deploy-Theia.yml kubectl apply -f services/Theia/deploy-Theia.yml
``` ```
##### 4.12) [Traefik-Certs-Dumper](https://github.com/ldez/traefik-certs-dumper) <small>(certificate tooling)</small> ##### 4.11) [Traefik-Certs-Dumper](https://github.com/ldez/traefik-certs-dumper) <small>(certificate tooling)</small>
``` ```
kubectl apply -f services/TraefikCertsDumper/deploy-TraefikCertsDumper.yml kubectl apply -f services/TraefikCertsDumper/deploy-TraefikCertsDumper.yml
``` ```

View File

@ -1,5 +1,5 @@
image: image:
name: traefik name: bv11-cr01.bessems.eu/proxy/library/traefik
# tag: 2.3.2 # tag: 2.3.2
ports: ports:

View File

@ -37,7 +37,7 @@ spec:
serviceAccountName: adminer serviceAccountName: adminer
containers: containers:
- name: adminer - name: adminer
image: registry.spamasaurus.com/proxy/library/adminer image: bv11-cr01.bessems.eu/proxy/library/adminer
ports: ports:
- name: web - name: web
containerPort: 8080 containerPort: 8080

View File

@ -42,7 +42,7 @@ spec:
serviceAccountName: bitwarden serviceAccountName: bitwarden
containers: containers:
- name: bitwarden - name: bitwarden
image: bitwardenrs/server image: bv11-cr01.bessems.eu/proxy/bitwardenrs/server
args: ["sh", "-c", ". /vault/secrets/bitwarden && /start.sh"] args: ["sh", "-c", ". /vault/secrets/bitwarden && /start.sh"]
env: env:
- name: ENABLE_DB_WAL - name: ENABLE_DB_WAL

View File

@ -16,7 +16,7 @@ spec:
spec: spec:
containers: containers:
- name: ddclient - name: ddclient
image: registry.spamasaurus.com/proxy/linuxserver/ddclient image: bv11-cr01.bessems.eu/proxy/linuxserver/ddclient
volumeMounts: volumeMounts:
- mountPath: /config - mountPath: /config
name: ddclient-secret name: ddclient-secret

View File

@ -39,7 +39,7 @@ spec:
serviceAccountName: drone serviceAccountName: drone
containers: containers:
- name: drone - name: drone
image: drone/drone:latest image: bv11-cr01.bessems.eu/proxy/drone/drone:latest
command: ["sh", "-c", ". /vault/secrets/drone && /bin/drone-server"] command: ["sh", "-c", ". /vault/secrets/drone && /bin/drone-server"]
env: env:
- name: DRONE_SERVER_PROTO - name: DRONE_SERVER_PROTO
@ -58,6 +58,8 @@ spec:
value: 'false' value: 'false'
- name: DRONE_AGENTS_ENABLED - name: DRONE_AGENTS_ENABLED
value: 'true' value: 'true'
- name: DRONE_USER_CREATE
value: 'username:djpbessems,admin:true'
ports: ports:
- name: ui - name: ui
containerPort: 80 containerPort: 80
@ -65,7 +67,7 @@ spec:
- mountPath: /data - mountPath: /data
name: flexvolsmb-drone-data name: flexvolsmb-drone-data
- name: drone-runner - name: drone-runner
image: drone/drone-runner-kube:latest image: bv11-cr01.bessems.eu/proxy/drone/drone-runner-kube:latest
command: ["sh", "-c", ". /vault/secrets/drone && /bin/drone-runner-kube"] command: ["sh", "-c", ". /vault/secrets/drone && /bin/drone-runner-kube"]
ports: ports:
- containerPort: 3000 - containerPort: 3000
@ -135,6 +137,38 @@ spec:
requests: requests:
storage: 1Gi storage: 1Gi
--- ---
apiVersion: v1
kind: PersistentVolume
metadata:
name: flexvolsmb-drone-certs
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteMany
storageClassName: flexvolsmb-drone-certs
flexVolume:
driver: mount/smb
secretRef:
name: smb-secret
options:
opts: domain=bessems.eu,file_mode=0777,dir_mode=0777,iocharset=utf8,nobrl
server: 192.168.11.225
share: /K3s.Volumes/traefikcertsdumper/export
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: flexvolsmb-drone-certs
namespace: default
spec:
accessModes:
- ReadWriteMany
storageClassName: flexvolsmb-drone-certs
resources:
requests:
storage: 1Gi
---
kind: Role kind: Role
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
metadata: metadata:

View File

@ -28,7 +28,7 @@ spec:
spec: spec:
containers: containers:
- name: gitea - name: gitea
image: registry.spamasaurus.com/proxy/gitea/gitea:1 image: bv11-cr01.bessems.eu/proxy/gitea/gitea:1
env: env:
- name: DB_TYPE - name: DB_TYPE
value: 'sqlite3' value: 'sqlite3'

View File

@ -28,7 +28,7 @@ spec:
spec: spec:
containers: containers:
- name: gotify - name: gotify
image: registry.spamasaurus.com/proxy/gotify/server image: bv11-cr01.bessems.eu/proxy/gotify/server
ports: ports:
- name: web - name: web
containerPort: 80 containerPort: 80

View File

@ -35,7 +35,7 @@ spec:
hostname: guacamole hostname: guacamole
containers: containers:
- name: guacamole - name: guacamole
image: registry.spamasaurus.com/proxy/guacamole/guacamole image: bv11-cr01.bessems.eu/proxy/guacamole/guacamole
env: env:
- name: GUACD_HOSTNAME - name: GUACD_HOSTNAME
value: 'guacamole.default.svc.cluster.local' value: 'guacamole.default.svc.cluster.local'
@ -53,7 +53,7 @@ spec:
- name: ui - name: ui
containerPort: 8080 containerPort: 8080
- name: guacd - name: guacd
image: registry.spamasaurus.com/proxy/guacamole/guacd image: bv11-cr01.bessems.eu/proxy/guacamole/guacd
env: env:
- name: GUACD_LOG_LEVEL - name: GUACD_LOG_LEVEL
value: 'debug' value: 'debug'
@ -61,7 +61,7 @@ spec:
- name: proxy - name: proxy
containerPort: 4822 containerPort: 4822
- name: mysql - name: mysql
image: registry.spamasaurus.com/proxy/library/mysql:latest image: bv11-cr01.bessems.eu/proxy/library/mysql:latest
securityContext: securityContext:
runAsUser: 999 runAsUser: 999
runAsGroup: 999 runAsGroup: 999

View File

@ -1,50 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: harbor
spec:
ports:
- protocol: TCP
port: 80
targetPort: 80
---
apiVersion: v1
kind: Endpoints
metadata:
name: harbor
subsets:
- addresses:
- ip: 192.168.11.249
ports:
- port: 80
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: harbor
spec:
entryPoints:
- websecure
routes:
- match: Host(`registry.spamasaurus.com`)
kind: Rule
services:
- name: harbor
port: 80
middlewares:
- name: security-headers@file
- name: compression@file
# - match: Host(`registry.spamasaurus.com`) && PathPrefix(`/api/`, `/service/`, `/v2/`, `/chartrepo/`, `/c/`)
# kind: Rule
# services:
# - name: harbor-harbor-core
# port: 80
# middlewares:
# - name: security-headers@file
# - match: Host(`notary.spamasaurus.com`)
# kind: Rule
# services:
# - name: harbor-harbor-notary-server
# port: 4443
# middlewares:
# - name: security-headers@file

View File

@ -28,7 +28,7 @@ spec:
spec: spec:
containers: containers:
- name: lighttpd-php-pwsh - name: lighttpd-php-pwsh
image: registry.spamasaurus.com/library/lighttpd-php-powershell image: bv11-cr01.bessems.eu/library/lighttpd-php-powershell
ports: ports:
- name: web - name: web
containerPort: 8080 containerPort: 8080

View File

@ -30,7 +30,7 @@ spec:
spec: spec:
containers: containers:
- name: nzbhydra - name: nzbhydra
image: registry.spamasaurus.com/proxy/linuxserver/nzbhydra2 image: bv11-cr01.bessems.eu/proxy/linuxserver/nzbhydra2
ports: ports:
- name: web - name: web
containerPort: 5076 containerPort: 5076

View File

@ -31,7 +31,7 @@ spec:
hostNetwork: true hostNetwork: true
containers: containers:
- name: plex - name: plex
image: registry.spamasaurus.com/proxy/linuxserver/plex image: bv11-cr01.bessems.eu/proxy/linuxserver/plex
ports: ports:
- name: web - name: web
containerPort: 32400 containerPort: 32400

View File

@ -30,7 +30,7 @@ spec:
spec: spec:
containers: containers:
- name: radarr - name: radarr
image: registry.spamasaurus.com/proxy/linuxserver/radarr:nightly image: bv11-cr01.bessems.eu/proxy/linuxserver/radarr:nightly
ports: ports:
- name: web - name: web
containerPort: 7878 containerPort: 7878

View File

@ -30,7 +30,7 @@ spec:
spec: spec:
containers: containers:
- name: readarr - name: readarr
image: registry.spamasaurus.com/proxy/hotio/readarr:nightly image: bv11-cr01.bessems.eu/proxy/hotio/readarr:nightly
env: env:
- name: DEBUG - name: DEBUG
value: 'yes' value: 'yes'

View File

@ -30,7 +30,7 @@ spec:
spec: spec:
containers: containers:
- name: sabnzbd - name: sabnzbd
image: registry.spamasaurus.com/proxy/linuxserver/sabnzbd image: bv11-cr01.bessems.eu/proxy/linuxserver/sabnzbd
ports: ports:
- name: web - name: web
containerPort: 8080 containerPort: 8080

View File

@ -30,7 +30,7 @@ spec:
spec: spec:
containers: containers:
- name: sonarr - name: sonarr
image: registry.spamasaurus.com/proxy/linuxserver/sonarr:preview image: bv11-cr01.bessems.eu/proxy/linuxserver/sonarr:preview
ports: ports:
- name: web - name: web
containerPort: 8989 containerPort: 8989

View File

@ -28,7 +28,7 @@ spec:
spec: spec:
containers: containers:
- name: shaarli - name: shaarli
image: registry.spamasaurus.com/proxy/shaarli/shaarli image: bv11-cr01.bessems.eu/proxy/shaarli/shaarli
ports: ports:
- name: web - name: web
containerPort: 80 containerPort: 80

View File

@ -28,7 +28,7 @@ spec:
spec: spec:
containers: containers:
- name: theia - name: theia
image: registry.spamasaurus.com/proxy/theiaide/theia-full image: bv11-cr01.bessems.eu/proxy/theiaide/theia-full
ports: ports:
- name: web - name: web
containerPort: 3000 containerPort: 3000

View File

@ -16,7 +16,7 @@ spec:
spec: spec:
containers: containers:
- name: traefik-certs-dumper - name: traefik-certs-dumper
image: registry.spamasaurus.com/proxy/ldez/traefik-certs-dumper:latest-amd64 image: bv11-cr01.bessems.eu/proxy/ldez/traefik-certs-dumper:latest-amd64
command: ['traefik-certs-dumper', 'file'] command: ['traefik-certs-dumper', 'file']
args: args:
- --watch - --watch

View File

@ -67,7 +67,7 @@ spec:
spec: spec:
containers: containers:
- name: unifi - name: unifi
image: linuxserver/unifi-controller image: bv11-cr01.bessems.eu/proxy/linuxserver/unifi-controller
ports: ports:
- name: web - name: web
containerPort: 8443 containerPort: 8443

View File

@ -15,7 +15,7 @@ spec:
spec: spec:
containers: containers:
- name: inotify-max-watchers - name: inotify-max-watchers
image: alpine image: bv11-cr01.bessems.eu/proxy/library/alpine
imagePullPolicy: Always imagePullPolicy: Always
securityContext: securityContext:
privileged: true privileged: true

View File

@ -49,7 +49,7 @@ spec:
restartPolicy: Never restartPolicy: Never
containers: containers:
- name: kubectl - name: kubectl
image: registry.spamasaurus.com/proxy/bitnami/kubectl image: bv11-cr01.bessems.eu/proxy/bitnami/kubectl
command: command:
- 'bash' - 'bash'
- '-c' - '-c'

View File

@ -14,8 +14,8 @@ spec:
args: args:
- prepare - prepare
- server-plan - server-plan
image: rancher/k3s-upgrade:v1.19.3-k3s2 image: bv11-cr01.bessems.eu/proxy/rancher/k3s-upgrade:v1.19.3-k3s2
serviceAccountName: system-upgrade serviceAccountName: system-upgrade
upgrade: upgrade:
image: rancher/k3s-upgrade image: bv11-cr01.bessems.eu/proxy/rancher/k3s-upgrade
channel: https://update.k3s.io/v1-release/channels/stable channel: https://update.k3s.io/v1-release/channels/stable

View File

@ -14,5 +14,5 @@ spec:
- "true" - "true"
serviceAccountName: system-upgrade serviceAccountName: system-upgrade
upgrade: upgrade:
image: rancher/k3s-upgrade image: bv11-cr01.bessems.eu/proxy/rancher/k3s-upgrade
channel: https://update.k3s.io/v1-release/channels/stable channel: https://update.k3s.io/v1-release/channels/stable