add monitor and pihole

This commit is contained in:
ducoterra
2020-08-17 11:37:15 -04:00
parent 1009e24f1d
commit 225a76742f
17 changed files with 528 additions and 11 deletions

View File

@@ -0,0 +1,21 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ .Release.Name }}
data:
ADMIN_EMAIL: 'ducoterra'
TZ: 'America/Chicago'
DNS1: '1.1.1.1'
DNS2: '1.0.0.1'
DNSSEC: 'true'
duconet.conf: |
address=/.localhost/127.0.0.1
address=/.freenas.ducoterra.net/3.14.3.101
address=/.pihole.ducoterra.net/3.14.3.102
address=/.red/3.14.3.102
address=/.grey/3.14.3.103
address=/.gold/3.14.3.104
address=/.green/3.14.3.105
address=/.blue/3.14.3.106
address=/.purple/3.14.3.107
address=/.ducoterra.net/3.14.3.100

View File

@@ -0,0 +1,45 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ .Release.Name }}
spec:
replicas: 1
selector:
matchLabels:
app: {{ .Release.Name }}
template:
metadata:
labels:
app: {{ .Release.Name }}
spec:
containers:
- name: pihole
image: pihole/pihole:latest
ports:
- containerPort: 53
- containerPort: 80
envFrom:
- configMapRef:
name: {{ .Release.Name }}
- secretRef:
name: {{ .Release.Name }}
resources:
requests:
memory: 128Mi
cpu: 250m
limits:
memory: 512Mi
cpu: 500m
volumeMounts:
- name: data
mountPath: /etc/pihole
- name: dnsmasq
mountPath: /etc/dnsmasq.d/duconet.conf
subPath: duconet.conf
volumes:
- name: data
persistentVolumeClaim:
claimName: {{ .Release.Name }}
- name: dnsmasq
configMap:
name: {{ .Release.Name }}

View File

@@ -0,0 +1,13 @@
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: {{ .Release.Name }}
spec:
rules:
- host: pihole.ducoterra.net
http:
paths:
- path: /
backend:
serviceName: web-{{ .Release.Name }}
servicePort: 80

17
pihole/templates/pv.yaml Normal file
View File

@@ -0,0 +1,17 @@
{{ if .Release.IsInstall }}
apiVersion: v1
kind: PersistentVolume
metadata:
name: {{ .Release.Name }}
annotations:
"helm.sh/resource-policy": keep
spec:
storageClassName: pihole
accessModes:
- ReadWriteOnce
capacity:
storage: 100Gi
nfs:
server: freenas
path: "/mnt/enc0/pi/pihole"
{{ end }}

15
pihole/templates/pvc.yaml Normal file
View File

@@ -0,0 +1,15 @@
{{ if .Release.IsInstall }}
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: {{ .Release.Name }}
annotations:
"helm.sh/resource-policy": keep
spec:
storageClassName: pihole
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Gi
{{ end }}

View File

@@ -0,0 +1,11 @@
{{ if and .Values.secret .Release.IsInstall }}
apiVersion: v1
kind: Secret
metadata:
name: {{ .Release.Name }}
annotations:
"helm.sh/resource-policy": keep
type: generic
data:
WEBPASSWORD: {{ randAlphaNum 64 | b64enc | quote }}
{{ end }}

View File

@@ -0,0 +1,24 @@
apiVersion: v1
kind: Service
metadata:
name: {{ .Release.Name }}
spec:
selector:
app: {{ .Release.Name }}
ports:
- name: dns
protocol: UDP
port: 53
targetPort: 53
type: LoadBalancer
---
apiVersion: v1
kind: Service
metadata:
name: web-{{ .Release.Name }}
spec:
selector:
app: {{ .Release.Name }}
ports:
- port: 80
targetPort: 80