-
Notifications
You must be signed in to change notification settings - Fork 24
/
Copy pathdevelopment-environment-base.json
170 lines (170 loc) · 5 KB
/
development-environment-base.json
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
{
"variables": {
"atlas_username": "{{env `ATLAS_USERNAME`}}",
"cloud_token": "{{env `VAGRANT_CLOUD_TOKEN`}}",
"cloud_endpoint": "{{env `VAGRANT_CLOUD_ENDPOINT`}}",
"iso_checksum": "a2cb36dc010d98ad9253ea5ad5a07fd6b409e3412c48f1860536970b073c98f5",
"iso_checksum_type": "sha256",
"iso_file": "http://cdimage.ubuntu.com/ubuntu/releases/bionic/release/ubuntu-18.04.2-server-amd64.iso",
"preseed_file": "base.seed",
"sudo_password": "vagrant",
"vagrant_box_file": "build/devenv.box",
"vm_name": "{{env `ATLAS_NAME`}}",
"vm_type": "Ubuntu_64",
"vm_cpus": "4",
"vm_ram_size": "8192",
"vm_vram_size": "64",
"vm_disk_size": "30720",
"version": "2.0.{{timestamp}}"
},
"provisioners": [
{
"type": "shell",
"execute_command": "echo 'vagrant' | {{.Vars}} sudo -S -E bash '{{.Path}}'",
"script": "scripts/ansible.sh"
},
{
"type": "shell",
"execute_command": "echo 'vagrant' | {{.Vars}} sudo -S -E bash '{{.Path}}'",
"script": "scripts/setup.sh"
},
{
"type": "ansible-local",
"playbook_file": "./ansible/main.yml",
"role_paths": [
"./ansible/roles/developer_packages",
"./ansible/roles/git",
"./ansible/roles/atom",
"./ansible/roles/cf_cli",
"./ansible/roles/maven",
"./ansible/roles/gradle",
"./ansible/roles/intellij",
"./ansible/roles/desktop",
"./ansible/roles/go",
"./ansible/roles/postman",
"./ansible/roles/compliance_masonry",
"./ansible/roles/gcloud",
"./ansible/roles/bosh",
"./ansible/roles/fly",
"./ansible/roles/credhub",
"./ansible/roles/groovy",
"./ansible/roles/taurus",
"./ansible/roles/json2yaml",
"./ansible/roles/vscode",
"./ansible/roles/vault",
"./ansible/roles/safe",
"./ansible/roles/lastpass",
"./ansible/roles/dotnet",
"./ansible/roles/hub",
"./ansible/roles/bash_alias",
"./ansible/roles/java",
"./ansible/roles/lightdm",
"./ansible/roles/pip_packages",
"./ansible/roles/power_management",
"./ansible/roles/vi"
],
"galaxy_file": "requirements.yml"
},
{
"execute_command": "echo '{{user `sudo_password`}}' | {{.Vars}} sudo -E -S bash '{{.Path}}'",
"only": [
"vbox"
],
"script": "scripts/cleanup.sh",
"type": "shell"
}
],
"builders": [
{
"name": "vbox",
"type": "virtualbox-iso",
"boot_command": [
"<esc><wait>",
"<esc><wait>",
"<enter><wait>",
"/install/vmlinuz",
" auto",
" console-setup/ask_detect=false",
" console-setup/layoutcode=gb",
" console-setup/modelcode=pc105",
" debconf/frontend=noninteractive",
" debian-installer=en_GB",
" fb=false",
" initrd=/install/initrd.gz",
" kbd-chooser/method=gb",
" keyboard-configuration/layout=UK",
" keyboard-configuration/variant=UK",
" locale=en_GB",
" netcfg/get_domain=vm",
" netcfg/get_hostname=vagrant",
" grub-installer/bootdev=/dev/sda",
" noapic",
" preseed/url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/preseed.cfg",
" --",
" <enter><wait>"
],
"boot_wait": "10s",
"disk_size": "{{user `vm_disk_size`}}",
"format": "ova",
"guest_os_type": "{{user `vm_type`}}",
"headless": true,
"http_directory": "http",
"iso_checksum": "{{user `iso_checksum`}}",
"iso_checksum_type": "{{user `iso_checksum_type`}}",
"iso_interface": "sata",
"iso_url": "{{user `iso_file`}}",
"shutdown_command": "echo 'vagrant' | sudo -S shutdown -P now",
"shutdown_timeout": "5m",
"ssh_username": "vagrant",
"ssh_password": "{{user `sudo_password`}}",
"ssh_port": 22,
"ssh_wait_timeout": "10000s",
"vboxmanage": [
[
"modifyvm",
"{{.Name}}",
"--cpus",
"{{user `vm_cpus`}}"
],
[
"modifyvm",
"{{.Name}}",
"--memory",
"{{user `vm_ram_size`}}"
],
[
"modifyvm",
"{{.Name}}",
"--vram",
"{{user `vm_vram_size`}}"
]
],
"virtualbox_version_file": ".vbox_version"
}
],
"description": "A developer environment using the Ubuntu OS",
"post-processors": [
[
{
"compression_level": 9,
"only": [
"vbox"
],
"output": "{{user `vagrant_box_file`}}",
"type": "vagrant",
"vagrantfile_template": "Vagrantfile.template"
},
{
"type": "vagrant-cloud",
"access_token": "{{user `cloud_token`}}",
"box_tag": "{{user `atlas_username`}}/{{user `vm_name`}}",
"version": "{{user `version`}}",
"vagrant_cloud_url": "{{user `cloud_endpoint`}}"
}
]
],
"push": {
"name": "finkit/development-environment-base",
"vcs": true
}
}