fix(dns,k8s): add moritzgraf.de apex A record, modernize ingress, and resolve cluster alerts
- terraform: add ovh_domain_zone_record.moritzgraf_domain pointing to cluster IP - k8s/web: modernize Ingress to networking.k8s.io/v1 with traefik class and auto-renew TLS certificate - k8s/backup: set activeDeadlineSeconds and backoffLimit: 3 on gdrive-to-gphotos, clean dead pods - k8s/openclaw: set failedJobsHistoryLimit: 1 on wiki backup cronjob and purge stale failed job - k8s/coder: increase postgresql CPU limit to 500m to eliminate CFS CPU throttling
This commit is contained in:
@@ -25,4 +25,5 @@ spec:
|
||||
configMap:
|
||||
name: rclone-gdrive-config
|
||||
restartPolicy: Never
|
||||
backoffLimit: 100
|
||||
activeDeadlineSeconds: 86400
|
||||
backoffLimit: 3
|
||||
|
||||
Binary file not shown.
Binary file not shown.
+16
-13
@@ -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
|
||||
|
||||
@@ -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 = "*"
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user