21 Commits

Author SHA1 Message Date
05e04afeff Added Go playground 2020-09-01 15:30:27 +01:00
cf2a889e4d Removed SCP archives 2020-08-25 15:25:01 +01:00
b838af199d Added scp-archives 2020-08-24 05:58:09 +01:00
9f65bf256a Added bucket for storing SCP archives 2020-08-23 11:16:02 +01:00
f5a7bb5abb Bump nextcloud version 2020-08-13 21:03:28 +01:00
5567ba142a Bumped versions 2020-08-13 20:47:20 +01:00
43aa708e09 Updated gitea 2020-07-15 10:18:10 +01:00
52339ccbed Update nodered 2020-07-15 10:16:46 +01:00
b08f0892be Bump version of riot 2020-07-10 20:02:58 +01:00
b60c244b8b Update 'manifests/matrix_chart.yaml' 2020-07-10 16:19:41 +00:00
fd26f7b3de Updated paradoxfox 2020-07-08 11:50:11 +01:00
e00db9e633 Added Paradoxfox.space 2020-07-04 19:42:10 +01:00
b35b34bb7a Added outline 2020-06-27 17:47:35 +01:00
85bd64e87e Remove bookstack 2020-06-27 17:47:17 +01:00
a80346f8e7 Added bookstack 2020-06-21 15:11:28 +01:00
53d8bd48bf Added bucket for octoprint 2020-06-20 14:54:47 +01:00
9c8f29e346 Added printer auth endpoint 2020-06-16 20:38:06 +01:00
ad3fab4cfd Removed pyload 2020-06-16 20:34:17 +01:00
cf0015d1e2 Added service for rpc 2020-06-16 20:34:09 +01:00
6ce5744672 Added missing resource types to kube-janitor 2020-06-10 12:24:40 +01:00
3d47bc34da Added home assistant tunnel 2020-06-08 18:35:15 +01:00
14 changed files with 474 additions and 15 deletions

View File

@@ -47,7 +47,7 @@ spec:
spec:
containers:
- name: git
image: gitea/gitea:1.11
image: gitea/gitea:1.12.3
env:
- name: APP_NAME
value: "Git"

View File

@@ -0,0 +1,66 @@
apiVersion: v1
kind: Namespace
metadata:
name: goplayground
---
apiVersion: v1
kind: Service
metadata:
name: goplayground
namespace: goplayground
spec:
type: ClusterIP
ports:
- port: 80
targetPort: web
name: web
selector:
app: goplayground
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: goplayground
namespace: goplayground
spec:
replicas: 2
selector:
matchLabels:
app: goplayground
template:
metadata:
labels:
app: goplayground
spec:
containers:
- name: web
image: x1unix/go-playground:1.6.2
imagePullPolicy: IfNotPresent
ports:
- containerPort: 8000
name: web
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: goplayground
namespace: goplayground
annotations:
cert-manager.io/cluster-issuer: letsencrypt
traefik.ingress.kubernetes.io/frontend-entry-points: http,https
traefik.ingress.kubernetes.io/redirect-entry-point: https
traefik.ingress.kubernetes.io/redirect-permanent: "true"
spec:
tls:
- hosts:
- go.cluster.fun
secretName: goplayground-ingress
rules:
- host: go.cluster.fun
http:
paths:
- path: /
backend:
serviceName: goplayground
servicePort: 80

View File

@@ -23,7 +23,7 @@ spec:
chart:
repository: https://helm.goharbor.io
name: harbor
version: 1.3.2
version: 1.4.2
maxHistory: 4
skipCRDs: false
valuesFrom:

View File

@@ -49,7 +49,7 @@ spec:
spec:
containers:
- name: inlets
image: inlets/inlets:2.7.0
image: inlets/inlets:2.7.4
imagePullPolicy: Always
command: ["inlets"]
args:
@@ -81,7 +81,7 @@ spec:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: pyload
name: home-assistant
namespace: inlets
annotations:
cert-manager.io/cluster-issuer: letsencrypt
@@ -91,13 +91,30 @@ metadata:
spec:
tls:
- hosts:
- pyload.cluster.fun
secretName: pyload-ingress
- home.cluster.fun
secretName: home-assistant-ingress
rules:
- host: pyload.cluster.fun
- host: home.cluster.fun
http:
paths:
- path: /
backend:
serviceName: inlets
servicePort: 80
---
apiVersion: v1
kind: Service
metadata:
name: downloads-rpc
namespace: inlets
labels:
app: inlets
spec:
type: ClusterIP
ports:
- port: 80
protocol: TCP
targetPort: 8000
selector:
app: inlets
---

View File

@@ -88,7 +88,7 @@ spec:
- --interval=15
- --rules-file=/config/rules.yaml
- --include-namespaces=tekton-pipelines
- --include-resources=pods
- --include-resources=pods,pipelineruns,taskruns
resources:
limits:
memory: 100Mi

