feat: Buncha shit
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
---
|
||||
# - name: Create a arr-apps namespace
|
||||
# kubernetes.core.k8s:
|
||||
# name: arr-apps
|
||||
# kubeconfig: /Users/lino.silva/.kube/config
|
||||
# api_version: v1
|
||||
# kind: Namespace
|
||||
# state: present
|
||||
|
||||
- name: Deploy arr - deployment
|
||||
kubernetes.core.k8s:
|
||||
kubeconfig: /Users/lino.silva/.kube/config
|
||||
state: present
|
||||
definition: "{{ lookup('template', 'deployment.yml') | from_yaml }}"
|
||||
loop:
|
||||
- { name: 'radarr', port: 7878 }
|
||||
- { name: 'prowlarr', port: 9696 }
|
||||
- { name: 'sonarr', port: 8989 }
|
||||
- { name: 'overseerr', port: 5055 }
|
||||
- { name: 'transmission', port: 9091 }
|
||||
- { name: 'bazarr', port: 6767 }
|
||||
- { name: 'lidarr', port: 8686 }
|
||||
|
||||
- name: Deploy arr services
|
||||
kubernetes.core.k8s:
|
||||
kubeconfig: /Users/lino.silva/.kube/config
|
||||
state: present
|
||||
definition: "{{ lookup('template', 'service.yml') | from_yaml }}"
|
||||
loop:
|
||||
- { name: 'radarr', port: 7878 }
|
||||
- { name: 'prowlarr', port: 9696 }
|
||||
- { name: 'sonarr', port: 8989 }
|
||||
- { name: 'overseerr', port: 5055 }
|
||||
- { name: 'transmission', port: 9091 }
|
||||
- { name: 'bazarr', port: 6767 }
|
||||
- { name: 'lidarr', port: 8686 }
|
||||
|
||||
- name: Deploy forwardauth middleware
|
||||
kubernetes.core.k8s:
|
||||
kubeconfig: /Users/lino.silva/.kube/config
|
||||
state: present
|
||||
definition: "{{ lookup('template', 'middleware-forwardauth.yml') | from_yaml }}"
|
||||
loop:
|
||||
- radarr
|
||||
- prowlarr
|
||||
- sonarr
|
||||
- overseerr
|
||||
- transmission
|
||||
- bazarr
|
||||
- lidarr
|
||||
|
||||
- name: Deploy arr - ingress
|
||||
kubernetes.core.k8s:
|
||||
kubeconfig: /Users/lino.silva/.kube/config
|
||||
state: present
|
||||
definition: "{{ lookup('template', 'ingress.yml') | from_yaml }}"
|
||||
loop:
|
||||
- { name: 'radarr', port: 7878 }
|
||||
- { name: 'prowlarr', port: 9696 }
|
||||
- { name: 'sonarr', port: 8989 }
|
||||
- { name: 'overseerr', port: 5055 }
|
||||
- { name: 'transmission', port: 9091 }
|
||||
- { name: 'bazarr', port: 6767 }
|
||||
- { name: 'lidarr', port: 8686 }
|
||||
@@ -0,0 +1,30 @@
|
||||
---
|
||||
- kind: Deployment
|
||||
apiVersion: apps/v1
|
||||
metadata:
|
||||
name: {{ item.name }}
|
||||
namespace: default
|
||||
labels:
|
||||
app: {{ item.name }}
|
||||
spec:
|
||||
replicas: 1
|
||||
progressDeadlineSeconds: 600
|
||||
revisionHistoryLimit: 2
|
||||
strategy:
|
||||
type: Recreate
|
||||
selector:
|
||||
matchLabels:
|
||||
app: {{ item.name }}
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: {{ item.name }}
|
||||
spec:
|
||||
containers:
|
||||
- name: {{ item.name }}
|
||||
image: linuxserver/{{ item.name }}
|
||||
ports:
|
||||
- name: app-port
|
||||
containerPort: {{ item.port }}
|
||||
hostPort: {{ item.port }}
|
||||
protocol: TCP
|
||||
@@ -0,0 +1,32 @@
|
||||
---
|
||||
apiVersion: traefik.containo.us/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: {{ item.name }}
|
||||
namespace: default
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: traefik-external
|
||||
spec:
|
||||
entryPoints:
|
||||
- websecure
|
||||
routes:
|
||||
- match: Host(`{{ item.name }}.lino.cooking`)
|
||||
kind: Rule
|
||||
services:
|
||||
- name: {{ item.name }}
|
||||
port: {{ item.port }}
|
||||
middlewares:
|
||||
- name: default-headers
|
||||
- name: {{ item.name }}-forwardauth
|
||||
namespace: traefik
|
||||
- match: "Host(`{{ item.name }}.lino.cooking`) && PathPrefix(`/outpost.goauthentik.io/`)"
|
||||
kind: Rule
|
||||
priority: 15
|
||||
services:
|
||||
- kind: Service
|
||||
# Or, to use an external Outpost, create an ExternalName service and reference that here.
|
||||
# See https://kubernetes.io/docs/concepts/services-networking/service/#externalname
|
||||
name: authentik
|
||||
port: 9000
|
||||
tls:
|
||||
secretName: lino-cooking-tls
|
||||
@@ -0,0 +1,21 @@
|
||||
apiVersion: traefik.containo.us/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: {{ item }}-forwardauth
|
||||
namespace: traefik
|
||||
spec:
|
||||
forwardAuth:
|
||||
address: https://{{ item }}.lino.cooking/outpost.goauthentik.io/auth/traefik
|
||||
trustForwardHeader: true
|
||||
authResponseHeaders:
|
||||
- X-authentik-username
|
||||
- X-authentik-groups
|
||||
- X-authentik-email
|
||||
- X-authentik-name
|
||||
- X-authentik-uid
|
||||
- X-authentik-jwt
|
||||
- X-authentik-meta-jwks
|
||||
- X-authentik-meta-outpost
|
||||
- X-authentik-meta-provider
|
||||
- X-authentik-meta-app
|
||||
- X-authentik-meta-version
|
||||
@@ -0,0 +1,13 @@
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ item.name }}
|
||||
namespace: default
|
||||
spec:
|
||||
selector:
|
||||
app: {{ item.name }}
|
||||
ports:
|
||||
- name: http
|
||||
targetPort: {{ item.port }}
|
||||
port: {{ item.port }}
|
||||
Reference in New Issue
Block a user