@@ -34,84 +34,3 @@ resource "google_project_service" "apis" {
3434 service = each. value
3535 disable_on_destroy = false
3636}
37-
38- resource "google_artifact_registry_repository" "repo" {
39- location = var. google_region
40- repository_id = " lan-checker-repo"
41- description = " Docker repository for the Home LAN Checker"
42- format = " DOCKER"
43- depends_on = [google_project_service . apis ]
44- }
45-
46- resource "google_cloud_run_v2_service" "checker" {
47- name = " home-lan-checker"
48- location = var. google_region
49- template {
50- service_account = google_service_account. cloudrun . email
51- scaling {
52- min_instance_count = 0
53- max_instance_count = 1
54- }
55- max_instance_request_concurrency = 1
56- containers {
57- image = " us-docker.pkg.dev/cloudrun/container/hello"
58- resources {
59- limits = {
60- cpu = " 1000m"
61- memory = " 256Mi"
62- }
63- cpu_idle = true
64- }
65- env {
66- name = " HOME_LAN_ENDPOINT"
67- value_source {
68- secret_key_ref {
69- secret = " home-lan-endpoint"
70- version = " latest"
71- }
72- }
73- }
74- env {
75- name = " TS_AUTHKEY"
76- value_source {
77- secret_key_ref {
78- secret = " tailscale-auth-key"
79- version = " latest"
80- }
81- }
82- }
83- env {
84- name = " TS_HOSTNAME"
85- value = " gcp-health-checker"
86- }
87- env {
88- name = " TS_SOCKS5_SERVER"
89- value = " localhost:1055"
90- }
91- }
92- }
93- lifecycle { ignore_changes = [template [0 ]. containers [0 ]. image ] }
94- depends_on = [
95- google_project_service . apis ,
96- google_secret_manager_secret_iam_member . cloudrun_home_lan_endpoint ,
97- google_secret_manager_secret_iam_member . cloudrun_tailscale_auth_key ,
98- ]
99- }
100-
101- resource "google_cloud_scheduler_job" "cron" {
102- depends_on = [google_project_service . apis ]
103- name = " trigger-lan-check"
104- region = " europe-west1"
105- description = " Pings the home LAN every 5 minutes"
106- schedule = " */5 * * * *"
107- time_zone = " UTC"
108- attempt_deadline = " 30s"
109- http_target {
110- http_method = " GET"
111- uri = google_cloud_run_v2_service. checker . uri
112- oidc_token {
113- service_account_email = google_service_account. cloudrun . email
114- audience = " ${ google_cloud_run_v2_service . checker . uri } /"
115- }
116- }
117- }
0 commit comments