Compare commits
12 Commits
a895d4cf33
...
fe2f1b85f8
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fe2f1b85f8 | ||
|
|
12c2832ec0 | ||
|
|
3ff8312e35 | ||
|
|
4fa91f8724 | ||
|
|
a0976f4731 | ||
|
|
83d4d68719 | ||
|
|
44234982b7 | ||
|
|
4007b102e8 | ||
|
|
6f00fd1e51 | ||
|
|
51c8daeb0c | ||
|
|
7205f57028 | ||
|
|
83b2dbda38 |
25
argocd/ingress.yaml
Normal file
25
argocd/ingress.yaml
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
# argocd-ingress.yaml
|
||||||
|
apiVersion: networking.k8s.io/v1
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
name: argocd
|
||||||
|
namespace: argocd
|
||||||
|
annotations:
|
||||||
|
cert-manager.io/cluster-issuer: letsencrypt-prod
|
||||||
|
spec:
|
||||||
|
ingressClassName: traefik
|
||||||
|
tls:
|
||||||
|
- hosts:
|
||||||
|
- argocd.rogi.casa
|
||||||
|
secretName: argocd-tls
|
||||||
|
rules:
|
||||||
|
- host: argocd.rogi.casa
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: argocd-server
|
||||||
|
port:
|
||||||
|
number: 80
|
||||||
15
cert-manager/cluster-issuer.yaml
Normal file
15
cert-manager/cluster-issuer.yaml
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
# cluster-issuer.yaml
|
||||||
|
apiVersion: cert-manager.io/v1
|
||||||
|
kind: ClusterIssuer
|
||||||
|
metadata:
|
||||||
|
name: letsencrypt-prod
|
||||||
|
spec:
|
||||||
|
acme:
|
||||||
|
server: https://acme-v02.api.letsencrypt.org/directory
|
||||||
|
email: roger@ruxu.dev
|
||||||
|
privateKeySecretRef:
|
||||||
|
name: letsencrypt-prod-key
|
||||||
|
solvers:
|
||||||
|
- http01:
|
||||||
|
ingress:
|
||||||
|
ingressClassName: traefik
|
||||||
2
cert-manager/install.sh
Normal file
2
cert-manager/install.sh
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/latest/download/cert-manager.yaml
|
||||||
|
kubectl wait --for=condition=available --timeout=120s deployment/cert-manager -n cert-manager
|
||||||
25
gitea/gitea-ingress.yaml
Normal file
25
gitea/gitea-ingress.yaml
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
# gitea-ingress.yaml
|
||||||
|
apiVersion: networking.k8s.io/v1
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
name: gitea
|
||||||
|
namespace: gitea
|
||||||
|
annotations:
|
||||||
|
cert-manager.io/cluster-issuer: letsencrypt-prod
|
||||||
|
spec:
|
||||||
|
ingressClassName: traefik
|
||||||
|
tls:
|
||||||
|
- hosts:
|
||||||
|
- git.rogi.casa
|
||||||
|
secretName: gitea-tls
|
||||||
|
rules:
|
||||||
|
- host: git.rogi.casa
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: gitea
|
||||||
|
port:
|
||||||
|
number: 80
|
||||||
44
ingress.yaml
44
ingress.yaml
@@ -59,16 +59,6 @@ spec:
|
|||||||
name: open-webui-service
|
name: open-webui-service
|
||||||
port:
|
port:
|
||||||
number: 80
|
number: 80
|
||||||
- host: nas.rogi.casa
|
|
||||||
http:
|
|
||||||
paths:
|
|
||||||
- pathType: Prefix
|
|
||||||
backend:
|
|
||||||
service:
|
|
||||||
name: external-ip
|
|
||||||
port:
|
|
||||||
number: 80
|
|
||||||
path: /
|
|
||||||
- host: gym.rogi.casa
|
- host: gym.rogi.casa
|
||||||
http:
|
http:
|
||||||
paths:
|
paths:
|
||||||
@@ -281,3 +271,37 @@ spec:
|
|||||||
name: argocd-server
|
name: argocd-server
|
||||||
port:
|
port:
|
||||||
number: 80
|
number: 80
|
||||||
|
---
|
||||||
|
apiVersion: networking.k8s.io/v1
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
name: nas-ingress
|
||||||
|
namespace: default
|
||||||
|
annotations:
|
||||||
|
# Use Traefik as the ingress controller (default in k3s)
|
||||||
|
kubernetes.io/ingress.class: "traefik"
|
||||||
|
# Enable SSL redirect
|
||||||
|
traefik.ingress.kubernetes.io/redirect-entry-point: https
|
||||||
|
# Optional: enable compression
|
||||||
|
traefik.ingress.kubernetes.io/compress: "true"
|
||||||
|
# Allow large file uploads (5GB) for NAS
|
||||||
|
traefik.ingress.kubernetes.io/max-request-body-bytes: "5368709120"
|
||||||
|
cert-manager.io/issuer: prod-issuer
|
||||||
|
cert-manager.io/issuer-kind: OriginIssuer
|
||||||
|
cert-manager.io/issuer-group: cert-manager.k8s.cloudflare.com
|
||||||
|
spec:
|
||||||
|
tls:
|
||||||
|
- hosts:
|
||||||
|
- "*.rogi.casa"
|
||||||
|
secretName: rogicasa-tls
|
||||||
|
rules:
|
||||||
|
- host: nas.rogi.casa
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: external-ip
|
||||||
|
port:
|
||||||
|
number: 80
|
||||||
|
|||||||
Submodule kube-prometheus deleted from 2fe94c3379
@@ -27,9 +27,9 @@ spec:
|
|||||||
git clone ${GIT_REPO_URL} /data/myorg
|
git clone ${GIT_REPO_URL} /data/myorg
|
||||||
cd /data/myorg
|
cd /data/myorg
|
||||||
git config user.name "${GIT_USERNAME}"
|
git config user.name "${GIT_USERNAME}"
|
||||||
git config user.email "${GIT_USERNAME}@users.noreply.github.com"
|
git config user.email "${GIT_USERNAME}@rogi.casa"
|
||||||
git config credential.helper store
|
git config credential.helper store
|
||||||
echo "https://${GIT_USERNAME}:${GIT_TOKEN}@github.com" > ~/.git-credentials
|
echo "https://${GIT_USERNAME}:${GIT_TOKEN}@gitea.rogi.casa" > ~/.git-credentials
|
||||||
else
|
else
|
||||||
echo "Repository already exists, pulling latest changes..."
|
echo "Repository already exists, pulling latest changes..."
|
||||||
cd /data/myorg
|
cd /data/myorg
|
||||||
@@ -54,11 +54,12 @@ spec:
|
|||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: myorg-data
|
- name: myorg-data
|
||||||
mountPath: /data/myorg
|
mountPath: /data/myorg
|
||||||
|
imagePullSecrets:
|
||||||
|
- name: gitea-registry
|
||||||
containers:
|
containers:
|
||||||
- name: myorg-assistant
|
- name: myorg-assistant
|
||||||
image: myorg-assistant:latest
|
image: gitea.rogi.casa/roger/myorg-assistant/myorg-assistant:5215cd9
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: Always
|
||||||
command: ["./start.sh"]
|
command: ["./start.sh"]
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 8000
|
- containerPort: 8000
|
||||||
@@ -158,11 +159,8 @@ spec:
|
|||||||
cpu: "500m"
|
cpu: "500m"
|
||||||
|
|
||||||
livenessProbe:
|
livenessProbe:
|
||||||
exec:
|
tcpSocket:
|
||||||
command:
|
port: 8000
|
||||||
- sh
|
|
||||||
- -c
|
|
||||||
- "ps aux | grep 'python -m src.main bot' | grep -v grep"
|
|
||||||
initialDelaySeconds: 30
|
initialDelaySeconds: 30
|
||||||
periodSeconds: 30
|
periodSeconds: 30
|
||||||
timeoutSeconds: 5
|
timeoutSeconds: 5
|
||||||
|
|||||||
@@ -1,15 +1,25 @@
|
|||||||
apiVersion: networking.k8s.io/v1
|
apiVersion: networking.k8s.io/v1
|
||||||
kind: Ingress
|
kind: Ingress
|
||||||
metadata:
|
metadata:
|
||||||
name: myorg-assistant-ingress
|
name: myorg-ingress
|
||||||
namespace: default
|
namespace: default
|
||||||
annotations:
|
annotations:
|
||||||
|
# Use Traefik as the ingress controller (default in k3s)
|
||||||
kubernetes.io/ingress.class: "traefik"
|
kubernetes.io/ingress.class: "traefik"
|
||||||
# Add SSL/TLS annotations if needed
|
# Enable SSL redirect
|
||||||
# cert-manager.io/cluster-issuer: "letsencrypt-prod"
|
traefik.ingress.kubernetes.io/redirect-entry-point: https
|
||||||
|
# Optional: enable compression
|
||||||
|
traefik.ingress.kubernetes.io/compress: "true"
|
||||||
|
cert-manager.io/issuer: prod-issuer
|
||||||
|
cert-manager.io/issuer-kind: OriginIssuer
|
||||||
|
cert-manager.io/issuer-group: cert-manager.k8s.cloudflare.com
|
||||||
spec:
|
spec:
|
||||||
|
tls:
|
||||||
|
- hosts:
|
||||||
|
- "*.rogi.casa"
|
||||||
|
secretName: rogicasa-tls
|
||||||
rules:
|
rules:
|
||||||
- host: myorg.yourdomain.com # Replace with your domain
|
- host: myorg.rogi.casa
|
||||||
http:
|
http:
|
||||||
paths:
|
paths:
|
||||||
- path: /
|
- path: /
|
||||||
@@ -19,8 +29,3 @@ spec:
|
|||||||
name: myorg-assistant-service
|
name: myorg-assistant-service
|
||||||
port:
|
port:
|
||||||
number: 8000
|
number: 8000
|
||||||
# Optional: TLS configuration
|
|
||||||
# tls:
|
|
||||||
# - hosts:
|
|
||||||
# - myorg.yourdomain.com
|
|
||||||
# secretName: myorg-tls-secret
|
|
||||||
|
|||||||
@@ -113,7 +113,7 @@ metadata:
|
|||||||
labels:
|
labels:
|
||||||
app: pihole
|
app: pihole
|
||||||
spec:
|
spec:
|
||||||
type: LoadBalancer # Change to NodePort or ClusterIP as needed
|
type: LoadBalancer
|
||||||
ports:
|
ports:
|
||||||
- port: 53
|
- port: 53
|
||||||
targetPort: 53
|
targetPort: 53
|
||||||
|
|||||||
Reference in New Issue
Block a user