feature: Adds more operational services.

This commit is contained in:
greysoh 2024-11-05 10:47:53 -05:00
parent 9f85ec639d
commit a704e75851
Signed by: imterah
GPG key ID: 8FA7DD57BA6CEA37
47 changed files with 1484 additions and 519 deletions

View file

@ -4,9 +4,9 @@ metadata:
name: first-pool
spec:
addresses:
- 192.168.2.10-192.168.2.254
- 192.168.2.10-192.168.2.254
---
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
name: example
name: first-pool-advertisement

View file

@ -4,7 +4,7 @@ format_ver = 1
[traefik_role]
description = Traefik role for self
mode = k3s
depends_on = metallb_ip_config:traefik_cf_credentials
depends_on = metallb_ip_config:traefik_cf_credentials:longhorn_storage_class
[#traefik_role/k3s]
mode = install
@ -28,19 +28,10 @@ depends_on = traefik_account
mode = install
yml_path = ./role-binding.yml
[traefik_pv]
description = Traefik certificate storage
mode = k3s
depends_on = traefik_role_binding
[#traefik_pv/k3s]
mode = install
yml_path = ./pv.yml
[traefik_pv_claim]
description = Traefik certificate storage claim
mode = k3s
depends_on = traefik_pv
depends_on = traefik_role_binding
[#traefik_pv_claim/k3s]
mode = install
@ -62,4 +53,4 @@ depends_on = traefik
[#traefik_dashboard/k3s]
mode = install
yml_path = ./traefik-dashboard.yml
yml_path = ./traefik-dashboard.yml

View file

@ -2,12 +2,13 @@ apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: traefik-volume-claim
namespace: kube-system
labels:
app: traefik
spec:
storageClassName: manual
accessModes:
- ReadWriteMany
storageClassName: longhorn
resources:
requests:
storage: 5Gi
storage: 100Mi

View file

@ -1,15 +0,0 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: traefik-certs-volume
labels:
type: local
app: traefik
spec:
storageClassName: manual
capacity:
storage: 5Gi
accessModes:
- ReadWriteMany
hostPath:
path: /ssl-certs/

View file

@ -41,7 +41,7 @@ metadata:
spec:
type: LoadBalancer
ports:
- targetPort: web
- targetPort: web-tls
port: 443
selector:
app: traefik
app: traefik

View file

@ -1,12 +1,12 @@
kind: Deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: traefik-deployment
labels:
app: traefik
spec:
replicas: 2
replicas: 0
selector:
matchLabels:
app: traefik
@ -20,16 +20,19 @@ spec:
- name: traefik
image: traefik:v3.1
args:
- --api.insecure
- --providers.kubernetesingress
- --certificatesresolvers.cloudflare.acme.dnschallenge.provider=cloudflare
- --certificatesresolvers.cloudflare.acme.email=greysonhofer09@gmail.com
- --certificatesresolvers.cloudflare.acme.dnschallenge.resolvers=1.1.1.1
- --certificatesresolvers.cloudflare.acme.storage=/ssl-certs/acme-cloudflare.json
- "--entryPoints.web.address=:80"
- "--entryPoints.websecure.address=:443"
- "--entryPoints.websecure.http.tls.certresolver=myresolver"
- "--certificatesresolvers.letsencrypt.acme.email=greyson@hofers.cloud"
# - "--certificatesresolvers.letsencrypt.acme.httpchallenge.entrypoint=web"
- "--certificatesresolvers.letsencrypt.acme.tlschallenge=true"
- "--certificatesresolvers.letsencrypt.acme.storage=/sslcerts/cert.json"
# - "--api.insecure"
- "--providers.kubernetesingress"
ports:
- name: web
containerPort: 80
- name: web
- name: web-tls
containerPort: 443
- name: dashboard
containerPort: 8080
@ -45,9 +48,9 @@ spec:
name: traefik-cf-creds
key: cf-key
volumeMounts:
- mountPath: /ssl-certs/
- mountPath: /ssl-certs
name: cert-data
volumes:
- name: cert-data
persistentVolumeClaim:
claimName: traefik-volume-claim
claimName: traefik-volume-claim