@@ -20,9 +20,6 @@ locals {
2020 project_id = " k8s-infra-releases-prod"
2121}
2222
23- data "google_storage_transfer_project_service_account" "default" {
24- project = google_project. project . project_id
25- }
2623
2724resource "google_project" "project" {
2825 name = local. project_id
@@ -49,72 +46,3 @@ resource "google_storage_hmac_key" "fastly_reader_key" {
4946 service_account_email = google_service_account. fastly_reader . email
5047}
5148
52- resource "google_storage_bucket_iam_member" "gcs-backup-bucket" {
53- bucket = module. k8s_releases_prod . bucket_name
54- role = " roles/storage.admin"
55- member = " serviceAccount:${ data . google_storage_transfer_project_service_account . default . email } "
56- depends_on = [module . k8s_releases_prod ]
57- }
58-
59- resource "google_pubsub_topic" "topic" {
60- project = google_project. project . project_id
61- name = var. pubsub_topic_name
62- }
63-
64- resource "google_pubsub_topic_iam_member" "notification_config" {
65- project = google_project. project . project_id
66- topic = google_pubsub_topic. topic . id
67- role = " roles/pubsub.publisher"
68- member = " serviceAccount:${ data . google_storage_transfer_project_service_account . default . email } "
69- }
70-
71- resource "google_storage_transfer_job" "kubernetes_release_backup" {
72- description = " Daily backup of GCS bucket gs://kubernetes-release"
73- project = google_project. project . project_id
74-
75- transfer_spec {
76- object_conditions {
77- max_time_elapsed_since_last_modification = " 600s"
78- }
79-
80- transfer_options {
81- delete_objects_unique_in_sink = false
82- }
83-
84- gcs_data_source {
85- bucket_name = " kubernetes-release"
86- path = " release/"
87- }
88-
89- gcs_data_sink {
90- bucket_name = module. k8s_releases_prod . bucket_name
91- path = " release/"
92- }
93- }
94-
95- schedule {
96- schedule_start_date {
97- year = 2023
98- month = 10
99- day = 30
100- }
101- start_time_of_day {
102- hours = 17
103- minutes = 33
104- seconds = 0
105- nanos = 0
106- }
107- repeat_interval = " 86400s" # 1 day
108- }
109-
110- notification_config {
111- pubsub_topic = google_pubsub_topic. topic . id
112- event_types = [
113- " TRANSFER_OPERATION_SUCCESS" ,
114- " TRANSFER_OPERATION_FAILED"
115- ]
116- payload_format = " JSON"
117- }
118-
119- depends_on = [module . k8s_releases_prod , google_pubsub_topic_iam_member . notification_config ]
120- }
0 commit comments