Compare commits
7 Commits
increase_c
...
a80346f8e7
Author | SHA1 | Date | |
---|---|---|---|
a80346f8e7 | |||
53d8bd48bf | |||
9c8f29e346 | |||
ad3fab4cfd | |||
cf0015d1e2 | |||
6ce5744672 | |||
3d47bc34da |
190
manifests/bookstack_chart.yaml
Normal file
190
manifests/bookstack_chart.yaml
Normal file
@@ -0,0 +1,190 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Namespace
|
||||||
|
metadata:
|
||||||
|
name: bookstack
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: mariadb-config
|
||||||
|
namespace: bookstack
|
||||||
|
labels:
|
||||||
|
app: bookstack
|
||||||
|
data:
|
||||||
|
my.cnf: |-
|
||||||
|
[mysqld]
|
||||||
|
skip-name-resolve
|
||||||
|
explicit_defaults_for_timestamp
|
||||||
|
basedir=/opt/bitnami/mariadb
|
||||||
|
port=3306
|
||||||
|
socket=/opt/bitnami/mariadb/tmp/mysql.sock
|
||||||
|
tmpdir=/opt/bitnami/mariadb/tmp
|
||||||
|
max_allowed_packet=16M
|
||||||
|
bind-address=0.0.0.0
|
||||||
|
pid-file=/opt/bitnami/mariadb/tmp/mysqld.pid
|
||||||
|
log-error=/opt/bitnami/mariadb/logs/mysqld.log
|
||||||
|
character-set-server=UTF8
|
||||||
|
collation-server=utf8_general_ci
|
||||||
|
|
||||||
|
[client]
|
||||||
|
port=3306
|
||||||
|
socket=/opt/bitnami/mariadb/tmp/mysql.sock
|
||||||
|
default-character-set=UTF8
|
||||||
|
|
||||||
|
[manager]
|
||||||
|
port=3306
|
||||||
|
socket=/opt/bitnami/mariadb/tmp/mysql.sock
|
||||||
|
pid-file=/opt/bitnami/mariadb/tmp/mysqld.pid
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: bookstack
|
||||||
|
namespace: bookstack
|
||||||
|
labels:
|
||||||
|
app: bookstack
|
||||||
|
spec:
|
||||||
|
type: ClusterIP
|
||||||
|
ports:
|
||||||
|
- port: 80
|
||||||
|
targetPort: http
|
||||||
|
protocol: TCP
|
||||||
|
name: http
|
||||||
|
selector:
|
||||||
|
app: bookstack
|
||||||
|
---
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: StatefulSet
|
||||||
|
metadata:
|
||||||
|
name: bookstack
|
||||||
|
namespace: bookstack
|
||||||
|
labels:
|
||||||
|
app: "bookstack"
|
||||||
|
spec:
|
||||||
|
serviceName: "bookstack"
|
||||||
|
replicas: 1
|
||||||
|
updateStrategy:
|
||||||
|
type: RollingUpdate
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: bookstack
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: bookstack
|
||||||
|
spec:
|
||||||
|
securityContext:
|
||||||
|
fsGroup: 1000
|
||||||
|
containers:
|
||||||
|
- name: bookstack
|
||||||
|
image: solidnerd/bookstack
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
ports:
|
||||||
|
- name: http
|
||||||
|
containerPort: 8080
|
||||||
|
protocol: TCP
|
||||||
|
env:
|
||||||
|
- name: PID
|
||||||
|
value: "1000"
|
||||||
|
- name: PGID
|
||||||
|
value: "1000"
|
||||||
|
- name: DB_HOST
|
||||||
|
value: "127.0.0.1:3306"
|
||||||
|
- name: DB_DATABASE
|
||||||
|
value: "bookstack"
|
||||||
|
- name: DB_USERNAME
|
||||||
|
value: "bookstack"
|
||||||
|
- name: DB_PASSWORD
|
||||||
|
value: "bookstack"
|
||||||
|
- name: APP_URL
|
||||||
|
value: https://bookstack.cluster.fun
|
||||||
|
volumeMounts:
|
||||||
|
- name: bookstack-uploads
|
||||||
|
mountPath: /var/www/bookstack/public/uploads
|
||||||
|
- name: bookstack-storage
|
||||||
|
mountPath: /var/www/bookstack/storage/uploads
|
||||||
|
- name: "mariadb"
|
||||||
|
image: docker.io/bitnami/mariadb:10.1.35-debian-9
|
||||||
|
imagePullPolicy: "IfNotPresent"
|
||||||
|
env:
|
||||||
|
- name: MARIADB_ROOT_PASSWORD
|
||||||
|
value: "bookstack"
|
||||||
|
- name: MARIADB_USER
|
||||||
|
value: "bookstack"
|
||||||
|
- name: MARIADB_PASSWORD
|
||||||
|
value: "bookstack"
|
||||||
|
- name: MARIADB_DATABASE
|
||||||
|
value: "bookstack"
|
||||||
|
ports:
|
||||||
|
- name: mysql
|
||||||
|
containerPort: 3306
|
||||||
|
volumeMounts:
|
||||||
|
- name: bookstack-data
|
||||||
|
mountPath: /bitnami/mariadb/data
|
||||||
|
- name: config
|
||||||
|
mountPath: /opt/bitnami/mariadb/conf/my.cnf
|
||||||
|
subPath: my.cnf
|
||||||
|
volumes:
|
||||||
|
- name: config
|
||||||
|
configMap:
|
||||||
|
name: mariadb-config
|
||||||
|
volumeClaimTemplates:
|
||||||
|
- metadata:
|
||||||
|
name: bookstack-data
|
||||||
|
labels:
|
||||||
|
app: bookstack
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- "ReadWriteOnce"
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: "5Gi"
|
||||||
|
storageClassName: "scw-bssd"
|
||||||
|
- metadata:
|
||||||
|
name: bookstack-storage
|
||||||
|
labels:
|
||||||
|
app: bookstack
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- "ReadWriteOnce"
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: "2Gi"
|
||||||
|
storageClassName: "scw-bssd"
|
||||||
|
- metadata:
|
||||||
|
name: bookstack-uploads
|
||||||
|
labels:
|
||||||
|
app: bookstack
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- "ReadWriteOnce"
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: "5Gi"
|
||||||
|
storageClassName: "scw-bssd"
|
||||||
|
---
|
||||||
|
apiVersion: extensions/v1beta1
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
name: bookstack
|
||||||
|
namespace: bookstack
|
||||||
|
labels:
|
||||||
|
app: bookstack
|
||||||
|
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:
|
||||||
|
- bookstack.cluster.fun
|
||||||
|
secretName: bookstack-ingress
|
||||||
|
rules:
|
||||||
|
- host: bookstack.cluster.fun
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
backend:
|
||||||
|
serviceName: bookstack
|
||||||
|
servicePort: http
|
@@ -81,7 +81,7 @@ spec:
|
|||||||
apiVersion: extensions/v1beta1
|
apiVersion: extensions/v1beta1
|
||||||
kind: Ingress
|
kind: Ingress
|
||||||
metadata:
|
metadata:
|
||||||
name: pyload
|
name: home-assistant
|
||||||
namespace: inlets
|
namespace: inlets
|
||||||
annotations:
|
annotations:
|
||||||
cert-manager.io/cluster-issuer: letsencrypt
|
cert-manager.io/cluster-issuer: letsencrypt
|
||||||
@@ -91,13 +91,30 @@ metadata:
|
|||||||
spec:
|
spec:
|
||||||
tls:
|
tls:
|
||||||
- hosts:
|
- hosts:
|
||||||
- pyload.cluster.fun
|
- home.cluster.fun
|
||||||
secretName: pyload-ingress
|
secretName: home-assistant-ingress
|
||||||
rules:
|
rules:
|
||||||
- host: pyload.cluster.fun
|
- host: home.cluster.fun
|
||||||
http:
|
http:
|
||||||
paths:
|
paths:
|
||||||
- path: /
|
- path: /
|
||||||
backend:
|
backend:
|
||||||
serviceName: inlets
|
serviceName: inlets
|
||||||
servicePort: 80
|
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
|
||||||
|
---
|
||||||
|
@@ -88,7 +88,7 @@ spec:
|
|||||||
- --interval=15
|
- --interval=15
|
||||||
- --rules-file=/config/rules.yaml
|
- --rules-file=/config/rules.yaml
|
||||||
- --include-namespaces=tekton-pipelines
|
- --include-namespaces=tekton-pipelines
|
||||||
- --include-resources=pods
|
- --include-resources=pods,pipelineruns,taskruns
|
||||||
resources:
|
resources:
|
||||||
limits:
|
limits:
|
||||||
memory: 100Mi
|
memory: 100Mi
|
||||||
|
115
manifests/printer.yaml
Normal file
115
manifests/printer.yaml
Normal 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
|
||||||
|
|
@@ -15,3 +15,12 @@ resource "scaleway_object_bucket" "linx" {
|
|||||||
output "linx-bucket_id" {
|
output "linx-bucket_id" {
|
||||||
value = scaleway_object_bucket.linx.id
|
value = scaleway_object_bucket.linx.id
|
||||||
}
|
}
|
||||||
|
|
||||||
|
resource "scaleway_object_bucket" "octoprint_timelapse" {
|
||||||
|
name = "cluster.fun-octoprint"
|
||||||
|
acl = "private"
|
||||||
|
}
|
||||||
|
|
||||||
|
output "octoprint-bucket_id" {
|
||||||
|
value = scaleway_object_bucket.octoprint_timelapse.id
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user