adding all untracked files
This commit is contained in:
@@ -39,3 +39,5 @@ terraform.rc
|
||||
module.tf.save*
|
||||
terraform.tfstate*
|
||||
.terraform.lock.hcl
|
||||
|
||||
.bw-provider-state
|
||||
|
||||
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: ODkuMTA1LjIxNC4xOTY=
|
||||
VPN_ENDPOINT_PORT: NTE4MjA=
|
||||
WIREGUARD_PRIVATE_KEY: Q0h3OHNkVUliaVRPbTgxTzZGOWRyMm9Nc2k1ZFl4SnZValo1Z2Jwd3UzWT0=
|
||||
WIREGUARD_PUBLIC_KEY: WG4yQkwrdmhJZ2dsMnVKZ29HY2NqMG4wQ3Z3N09hZU5LMXdPZk91dElTUT0=
|
||||
kind: Secret
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
name: gluetun-secret-nl-free-280
|
||||
namespace: gluetun
|
||||
-185
@@ -1,185 +0,0 @@
|
||||
terraform {
|
||||
required_version = "> 0.8.0"
|
||||
}
|
||||
|
||||
|
||||
provider "kubernetes" {
|
||||
config_path = "~/.kube/config"
|
||||
}
|
||||
|
||||
|
||||
resource "kubernetes_namespace" "screeps" {
|
||||
metadata {
|
||||
annotations = {
|
||||
name = "screeps"
|
||||
}
|
||||
name = "screeps"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
resource "kubernetes_persistent_volume_claim" "screeps-pvc" {
|
||||
metadata {
|
||||
namespace = "screeps"
|
||||
name = "screeps-pvc"
|
||||
}
|
||||
spec {
|
||||
access_modes = ["ReadWriteMany"]
|
||||
storage_class_name = "nfs-storage-intelligent"
|
||||
resources {
|
||||
requests = {
|
||||
storage = "1Gi"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
resource "kubernetes_deployment_v1" "screeps" {
|
||||
metadata {
|
||||
namespace = "screeps"
|
||||
name = "screeps"
|
||||
labels = {
|
||||
app = "screepsserver"
|
||||
}
|
||||
}
|
||||
|
||||
spec {
|
||||
replicas = 1
|
||||
|
||||
selector {
|
||||
match_labels = {
|
||||
app = "screepsserver"
|
||||
}
|
||||
}
|
||||
|
||||
template {
|
||||
metadata {
|
||||
labels = {
|
||||
app = "screepsserver"
|
||||
}
|
||||
}
|
||||
|
||||
spec {
|
||||
container {
|
||||
image = "screepers/screeps-launcher"
|
||||
name = "screeps-launcher"
|
||||
port {
|
||||
container_port = 21025
|
||||
name = "screeps-port"
|
||||
}
|
||||
volume_mount {
|
||||
mount_path = "/screeps"
|
||||
name = "screeps-volume"
|
||||
}
|
||||
|
||||
resources {
|
||||
limits = {
|
||||
cpu = "2"
|
||||
memory = "2Gi"
|
||||
}
|
||||
requests = {
|
||||
cpu = "250m"
|
||||
memory = "500Mi"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
volume {
|
||||
name = "screeps-volume"
|
||||
persistent_volume_claim {
|
||||
claim_name = "screeps-pvc"
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
resource "kubernetes_service" "screeps_service" {
|
||||
metadata {
|
||||
name = "screeps"
|
||||
namespace = "screeps"
|
||||
}
|
||||
spec {
|
||||
selector = {
|
||||
app = "screepsserver"
|
||||
}
|
||||
port {
|
||||
port = 21025
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
variable "kubernetes" {
|
||||
type = map(object({
|
||||
service = string
|
||||
#testingbool= bool
|
||||
pvc_name = optional(string)
|
||||
namespace = optional(string)
|
||||
service_port = optional(number)
|
||||
LoadBalancerbool = optional(string)
|
||||
enabled = optional(bool, true)
|
||||
proxy_cache = optional(bool, false)
|
||||
extra-value = optional(string, "")
|
||||
http2_bool = optional(bool, false)
|
||||
proxy_pass_https = optional(bool, false)
|
||||
authentication_required = optional(bool, false)
|
||||
}))
|
||||
|
||||
}
|
||||
|
||||
resource "kubernetes_namespace" "automatic" {
|
||||
for_each = { for key, value in var.kubernetes : key => value if value.enabled == true }
|
||||
metadata {
|
||||
annotations = {
|
||||
name = coalesce(each.value.namespace, each.key)
|
||||
}
|
||||
name = coalesce(each.value.namespace, each.key)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
resource "kubernetes_persistent_volume_claim" "automatic-pvc" {
|
||||
for_each = { for key, value in var.kubernetes : key => value if value.pvc_name != null }
|
||||
metadata {
|
||||
namespace = coalesce(each.value.namespace, each.key)
|
||||
name = coalesce(each.value.namespace, each.key)
|
||||
}
|
||||
spec {
|
||||
access_modes = ["ReadWriteMany"]
|
||||
storage_class_name = "nfs-storage-intelligent"
|
||||
resources {
|
||||
requests = {
|
||||
storage = "1Gi"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
resource "kubernetes_service" "automatic_service" {
|
||||
for_each = { for key, value in var.kubernetes : key => value if value.service_port != null }
|
||||
metadata {
|
||||
name = coalesce(each.value.namespace, each.key)
|
||||
namespace = coalesce(each.value.namespace, each.key)
|
||||
}
|
||||
spec {
|
||||
selector = {
|
||||
app = "screepsserver"
|
||||
}
|
||||
port {
|
||||
port = each.value.service_port
|
||||
}
|
||||
|
||||
if(each.value.LoadBalancerbool == "enabled" ? [type = "LoadBalancer"] :[]
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
resource "bitwarden-secrets_secret" "automatic_bitwarden_secret_redis_host" {
|
||||
for_each = { for key, value in var.kubernetes : key => value if value.redis != null && value.enabled == true }
|
||||
key = "${each.key}__redis__host"
|
||||
project_id = "b5fc4c48-e951-442f-97ca-b3e800c143cd"
|
||||
value = try(each.value.redis.host, "${each.key}-redis-svc.${coalesce(each.value.namespace, each.value.connected_namespace, each.key)}.svc")
|
||||
}
|
||||
|
||||
resource "bitwarden-secrets_secret" "automatic_bitwarden_secret_redis_port" {
|
||||
for_each = { for key, value in var.kubernetes : key => value if value.redis != null && value.enabled == true }
|
||||
key = "${each.key}__redis__port"
|
||||
project_id = "b5fc4c48-e951-442f-97ca-b3e800c143cd"
|
||||
value = try(each.value.redis.port, 5432)
|
||||
}
|
||||
|
||||
##
|
||||
## Commenting until I use the redis password option
|
||||
##
|
||||
#resource "bitwarden-secrets_secret" "automatic_bitwarden_secret_redis_password" {
|
||||
# for_each = { for key, value in var.kubernetes : key => value if value.redis != null && value.enabled == true }
|
||||
# key = "${each.key}__redis__password"
|
||||
# project_id = "b5fc4c48-e951-442f-97ca-b3e800c143cd"
|
||||
# length = 32
|
||||
# special = true
|
||||
# min_special = 5
|
||||
# avoid_ambiguous = true
|
||||
#}
|
||||
|
||||
resource "bitwarden-secrets_secret" "automatic_bitwarden_secret_redis_REPLICATION_MODE" {
|
||||
for_each = { for key, value in var.kubernetes : key => value if value.redis != null && value.enabled == true }
|
||||
key = "${each.key}__redis__REPLICATION_MODE"
|
||||
project_id = "b5fc4c48-e951-442f-97ca-b3e800c143cd"
|
||||
value = try(each.value.redis.REPLICATION_MODE, "master")
|
||||
}
|
||||
|
||||
resource "bitwarden-secrets_secret" "automatic_bitwarden_secret_redis_TLS_ENABLED" {
|
||||
for_each = { for key, value in var.kubernetes : key => value if value.redis != null && value.enabled == true }
|
||||
key = "${each.key}__redis__TLS_ENABLED"
|
||||
project_id = "b5fc4c48-e951-442f-97ca-b3e800c143cd"
|
||||
value = try(each.value.redis.TLS_ENABLED, "no")
|
||||
}
|
||||
|
||||
resource "kubernetes_secret_v1" "automatic-redis-secret" {
|
||||
for_each = { for key, value in var.kubernetes : key => value if value.redis != null && value.enabled == true }
|
||||
metadata {
|
||||
name = "${each.key}-redis-terraform"
|
||||
namespace = coalesce(each.value.namespace, each.value.connected_namespace, each.key)
|
||||
}
|
||||
|
||||
data = {
|
||||
REDIS_HOSTNAME = "${resource.bitwarden-secrets_secret.automatic_bitwarden_secret_redis_host[each.key].value}"
|
||||
REDIS_PORT = "${resource.bitwarden-secrets_secret.automatic_bitwarden_secret_redis_port[each.key].value}"
|
||||
REDIS_REPLICATION_MODE = "${resource.bitwarden-secrets_secret.automatic_bitwarden_secret_redis_REPLICATION_MODE[each.key].value}"
|
||||
REDIS_TLS_ENABLED = "${resource.bitwarden-secrets_secret.automatic_bitwarden_secret_redis_TLS_ENABLED[each.key].value}"
|
||||
}
|
||||
|
||||
}
|
||||
+5622
-4884
File diff suppressed because one or more lines are too long
+5628
-4987
File diff suppressed because one or more lines are too long
@@ -1350,10 +1350,10 @@ kubernetes = {
|
||||
#enabled = false
|
||||
#replicas = 0
|
||||
connected_namespace = "immich"
|
||||
image = "ghcr.io/immich-app/immich-server:v2.5.6"
|
||||
image = "ghcr.io/immich-app/immich-server:v3.0.0"
|
||||
service_port = [2283]
|
||||
database = {
|
||||
image = "docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0"
|
||||
image = "ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0"
|
||||
mountPath = "/var/lib/postgresql/data"
|
||||
}
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user