mirror of
https://github.com/Noratrieb/vps.git
synced 2026-01-14 08:45:02 +01:00
More
This commit is contained in:
parent
1b8879c684
commit
4be274f187
12 changed files with 270 additions and 12 deletions
1
.gitattributes
vendored
Normal file
1
.gitattributes
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
*.yaml linguist-detectable
|
||||
68
kube/apps/cargo-bisect-rustc.yaml
Normal file
68
kube/apps/cargo-bisect-rustc.yaml
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: cargo-bisect-rustc-config
|
||||
data:
|
||||
SQLITE_DB: /app/db/db.sqlite
|
||||
RUST_LOG: debug
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: cargo-bisect-rustc-volume-claim
|
||||
spec:
|
||||
resources:
|
||||
requests:
|
||||
storage: "50Mi"
|
||||
volumeMode: Filesystem
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: cargo-bisect-rustc
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
app: cargo-bisect-rustc
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: cargo-bisect-rustc
|
||||
spec:
|
||||
containers:
|
||||
- name: cargo-bisect-rustc
|
||||
image: docker.nilstrieb.dev/cargo-bisect-rustc-service:1.10
|
||||
resources:
|
||||
requests:
|
||||
memory: "256Mi"
|
||||
cpu: "200m"
|
||||
limits:
|
||||
memory: "1000Mi"
|
||||
cpu: "2000m"
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: cargo-bisect-rustc-config
|
||||
volumeMounts:
|
||||
- mountPath: /app/db
|
||||
name: sqlitedb
|
||||
ports:
|
||||
- containerPort: 4000
|
||||
imagePullSecrets:
|
||||
- name: docker-nilstrieb-dev-login
|
||||
volumes:
|
||||
- name: sqlitedb
|
||||
persistentVolumeClaim:
|
||||
claimName: cargo-bisect-rustc-volume-claim
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: cargo-bisect-rustc-service
|
||||
spec:
|
||||
selector:
|
||||
app: cargo-bisect-rustc
|
||||
ports:
|
||||
- port: 80
|
||||
targetPort: 4000
|
||||
65
kube/apps/hugo-chat-db.yaml
Normal file
65
kube/apps/hugo-chat-db.yaml
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
# https://www.containiq.com/post/deploy-postgres-on-kubernetes
|
||||
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: hugo-chat-db-config
|
||||
data:
|
||||
POSTGRES_PASSWORD: huGO123.corsBOSS
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: hugo-chat-db-volume-claim
|
||||
spec:
|
||||
storageClassName: local-storage
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Mi
|
||||
volumeMode: Filesystem
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: hugo-chat-db
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
app: hugo-chat-db
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: hugo-chat-db
|
||||
spec:
|
||||
containers:
|
||||
- name: hugo-chat-db
|
||||
image: docker.io/postgres:latest
|
||||
resources:
|
||||
limits:
|
||||
memory: "256Mi"
|
||||
cpu: "500m"
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: hugo-chat-db-config
|
||||
volumeMounts:
|
||||
- mountPath: /var/lib/postgresql/data
|
||||
name: postgredb
|
||||
ports:
|
||||
- containerPort: 5432
|
||||
volumes:
|
||||
- name: postgredb
|
||||
persistentVolumeClaim:
|
||||
claimName: hugo-chat-db-volume-claim
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: hugo-chat-db-service
|
||||
spec:
|
||||
selector:
|
||||
app: hugo-chat-db
|
||||
ports:
|
||||
- port: 5432
|
||||
targetPort: 5432
|
||||
23
kube/default-volume.yaml
Normal file
23
kube/default-volume.yaml
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: default-volume
|
||||
labels:
|
||||
type: local
|
||||
spec:
|
||||
storageClassName: local-storage
|
||||
capacity:
|
||||
storage: 500Mi
|
||||
volumeMode: Filesystem
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
local:
|
||||
path: /mnt/kube-default-volume
|
||||
nodeAffinity:
|
||||
required:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: kubernetes.io/hostname
|
||||
operator: In
|
||||
values:
|
||||
- minikube
|
||||
14
kube/letsencrypt-cluster-issuer-production.yaml
Normal file
14
kube/letsencrypt-cluster-issuer-production.yaml
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
apiVersion: cert-manager.io/v1
|
||||
kind: ClusterIssuer
|
||||
metadata:
|
||||
name: letsencrypt-production
|
||||
spec:
|
||||
acme:
|
||||
server: https://acme-v02.api.letsencrypt.org/directory
|
||||
email: nilstrieb@gmail.com
|
||||
privateKeySecretRef:
|
||||
name: letsencrypt-production
|
||||
solvers:
|
||||
- http01:
|
||||
ingress:
|
||||
class: nginx
|
||||
14
kube/letsencrypt-cluster-issuer-staging.yaml
Normal file
14
kube/letsencrypt-cluster-issuer-staging.yaml
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
apiVersion: cert-manager.io/v1
|
||||
kind: ClusterIssuer
|
||||
metadata:
|
||||
name: letsencrypt-staging
|
||||
spec:
|
||||
acme:
|
||||
server: https://acme-staging-v02.api.letsencrypt.org/directory
|
||||
email: nilstrieb@gmail.com
|
||||
privateKeySecretRef:
|
||||
name: letsencrypt-staging
|
||||
solvers:
|
||||
- http01:
|
||||
ingress:
|
||||
class: nginx
|
||||
|
|
@ -16,3 +16,13 @@ spec:
|
|||
name: hugo-chat-frontend-service
|
||||
port:
|
||||
number: 8080
|
||||
- host: bisect-rustc.nilstrieb.dev
|
||||
http:
|
||||
paths:
|
||||
- pathType: Prefix
|
||||
path: /
|
||||
backend:
|
||||
service:
|
||||
name: cargo-bisect-rustc-service
|
||||
port:
|
||||
number: 80
|
||||
38
kube/server-ingress.yaml
Normal file
38
kube/server-ingress.yaml
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: main-ingress
|
||||
annotations:
|
||||
nginx.ingress.kubernetes.io/rewrite-target: /
|
||||
cert-manager.io/cluster-issuer: letsencrypt-staging
|
||||
spec:
|
||||
rules:
|
||||
- host: hugo-chat.nilstrieb.dev
|
||||
http:
|
||||
paths:
|
||||
- pathType: Prefix
|
||||
path: /
|
||||
backend:
|
||||
service:
|
||||
name: hugo-chat-frontend-service
|
||||
port:
|
||||
number: 8080
|
||||
- host: bisect-rustc.nilstrieb.dev
|
||||
http:
|
||||
paths:
|
||||
- pathType: Prefix
|
||||
path: /
|
||||
backend:
|
||||
service:
|
||||
name: cargo-bisect-rustc-service
|
||||
port:
|
||||
number: 80
|
||||
tls:
|
||||
- hosts:
|
||||
- nilstrieb.dev
|
||||
- docker.nilstrieb.dev
|
||||
- cors-school.nilstrieb.dev
|
||||
- api.cors-school.nilstrieb.dev
|
||||
- hugo-chat.nilstrieb.dev
|
||||
- api.hugo-chat.nilstrieb.dev
|
||||
- bisect-rustc.nilstrieb.dev
|
||||
7
scripts/cert-manager.sh
Executable file
7
scripts/cert-manager.sh
Executable file
|
|
@ -0,0 +1,7 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
# https://getbetterdevops.io/k8s-ingress-with-letsencrypt/
|
||||
|
||||
helm repo add jetstack https://charts.jetstack.io
|
||||
helm repo update
|
||||
helm install cert-manager jetstack/cert-manager --namespace cert-manager --create-namespace --set installCRDs=true
|
||||
4
scripts/minikube-setup.sh
Normal file
4
scripts/minikube-setup.sh
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
minikube addons enable ingress
|
||||
minikube addons enable ingress-dns
|
||||
14
scripts/setup-env.sh
Executable file
14
scripts/setup-env.sh
Executable file
|
|
@ -0,0 +1,14 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
if kubectl cert-manager 2>/dev/null >/dev/null ;
|
||||
then
|
||||
echo "The cert-manger kubectl plugin is already installed"
|
||||
else
|
||||
CERT_MANAGER_KUBECTL_VERSION="v1.6.1"
|
||||
|
||||
echo "Installing the cert-manager kubectl plugin: $CERT_MANAGER_KUBECTL_VERSION"
|
||||
|
||||
curl -L -o kubectl-cert-manager.tar.gz "https://github.com/jetstack/cert-manager/releases/download/$CERT_MANAGER_KUBECTL_VERSION/kubectl-cert_manager-linux-amd64.tar.gz"
|
||||
tar xzf kubectl-cert-manager.tar.gz
|
||||
sudo mv kubectl-cert_manager /usr/local/bin
|
||||
fi
|
||||
Loading…
Add table
Add a link
Reference in a new issue