Personal Homelab
1variable "bws_access_token" {
2 description = "Bitwarden Secrets CLI access token"
3 type = string
4 sensitive = true
5}
6
7variable "proxmox_config" {
8 description = "Proxmox credentials"
9 type = object({
10 host = string
11 password_secret_id = string
12 })
13}
14
15variable "containers_config" {
16 description = "Shared configuration"
17 type = object({
18 email = string
19 base_domain = string
20 ews_domain = string
21 })
22}
23
24variable "containers_secret_config" {
25 description = "Quadlet Ssecret"
26 type = map(string)
27 default = {
28 traefik_cf_dns_api_token = "e9e0f0f0-abc8-4bde-b05f-b292018179bb"
29 vmauth_traefik_bearer_token = "fba802cf-948f-4ff7-8965-b29f00e2da48"
30 vmauth_proxmox_bearer_token = "bb281df0-e5e8-4348-a92e-b2a300a30117"
31 oauth2_proxy_cookie_secret = "289c0832-27c2-463b-97b7-b29200a8cebd"
32 oauth2_proxy_client_secret = "afdb8ef2-a3d4-4a17-b839-b29200ab6f87"
33 pocket_id_maxmind_license_key = "08c549a4-bf48-4998-8cb0-b29200ac845d"
34 actual_budget_openid_client_secret = "5754702b-d9d5-4127-b5ab-b29200abdd6a"
35 open_webui_secret_key = "aeeb7cdd-d10e-41d4-abb4-b33300dabc1a"
36 open_webui_oauth_client_secret = "b595040b-a23a-44af-8bff-b29200ad6258"
37 open_webui_google_drive_api_key = "d24bf77b-622d-4ef0-88ae-b2b200d67ee1"
38 open_webui_anthropic_api_key = "104a349b-a4be-4d3a-9c0b-b2c700e64c9a"
39 open_webui_google_api_key = "3016f3ef-c14c-4f4c-8439-b2c700e62f21"
40 open_webui_openai_api_key = "24fd45e2-0fd3-42cd-8fd5-b2c700e66731"
41 karakeep_oauth_client_secret = "784d379b-bcaf-424f-bc77-b29500ff1be6"
42 karakeep_openai_api_key = "98f5ccdf-d4b1-4883-b4e3-b295010ba589"
43 meili_master_key = "a67874c5-95c2-4f7a-b335-b295010010e0"
44 nextauth_secret = "94b4b746-f005-46e0-b60a-b29501010c06"
45 immich_postgres_password = "386f1adc-878f-4755-a06b-b29700b15cd0"
46 immich_map_key = "b5735614-bc05-441d-a2e2-b29800d3b25c"
47 miniflux_postgres_password = "1c6a587e-9dda-47de-953a-b29a01697231"
48 miniflux_database_url = "456f8488-cdeb-4246-959d-b29a016be9ac"
49 miniflux_oauth2_client_secret = "3bb3cedd-1ee4-4624-b865-b29a016c2318"
50 pds_jwt_secret = "b9dfaefd-3083-4e2f-a23f-b29a017db774"
51 pds_admin_password = "00e810b5-6d8b-4342-8189-b29a017dca5e"
52 pds_plc_rotation_key_k256_private_key_hex = "e0825e62-8d49-4b4a-99cd-b29a017def90"
53 pds_email_smtp_url = "5a940d99-28cb-4792-9825-b29a017e11ad"
54 outline_secret_key = "501e040c-5574-4058-a0c0-b29d01010c09"
55 outline_utils_secret = "b032948f-bce3-46bb-bd26-b29d01012dde"
56 outline_database_url = "5887f243-6332-4041-8457-b29d0104be2e"
57 outline_postgres_password = "4212e3a7-acd3-4804-ac0e-b29d01015850"
58 outline_oidc_client_secret = "9c8cae9a-db6d-45d0-8cc0-b29d0101844c"
59 outline_smtp_password = "5fdbfb32-257e-4cc3-8b07-b29d01063ba6"
60 grafana_oauth2_client_secret = "697cf367-a80c-41f6-b975-b2a200a986d8"
61 glance_github_token = "de3353d8-09d9-4063-b513-b2a3008cc2c9"
62 tangled_knot_server_secret = "a58caac0-1c07-4152-89e6-b2a900c8fe8f"
63 forward_info_bot_telegram_token = "f8eda775-f945-4eb8-b48a-b2b80092cf54"
64 restic_aws_access_key_id = "2743cf63-05ae-45b4-997f-b2c700dfabef"
65 restic_aws_secret_access_key = "134279a9-b3ee-4309-ae9e-b2c700dfe86c"
66 restic_b2_account_id = "3e058bd3-e13d-4b6a-9d48-b2c700e00d62"
67 restic_b2_account_key = "ddc2f07b-47ca-49b2-ae41-b2c700e02f01"
68 restic_password = "52ce5eb2-98ae-4243-ba08-b2c700e04b7e"
69 opencloud_collabora_password = "bced1168-9741-4b8e-abf4-b2d4000e2c9e"
70 opencloud_smtp_password = "5e0889ac-3b11-4fc4-81ca-b2d400170e85"
71 simplex_smp_pass = "ebc8a3cb-4b85-44d6-b61c-b33800e45456"
72 simplex_xftp_pass = "c6feec9d-2622-4322-acbf-b338013f79e9"
73 tuwunel_registration_token = "92e470e2-c88e-43d3-ae0c-b3570039c4c9"
74 coturn_turn_shared_secret = "5b69585c-03e8-454f-94e0-b357000002d4"
75 matrix_postgres_password = "d2ea9e75-f3bc-4e3d-a07c-b37b0147a20a"
76 synapse_postgres_password = "2209bd8d-f6a7-43e0-afa8-b37a00bbfd2c"
77 synapse_registration_shared_secret = "9dab9863-5dac-4748-a1fc-b37a0145f7f1"
78 synapse_macaroon_secret_key = "cfa20ae3-8103-46be-a129-b37a014627aa"
79 synapse_form_secret = "c11840ef-11f0-40c7-a08e-b37a0146564f"
80 synapse_oidc_client_secret = "6e0f179f-631c-480c-b9ec-b37a0146e95c"
81 matrix_rtc_livekit_key = "5c336187-6139-413b-bbf1-b37a01588b03"
82 matrix_rtc_livekit_secret = "a24e0995-d297-4c23-849f-b37a0158a5d4"
83 matrix_authentication_service_postgres_password = "d2ea9e75-f3bc-4e3d-a07c-b37b0147a20a"
84 matrix_authentication_service_secret = "bcaa7f79-c9fc-4448-9c79-b37a016954f5"
85 matrix_authentication_service_secrets_encryption = "012d8da3-3f7c-471a-b9cb-b37b0001dc1b"
86 matrix_authentication_service_secrets_rsa_key = "c2c1d0d3-1c80-4c36-961e-b37b000049ca"
87 matrix_authentication_service_secrets_p256_key = "8a19b557-c518-43f7-90a8-b37b0000b7c6"
88 matrix_authentication_service_secrets_p384_key = "557701bc-7430-4dc8-98ae-b37b0000e3c1"
89 matrix_authentication_service_secrets_secp256k1_key = "a6624b6b-1f2c-4883-94dd-b37b00010dc9"
90 matrix_authentication_service_smtp_password = "e25452b1-480c-4581-b407-b37b00042943"
91 }
92}
93
94variable "fcos_config" {
95 description = "Fedora CoreOS Configuration"
96 type = object({
97 hostname = string
98 ssh_keys = list(string)
99 root_ca = string
100
101 mac_address = string
102 ip = string
103 gateway = string
104 mask = string
105 nameserver = string
106
107 truenas_ip = string
108 truenas_iqn = string
109
110 # To sync configs afterwards
111 ssh_private_key_path = string
112 })
113}