adding app adguard-home
This commit is contained in:
16
kubernetes/apps/adguard-home/adguard-home.yaml
Normal file
16
kubernetes/apps/adguard-home/adguard-home.yaml
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||||
|
kind: Kustomization
|
||||||
|
metadata:
|
||||||
|
name: adguard-home
|
||||||
|
namespace: adguard-home
|
||||||
|
spec:
|
||||||
|
interval: 1h
|
||||||
|
targetNamespace: adguard-home
|
||||||
|
path: ./kubernetes/apps/adguard-home/app
|
||||||
|
prune: true
|
||||||
|
sourceRef:
|
||||||
|
kind: GitRepository
|
||||||
|
namespace: flux-system
|
||||||
|
name: flux-system
|
||||||
|
postBuild:
|
||||||
|
substituteFrom: []
|
||||||
32
kubernetes/apps/adguard-home/app/chart.yaml
Normal file
32
kubernetes/apps/adguard-home/app/chart.yaml
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
apiVersion: v2
|
||||||
|
name: adguard-home
|
||||||
|
description: Free and open source, powerful network-wide ads & trackers blocking DNS server.
|
||||||
|
home: https://github.com/3dwardch3ng/helm-charts/tree/main/charts/adguard-home
|
||||||
|
icon: https://raw.githubusercontent.com/3dwardch3ng/helm-charts/main/charts/adguard-home/icon.svg
|
||||||
|
# A chart can be either an 'application' or a 'library' chart.
|
||||||
|
#
|
||||||
|
# Application charts are a collection of templates that can be packaged into versioned archives
|
||||||
|
# to be deployed.
|
||||||
|
#
|
||||||
|
# Library charts provide useful utilities or functions for the chart developer. They're included as
|
||||||
|
# a dependency of application charts to inject those utilities and functions into the rendering
|
||||||
|
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
|
||||||
|
type: application
|
||||||
|
# This is the chart version. This version number should be incremented each time you make changes
|
||||||
|
# to the chart and its templates, including the app version.
|
||||||
|
# Versions are expected to follow Semantic Versioning (https://semver.org/)
|
||||||
|
version: 0.1.0
|
||||||
|
# renovate datasource=docker depName=adguard/adguardhome
|
||||||
|
|
||||||
|
# This is the version number of the application being deployed. This version number should be
|
||||||
|
# incremented each time you make changes to the application. Versions are not expected to
|
||||||
|
# follow Semantic Versioning. They should reflect the version the application is using.
|
||||||
|
# It is recommended to use it with quotes.
|
||||||
|
appVersion: "v0.107.51"
|
||||||
|
kubeVersion: ">=1.22.0-0"
|
||||||
|
keywords:
|
||||||
|
- adblock
|
||||||
|
- dns
|
||||||
|
- privacy
|
||||||
|
sources:
|
||||||
|
- https://github.com/AdguardTeam/AdGuardHome
|
||||||
76
kubernetes/apps/adguard-home/app/deployment.yaml
Normal file
76
kubernetes/apps/adguard-home/app/deployment.yaml
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: adguard-home
|
||||||
|
namespace: adguard-home
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: adguard-home
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/name: adguard-home
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: adguard-home
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: adguard-home
|
||||||
|
image: adguard/adguardhome:v0.107.51
|
||||||
|
ports:
|
||||||
|
- protocol: TCP
|
||||||
|
containerPort: 53
|
||||||
|
name: c-dns-tcp
|
||||||
|
- protocol: UDP
|
||||||
|
containerPort: 53
|
||||||
|
name: c-dns-udp
|
||||||
|
- protocol: UDP
|
||||||
|
containerPort: 67
|
||||||
|
name: c-dhcp-svr
|
||||||
|
- protocol: UDP
|
||||||
|
containerPort: 68
|
||||||
|
name: con-dhcp-clt
|
||||||
|
- protocol: TCP
|
||||||
|
containerPort: 80
|
||||||
|
name: c-main-tcp
|
||||||
|
- protocol: TCP
|
||||||
|
containerPort: 443
|
||||||
|
name: c-https-tcp
|
||||||
|
- protocol: UDP
|
||||||
|
containerPort: 443
|
||||||
|
name: c-https-udp
|
||||||
|
- protocol: TCP
|
||||||
|
containerPort: 853
|
||||||
|
name: c-dns-tls-tcp
|
||||||
|
- protocol: UDP
|
||||||
|
containerPort: 853
|
||||||
|
name: c-dns-tls-udp
|
||||||
|
- protocol: TCP
|
||||||
|
containerPort: 3000
|
||||||
|
name: c-http-alt-tcp
|
||||||
|
- protocol: UDP
|
||||||
|
containerPort: 3000
|
||||||
|
name: c-httpalt-udp
|
||||||
|
- protocol: TCP
|
||||||
|
containerPort: 5443
|
||||||
|
name: c-dnscrypt-tcp
|
||||||
|
- protocol: UDP
|
||||||
|
containerPort: 5443
|
||||||
|
name: c-dnscrypt-udp
|
||||||
|
- protocol: TCP
|
||||||
|
containerPort: 6060
|
||||||
|
name: c-http-pprof
|
||||||
|
volumeMounts:
|
||||||
|
- name: adguard-home-data
|
||||||
|
mountPath: /opt/adguardhome/work
|
||||||
|
- name: adguard-home-config
|
||||||
|
mountPath: /opt/adguardhome/config
|
||||||
|
volumes:
|
||||||
|
- name: adguard-home-data
|
||||||
|
hostPath:
|
||||||
|
path: /mnt/nfs/AppData/adguardhome/work
|
||||||
|
type: Directory
|
||||||
|
- name: adguard-home-config
|
||||||
|
hostPath:
|
||||||
|
path: /mnt/nfs/AppData/adguardhome/conf
|
||||||
|
type: Directory
|
||||||
28
kubernetes/apps/adguard-home/app/release.yaml
Normal file
28
kubernetes/apps/adguard-home/app/release.yaml
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||||
|
kind: HelmRelease
|
||||||
|
metadata:
|
||||||
|
name: adguard-home
|
||||||
|
namespace: adguard-home
|
||||||
|
spec:
|
||||||
|
chart:
|
||||||
|
metadata:
|
||||||
|
name: adguard-home
|
||||||
|
namespace: adguard-home
|
||||||
|
spec:
|
||||||
|
chart: adguard-home
|
||||||
|
version: 0.1.0
|
||||||
|
sourceRef:
|
||||||
|
kind: HelmRepository
|
||||||
|
name: flux-system
|
||||||
|
namespace: flux-system
|
||||||
|
interval: 5m
|
||||||
|
interval: 5m
|
||||||
|
targetNamespace: adguard-home
|
||||||
|
dependsOn:
|
||||||
|
install:
|
||||||
|
crds: Create
|
||||||
|
upgrade:
|
||||||
|
crds: CreateReplace
|
||||||
|
valuesFrom:
|
||||||
|
- kind: Secret
|
||||||
|
name: adguard-home-vars
|
||||||
69
kubernetes/apps/adguard-home/app/service.yaml
Normal file
69
kubernetes/apps/adguard-home/app/service.yaml
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: adguard-home
|
||||||
|
namespace: adguard-home
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: adguard-home
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app.kubernetes.io/name: adguard-home
|
||||||
|
type: ClusterIP
|
||||||
|
internalTrafficPolicy: Cluster
|
||||||
|
ports:
|
||||||
|
- protocol: TCP
|
||||||
|
port: 53
|
||||||
|
targetPort: 53
|
||||||
|
name: dns-tcp
|
||||||
|
- protocol: UDP
|
||||||
|
port: 53
|
||||||
|
targetPort: 53
|
||||||
|
name: dns-udp
|
||||||
|
- protocol: UDP
|
||||||
|
port: 67
|
||||||
|
targetPort: 67
|
||||||
|
name: dhcp-server-udp
|
||||||
|
- protocol: UDP
|
||||||
|
port: 68
|
||||||
|
targetPort: 68
|
||||||
|
name: dhcp-client-udp
|
||||||
|
- protocol: TCP
|
||||||
|
port: 80
|
||||||
|
targetPort: 80
|
||||||
|
name: http-main-tcp
|
||||||
|
- protocol: TCP
|
||||||
|
port: 443
|
||||||
|
targetPort: 443
|
||||||
|
name: https-tcp
|
||||||
|
- protocol: UDP
|
||||||
|
port: 443
|
||||||
|
targetPort: 443
|
||||||
|
name: https-udp
|
||||||
|
- protocol: TCP
|
||||||
|
port: 853
|
||||||
|
targetPort: 853
|
||||||
|
name: dns-tls-tcp
|
||||||
|
- protocol: UDP
|
||||||
|
port: 853
|
||||||
|
targetPort: 853
|
||||||
|
name: dns-tls-udp
|
||||||
|
- protocol: TCP
|
||||||
|
port: 3000
|
||||||
|
targetPort: 3000
|
||||||
|
name: https-alt-tcp
|
||||||
|
- protocol: UDP
|
||||||
|
port: 3000
|
||||||
|
targetPort: 3000
|
||||||
|
name: https-alt-udp
|
||||||
|
- protocol: TCP
|
||||||
|
port: 5443
|
||||||
|
targetPort: 5443
|
||||||
|
name: dns-crypt-tcp
|
||||||
|
- protocol: UDP
|
||||||
|
port: 5443
|
||||||
|
targetPort: 5443
|
||||||
|
name: dns-crypt-udp
|
||||||
|
- protocol: TCP
|
||||||
|
port: 6060
|
||||||
|
targetPort: 6060
|
||||||
|
name: https-pprof
|
||||||
4
kubernetes/apps/adguard-home/kustomization.yaml
Normal file
4
kubernetes/apps/adguard-home/kustomization.yaml
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- ./adguard-home.yaml
|
||||||
177
kubernetes/apps/adguard-home/release.yaml
Normal file
177
kubernetes/apps/adguard-home/release.yaml
Normal file
@@ -0,0 +1,177 @@
|
|||||||
|
# yaml-language-server: $schema=https://raw.githubusercontent.com/bjw-s/helm-charts/app-template-3.2.1/charts/other/app-template/schemas/helmrelease-helm-v2.schema.json
|
||||||
|
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||||
|
kind: HelmRelease
|
||||||
|
metadata:
|
||||||
|
name: adguard-home
|
||||||
|
namespace: adguard-home
|
||||||
|
spec:
|
||||||
|
chart:
|
||||||
|
spec:
|
||||||
|
chart: adguard-home
|
||||||
|
version: 0.1.0
|
||||||
|
reconcileStrategy: ChartVersion
|
||||||
|
sourceRef:
|
||||||
|
kind: HelmRepository
|
||||||
|
namespace: flux-system
|
||||||
|
name: bjw-s
|
||||||
|
interval: 1h
|
||||||
|
driftDetection:
|
||||||
|
mode: enabled
|
||||||
|
values:
|
||||||
|
controllers:
|
||||||
|
adguard-home:
|
||||||
|
type: statefulset
|
||||||
|
replicas: 2
|
||||||
|
containers:
|
||||||
|
adguard-home:
|
||||||
|
image:
|
||||||
|
repository: adguard/adguardhome
|
||||||
|
tag: v0.107.51
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
env:
|
||||||
|
TZ: Australia/Sydney
|
||||||
|
probes:
|
||||||
|
liveness: &probe
|
||||||
|
enabled: true
|
||||||
|
type: HTTP
|
||||||
|
port: 3000
|
||||||
|
path: /login.html
|
||||||
|
readiness: *probe
|
||||||
|
startup:
|
||||||
|
<<: *probe
|
||||||
|
spec:
|
||||||
|
failureThreshold: 30
|
||||||
|
periodSeconds: 5
|
||||||
|
securityContext:
|
||||||
|
readOnlyRootFilesystem: true
|
||||||
|
pod:
|
||||||
|
priorityClassName: system-cluster-critical
|
||||||
|
labels:
|
||||||
|
rpi5.cluster.policy/egress-namespace: "true"
|
||||||
|
rpi5.cluster.policy/egress-world: "true"
|
||||||
|
rpi5.cluster.policy/ingress-ingress: "true"
|
||||||
|
rpi5.cluster.policy/ingress-namespace: "true"
|
||||||
|
affinity:
|
||||||
|
podAntiAffinity:
|
||||||
|
preferredDuringSchedulingIgnoredDuringExecution:
|
||||||
|
- weight: 1
|
||||||
|
podAffinityTerm:
|
||||||
|
topologyKey: kubernetes.io/hostname
|
||||||
|
labelSelector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/name: adguard-home
|
||||||
|
app.kubernetes.io/component: adguard-home
|
||||||
|
statefulset:
|
||||||
|
volumeClaimTemplates:
|
||||||
|
- name: data
|
||||||
|
storageClass: longhorn-ssd
|
||||||
|
accessMode: ReadWriteOnce
|
||||||
|
size: 2Gi
|
||||||
|
globalMounts:
|
||||||
|
- path: /opt/adguardhome/conf
|
||||||
|
subPath: conf
|
||||||
|
- path: /opt/adguardhome/work
|
||||||
|
subPath: work
|
||||||
|
sync:
|
||||||
|
containers:
|
||||||
|
app:
|
||||||
|
image:
|
||||||
|
repository: ghcr.io/bakito/adguardhome-sync
|
||||||
|
tag: alpine-v0.6.11@sha256:aa6e74003e9c7a1719967f3d80955fb7b89ca659a4dd8fae9ec8901103f018d9
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
args: [run]
|
||||||
|
env:
|
||||||
|
ORIGIN_URL: http://adguard-home-origin:3000
|
||||||
|
ORIGIN_WEB_URL: https://${app_url}
|
||||||
|
ORIGIN_USERNAME: ${sync_username}
|
||||||
|
ORIGIN_PASSWORD: ${sync_password}
|
||||||
|
REPLICA_URL: http://adguard-home-replica:3000
|
||||||
|
REPLICA_WEB_URL: https://replica.${app_url}
|
||||||
|
REPLICA_USERNAME: ${sync_username}
|
||||||
|
REPLICA_PASSWORD: ${sync_password}
|
||||||
|
REPLICA_AUTO_SETUP: "true"
|
||||||
|
CRON: "*/10 * * * *"
|
||||||
|
securityContext:
|
||||||
|
readOnlyRootFilesystem: true
|
||||||
|
pod:
|
||||||
|
labels:
|
||||||
|
rpi5.cluster.policy/egress-namespace: "true"
|
||||||
|
securityContext:
|
||||||
|
runAsNonRoot: true
|
||||||
|
|
||||||
|
service:
|
||||||
|
adguard-home:
|
||||||
|
controller: adguard-home
|
||||||
|
ports:
|
||||||
|
http:
|
||||||
|
port: 3000
|
||||||
|
sync:
|
||||||
|
controller: sync
|
||||||
|
ports:
|
||||||
|
http:
|
||||||
|
port: 8080
|
||||||
|
origin: &origin-http
|
||||||
|
controller: adguard-home
|
||||||
|
extraSelectorLabels:
|
||||||
|
apps.kubernetes.io/pod-index: "0"
|
||||||
|
ports:
|
||||||
|
http:
|
||||||
|
port: 3000
|
||||||
|
origin-dns: &origin-dns
|
||||||
|
controller: adguard-home
|
||||||
|
extraSelectorLabels:
|
||||||
|
apps.kubernetes.io/pod-index: "0"
|
||||||
|
type: LoadBalancer
|
||||||
|
externalTrafficPolicy: Local
|
||||||
|
loadBalancerIP: 192.168.1.221
|
||||||
|
ports:
|
||||||
|
dns-tcp:
|
||||||
|
port: 53
|
||||||
|
protocol: TCP
|
||||||
|
dns-udp:
|
||||||
|
port: 53
|
||||||
|
protocol: UDP
|
||||||
|
|
||||||
|
replica:
|
||||||
|
<<: *origin-http
|
||||||
|
extraSelectorLabels:
|
||||||
|
apps.kubernetes.io/pod-index: "1"
|
||||||
|
replica-dns:
|
||||||
|
<<: *origin-dns
|
||||||
|
extraSelectorLabels:
|
||||||
|
apps.kubernetes.io/pod-index: "1"
|
||||||
|
loadBalancerIP: 192.168.1.222
|
||||||
|
|
||||||
|
ingress:
|
||||||
|
origin: &ingress
|
||||||
|
enabled: true
|
||||||
|
annotations:
|
||||||
|
nginx.ingress.kubernetes.io/auth-url: |-
|
||||||
|
http://ak-outpost-gabernetes.authentik.svc.cluster.local:9000/outpost.goauthentik.io/auth/nginx
|
||||||
|
nginx.ingress.kubernetes.io/auth-signin: |-
|
||||||
|
/outpost.goauthentik.io/start?rd=$escaped_request_uri
|
||||||
|
nginx.ingress.kubernetes.io/auth-response-headers: |-
|
||||||
|
Set-Cookie,Authorization
|
||||||
|
nginx.ingress.kubernetes.io/auth-snippet: |
|
||||||
|
proxy_set_header X-Forwarded-Host $http_host;
|
||||||
|
hosts:
|
||||||
|
- host: ${app_url}
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
service:
|
||||||
|
identifier: origin
|
||||||
|
port: http
|
||||||
|
tls:
|
||||||
|
- secretName: ${certificate_name}
|
||||||
|
hosts:
|
||||||
|
- ${app_url}
|
||||||
|
- replica.${app_url}
|
||||||
|
replica:
|
||||||
|
<<: *ingress
|
||||||
|
hosts:
|
||||||
|
- host: replica.${app_url}
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
service:
|
||||||
|
identifier: replica
|
||||||
|
port: http
|
||||||
Reference in New Issue
Block a user