View File

@@ -62,7 +62,7 @@ spec:
spec:
containers:
- name: web
image: andreimarcu/linx-server:version-2.3.5
image: andreimarcu/linx-server:version-2.3.6
imagePullPolicy: Always
args:
- -config

View File

@@ -22,7 +22,7 @@ spec:
chart:
repository: https://grafana.github.io/loki/charts
name: loki-stack
version: 0.36.2
version: 0.40.0
maxHistory: 4
skipCRDs: false
values:

View File

@@ -74,7 +74,7 @@ spec:
synapse:
image:
repository: "matrixdotorg/synapse"
tag: v1.12.4
tag: v1.16.1
pullPolicy: IfNotPresent
service:
type: ClusterIP
@@ -111,7 +111,7 @@ spec:
permalinkPrefix: "https://chat.cluster.fun"
image:
repository: "vectorim/riot-web"
tag: v1.6.0
tag: v1.6.8
pullPolicy: IfNotPresent
service:
type: ClusterIP

View File

@@ -25,7 +25,7 @@ spec:
chart:
repository: https://kubernetes-charts.storage.googleapis.com
name: nextcloud
version: 1.10.0
version: 1.12.0
maxHistory: 5
valuesFrom:
- secretKeyRef:
@@ -35,7 +35,7 @@ spec:
optional: false
values:
image:
tag: 18-apache
tag: 19-apache
ingress:
enabled: true
annotations:

View File

@@ -73,7 +73,7 @@ spec:
mountPath: /data
containers:
- name: web
image: nodered/node-red:latest-12
image: nodered/node-red:1.1.3-12
imagePullPolicy: Always
ports:
- containerPort: 1880

124
manifests/outline.yaml Normal file
View File

@@ -0,0 +1,124 @@
apiVersion: v1
kind: Namespace
metadata:
name: outline
---
apiVersion: v1
kind: Secret
metadata:
name: outline
namespace: outline
annotations:
kube-1password: maouivotrbgydslnsukbjrwgja
kube-1password/vault: Kubernetes
kube-1password/secret-text-key: .env
type: Opaque
---
apiVersion: v1
kind: Service
metadata:
name: outline
namespace: outline
spec:
type: ClusterIP
ports:
- port: 80
targetPort: web
name: web
selector:
app: outline
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: outline
namespace: outline
spec:
selector:
matchLabels:
app: outline
serviceName: outline
replicas: 1
template:
metadata:
labels:
app: outline
spec:
containers:
- name: postgres
image: postgres:9-alpine
imagePullPolicy: IfNotPresent
ports:
- containerPort: 5432
name: db
env:
- name: POSTGRES_USER
value: user
- name: POSTGRES_PASSWORD
value: pass
- name: POSTGRES_DB
value: outline
- name: PGDATA
value: /var/lib/postgresql/data/outline
volumeMounts:
- name: data
mountPath: /var/lib/postgresql/data
- name: redis
image: redis:6
imagePullPolicy: IfNotPresent
ports:
- containerPort: 6379
name: redis
- name: outline
image: docker.cluster.fun/averagemarcus/outline:latest
imagePullPolicy: Always
command:
- sh
- -c
- |
sleep 10 && yarn sequelize db:migrate && yarn build && yarn start
ports:
- containerPort: 3000
name: web
volumeMounts:
- mountPath: /opt/outline/.env
subPath: .env
name: outline-env
readOnly: true
volumes:
- name: outline-env
secret:
secretName: outline
volumeClaimTemplates:
- metadata:
name: data
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: outline
namespace: outline
annotations:
cert-manager.io/cluster-issuer: letsencrypt
traefik.ingress.kubernetes.io/frontend-entry-points: http,https
traefik.ingress.kubernetes.io/redirect-entry-point: https
traefik.ingress.kubernetes.io/redirect-permanent: "true"
spec:
tls:
- hosts:
- outline.cluster.fun
secretName: outline-ingress
rules:
- host: outline.cluster.fun
http:
paths:
- path: /
backend:
serviceName: outline
servicePort: 80

128
manifests/paradoxfox.yaml Normal file
View File

