forked from CloudPadovana/caos-dashboard
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathVagrantfile
70 lines (58 loc) · 2.25 KB
/
Vagrantfile
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
#!/usr/bin/env ruby
# encoding: utf-8
######################################################################
#
# caos-dashboard - CAOS dashboard
#
# Copyright © 2016, 2017, 2018 INFN - Istituto Nazionale di Fisica Nucleare (Italy)
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#
# Author: Fabrizio Chiarello <[email protected]>
#
######################################################################
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.define "caos-dashboard", primary: true do |dashboard|
dashboard.vm.hostname = "caos-dashboard"
dashboard.ssh.username = "vagrant"
dashboard.ssh.password = "vagrant"
dashboard.vm.provider :docker do |d|
d.name = "caos-dashboard"
d.has_ssh = true
d.build_dir = "."
d.dockerfile = "Dockerfile.vagrant"
d.build_args = [ "-t", "vagrant-caos-dashboard" ]
d.create_args = [ ]
d.ports = [
# ng serve
'4200:4200',
]
end
$script = <<~SCRIPT
curl -sS https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
echo "deb https://deb.nodesource.com/node_8.x jessie main" > /etc/apt/sources.list.d/nodesource.list
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \
echo "deb https://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list
DEBIAN_FRONTEND=noninteractive apt-get update && \
apt-get install -y nodejs yarn
yarn --network-concurrency 1 global add @angular/cli
SCRIPT
dashboard.vm.provision :shell, privileged: true, inline: $script
$script = <<~SCRIPT
ng set --global packageManager=yarn
SCRIPT
dashboard.vm.provision :shell, privileged: false, inline: $script
end
end