-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmain.yml
70 lines (57 loc) · 2.12 KB
/
main.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
---
- name: Enable APIs
shell: gcloud services enable {{ item }} --project {{ project_id }}
loop:
- compute.googleapis.com
- container.googleapis.com
- dns.googleapis.com
- secretmanager.googleapis.com
# - cloudresourcemanager.googleapis.com
- name: get project number
shell: gcloud projects describe {{ project_id }} --format='value(projectNumber)'
register: project_number_result
- name: set project number
set_fact:
project_number: "{{ project_number_result.stdout }}"
- name: create service accounts
include_tasks: create_service_account.yml
loop: "{{ serviceAccounts }}"
loop_control:
loop_var: item
label: "{{ item.name }}"
- name: grant access for compute engine
shell: |
gcloud iam service-accounts add-iam-policy-binding --project {{ project_id }} \
{{ project_number }}-compute@developer.gserviceaccount.com \
--member='serviceAccount:{{ coder_automation_fullname }}' --role='roles/editor'
- name: list bucket
shell: gsutil ls -p {{ project_id }} gs://{{ bucket_name }} || true
register: bucket_list
- name: bucket exists?
set_fact:
bucket_exists: "{{ not bucket_list.stderr.startswith('BucketNotFoundException') }}"
changed_when: false
- name: create a bucket
when: not bucket_exists
shell: gsutil mb -p {{ project_id }} -l {{ region }} gs://{{ bucket_name }}
- name: create managed zone
shell: |
gcloud dns managed-zones create {{ managed_zone }} \
--dns-name {{ domain_name }}. \
--description "Managed zone for {{ domain_name }}" \
--project {{ project_id }} || true
- name: get zone info
shell: |
gcloud dns managed-zones describe {{ managed_zone }} \
--project {{ project_id }}
register: managed_zone_info
- name: print zone info
pause:
prompt: |
Your google project {{ project_id }} is prepared für coder development clusters.
DNS zone info:
{{ managed_zone_info.stdout }}
*******************************************************************
** Point or delegate your domain to the nameservers of the zone. **
*******************************************************************
seconds: 1