Compare commits
10
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ae83c9a258 | ||
|
|
a5e0e9a5c0 | ||
|
|
6e07a68e90 | ||
|
|
6ee3494165 | ||
|
|
84e9172eac | ||
|
|
cbf2a33440 | ||
|
|
3ff155e3e6 | ||
|
|
a53852b0c6 | ||
|
|
d40c4569e4 | ||
|
|
b8480cc1fb |
@@ -0,0 +1,11 @@
|
||||
apiVersion: v1
|
||||
data:
|
||||
DB_DATABASE_NAME: ZGphbmdv
|
||||
DB_HOST: ZGphbmdvLWRiLXN2Yw==
|
||||
DB_PASSWORD: U3VmZnJhZ2UtTW9uZXliYWdzLUlsbHVzaW9uNw==
|
||||
DB_USERNAME: ZGphbmdvX3VzZXJuYW1l
|
||||
kind: Secret
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
name: django-db-credentials
|
||||
namespace: django
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
data:
|
||||
VPN_DNS_IP: MTAuMi4wLjE=
|
||||
VPN_ENDPOINT_IP: MjEyLjguMjUzLjEzNw==
|
||||
VPN_ENDPOINT_PORT: NTE4MjA=
|
||||
WIREGUARD_PRIVATE_KEY: Y0grY0hLd3FMeXV3UlVlZy8wRjFYWVlDQVM4bkQwWGsxNmVOQlVLc2tYbz0=
|
||||
WIREGUARD_PUBLIC_KEY: VVJwZVp4dHlVWEFVVUEwTVdjRmRDU2E3RitNdmNoSjRlTlNKVWV0S0VHaz0=
|
||||
kind: Secret
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
name: gluetun-secret-netherland
|
||||
namespace: gluetun
|
||||
@@ -0,0 +1,11 @@
|
||||
apiVersion: v1
|
||||
data:
|
||||
DB_DATABASE_NAME: aW1taWNo
|
||||
DB_HOST: aW1taWNodC1kYi1zdmM=
|
||||
DB_PASSWORD: U3Bvb24tQm9yb3VnaC1CYXNpczg=
|
||||
DB_USERNAME: aW1taWNoX3VzZXJuYW1l
|
||||
kind: Secret
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
name: immich-db-credentials
|
||||
namespace: immicht
|
||||
@@ -0,0 +1,16 @@
|
||||
apiVersion: v1
|
||||
data:
|
||||
DB_DATABASE: Ym9va3N0YWNrYXBw
|
||||
# DB_HOST: ZGIuYm9va3N0YWNrLnN2Yw==
|
||||
DB_HOST: Ym9va3N0YWNrLWRiLXN2Yw==
|
||||
DB_PASS: VW5oYXBweS1Db21tZW5jZS1FdmVyeW9uZTQ=
|
||||
DB_USER: Ym9va3N0YWNrX3VzZXJuYW1l
|
||||
APP_KEY: "N3dvdmU3ZDQwbjlyNm90YW43ZGEyODQ5am10ajlqNHU="
|
||||
kind: Secret
|
||||
metadata:
|
||||
# creationTimestamp: "2024-06-13T07:37:49Z"
|
||||
name: bookstack-credentials
|
||||
namespace: bookstack
|
||||
# resourceVersion: "20756717"
|
||||
# uid: 66d4cc7d-741a-49cc-979d-a8b95ffb983a
|
||||
type: Opaque
|
||||
@@ -0,0 +1,17 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: database
|
||||
namespace: servarr
|
||||
annotations:
|
||||
spec:
|
||||
ipFamilyPolicy: PreferDualStack
|
||||
ports:
|
||||
- name: tcp
|
||||
port: 5432
|
||||
targetPort: 5432
|
||||
protocol: TCP
|
||||
|
||||
type: LoadBalancer
|
||||
selector:
|
||||
app: prowlarr-db
|
||||
@@ -0,0 +1,11 @@
|
||||
apiVersion: v1
|
||||
data:
|
||||
DB_DATABASE: cHJvd2xhcnItbWFpbg==
|
||||
DB_HOST: cHJvd2xhcnItZGItc3Zj
|
||||
DB_PASS: R29saWF0aC1EZWVwZW4tRGl2aWRpbmc3
|
||||
DB_USER: cHJvd2xhcnJfdXNlcm5hbWU=
|
||||
kind: Secret
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
name: prowlarr-credentials
|
||||
namespace: bookstack
|
||||
@@ -0,0 +1,11 @@
|
||||
apiVersion: v1
|
||||
data:
|
||||
DB_DATABASE: cHJvd2xhcnItbWFpbg==
|
||||
DB_HOST: cHJvd2xhcnItZGItc3Zj
|
||||
DB_PASS: R29saWF0aC1EZWVwZW4tRGl2aWRpbmc3
|
||||
DB_USER: c2VydmFycl91c2VybmFtZQ==
|
||||
kind: Secret
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
name: servarr-db-credentials
|
||||
namespace: servarr
|
||||
@@ -0,0 +1,76 @@
|
||||
#!/bin/bash
|
||||
|
||||
#install required packages
|
||||
apk add curl wget
|
||||
|
||||
#named argument generation
|
||||
skip_searching_gallery="${skip_searching_gallery:-false}"
|
||||
|
||||
|
||||
while [ $# -gt 0 ]; do
|
||||
if [[ $1 == "--"* ]]; then
|
||||
v="${1/--/}"
|
||||
declare "$v"="$2"
|
||||
shift
|
||||
fi
|
||||
shift
|
||||
done
|
||||
|
||||
#check if we will use a HTTP proxy or not
|
||||
|
||||
if [[ -z $http_proxy ]]; then
|
||||
echo "not using proxy"
|
||||
curl_command="curl"
|
||||
else
|
||||
echo "using proxy"
|
||||
curl_command="curl -x $http_proxy"
|
||||
|
||||
fi
|
||||
|
||||
|
||||
#dowload from https://www.pornpics.com/pornstars/eiby-shine/
|
||||
DESTINATION_FOLDER="/data"
|
||||
PROXY_HTTP="http://gluetun-svc.gluetun.svc:8888"
|
||||
|
||||
#BASE_URL="https://www.pornpics.com/pornstars/eiby-shine/"
|
||||
#pornstars="eiby-shine"
|
||||
|
||||
BASE_URL="https://www.pornpics.com/?q=shy+imp"
|
||||
pornstars="shy-imp"
|
||||
|
||||
#BASE_URL="https://www.pornpics.com/pornstars/becky-summer"
|
||||
#pornstars="becky-summer"
|
||||
|
||||
|
||||
#clear files beforehand
|
||||
|
||||
|
||||
mkdir -p $DESTINATION_FOLDER/$pornstars
|
||||
|
||||
if [[ $skip_searching_gallery == true ]]; then
|
||||
echo "not looping through galleries"
|
||||
echo "using existing file instead"
|
||||
#because we need to keep the file $DESTINATION_FOLDER/$pornstars-urls_of_galleries.txt with the existing URL , in this condition,
|
||||
#no deletion of this file
|
||||
else
|
||||
echo "looping through galleries"
|
||||
#because we will re-generate this file, can be emptied
|
||||
echo "" > $DESTINATION_FOLDER/$pornstars-urls_of_galleries.txt
|
||||
$curl_command -s $BASE_URL | grep -Eo "(http|https)://[a-zA-Z0-9./?=_%:-]*" | grep "https://www.pornpics.com/galleries/" |sort -u >> $DESTINATION_FOLDER/$pornstars-urls_of_galleries.txt
|
||||
fi
|
||||
|
||||
echo "" > $DESTINATION_FOLDER/$pornstars-image_to_download.txt
|
||||
|
||||
|
||||
for f in $(cat $DESTINATION_FOLDER/$pornstars-urls_of_galleries.txt ); do
|
||||
$curl_command $f | grep -Eo "(http|https)://[a-zA-Z0-9./?=_%:-]*" | grep "https://cdni.pornpics.com/1280" >> $DESTINATION_FOLDER/$pornstars-image_to_download.txt
|
||||
echo $f
|
||||
done
|
||||
|
||||
|
||||
for g in $(cat $DESTINATION_FOLDER/$pornstars-image_to_download.txt ); do
|
||||
$curl_command -O --output-dir $DESTINATION_FOLDER/$pornstars $g
|
||||
# wget -e use_proxy=yes -e http_proxy=$PROXY_HTTP $g -P $DESTINATION_FOLDER/$pornstars
|
||||
echo $g
|
||||
done
|
||||
exit 0
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
data:
|
||||
VPN_DNS_IP: MTAuMi4wLjE=
|
||||
VPN_ENDPOINT_IP: MjEyLjguMjUzLjEzNw==
|
||||
VPN_ENDPOINT_PORT: NTE4MjA=
|
||||
WIREGUARD_PRIVATE_KEY: Y0grY0hLd3FMeXV3UlVlZy8wRjFYWVlDQVM4bkQwWGsxNmVOQlVLc2tYbz0=
|
||||
WIREGUARD_PUBLIC_KEY: VVJwZVp4dHlVWEFVVUEwTVdjRmRDU2E3RitNdmNoSjRlTlNKVWV0S0VHaz0=
|
||||
kind: Secret
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
name: gluetun-secret-netherland
|
||||
namespace: stash
|
||||
@@ -0,0 +1,32 @@
|
||||
apiVersion: v1
|
||||
data:
|
||||
download.sh: "#!/bin/bash\n\n#install required packages\napk add curl wget\n\n#named
|
||||
argument generation\nskip_searching_gallery=\"${skip_searching_gallery:-false}\"\n\n\nwhile
|
||||
[ $# -gt 0 ]; do\n if [[ $1 == \"--\"* ]]; then\n v=\"${1/--/}\"\n declare
|
||||
\"$v\"=\"$2\"\n shift\n fi\n shift\ndone\n\n#check if we will use
|
||||
a HTTP proxy or not\n\nif [[ -z $http_proxy ]]; then\n echo \"not using
|
||||
proxy\"\n curl_command=\"curl\"\nelse\n echo \"using proxy\"\n curl_command=\"curl
|
||||
-x $http_proxy\"\n\nfi\n\n\n#dowload from https://www.pornpics.com/pornstars/eiby-shine/\nDESTINATION_FOLDER=\"/data\"\nPROXY_HTTP=\"http://gluetun-svc.gluetun.svc:8888\"\n\n#BASE_URL=\"https://www.pornpics.com/pornstars/eiby-shine/\"\n#pornstars=\"eiby-shine\"\n\nBASE_URL=\"https://www.pornpics.com/?q=shy+imp\"\npornstars=\"shy-imp\"\n\n#BASE_URL=\"https://www.pornpics.com/pornstars/becky-summer\"\n#pornstars=\"becky-summer\"\n\n\n#clear
|
||||
files beforehand\n\n\nmkdir -p $DESTINATION_FOLDER/$pornstars\n\nif [[ $skip_searching_gallery
|
||||
== true ]]; then\n echo \"not looping through galleries\"\n\t\techo \"using
|
||||
existing file instead\"\n\t\t#because we need to keep the file $DESTINATION_FOLDER/$pornstars-urls_of_galleries.txt
|
||||
with the existing URL , in this condition, \n\t\t#no deletion of this file\necho
|
||||
\"https://www.pornpics.com/galleries/onlyfans-shy-imp-starring-shy-imp-naked-porn-pics-90263490/\nhttps://www.pornpics.com/galleries/onlyfans-shy-imp-featuring-shy-imp-xxx-porn-pics-15741579/\nhttps://www.pornpics.com/galleries/onlyfans-shy-imp-starring-shy-imp-naked-photos-68925414/\nhttps://www.pornpics.com/galleries/onlyfans-shy-imp-shy-imp-20862921/\nhttps://www.pornpics.com/galleries/skinny-girl-with-pink-hair-shy-imp-shows-her-small-tits-during-a-solo-show-50988369/\nhttps://www.pornpics.com/galleries/onlyfans-shy-imp-featuring-shy-imp-hot-gallery-86312934/\"
|
||||
>> $DESTINATION_FOLDER/$pornstars-urls_of_galleries.txt\n\nelse\n echo
|
||||
\"looping through galleries\"\n\t\t#because we will re-generate this file, can
|
||||
be emptied\n\t\techo \"\" > $DESTINATION_FOLDER/$pornstars-urls_of_galleries.txt\n
|
||||
\ $curl_command -s $BASE_URL | grep -Eo \"(http|https)://[a-zA-Z0-9./?=_%:-]*\"
|
||||
| grep \"https://www.pornpics.com/galleries/\" |sort -u >> $DESTINATION_FOLDER/$pornstars-urls_of_galleries.txt\nfi\n\necho
|
||||
\"\" > $DESTINATION_FOLDER/$pornstars-image_to_download.txt\n\n\nfor f in $(cat
|
||||
$DESTINATION_FOLDER/$pornstars-urls_of_galleries.txt ); do\n\t$curl_command $f
|
||||
| grep -Eo \"(http|https)://[a-zA-Z0-9./?=_%:-]*\" | grep \"https://cdni.pornpics.com/1280\"
|
||||
>> $DESTINATION_FOLDER/$pornstars-image_to_download.txt\n\techo $f\ndone\n\n\nfor
|
||||
g in $(cat $DESTINATION_FOLDER/$pornstars-image_to_download.txt ); do \n\t$curl_command
|
||||
-O --output-dir $DESTINATION_FOLDER/$pornstars $g\n# wget -e use_proxy=yes
|
||||
-e http_proxy=$PROXY_HTTP $g -P $DESTINATION_FOLDER/$pornstars\n echo $g
|
||||
\ndone\nexit 0\n"
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
name: pornpic-dowloader
|
||||
namespace: stash
|
||||
@@ -0,0 +1,37 @@
|
||||
apiVersion: batch/v1
|
||||
kind: Job
|
||||
metadata:
|
||||
name: stash-pornpics-dowloader
|
||||
namespace: stash
|
||||
spec:
|
||||
template:
|
||||
spec:
|
||||
containers:
|
||||
- name: stash-pornpics-dowloader
|
||||
image: bash
|
||||
imagePullPolicy: Always
|
||||
volumeMounts:
|
||||
- mountPath: /config
|
||||
name: scripts
|
||||
- mountPath: /data
|
||||
mountPropagation: None
|
||||
name: data-pvc
|
||||
command:
|
||||
# - /bin/bash
|
||||
# - -c
|
||||
# - sleep 3600
|
||||
- bash
|
||||
- /config/download.sh
|
||||
- --http_proxy
|
||||
- "http://gluetun-svc.gluetun.svc:8888"
|
||||
restartPolicy: Never
|
||||
volumes:
|
||||
- configMap:
|
||||
defaultMode: 0744
|
||||
name: pornpic-dowloader
|
||||
name: scripts
|
||||
- name: data-pvc
|
||||
persistentVolumeClaim:
|
||||
claimName: data-pvc
|
||||
backoffLimit: 4
|
||||
|
||||
+36
@@ -0,0 +1,36 @@
|
||||
#!/bin/sh
|
||||
|
||||
skip_searching_gallery="${skip_searching_gallery:-false}"
|
||||
|
||||
#echo "$skip_searching_gallery"
|
||||
|
||||
|
||||
while [ $# -gt 0 ]; do
|
||||
if [[ $1 == "--"* ]]; then
|
||||
v="${1/--/}"
|
||||
#declare "$v"="$2"
|
||||
"$v"="$2"
|
||||
|
||||
shift
|
||||
fi
|
||||
shift
|
||||
done
|
||||
|
||||
#echo "$skip_searching_gallery"
|
||||
#if [[ -z $skip_searching_gallery ]]; then
|
||||
if [[ $skip_searching_gallery == true ]]; then
|
||||
echo "not looping through galleries"
|
||||
else
|
||||
echo "looping through galleries"
|
||||
fi
|
||||
|
||||
if [[ -z $http_proxy ]]; then
|
||||
echo "not using proxy"
|
||||
curl_command="curl"
|
||||
else
|
||||
echo "using proxy"
|
||||
curl_command="curl -x $http_proxy"
|
||||
|
||||
fi
|
||||
echo $curl_command
|
||||
$curl_command https://cdni.pornpics.com/460/7/424/83105958/83105958_010_388f.jpg -O
|
||||
@@ -0,0 +1,11 @@
|
||||
apiVersion: v1
|
||||
data:
|
||||
DB_DATABASE: d2lraQ==
|
||||
DB_HOST: d2lraWpzLWRiLXN2Yw==
|
||||
DB_PASS: VmVzdDctUHJvZHVjdC1VbnN0ZWFkeQ==
|
||||
DB_USER: d2lraWpzX3VzZXJuYW1l
|
||||
kind: Secret
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
name: wikijs-db-credentials
|
||||
namespace: wikijs
|
||||
@@ -15,6 +15,7 @@ variable "kubernetes" {
|
||||
name = string
|
||||
pvc = optional(bool, false)
|
||||
config_map = optional(bool, false)
|
||||
secret = optional(bool, false)
|
||||
host_path = optional(string)
|
||||
pvc_size = optional(string)
|
||||
storage_class_name = optional(string, "nfs-storage-intelligent")
|
||||
@@ -33,8 +34,7 @@ variable "kubernetes" {
|
||||
replicas = optional(number, 1)
|
||||
namespace = optional(string)
|
||||
connected_namespace = optional(string, "")
|
||||
# namespace = optional(string,coalesce(connected_namespace,""))
|
||||
#block_namespace_creation = optional(bool, false)
|
||||
command = optional(list(string))
|
||||
service_port = optional(list(number))
|
||||
service_type = optional(string, "ClusterIP")
|
||||
service_name = optional(string)
|
||||
@@ -118,7 +118,7 @@ locals {
|
||||
])
|
||||
}
|
||||
|
||||
resource "kubernetes_manifest" "service" {
|
||||
resource "kubernetes_manifest" "manifest" {
|
||||
for_each = { for item in local.kubernetes_manifests : item.key => item }
|
||||
|
||||
manifest = yamldecode(file(each.value.manifest))
|
||||
@@ -210,6 +210,7 @@ resource "kubernetes_service" "automatic_service" {
|
||||
content {
|
||||
port = port.value
|
||||
target_port = port.value
|
||||
name = replace("${each.key}${port.value}", "/(.{0,15})(.*)/", "$1")
|
||||
|
||||
}
|
||||
}
|
||||
@@ -310,7 +311,8 @@ resource "kubernetes_deployment_v1" "automatic" {
|
||||
for_each = each.value.service_port != null ? each.value.service_port : []
|
||||
content {
|
||||
container_port = port.value
|
||||
name = "${each.key}-${port.value}"
|
||||
# name = "${each.key}-${port.value}"
|
||||
name = replace("${each.key}${port.value}", "/(.{0,15})(.*)/", "$1")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -347,6 +349,20 @@ resource "kubernetes_deployment_v1" "automatic" {
|
||||
}
|
||||
}
|
||||
|
||||
# dynamic "command" {
|
||||
# for_each = each.value.command != null ? [1] : []
|
||||
# content {
|
||||
# [each.value.command]
|
||||
# }
|
||||
|
||||
# }
|
||||
# command = each.value.command != null ? {
|
||||
# [each.value.command]
|
||||
# } : {}
|
||||
|
||||
|
||||
command = each.value.command != null ? each.value.command : []
|
||||
|
||||
|
||||
dynamic "env" {
|
||||
for_each = each.value.environment != null ? each.value.environment : {}
|
||||
@@ -461,6 +477,12 @@ resource "kubernetes_deployment_v1" "automatic" {
|
||||
}
|
||||
}
|
||||
|
||||
dynamic "secret" {
|
||||
for_each = volume.value.secret ? [1] : []
|
||||
content {
|
||||
secret_name = volume.value.name
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
+6265
-3
File diff suppressed because it is too large
Load Diff
+6262
-9
File diff suppressed because it is too large
Load Diff
+569
-135
@@ -1,23 +1,23 @@
|
||||
kubernetes = {
|
||||
bookstack = {
|
||||
namespace = "bookstack"
|
||||
# enabled = false
|
||||
#namespace = "bookstack"
|
||||
#enabled = false
|
||||
replicas = 01
|
||||
extra_manifest = ["/opt/kubernetes/Bookstack_kube/Bookstack.configmap.yaml", "/opt/kubernetes/Bookstack_kube/Bookstack.secret.yaml"]
|
||||
#image = "linuxserver/bookstack:24.10.3"
|
||||
image = "linuxserver/bookstack:latest"
|
||||
service_port = [80,443]
|
||||
service_port = [80, 443]
|
||||
database = {
|
||||
"image" = "lscr.io/linuxserver/mariadb"
|
||||
"port" = 3306
|
||||
"mountPath" = "/config"
|
||||
}
|
||||
requirements = {
|
||||
limits-cpu = "500m"
|
||||
limits-memory = "200Mi"
|
||||
requests-cpu = "300m"
|
||||
requests-memory = "100Mi"
|
||||
}
|
||||
# requirements = {
|
||||
# limits-cpu = "18m"
|
||||
# limits-memory = "100Mi"
|
||||
# requests-cpu = "10m"
|
||||
# requests-memory = "70Mi"
|
||||
# }
|
||||
secret_ref = ["bookstack-credentials"]
|
||||
config_map_ref = ["config"]
|
||||
|
||||
@@ -74,7 +74,7 @@ kubernetes = {
|
||||
|
||||
|
||||
screeps = {
|
||||
# enabled = false
|
||||
enabled = false
|
||||
name = "screeps-server"
|
||||
image = "screepers/screeps-launcher"
|
||||
service_port = [21025]
|
||||
@@ -193,14 +193,13 @@ kubernetes = {
|
||||
|
||||
}
|
||||
|
||||
stashgluetun = {
|
||||
enabled = false
|
||||
connected_namespace = "stash"
|
||||
gluetun = {
|
||||
# enabled = false
|
||||
dns_nameservers = "10.2.0.1"
|
||||
replicas = 01
|
||||
image = "qmcgaw/gluetun:latest"
|
||||
service_port = [8888]
|
||||
extra_manifest = ["/opt/kubernetes/Terraform_kube/external_manifests/stash/gluetun-secret-netherland.yaml"]
|
||||
extra_manifest = ["/opt/kubernetes/Terraform_kube/external_manifests/gluetun/gluetun-secret-netherland.yaml"]
|
||||
security_context = true
|
||||
# requirements = {
|
||||
# limits-cpu = "800Mi"
|
||||
@@ -890,115 +889,18 @@ kubernetes = {
|
||||
|
||||
}
|
||||
|
||||
gluetun = {
|
||||
enabled = false
|
||||
namespace = "tservarr"
|
||||
dns_nameservers = "10.2.0.1"
|
||||
replicas = 01
|
||||
image = "qmcgaw/gluetun:latest"
|
||||
service_port = [8888]
|
||||
extra_manifest = ["/opt/kubernetes/Terraform_kube/external_manifests/servarr/gluetun-secret-netherland.yaml"]
|
||||
security_context = true
|
||||
# requirements = {
|
||||
# limits-cpu = "800Mi"
|
||||
# limits-memory = "800Mi"
|
||||
# requests-cpu = "800Mi"
|
||||
# requests-memory = "800Mi"
|
||||
# }
|
||||
environment = {
|
||||
DNS_ADDRESS = {
|
||||
value_from = {
|
||||
secret_key_ref = {
|
||||
name = "gluetun-secret-netherland"
|
||||
key = "VPN_DNS_IP"
|
||||
}
|
||||
}
|
||||
}
|
||||
WIREGUARD_ENDPOINT_IP = {
|
||||
value_from = {
|
||||
secret_key_ref = {
|
||||
name = "gluetun-secret-netherland"
|
||||
key = "VPN_ENDPOINT_IP"
|
||||
}
|
||||
}
|
||||
}
|
||||
WIREGUARD_ENDPOINT_PORT = {
|
||||
value_from = {
|
||||
secret_key_ref = {
|
||||
name = "gluetun-secret-netherland"
|
||||
key = "VPN_ENDPOINT_PORT"
|
||||
}
|
||||
}
|
||||
}
|
||||
WIREGUARD_PRIVATE_KEY = {
|
||||
value_from = {
|
||||
secret_key_ref = {
|
||||
name = "gluetun-secret-netherland"
|
||||
key = "WIREGUARD_PRIVATE_KEY"
|
||||
}
|
||||
}
|
||||
}
|
||||
WIREGUARD_PUBLIC_KEY = {
|
||||
value_from = {
|
||||
secret_key_ref = {
|
||||
name = "gluetun-secret-netherland"
|
||||
key = "WIREGUARD_PUBLIC_KEY"
|
||||
}
|
||||
}
|
||||
}
|
||||
# SHADOWSOCKS = {
|
||||
HTTPPROXY = {
|
||||
value = "on"
|
||||
}
|
||||
#SHADOWSOCKS_LOG = {
|
||||
HTTPPROXY_LOG = {
|
||||
value = "on"
|
||||
}
|
||||
HTTPPROXY_LISTENING_ADDRESS = {
|
||||
#SHADOWSOCKS_LISTENING_ADDRESS = {
|
||||
value = "0.0.0.0:8888"
|
||||
}
|
||||
# HTTPPROXY_USER = {
|
||||
# value = "user"
|
||||
# }
|
||||
|
||||
#SHADOWSOCKS_PASSWORD = {
|
||||
# HTTPPROXY_PASSWORD = {
|
||||
# value = "user"
|
||||
#}
|
||||
DNS_KEEP_NAMESERVER = {
|
||||
value = "off"
|
||||
}
|
||||
VPN_SERVICE_PROVIDER = {
|
||||
value = "custom"
|
||||
}
|
||||
VPN_TYPE = {
|
||||
value = "wireguard"
|
||||
}
|
||||
WIREGUARD_ADDRESSES = {
|
||||
value = "10.2.0.2/32"
|
||||
}
|
||||
FIREWALL_INPUT_PORTS = {
|
||||
value = "8081,7878,9696,9091,51413,8080,6881,8989,8191,8888,8000"
|
||||
}
|
||||
PUBLICIP_API = {
|
||||
value = "ip2location"
|
||||
}
|
||||
|
||||
HEALTH_TARGET_ADDRESS = {
|
||||
value = "protonvpn.com"
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
prowlarr = {
|
||||
enabled = false
|
||||
# enabled = false
|
||||
image = "linuxserver/prowlarr:latest"
|
||||
connected_namespace = "tservarr"
|
||||
namespace = "servarr"
|
||||
#replicas = 0
|
||||
# dns_nameservers = "10.2.0.1"
|
||||
service_port = [9696]
|
||||
extra_manifest = ["/opt/kubernetes/Terraform_kube/external_manifests/servarr/servarr-db.secret.yaml"]
|
||||
database = {
|
||||
"image" = "docker.io/library/postgres:17.5"
|
||||
}
|
||||
|
||||
environment = {
|
||||
PUID = {
|
||||
@@ -1010,13 +912,36 @@ kubernetes = {
|
||||
TZ = {
|
||||
value = "Etc/UTC"
|
||||
}
|
||||
|
||||
|
||||
|
||||
POSTGRES_DB = {
|
||||
value_from = {
|
||||
secret_key_ref = {
|
||||
name = "servarr-db-credentials"
|
||||
key = "DB_DATABASE"
|
||||
}
|
||||
}
|
||||
}
|
||||
POSTGRES_USER = {
|
||||
value_from = {
|
||||
secret_key_ref = {
|
||||
name = "servarr-db-credentials"
|
||||
key = "DB_USER"
|
||||
}
|
||||
}
|
||||
}
|
||||
POSTGRES_PASSWORD = {
|
||||
value_from = {
|
||||
secret_key_ref = {
|
||||
name = "servarr-db-credentials"
|
||||
key = "DB_PASS"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
# requirements = {
|
||||
# limits-cpu = "1000m"
|
||||
# limits-memory = "1Gi"
|
||||
# requests-cpu = "500m"
|
||||
# requests-memory = "400Mi"
|
||||
# }
|
||||
pvc = {
|
||||
prowlarr-config = {
|
||||
name = "prowlarr-config"
|
||||
@@ -1034,10 +959,12 @@ kubernetes = {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
radarr = {
|
||||
enabled = false
|
||||
#enabled = false
|
||||
image = "lscr.io/linuxserver/radarr:latest"
|
||||
connected_namespace = "tservarr"
|
||||
connected_namespace = "servarr"
|
||||
#replicas = 0
|
||||
service_port = [7878]
|
||||
|
||||
environment = {
|
||||
@@ -1077,9 +1004,10 @@ kubernetes = {
|
||||
|
||||
|
||||
sonarr = {
|
||||
enabled = false
|
||||
#enabled = false
|
||||
image = "lscr.io/linuxserver/sonarr:latest"
|
||||
connected_namespace = "tservarr"
|
||||
connected_namespace = "servarr"
|
||||
#replicas = 0
|
||||
service_port = [8989]
|
||||
|
||||
environment = {
|
||||
@@ -1116,13 +1044,12 @@ kubernetes = {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
flaresolverr = {
|
||||
recommendarr = {
|
||||
enabled = false
|
||||
image = "ghcr.io/flaresolverr/flaresolverr:latest"
|
||||
connected_namespace = "tservarr"
|
||||
service_port = [8191]
|
||||
image = "tannermiddleton/recommendarr:latest"
|
||||
connected_namespace = "servarr"
|
||||
#replicas = 0
|
||||
service_port = [3000]
|
||||
|
||||
environment = {
|
||||
PUID = {
|
||||
@@ -1141,13 +1068,98 @@ kubernetes = {
|
||||
# requests-cpu = "500m"
|
||||
# requests-memory = "400Mi"
|
||||
# }
|
||||
pvc = {
|
||||
recommendarr-config = {
|
||||
name = "recommendarr-config"
|
||||
pvc_size = "10Mi"
|
||||
pvc = true
|
||||
mount_path = "/app/server/data"
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
qbittorrent = {
|
||||
#enabled = false
|
||||
image = "lscr.io/linuxserver/qbittorrent:latest"
|
||||
connected_namespace = "servarr"
|
||||
service_port = [8080]
|
||||
|
||||
environment = {
|
||||
PUID = {
|
||||
value = "1000"
|
||||
}
|
||||
PGID = {
|
||||
value = "1000"
|
||||
}
|
||||
TZ = {
|
||||
value = "Etc/UTC"
|
||||
}
|
||||
WEBUI_PORT = {
|
||||
value = "8080"
|
||||
}
|
||||
|
||||
}
|
||||
requirements = {
|
||||
limits-cpu = "200m"
|
||||
limits-memory = "250Mi"
|
||||
requests-cpu = "100m"
|
||||
requests-memory = "100Mi"
|
||||
}
|
||||
pvc = {
|
||||
qbittorrent-config = {
|
||||
name = "qbittorrent-config"
|
||||
pvc_size = "10Mi"
|
||||
pvc = true
|
||||
mount_path = "/config"
|
||||
}
|
||||
servarr-data = {
|
||||
name = "servarr-data"
|
||||
pvc_size = "10Mi"
|
||||
pvc = false
|
||||
host_path = "/data"
|
||||
mount_path = "/disk"
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
flaresolverr = {
|
||||
#image = "ghcr.io/flaresolverr/flaresolverr:latest"
|
||||
image = "alexfozor/flaresolverr:pr-1300-experimental"
|
||||
|
||||
connected_namespace = "servarr"
|
||||
#enabled = false
|
||||
image = "ghcr.io/flaresolverr/flaresolverr:latest"
|
||||
service_port = [8191]
|
||||
|
||||
environment = {
|
||||
PUID = {
|
||||
value = "1000"
|
||||
}
|
||||
PGID = {
|
||||
value = "1000"
|
||||
}
|
||||
TZ = {
|
||||
value = "Etc/UTC"
|
||||
}
|
||||
CAPTCHA_SOLVER = { value = "hcaptcha-solver"
|
||||
}
|
||||
|
||||
}
|
||||
# requirements = {
|
||||
# limits-cpu = "1000m"
|
||||
# limits-memory = "1Gi"
|
||||
# requests-cpu = "500m"
|
||||
# requests-memory = "400Mi"
|
||||
# }
|
||||
|
||||
}
|
||||
|
||||
poste = {
|
||||
enabled = false
|
||||
image = "analogic/poste.io:latest"
|
||||
service_port = [443]
|
||||
service_port = [25, 80, 110, 143, 443, 465, 587, 993, 995, 4190]
|
||||
|
||||
environment = {
|
||||
PUID = {
|
||||
@@ -1178,4 +1190,426 @@ kubernetes = {
|
||||
|
||||
}
|
||||
|
||||
wikijs = {
|
||||
#enabled = false
|
||||
image = "ghcr.io/requarks/wiki:2.5"
|
||||
service_port = [3000]
|
||||
extra_manifest = ["/opt/kubernetes/Terraform_kube/external_manifests/wikijs/wikijs-db.secret.yaml"]
|
||||
database = {}
|
||||
environment = {
|
||||
PUID = {
|
||||
value = "1000"
|
||||
}
|
||||
PGID = {
|
||||
value = "1000"
|
||||
}
|
||||
TZ = {
|
||||
value = "Etc/UTC"
|
||||
}
|
||||
DB_TYPE = { value = "postgres" }
|
||||
DB_PORT = { value = "5432" }
|
||||
|
||||
POSTGRES_DB = {
|
||||
value_from = {
|
||||
secret_key_ref = {
|
||||
name = "wikijs-db-credentials"
|
||||
key = "DB_DATABASE"
|
||||
}
|
||||
}
|
||||
}
|
||||
POSTGRES_USER = {
|
||||
value_from = {
|
||||
secret_key_ref = {
|
||||
name = "wikijs-db-credentials"
|
||||
key = "DB_USER"
|
||||
}
|
||||
}
|
||||
}
|
||||
POSTGRES_PASSWORD = {
|
||||
value_from = {
|
||||
secret_key_ref = {
|
||||
name = "wikijs-db-credentials"
|
||||
key = "DB_PASS"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
DB_NAME = {
|
||||
value_from = {
|
||||
secret_key_ref = {
|
||||
name = "wikijs-db-credentials"
|
||||
key = "DB_DATABASE"
|
||||
}
|
||||
}
|
||||
}
|
||||
DB_USER = {
|
||||
value_from = {
|
||||
secret_key_ref = {
|
||||
name = "wikijs-db-credentials"
|
||||
key = "DB_USER"
|
||||
}
|
||||
}
|
||||
}
|
||||
DB_PASS = {
|
||||
value_from = {
|
||||
secret_key_ref = {
|
||||
name = "wikijs-db-credentials"
|
||||
key = "DB_PASS"
|
||||
}
|
||||
}
|
||||
}
|
||||
DB_HOST = {
|
||||
value_from = {
|
||||
secret_key_ref = {
|
||||
name = "wikijs-db-credentials"
|
||||
key = "DB_HOST"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
immicht = {
|
||||
enabled = false
|
||||
#replicas = 0
|
||||
namespace = "immicht"
|
||||
image = "ghcr.io/immich-app/immich-server:v1.134.0"
|
||||
service_port = [2283]
|
||||
database = {
|
||||
#image = "ghcr.io/immich-app/postgres:14-vectorchord0.3.0-pgvectors0.2.0@sha256:fa4f6e0971f454cd95fec5a9aaed2ed93d8f46725cc6bc61e0698e97dba96da1"
|
||||
image = "docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0"
|
||||
}
|
||||
|
||||
redis = {
|
||||
image = "docker.io/bitnami/redis:7.2.5-debian-12-r0" }
|
||||
requirements = {
|
||||
limits-cpu = "800m"
|
||||
limits-memory = "800Mi"
|
||||
requests-cpu = "10m"
|
||||
requests-memory = "300Mi"
|
||||
}
|
||||
extra_manifest = ["/opt/kubernetes/Terraform_kube/external_manifests/immich/immich-db.secret.yaml"]
|
||||
|
||||
environment = {
|
||||
DB_DATABASE_NAME = {
|
||||
value_from = {
|
||||
secret_key_ref = {
|
||||
name = "immich-db-credentials"
|
||||
key = "DB_DATABASE_NAME"
|
||||
}
|
||||
}
|
||||
}
|
||||
DB_USERNAME = {
|
||||
value_from = {
|
||||
secret_key_ref = {
|
||||
name = "immich-db-credentials"
|
||||
key = "DB_USERNAME"
|
||||
}
|
||||
}
|
||||
}
|
||||
DB_PASSWORD = {
|
||||
value_from = {
|
||||
secret_key_ref = {
|
||||
name = "immich-db-credentials"
|
||||
key = "DB_PASSWORD"
|
||||
}
|
||||
}
|
||||
}
|
||||
POSTGRES_DATABASE = {
|
||||
value_from = {
|
||||
secret_key_ref = {
|
||||
name = "immich-db-credentials"
|
||||
key = "DB_DATABASE_NAME"
|
||||
}
|
||||
}
|
||||
}
|
||||
POSTGRES_USER = {
|
||||
value_from = {
|
||||
secret_key_ref = {
|
||||
name = "immich-db-credentials"
|
||||
key = "DB_USERNAME"
|
||||
}
|
||||
}
|
||||
}
|
||||
POSTGRES_PASSWORD = {
|
||||
value_from = {
|
||||
secret_key_ref = {
|
||||
name = "immich-db-credentials"
|
||||
key = "DB_PASSWORD"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
POSTGRES_POSTGRES_PASSWORD = {
|
||||
value_from = {
|
||||
secret_key_ref = {
|
||||
name = "immich-db-credentials"
|
||||
key = "DB_PASSWORD"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
DB_HOSTNAME = {
|
||||
value_from = {
|
||||
secret_key_ref = {
|
||||
name = "immich-db-credentials"
|
||||
key = "DB_HOST"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
IMMICH_MACHINE_LEARNING_URL = { value = "http://machinelearning-svc:3003" }
|
||||
REDIS_HOSTNAME = { value = "immicht-redis-svc" }
|
||||
UPLOAD_LOCATION = { value = "/tmp" }
|
||||
POSTGRESQL_ENABLE_LDAP = { value = "no" }
|
||||
POSTGRESQL_ENABLE_TLS = { value = "no" }
|
||||
POSTGRESQL_LOG_HOSTNAME = { value = "false" }
|
||||
POSTGRESQL_LOG_CONNECTIONS = { value = "false" }
|
||||
POSTGRESQL_LOG_DISCONNECTIONS = { value = "false" }
|
||||
POSTGRESQL_PGAUDIT_LOG_CATALOG = { value = "off" }
|
||||
POSTGRESQL_CLIENT_MIN_MESSAGES = { value = "error" }
|
||||
POSTGRESQL_SHARED_PRELOAD_LIBRARIES = { value = "pgaudit" }
|
||||
POSTGRES_INITDB_ARGS = { value = "--data-checksums" }
|
||||
|
||||
BITNAMI_DEBUG = { value = "false" }
|
||||
REDIS_REPLICATION_MODE = { value = "master" }
|
||||
ALLOW_EMPTY_PASSWORD = { value = "yes" }
|
||||
REDIS_TLS_ENABLED = { value = "no" }
|
||||
REDIS_PORT = { value = "6379" }
|
||||
|
||||
}
|
||||
pvc = {
|
||||
immich-data = {
|
||||
pvc = true
|
||||
name = "immich-data"
|
||||
pvc_size = "2Mi"
|
||||
mount_path = "/usr/src/app/upload"
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
machinelearning = {
|
||||
enabled = false
|
||||
#replicas = 0
|
||||
connected_namespace = "immicht"
|
||||
image = "ghcr.io/immich-app/immich-machine-learning:v1.134.0"
|
||||
service_port = [3003]
|
||||
environment = {
|
||||
DB_DATABASE_NAME = {
|
||||
value_from = {
|
||||
secret_key_ref = {
|
||||
name = "immich-db-credentials"
|
||||
key = "DB_DATABASE_NAME"
|
||||
}
|
||||
}
|
||||
}
|
||||
DB_USERNAME = {
|
||||
value_from = {
|
||||
secret_key_ref = {
|
||||
name = "immich-db-credentials"
|
||||
key = "DB_USERNAME"
|
||||
}
|
||||
}
|
||||
}
|
||||
DB_PASSWORD = {
|
||||
value_from = {
|
||||
secret_key_ref = {
|
||||
name = "immich-db-credentials"
|
||||
key = "DB_PASSWORD"
|
||||
}
|
||||
}
|
||||
}
|
||||
DB_HOSTNAME = {
|
||||
value_from = {
|
||||
secret_key_ref = {
|
||||
name = "immich-db-credentials"
|
||||
key = "DB_HOST"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
IMMICH_MACHINE_LEARNING_URL = {
|
||||
value = "http://machinelearning-svc:3003"
|
||||
}
|
||||
|
||||
REDIS_HOSTNAME = {
|
||||
value = "immicht-redis-svc"
|
||||
}
|
||||
|
||||
TRANSFORMERS_CACHE = {
|
||||
value = "/cache"
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
django = {
|
||||
#enabled =false
|
||||
namespace = "django"
|
||||
image = "gitea.tryton.geeraert.eu/pi-ux-ce/django-python:latest"
|
||||
service_port = [8000]
|
||||
database = {
|
||||
image = "docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0"
|
||||
}
|
||||
|
||||
requirements = {
|
||||
limits-cpu = "800m"
|
||||
limits-memory = "800Mi"
|
||||
requests-cpu = "10m"
|
||||
requests-memory = "300Mi"
|
||||
}
|
||||
extra_manifest = ["/opt/kubernetes/Terraform_kube/external_manifests/django/kubeconfig.secret.yaml", "/opt/kubernetes/Terraform_kube/external_manifests/django/django-db.secret.yaml"]
|
||||
|
||||
environment = {
|
||||
|
||||
DB_PASSWORD = {
|
||||
value_from = {
|
||||
secret_key_ref = {
|
||||
name = "django-db-credentials"
|
||||
key = "DB_PASSWORD"
|
||||
}
|
||||
}
|
||||
}
|
||||
POSTGRES_DB = {
|
||||
value_from = {
|
||||
secret_key_ref = {
|
||||
name = "django-db-credentials"
|
||||
key = "DB_DATABASE_NAME"
|
||||
}
|
||||
}
|
||||
}
|
||||
POSTGRES_USER = {
|
||||
value_from = {
|
||||
secret_key_ref = {
|
||||
name = "django-db-credentials"
|
||||
key = "DB_USERNAME"
|
||||
}
|
||||
}
|
||||
}
|
||||
POSTGRES_PASSWORD = {
|
||||
value_from = {
|
||||
secret_key_ref = {
|
||||
name = "django-db-credentials"
|
||||
key = "DB_PASSWORD"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
DB_HOSTNAME = {
|
||||
value_from = {
|
||||
secret_key_ref = {
|
||||
name = "django-db-credentials"
|
||||
key = "DB_HOST"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
pvc = {
|
||||
kubeconfig-secret = {
|
||||
secret = true
|
||||
name = "kubeconfig"
|
||||
mount_path = "/kubeconfig"
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
keycloak = {
|
||||
#enabled = false
|
||||
name = "keycloak"
|
||||
image = "quay.io/keycloak/keycloak:25.0.1"
|
||||
service_port = [8080]
|
||||
command = ["/opt/keycloak/bin/kc.sh", "start-dev"]
|
||||
environment = {
|
||||
KEYCLOAK_ADMIN = {
|
||||
value = "admin"
|
||||
}
|
||||
KEYCLOAK_ADMIN_PASSWORD = {
|
||||
value = "admin"
|
||||
}
|
||||
#KC_DB = {
|
||||
# value = "dev-mem"
|
||||
#}
|
||||
KC_HTTP_ENABLED = {
|
||||
value = "true"
|
||||
}
|
||||
KC_PROXY_HEADERS = {
|
||||
value = "xforwarded"
|
||||
}
|
||||
KC_HOSTNAME_STRICT = {
|
||||
value = "false"
|
||||
}
|
||||
|
||||
KC_HOSTNAME = {
|
||||
value = "https://keycloak.tryton.geeraert.eu"
|
||||
}
|
||||
KC_HOSTNAME_ADMIN = {
|
||||
value = "https://keycloak.tryton.geeraert.eu"
|
||||
}
|
||||
}
|
||||
requirements = {
|
||||
limits-cpu = "1000m"
|
||||
limits-memory = "1Gi"
|
||||
requests-cpu = "500m"
|
||||
requests-memory = "400Mi"
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
echo = {
|
||||
enabled = true
|
||||
image = "ealen/echo-server:latest"
|
||||
service_port = [80]
|
||||
# command = ["-text=Hello authenticated world!"]
|
||||
|
||||
}
|
||||
oauth2-proxy = {
|
||||
#enabled = false
|
||||
image = "quay.io/oauth2-proxy/oauth2-proxy:latest"
|
||||
service_port = [4180]
|
||||
|
||||
environment = {
|
||||
OAUTH2_PROXY_PROVIDER = {
|
||||
value = "oidc"
|
||||
}
|
||||
OAUTH2_PROXY_CLIENT_ID = {
|
||||
value = "my-client"
|
||||
}
|
||||
OAUTH2_PROXY_CLIENT_SECRET = {
|
||||
value = "el7RU2DKXhjxhF1wasyz1KhTppvw2lF4"
|
||||
}
|
||||
OAUTH2_PROXY_COOKIE_SECRET = {
|
||||
value = "K70xBsslOnUFh9ehCggywlfb0c8OTzRRiOzdIuDz168="
|
||||
}
|
||||
OAUTH2_PROXY_COOKIE_DOMAIN = {
|
||||
value = "oauthn.tryton.geeraert.eu"
|
||||
}
|
||||
|
||||
OAUTH2_PROXY_OIDC_ISSUER_URL = {
|
||||
value = "https://keycloak.tryton.geeraert.eu/realms/customer"
|
||||
}
|
||||
OAUTH2_PROXY_REDIRECT_URL = {
|
||||
value = "https://echo.tryton.geeraert.eu/oauth2/callback"
|
||||
}
|
||||
OAUTH2_PROXY_EMAIL_DOMAINS = {
|
||||
value = "*"
|
||||
}
|
||||
OAUTH2_PROXY_HTTP_ADDRESS = {
|
||||
value = "0.0.0.0:4180"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user