@@ -0,0 +1,128 @@
apiVersion: v1
kind: Namespace
metadata:
name: paradoxfox
---
apiVersion: v1
kind: Secret
metadata:
name: docker-config
namespace: paradoxfox
annotations:
kube-1password: i6ngbk5zf4k52xgwdwnfup5bby
kube-1password/vault: Kubernetes
kube-1password/secret-text-key: .dockerconfigjson
type: kubernetes.io/dockerconfigjson
data:
.dockerconfigjson: e30=
---
apiVersion: v1
kind: Secret
metadata:
name: etsy-token
namespace: paradoxfox
annotations:
kube-1password: akkchysgrvhawconx63plt3xgy
kube-1password/vault: Kubernetes
kube-1password/secret-text-key: password
stringData:
password: ""
---
apiVersion: v1
kind: Service
metadata:
name: paradoxfox
namespace: paradoxfox
spec:
type: ClusterIP
ports:
- port: 80
targetPort: 443
name: web
selector:
app: paradoxfox
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: paradoxfox
namespace: paradoxfox
spec:
replicas: 1
selector:
matchLabels:
app: paradoxfox
template:
metadata:
labels:
app: paradoxfox
spec:
imagePullSecrets:
- name: docker-config
containers:
- name: web
image: docker.cluster.fun/private/paradoxfox:latest
imagePullPolicy: Always
ports:
- containerPort: 443
name: web
env:
- name: ETSY_TOKEN
valueFrom:
secretKeyRef:
name: etsy-token
key: password
resources:
limits:
memory: 200Mi
requests:
memory: 200Mi
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: paradoxfox
namespace: paradoxfox
annotations:
cert-manager.io/cluster-issuer: letsencrypt
traefik.ingress.kubernetes.io/frontend-entry-points: http,https
traefik.ingress.kubernetes.io/redirect-entry-point: https
traefik.ingress.kubernetes.io/redirect-permanent: "true"
spec:
tls:
- hosts:
- paradoxfox.space
secretName: paradoxfox-ingress
rules:
- host: paradoxfox.space
http:
paths:
- path: /
backend:
serviceName: paradoxfox
servicePort: 80
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: paradoxfox-www
namespace: paradoxfox
annotations:
cert-manager.io/cluster-issuer: letsencrypt
traefik.ingress.kubernetes.io/frontend-entry-points: http,https
traefik.ingress.kubernetes.io/redirect-entry-point: https
traefik.ingress.kubernetes.io/redirect-permanent: "true"
spec:
tls:
- hosts:
- www.paradoxfox.space
secretName: paradoxfox-www-ingress
rules:
- host: www.paradoxfox.space
http:
paths:
- path: /
backend:
serviceName: paradoxfox
servicePort: 80

115
manifests/printer.yaml Normal file
View File

@@ -0,0 +1,115 @@
apiVersion: v1
kind: Namespace
metadata:
name: printer
---
apiVersion: v1
kind: Secret
metadata:
name: printer-auth
namespace: printer
annotations:
kube-1password: mr6spkkx7n3memkbute6ojaarm
kube-1password/vault: Kubernetes
type: Opaque
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: printer-auth
namespace: printer
labels:
app: printer-auth
spec:
replicas: 1
selector:
matchLabels:
app: printer-auth
template:
metadata:
labels:
app: printer-auth
spec:
containers:
- args:
- --cookie-secure=false
- --provider=oidc
- --provider-display-name=Auth0
- --upstream=http://inlets.inlets.svc.cluster.local
- --http-address=$(HOST_IP):8080
- --redirect-url=https://printer.cluster.fun/oauth2/callback
- --email-domain=*
- --pass-basic-auth=false
- --pass-access-token=false
- --oidc-issuer-url=https://marcusnoble.eu.auth0.com/
- --cookie-secret=KDGD6rrK6cBmryyZ4wcJ9xAUNW9AQN
env:
- name: HOST_IP
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: status.podIP
- name: OAUTH2_PROXY_CLIENT_ID
valueFrom:
secretKeyRef:
key: username
name: printer-auth
- name: OAUTH2_PROXY_CLIENT_SECRET
valueFrom:
secretKeyRef:
key: password
name: printer-auth
image: quay.io/oauth2-proxy/oauth2-proxy:v5.1.1
name: oauth-proxy
ports:
- containerPort: 8080
protocol: TCP
resources:
limits:
memory: 250Mi
requests:
memory: 250Mi
---
apiVersion: v1
kind: Service
metadata:
name: printer-auth
namespace: printer
labels:
app: printer-auth
spec:
ports:
- name: http
port: 80
protocol: TCP
targetPort: 8080
selector:
app: printer-auth
type: ClusterIP
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: printer-auth
namespace: printer
labels:
app: printer-auth
annotations:
cert-manager.io/cluster-issuer: letsencrypt
traefik.ingress.kubernetes.io/frontend-entry-points: http,https
traefik.ingress.kubernetes.io/redirect-entry-point: https
traefik.ingress.kubernetes.io/redirect-permanent: "true"
spec:
tls:
- hosts:
- printer.cluster.fun
secretName: printer-ingress
rules:
- host: printer.cluster.fun
http:
paths:
- path: /
backend:
serviceName: printer-auth
servicePort: 80

View File

@@ -15,3 +15,12 @@ resource "scaleway_object_bucket" "linx" {
output "linx-bucket_id" {
value = scaleway_object_bucket.linx.id
}
resource "scaleway_object_bucket" "outline" {
name = "cluster.fun-outline"
acl = "private"
}
output "outline-bucket_id" {
value = scaleway_object_bucket.outline.id
}