add persistent sotrage for finance app [ci skip]

This commit is contained in:
viktorbarzin 2023-03-06 19:49:13 +02:00
parent 787717ab9f
commit 163e878065
No known key found for this signature in database
GPG key ID: 0EB088298288D958
5 changed files with 61 additions and 0 deletions

View file

@ -50,6 +50,7 @@ variable "home_assistant_configuration" {}
variable "shadowsocks_password" {}
variable "finance_app_monzo_client_id" {}
variable "finance_app_monzo_client_secret" {}
variable "finance_app_sqlite_db_path" {}
variable "ansible_prefix" {
default = "ANSIBLE_VAULT_PASSWORD_FILE=~/.ansible/vault_pass.txt ansible-playbook -i playbook/hosts.yaml playbook/linux.yml -t linux/initial_setup"
@ -249,4 +250,5 @@ module "kubernetes_cluster" {
# finance app
finance_app_monzo_client_id = var.finance_app_monzo_client_id
finance_app_monzo_client_secret = var.finance_app_monzo_client_secret
finance_app_sqlite_db_path = var.finance_app_sqlite_db_path
}

View file

@ -1,6 +1,7 @@
variable "tls_secret_name" {}
variable "monzo_client_id" {}
variable "monzo_client_secret" {}
variable "sqlite_db_path" {}
resource "kubernetes_namespace" "finance_app" {
@ -16,6 +17,40 @@ module "tls_secret" {
tls_secret_name = var.tls_secret_name
}
# resource "kubernetes_persistent_volume" "finance_app_pv" {
# metadata {
# name = "finance-app-iscsi-pv"
# }
# spec {
# capacity = {
# "storage" = "5G"
# }
# access_modes = ["ReadWriteOnce"]
# persistent_volume_source {
# iscsi {
# target_portal = "iscsi.viktorbarzin.lan:3260"
# iqn = "iqn.2020-12.lan.viktorbarzin:storage:finance-app"
# lun = 0
# fs_type = "ext4"
# }
# }
# }
# }
# resource "kubernetes_persistent_volume_claim" "finance_app_pvc" {
# metadata {
# name = "finance-iscsi-pvc"
# namespace = "finance-app"
# }
# spec {
# access_modes = ["ReadWriteOnce"]
# resources {
# requests = {
# "storage" = "5Gi"
# }
# }
# }
# }
resource "kubernetes_deployment" "finance_app" {
metadata {
name = "finance-app"
@ -26,6 +61,9 @@ resource "kubernetes_deployment" "finance_app" {
}
spec {
replicas = 1
strategy {
type = "Recreate"
}
selector {
match_labels = {
app = "finance-app"
@ -50,6 +88,25 @@ resource "kubernetes_deployment" "finance_app" {
name = "MONZO_CLIENT_SECRET"
value = var.monzo_client_secret
}
env {
name = "SQLITE_DB_PATH"
value = var.sqlite_db_path
}
volume_mount {
name = "data"
mount_path = "/data"
# sub_path = ""
}
}
volume {
name = "data"
iscsi {
target_portal = "iscsi.viktorbarzin.lan:3260"
fs_type = "ext4"
iqn = "iqn.2020-12.lan.viktorbarzin:storage:finance-app"
lun = 0
read_only = false
}
}
}
}

View file

@ -38,6 +38,7 @@ variable "home_assistant_configuration" {}
variable "shadowsocks_password" {}
variable "finance_app_monzo_client_id" {}
variable "finance_app_monzo_client_secret" {}
variable "finance_app_sqlite_db_path" {}
resource "null_resource" "core_services" {
# List all the core modules that must be provisioned first
@ -255,4 +256,5 @@ module "finance_app" {
tls_secret_name = var.tls_secret_name
monzo_client_id = var.finance_app_monzo_client_id
monzo_client_secret = var.finance_app_monzo_client_secret
sqlite_db_path = var.finance_app_sqlite_db_path
}

Binary file not shown.

Binary file not shown.