@@ -27,74 +27,125 @@ steps:
2727 " push" , "gcr.io/$PROJECT_ID/autoloader:${COMMIT_SHA}",
2828 ]
2929
30- - name : gcr.io/cloud-builders/kubectl
31- id : " Deploy the autoloader"
32- entrypoint : /bin/bash
30+ - name : gcr.io/$PROJECT_ID/gcloud-jsonnet-cbif:1.1
31+ id : " v1/Setup kubectl credentials for autoloader"
32+ args :
33+ - gcloud container clusters get-credentials
34+ --project="${PROJECT_ID}" --region="$_CLUSTER_REGION" "$_CLUSTER_NAME"
35+ env :
36+ - PROJECT_IN=mlab-sandbox,mlab-staging,mlab-oti
37+
38+ - name : gcr.io/$PROJECT_ID/gcloud-jsonnet-cbif:1.1
39+ id : " v1/Deploy the autoloader"
3340 args :
34- - -c
3541 - |-
36- sed -i -e 's/{{IMAGE_TAG}}/'${COMMIT_SHA}'/' \
37- -e 's/{{PROJECT_ID}}/'${PROJECT_ID}'/' \
38- -e 's/{{BQ_PROJECT}}/'${PROJECT_ID}'/' \
39- -e 's/{{VIEW_PROJECT}}/'$_VIEW_PROJECT'/' \
40- -e 's/{{GCS_PROJECT}}/'$_GCS_PROJECT'/' \
41- -e 's/{{MLAB_BUCKET}}/'$_MLAB_BUCKET'/' \
42- -e 's/{{BUCKETS}}/'$_BUCKETS'/' \
42+ sed -i -e 's/{{IMAGE_TAG}}/'${COMMIT_SHA}'/'
43+ -e 's/{{PROJECT_ID}}/'${PROJECT_ID}'/'
44+ -e 's/{{BQ_PROJECT}}/'${PROJECT_ID}'/'
45+ -e 's/{{VIEW_PROJECT}}/'$_VIEW_PROJECT'/'
46+ -e 's/{{GCS_PROJECT}}/'$_GCS_PROJECT'/'
47+ -e 's/{{MLAB_BUCKET}}/'$_MLAB_BUCKET'/'
48+ -e 's/{{BUCKETS}}/'$_BUCKETS'/'
4349 k8s/autoloader.yaml
44- /builder/ kubectl.bash apply -f k8s/autoloader.yaml
50+ - kubectl apply -f k8s/autoloader.yaml
4551 env :
46- - CLOUDSDK_COMPUTE_REGION=$_CLUSTER_REGION
47- - CLOUDSDK_CONTAINER_CLUSTER=$_CLUSTER_NAME
52+ - PROJECT_IN=mlab-sandbox,mlab-staging,mlab-oti
4853
49- # The "hourly" job runs every 3 hours and loads the data for the last day.
50- - name : gcr.io/cloud-builders/kubectl
51- id : " Deploy hourly job"
52- entrypoint : /bin/bash
54+ - name : gcr.io/$PROJECT_ID/gcloud-jsonnet-cbif:1.1
55+ id : " v1/Deploy cron jobs"
5356 args :
54- - -c
57+ # The "hourly" job runs every 3 hours and loads the data for the last day.
58+ - cp k8s/autoloader-cronjob.yaml.template autoloader-hourly-cronjob.yaml
5559 - |-
56- sed -e 's/{{FREQUENCY}}/hourly/' \
57- -e 's/{{CRON_SCHEDULE}}/0 *\/3 * * */' \
58- -e 's/{{VERSION}}/v1/' \
59- -e 's/{{LOAD_PERIOD}}/daily/' \
60- k8s/autoloader-cronjob.yaml.template > autoloader-hourly-cronjob.yaml
61- /builder/kubectl.bash apply -f autoloader-hourly-cronjob.yaml
60+ sed -i -e 's/{{FREQUENCY}}/hourly/'
61+ -e 's/{{CRON_SCHEDULE}}/0 *\/3 * * */'
62+ -e 's/{{VERSION}}/v1/'
63+ -e 's/{{LOAD_PERIOD}}/daily/'
64+ autoloader-hourly-cronjob.yaml
65+ # The "weekly" job runs once per month and loads the data from the last month
66+ # to the last day.
67+ - cp k8s/autoloader-cronjob.yaml.template autoloader-weekly-cronjob.yaml
68+ - |-
69+ sed -i -e 's/{{FREQUENCY}}/weekly/'
70+ -e 's/{{CRON_SCHEDULE}}/0 0 * * 0/'
71+ -e 's/{{VERSION}}/v1/'
72+ -e 's/{{LOAD_PERIOD}}/monthly/'
73+ autoloader-weekly-cronjob.yaml
74+ # The "monthly" job runs once per month and loads the data from the beginning of
75+ # the archive to the last month.
76+ - cp k8s/autoloader-cronjob.yaml.template autoloader-monthly-cronjob.yaml
77+ - |-
78+ sed -i -e 's/{{FREQUENCY}}/monthly/'
79+ -e 's/{{CRON_SCHEDULE}}/0 0 1 * */'
80+ -e 's/{{VERSION}}/v1/'
81+ -e 's/{{LOAD_PERIOD}}/annually/'
82+ autoloader-monthly-cronjob.yaml
83+ # Apply
84+ - kubectl apply -f autoloader-hourly-cronjob.yaml
85+ - kubectl apply -f autoloader-weekly-cronjob.yaml
86+ - kubectl apply -f autoloader-monthly-cronjob.yaml
6287 env :
63- - CLOUDSDK_COMPUTE_REGION=$_CLUSTER_REGION
64- - CLOUDSDK_CONTAINER_CLUSTER=$_CLUSTER_NAME
88+ - PROJECT_IN=mlab-sandbox,mlab-staging,mlab-oti
6589
66- # The "weekly" job runs once per month and loads the data from the last month
67- # to the last day.
68- - name : gcr.io/cloud-builders/kubectl
69- id : " Deploy weekly job"
70- entrypoint : /bin/bash
90+ # ##################
91+ # # Autoloader v2
92+ # ##################
93+ - name : gcr.io/$PROJECT_ID/gcloud-jsonnet-cbif:1.1
94+ id : " v2/Setup kubectl credentials for autoloader"
95+ args :
96+ - gcloud container clusters get-credentials
97+ --project="${PROJECT_ID}" --region="$_CLUSTER_REGION" "autojoin"
98+ env :
99+ - PROJECT_IN=mlab-sandbox,mlab-staging,mlab-autojoin
100+
101+ - name : gcr.io/$PROJECT_ID/gcloud-jsonnet-cbif:1.1
102+ id : " v2/Deploy the autoloader"
71103 args :
72- - -c
73104 - |-
74- sed -e 's/{{FREQUENCY}}/weekly/' \
75- -e 's/{{CRON_SCHEDULE}}/0 0 * * 0/' \
76- -e 's/{{VERSION}}/v1/' \
77- -e 's/{{LOAD_PERIOD}}/monthly/' \
78- k8s/autoloader-cronjob.yaml.template > autoloader-weekly-cronjob.yaml
79- /builder/kubectl.bash apply -f autoloader-weekly-cronjob.yaml
105+ sed -i -e 's/{{IMAGE_TAG}}/'${COMMIT_SHA}'/'
106+ -e 's/{{PROJECT_ID}}/'${PROJECT_ID}'/'
107+ -e 's/{{BQ_PROJECT}}/'${PROJECT_ID}'/'
108+ -e 's/{{VIEW_PROJECT}}/'$_VIEW_PROJECT'/'
109+ -e 's/{{GCS_PROJECT}}/'$_GCS_PROJECT'/'
110+ -e 's/{{MLAB_BUCKET}}/'$_MLAB_BUCKET'/'
111+ -e 's/{{BUCKETS}}/'$_BUCKETS'/'
112+ k8s/autoloader.yaml
113+ - kubectl apply -f k8s/autoloader.yaml
80114 env :
81- - CLOUDSDK_COMPUTE_REGION=$_CLUSTER_REGION
82- - CLOUDSDK_CONTAINER_CLUSTER=$_CLUSTER_NAME
115+ - PROJECT_IN=mlab-sandbox,mlab-staging,mlab-autojoin
83116
84- # The "monthly" job runs once per month and loads the data from the beginning of
85- # the archive to the last month.
86- - name : gcr.io/cloud-builders/kubectl
87- id : " Deploy monthly job"
88- entrypoint : /bin/bash
117+ - name : gcr.io/$PROJECT_ID/gcloud-jsonnet-cbif:1.1
118+ id : " v2/Deploy cron jobs"
89119 args :
90- - -c
120+ # The "hourly" job runs every 3 hours and loads the data for the last day.
121+ - cp k8s/autoloader-cronjob.yaml.template autoloader-hourly-cronjob.yaml
122+ - |-
123+ sed -i -e 's/{{FREQUENCY}}/hourly/'
124+ -e 's/{{CRON_SCHEDULE}}/0 *\/3 * * */'
125+ -e 's/{{VERSION}}/v2/'
126+ -e 's/{{LOAD_PERIOD}}/daily/'
127+ autoloader-hourly-cronjob.yaml
128+ # The "weekly" job runs once per month and loads the data from the last month
129+ # to the last day.
130+ - cp k8s/autoloader-cronjob.yaml.template autoloader-weekly-cronjob.yaml
131+ - |-
132+ sed -i -e 's/{{FREQUENCY}}/weekly/'
133+ -e 's/{{CRON_SCHEDULE}}/0 0 * * 0/'
134+ -e 's/{{VERSION}}/v2/'
135+ -e 's/{{LOAD_PERIOD}}/monthly/'
136+ autoloader-weekly-cronjob.yaml
137+ # The "monthly" job runs once per month and loads the data from the beginning of
138+ # the archive to the last month.
139+ - cp k8s/autoloader-cronjob.yaml.template autoloader-monthly-cronjob.yaml
91140 - |-
92- sed -e 's/{{FREQUENCY}}/monthly/' \
93- -e 's/{{CRON_SCHEDULE}}/0 0 1 * */' \
94- -e 's/{{VERSION}}/v1/' \
95- -e 's/{{LOAD_PERIOD}}/annually/' \
96- k8s/autoloader-cronjob.yaml.template > autoloader-monthly-cronjob.yaml
97- /builder/kubectl.bash apply -f autoloader-monthly-cronjob.yaml
141+ sed -i -e 's/{{FREQUENCY}}/monthly/'
142+ -e 's/{{CRON_SCHEDULE}}/0 0 1 * */'
143+ -e 's/{{VERSION}}/v2/'
144+ -e 's/{{LOAD_PERIOD}}/annually/'
145+ autoloader-monthly-cronjob.yaml
146+ # Apply
147+ - kubectl apply -f autoloader-hourly-cronjob.yaml
148+ - kubectl apply -f autoloader-weekly-cronjob.yaml
149+ - kubectl apply -f autoloader-monthly-cronjob.yaml
98150 env :
99- - CLOUDSDK_COMPUTE_REGION=$_CLUSTER_REGION
100- - CLOUDSDK_CONTAINER_CLUSTER=$_CLUSTER_NAME
151+ - PROJECT_IN=mlab-sandbox,mlab-staging,mlab-autojoin
0 commit comments