diff --git a/k8s/backup/job-gdrive-to-gphotos.yaml b/k8s/backup/job-gdrive-to-gphotos.yaml index 9608dfc..bc7fd55 100644 --- a/k8s/backup/job-gdrive-to-gphotos.yaml +++ b/k8s/backup/job-gdrive-to-gphotos.yaml @@ -25,4 +25,5 @@ spec: configMap: name: rclone-gdrive-config restartPolicy: Never - backoffLimit: 100 + activeDeadlineSeconds: 86400 + backoffLimit: 3 diff --git a/k8s/coder/bitnami_postgresql.secret.yaml b/k8s/coder/bitnami_postgresql.secret.yaml index f816832..e212c77 100644 Binary files a/k8s/coder/bitnami_postgresql.secret.yaml and b/k8s/coder/bitnami_postgresql.secret.yaml differ diff --git a/k8s/openclaw/cronjob-wiki-backup.secret.yaml b/k8s/openclaw/cronjob-wiki-backup.secret.yaml index af091d5..ed40990 100644 Binary files a/k8s/openclaw/cronjob-wiki-backup.secret.yaml and b/k8s/openclaw/cronjob-wiki-backup.secret.yaml differ diff --git a/k8s/web/moritzgrafde.yaml b/k8s/web/moritzgrafde.yaml index a02d55c..242b43f 100644 --- a/k8s/web/moritzgrafde.yaml +++ b/k8s/web/moritzgrafde.yaml @@ -41,25 +41,28 @@ spec: selector: app: moritzgrafde --- -apiVersion: extensions/v1beta1 +apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: moritzgrafde namespace: web annotations: - kubernetes.io/ingress.class: "nginx" - nginx.ingress.kubernetes.io/force-ssl-redirect: "true" cert-manager.io/cluster-issuer: "letsencrypt-prod" + nginx.ingress.kubernetes.io/force-ssl-redirect: "true" spec: + ingressClassName: traefik tls: - - hosts: - - "moritzgraf.de" - secretName: moritzgraf-de + - hosts: + - "moritzgraf.de" + secretName: moritzgraf-de rules: - - host: moritzgraf.de - http: - paths: - - path: / - backend: - serviceName: moritzgrafde - servicePort: 80 + - host: moritzgraf.de + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: moritzgrafde + port: + number: 80 diff --git a/terraform/ovh.tf b/terraform/ovh.tf index b362126..94f560c 100644 --- a/terraform/ovh.tf +++ b/terraform/ovh.tf @@ -115,6 +115,14 @@ resource "ovh_domain_zone_record" "haumdaucher_wildcard_domain" { target = "136.243.23.215" } +resource "ovh_domain_zone_record" "moritzgraf_domain" { + zone = "moritzgraf.de" + subdomain = "" + fieldtype = "A" + ttl = local.ttl + target = "136.243.23.215" +} + resource "ovh_domain_zone_record" "moritzgraf_wildcard_domain" { zone = "moritzgraf.de" subdomain = "*" diff --git a/terraform/terraform.tfstate b/terraform/terraform.tfstate index 99d4e7b..b96e49c 100644 --- a/terraform/terraform.tfstate +++ b/terraform/terraform.tfstate @@ -1,7 +1,7 @@ { "version": 4, "terraform_version": "1.14.3", - "serial": 403, + "serial": 405, "lineage": "8aff5d23-05f6-10eb-0ae6-1084c787677e", "outputs": { "coder_oauth_client_secret": { @@ -4242,6 +4242,28 @@ } ] }, + { + "mode": "managed", + "type": "ovh_domain_zone_record", + "name": "moritzgraf_domain", + "provider": "provider[\"registry.terraform.io/ovh/ovh\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "fieldtype": "A", + "id": "5436150587", + "subdomain": "", + "target": "136.243.23.215", + "ttl": 60, + "zone": "moritzgraf.de" + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "bnVsbA==" + } + ] + }, { "mode": "managed", "type": "ovh_domain_zone_record", diff --git a/terraform/terraform.tfstate.backup b/terraform/terraform.tfstate.backup index 3739c43..99d4e7b 100644 --- a/terraform/terraform.tfstate.backup +++ b/terraform/terraform.tfstate.backup @@ -1,7 +1,7 @@ { "version": 4, "terraform_version": "1.14.3", - "serial": 394, + "serial": 403, "lineage": "8aff5d23-05f6-10eb-0ae6-1084c787677e", "outputs": { "coder_oauth_client_secret": { @@ -38,6 +38,16 @@ "value": "openclaw-calendar@octobot-486812.iam.gserviceaccount.com", "type": "string" }, + "openclaw_google_maps_api_key": { + "value": "AIzaSyDiV8UJ6Lytr0rwuGZcObhjFiSY5Rvm03c", + "type": "string", + "sensitive": true + }, + "openclaw_youtube_api_key": { + "value": "AIzaSyA3tUGk95e24p5pgHuniXkbqDCd5tVITOk", + "type": "string", + "sensitive": true + }, "velero_backup_sa_email": { "value": "velero-backup-sa@velero-backup-dc8c8f74.iam.gserviceaccount.com", "type": "string" @@ -2704,6 +2714,117 @@ } ] }, + { + "mode": "managed", + "type": "google_apikeys_key", + "name": "openclaw_google_maps_key", + "provider": "provider[\"registry.terraform.io/hashicorp/google\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "display_name": "OpenClaw Google Maps API Key", + "id": "projects/octobot-486812/locations/global/keys/openclaw-google-maps-key", + "key_string": "AIzaSyDiV8UJ6Lytr0rwuGZcObhjFiSY5Rvm03c", + "name": "openclaw-google-maps-key", + "project": "octobot-486812", + "restrictions": [ + { + "android_key_restrictions": [], + "api_targets": [ + { + "methods": null, + "service": "places.googleapis.com" + }, + { + "methods": null, + "service": "routes.googleapis.com" + }, + { + "methods": null, + "service": "geocoding-backend.googleapis.com" + }, + { + "methods": null, + "service": "static-maps-backend.googleapis.com" + } + ], + "browser_key_restrictions": [], + "ios_key_restrictions": [], + "server_key_restrictions": [] + } + ], + "timeouts": null, + "uid": "45904264-9b7f-4004-b46a-df8cf2ee87fa" + }, + "sensitive_attributes": [ + [ + { + "type": "get_attr", + "value": "key_string" + } + ] + ], + "identity_schema_version": 0, + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH19", + "dependencies": [ + "google_project_service.apikeys_api", + "google_project_service.geocoding_api", + "google_project_service.places_api", + "google_project_service.routes_api", + "google_project_service.static_maps_api" + ] + } + ] + }, + { + "mode": "managed", + "type": "google_apikeys_key", + "name": "openclaw_youtube_key", + "provider": "provider[\"registry.terraform.io/hashicorp/google\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "display_name": "OpenClaw YouTube API Key", + "id": "projects/octobot-486812/locations/global/keys/openclaw-youtube-key", + "key_string": "AIzaSyA3tUGk95e24p5pgHuniXkbqDCd5tVITOk", + "name": "openclaw-youtube-key", + "project": "octobot-486812", + "restrictions": [ + { + "android_key_restrictions": [], + "api_targets": [ + { + "methods": null, + "service": "youtube.googleapis.com" + } + ], + "browser_key_restrictions": [], + "ios_key_restrictions": [], + "server_key_restrictions": [] + } + ], + "timeouts": null, + "uid": "698b6db2-22a7-4caa-a728-10654289afa0" + }, + "sensitive_attributes": [ + [ + { + "type": "get_attr", + "value": "key_string" + } + ] + ], + "identity_schema_version": 0, + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH19", + "dependencies": [ + "google_project_service.apikeys_api", + "google_project_service.youtube_api" + ] + } + ] + }, { "mode": "managed", "type": "google_project", @@ -2802,6 +2923,28 @@ } ] }, + { + "mode": "managed", + "type": "google_project_service", + "name": "apikeys_api", + "provider": "provider[\"registry.terraform.io/hashicorp/google\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "disable_dependent_services": null, + "disable_on_destroy": false, + "id": "octobot-486812/apikeys.googleapis.com", + "project": "octobot-486812", + "service": "apikeys.googleapis.com", + "timeouts": null + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInJlYWQiOjYwMDAwMDAwMDAwMCwidXBkYXRlIjoxMjAwMDAwMDAwMDAwfX0=" + } + ] + }, { "mode": "managed", "type": "google_project_service", @@ -2850,6 +2993,28 @@ } ] }, + { + "mode": "managed", + "type": "google_project_service", + "name": "geocoding_api", + "provider": "provider[\"registry.terraform.io/hashicorp/google\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "disable_dependent_services": null, + "disable_on_destroy": false, + "id": "octobot-486812/geocoding-backend.googleapis.com", + "project": "octobot-486812", + "service": "geocoding-backend.googleapis.com", + "timeouts": null + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInJlYWQiOjYwMDAwMDAwMDAwMCwidXBkYXRlIjoxMjAwMDAwMDAwMDAwfX0=" + } + ] + }, { "mode": "managed", "type": "google_project_service", @@ -2872,6 +3037,94 @@ } ] }, + { + "mode": "managed", + "type": "google_project_service", + "name": "places_api", + "provider": "provider[\"registry.terraform.io/hashicorp/google\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "disable_dependent_services": null, + "disable_on_destroy": false, + "id": "octobot-486812/places.googleapis.com", + "project": "octobot-486812", + "service": "places.googleapis.com", + "timeouts": null + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInJlYWQiOjYwMDAwMDAwMDAwMCwidXBkYXRlIjoxMjAwMDAwMDAwMDAwfX0=" + } + ] + }, + { + "mode": "managed", + "type": "google_project_service", + "name": "routes_api", + "provider": "provider[\"registry.terraform.io/hashicorp/google\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "disable_dependent_services": null, + "disable_on_destroy": false, + "id": "octobot-486812/routes.googleapis.com", + "project": "octobot-486812", + "service": "routes.googleapis.com", + "timeouts": null + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInJlYWQiOjYwMDAwMDAwMDAwMCwidXBkYXRlIjoxMjAwMDAwMDAwMDAwfX0=" + } + ] + }, + { + "mode": "managed", + "type": "google_project_service", + "name": "static_maps_api", + "provider": "provider[\"registry.terraform.io/hashicorp/google\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "disable_dependent_services": null, + "disable_on_destroy": false, + "id": "octobot-486812/static-maps-backend.googleapis.com", + "project": "octobot-486812", + "service": "static-maps-backend.googleapis.com", + "timeouts": null + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInJlYWQiOjYwMDAwMDAwMDAwMCwidXBkYXRlIjoxMjAwMDAwMDAwMDAwfX0=" + } + ] + }, + { + "mode": "managed", + "type": "google_project_service", + "name": "youtube_api", + "provider": "provider[\"registry.terraform.io/hashicorp/google\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "disable_dependent_services": null, + "disable_on_destroy": false, + "id": "octobot-486812/youtube.googleapis.com", + "project": "octobot-486812", + "service": "youtube.googleapis.com", + "timeouts": null + }, + "sensitive_attributes": [], + "identity_schema_version": 0, + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInJlYWQiOjYwMDAwMDAwMDAwMCwidXBkYXRlIjoxMjAwMDAwMDAwMDAwfX0=" + } + ] + }, { "mode": "managed", "type": "google_service_account",