initial checkin

This commit is contained in:
Radar231 2021-10-26 14:22:05 -04:00
commit c687abb461
7 changed files with 204 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
*_secret.yml

6
README.md Normal file
View File

@ -0,0 +1,6 @@
# journal-wiki k8s manifest
## Introduction
This deploys a nodejs tiddlywiki server.

63
pihole-1_deployment.yml Normal file
View File

@ -0,0 +1,63 @@
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: pihole-1
spec:
selector:
matchLabels:
app: pihole-1
replicas: 1
strategy:
type: Recreate
template:
metadata:
labels:
app: pihole-1
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: beta.kubernetes.io/arch
operator: In
values:
- arm64
containers:
- name: pihole-1
image: pihole/pihole:2021.10.1
env:
- name: PUID
value: "1000"
- name: PGID
value: "1000"
- name: TZ
value: "America/Toronto"
- name: WEBPASSWORD
valueFrom:
secretKeyRef:
name: pihole-1-pass
key: WEBPASSWORD
ports:
- containerPort: 53
name: "pihole-53tcp"
- containerPort: 53
name: "pihole-53udp"
protocol: UDP
- containerPort: 80
name: "pihole-80"
volumeMounts:
- name: pihole-1-etc-pihole
mountPath: "/etc/pihole"
- name: pihole-1-etc-dnsmasq-d
mountPath: "/etc/dnsmasq.d"
volumes:
- name: pihole-1-etc-pihole
persistentVolumeClaim:
claimName: pihole-1-etc-pihole-pvc
- name: pihole-1-etc-dnsmasq-d
persistentVolumeClaim:
claimName: pihole-1-etc-dnsmasq-d-pvc
# EOF

41
pihole-1_lb.yml Normal file
View File

@ -0,0 +1,41 @@
---
apiVersion: v1
kind: Service
metadata:
name: pihole-1-tcp
annotations:
metallb.universe.tf/address-pool: default
metallb.universe.tf/allow-shared-ip: "dot80"
spec:
loadBalancerIP: 192.168.7.80
ports:
- port: 53
targetPort: 53
name: tcp53
- port: 80
targetPort: 80
name: tcp80
selector:
app: pihole-1
type: LoadBalancer
---
apiVersion: v1
kind: Service
metadata:
name: pihole-1-udp
annotations:
metallb.universe.tf/address-pool: default
metallb.universe.tf/allow-shared-ip: "dot80"
spec:
loadBalancerIP: 192.168.7.80
ports:
- port: 53
targetPort: 53
name: udp53
protocol: UDP
selector:
app: pihole-1
type: LoadBalancer
# EOF

41
pihole-1_pv.yml Normal file
View File

@ -0,0 +1,41 @@
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: pihole-1-etc-pihole-pv
labels:
name: pihole-1-etc-pihole-pv
spec:
storageClassName: manual
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
mountOptions:
- hard
- nfsvers=4.0
nfs:
server: 192.168.7.11
path: "/volume1/k8s-storage/pihole/pihole-1/etc-pihole"
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: pihole-1-etc-dnsmasq-d-pv
labels:
name: pihole-1-etc-dnsmasq-d-pv
spec:
storageClassName: manual
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
mountOptions:
- hard
- nfsvers=4.0
nfs:
server: 192.168.7.11
path: "/volume1/k8s-storage/pihole/pihole-1/etc-dnsmasq-d"
# EOF

36
pihole-1_pvc.yml Normal file
View File

@ -0,0 +1,36 @@
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pihole-1-etc-pihole-pvc
labels:
app: flexget
spec:
accessModes:
- ReadWriteOnce
storageClassName: "manual"
resources:
requests:
storage: 1Gi
selector:
matchLabels:
name: pihole-1-etc-pihole-pv
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pihole-1-etc-dnsmasq-d-pvc
labels:
app: flexget
spec:
accessModes:
- ReadWriteOnce
storageClassName: "manual"
resources:
requests:
storage: 1Gi
selector:
matchLabels:
name: pihole-1-etc-dnsmasq-d-pv
# EOF

16
pihole-1_secret.yml.tmpl Normal file
View File

@ -0,0 +1,16 @@
---
#############################################
# - creds for pihole-1
# - generate value using;
# echo -n '<text>' | base64
#############################################
apiVersion: v1
kind: Secret
metadata:
name: pihole-1-pass
data:
# plaintext pw = "xxxxxxx"
WEBPASSWORD: xxxxxxx
# EOF