[ci skip] add blotting book repo
This commit is contained in:
parent
67f5e875f0
commit
abfddfbab1
2 changed files with 107 additions and 1 deletions
|
|
@ -149,7 +149,7 @@ locals {
|
||||||
"url", "excalidraw", "travel_blog", "dashy", "send", "ytdlp", "wealthfolio", "rybbit", "stirling-pdf",
|
"url", "excalidraw", "travel_blog", "dashy", "send", "ytdlp", "wealthfolio", "rybbit", "stirling-pdf",
|
||||||
"networking-toolbox", "navidrome", "freshrss", "forgejo", "tor-proxy", "real-estate-crawler", "n8n",
|
"networking-toolbox", "navidrome", "freshrss", "forgejo", "tor-proxy", "real-estate-crawler", "n8n",
|
||||||
"changedetection", "linkwarden", "matrix", "homepage", "meshcentral", "diun", "cyberchef", "ntfy", "ollama",
|
"changedetection", "linkwarden", "matrix", "homepage", "meshcentral", "diun", "cyberchef", "ntfy", "ollama",
|
||||||
"servarr", "jsoncrack", "paperless-ngx", "frigate", "audiobookshelf", "tandoor", "ebook2audiobook", "netbox", "speedtest", "resume", "freedify", "mcaptcha", "affine"
|
"servarr", "jsoncrack", "paperless-ngx", "frigate", "audiobookshelf", "tandoor", "ebook2audiobook", "netbox", "speedtest", "resume", "freedify", "mcaptcha", "affine", "plotting-book"
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
active_modules = distinct(flatten([
|
active_modules = distinct(flatten([
|
||||||
|
|
@ -1082,3 +1082,12 @@ module "affine" {
|
||||||
|
|
||||||
depends_on = [null_resource.core_services]
|
depends_on = [null_resource.core_services]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
module "plotting-book" {
|
||||||
|
source = "./plotting-book"
|
||||||
|
for_each = contains(local.active_modules, "plotting-book") ? { plotting-book = true } : {}
|
||||||
|
tls_secret_name = var.tls_secret_name
|
||||||
|
tier = local.tiers.aux
|
||||||
|
|
||||||
|
depends_on = [null_resource.core_services]
|
||||||
|
}
|
||||||
|
|
|
||||||
97
modules/kubernetes/plotting-book/main.tf
Normal file
97
modules/kubernetes/plotting-book/main.tf
Normal file
|
|
@ -0,0 +1,97 @@
|
||||||
|
variable "tls_secret_name" {}
|
||||||
|
variable "tier" { type = string }
|
||||||
|
|
||||||
|
resource "kubernetes_namespace" "plotting-book" {
|
||||||
|
metadata {
|
||||||
|
name = "plotting-book"
|
||||||
|
labels = {
|
||||||
|
"istio-injection" : "disabled"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module "tls_secret" {
|
||||||
|
source = "../setup_tls_secret"
|
||||||
|
namespace = kubernetes_namespace.plotting-book.metadata[0].name
|
||||||
|
tls_secret_name = var.tls_secret_name
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "kubernetes_deployment" "plotting-book" {
|
||||||
|
metadata {
|
||||||
|
name = "plotting-book"
|
||||||
|
namespace = kubernetes_namespace.plotting-book.metadata[0].name
|
||||||
|
labels = {
|
||||||
|
app = "plotting-book"
|
||||||
|
tier = var.tier
|
||||||
|
}
|
||||||
|
}
|
||||||
|
spec {
|
||||||
|
replicas = 1
|
||||||
|
selector {
|
||||||
|
match_labels = {
|
||||||
|
app = "plotting-book"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
template {
|
||||||
|
metadata {
|
||||||
|
labels = {
|
||||||
|
app = "plotting-book"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
spec {
|
||||||
|
container {
|
||||||
|
# image = "ancamilea/book-plotter:7"
|
||||||
|
image = "viktorbarzin/book-plotter:7"
|
||||||
|
name = "plotting-book"
|
||||||
|
port {
|
||||||
|
container_port = 3001
|
||||||
|
}
|
||||||
|
resources {
|
||||||
|
requests = {
|
||||||
|
memory = "128Mi"
|
||||||
|
cpu = "50m"
|
||||||
|
}
|
||||||
|
limits = {
|
||||||
|
memory = "512Mi"
|
||||||
|
cpu = "500m"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "kubernetes_service" "plotting-book" {
|
||||||
|
metadata {
|
||||||
|
name = "plotting-book"
|
||||||
|
namespace = kubernetes_namespace.plotting-book.metadata[0].name
|
||||||
|
labels = {
|
||||||
|
"app" = "plotting-book"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
spec {
|
||||||
|
selector = {
|
||||||
|
app = "plotting-book"
|
||||||
|
}
|
||||||
|
port {
|
||||||
|
name = "http"
|
||||||
|
port = 80
|
||||||
|
target_port = 3001
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module "ingress" {
|
||||||
|
source = "../ingress_factory"
|
||||||
|
namespace = kubernetes_namespace.plotting-book.metadata[0].name
|
||||||
|
name = "plotting-book"
|
||||||
|
tls_secret_name = var.tls_secret_name
|
||||||
|
|
||||||
|
additional_configuration_snippet = <<-EOF
|
||||||
|
# Override CSP to allow data: URIs and blob: for database/workers
|
||||||
|
proxy_hide_header Content-Security-Policy;
|
||||||
|
add_header Content-Security-Policy "default-src 'self' blob: data:; img-src 'self' data: blob:; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval' blob:; worker-src 'self' blob:; connect-src 'self' blob:; frame-ancestors 'self' *.viktorbarzin.me viktorbarzin.me" always;
|
||||||
|
EOF
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue