add finance app module

This commit is contained in:
viktorbarzin 2023-03-06 18:56:00 +02:00
parent 490ad43963
commit 99d0c412a9
4 changed files with 92 additions and 0 deletions

View file

@ -48,6 +48,8 @@ variable "monitoring_idrac_password" {}
variable "alertmanager_slack_api_url" {}
variable "home_assistant_configuration" {}
variable "shadowsocks_password" {}
variable "finance_app_monzo_client_id" {}
variable "finance_app_monzo_client_secret" {}
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"
@ -243,4 +245,8 @@ module "kubernetes_cluster" {
# shadowsocks
shadowsocks_password = var.shadowsocks_password
# finance app
finance_app_monzo_client_id = var.finance_app_monzo_client_id
finance_app_monzo_client_secret = var.finance_app_monzo_client_secret
}

View file

@ -0,0 +1,77 @@
variable "tls_secret_name" {}
variable "monzo_client_id" {}
variable "monzo_client_secret" {}
resource "kubernetes_namespace" "finance_app" {
metadata {
name = "finance-app"
}
}
module "tls_secret" {
source = "../setup_tls_secret"
namespace = "finance-app"
tls_secret_name = var.tls_secret_name
}
resource "kubernetes_deployment" "finance_app" {
metadata {
name = "finance-app"
namespace = "finance-app"
labels = {
app = "finance-app"
}
}
spec {
replicas = 2
selector {
match_labels = {
app = "finance-app"
}
}
template {
metadata {
labels = {
app = "finance-app"
}
}
spec {
container {
image = "viktorbarzin/finance-app"
name = "finance-app"
env {
name = "MONZO_CLIENT_ID"
value = var.monzo_client_id
}
env {
name = "MONZO_CLIENT_SECRET"
value = var.monzo_client_secret
}
}
}
}
}
}
resource "kubernetes_service" "finance_app" {
metadata {
name = "finance-app"
namespace = "finance-app"
labels = {
app = "finance-app"
}
}
spec {
selector = {
app = "finance-app"
}
port {
name = "http"
port = "8000"
}
}
}

View file

@ -36,6 +36,8 @@ variable "idrac_password" {}
variable "alertmanager_slack_api_url" {}
variable "home_assistant_configuration" {}
variable "shadowsocks_password" {}
variable "finance_app_monzo_client_id" {}
variable "finance_app_monzo_client_secret" {}
resource "null_resource" "core_services" {
# List all the core modules that must be provisioned first
@ -247,3 +249,10 @@ module "home_assistant" {
client_certificate_secret_name = var.client_certificate_secret_name
configuration_yaml = var.home_assistant_configuration
}
module "finance_app" {
source = "./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
}

Binary file not shown.