/
Makefile-mac
257 lines (186 loc) · 7.35 KB
/
Makefile-mac
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
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
export COMPOSE_PROJECT_NAME=monoetna
export NODE_ENV=development
export MONOETNA_SHA=$(shell git rev-parse HEAD)
export DOCKER_DEFAULT_PLATFORM=linux/amd64
# The following set of targets can be used as an alternative to calling into the original make system,
# this is specifically designed for Mac
### Images targets ###
# Build all docker images for local development, note the order is extremely important here, as many images
# depend on the previous images.
build-dev-etna-images:
# Stand alone
echo "Building stand alone docker images..."
cd known_hosts && docker build . -t known_hosts
cd bash_mocker && docker build . -t bash_mocker
cd development-certs && docker build . -t development-certs
cd docker/development-psql && docker build . -t development-psql
# Apache
echo "Building apache images..."
cd docker/etna-apache && docker build . -t etna-apache
cd edge-apache && docker build . -t edge-apache
# Etna base images
echo "Building etna images..."
cd docker/etna-base-dev && docker build . -t etna-base-dev
cd etna && docker build . -t etna
cd docker/etna-base && docker build . -t etna-base
build-dev-airflow-images:
# Airflow
echo "Building airflow images..."
cd airflow-code-editor && docker build . -t airflow-code-editor
cd etna/packages/etna-py && docker build . -t etna-py
cd airflow && docker build . -t airflow
build-dev-archimedes-images:
# Archimedes
echo "Building archimedes images..."
cd docker/archimedes-base && docker build . -t archimedes-base
cd archimedes-r-base && docker build . -t archimedes-r-base # takes a really long time!
cd docker/archimedes-node-base && docker build . -t archimedes-node-base
cd archimedes && docker build . -t archimedes
cd archimedes-r && docker build . -t archimedes-r
cd archimedes-node && docker build . -t archimedes-node
### Project level targets ###
# Note: the project level docker-compose files use relative paths so it is important to execute commands from within
# the project directory
## All ##
# Spins up all web-apps
web-up:
cd edge-apache && docker-compose up -d
cd magma && docker-compose up -d
cd janus && docker-compose up -d
cd timur && docker-compose up -d
cd gnomon && docker-compose up -d
cd polyphemus && docker-compose up -d
cd metis && docker-compose up -d
cd vulcan && docker-compose up -d
web-restart: stop-all web-up
migrate-all: magma-migrate janus-migrate timur-migrate gnomon-migrate poly-migrate metis-migrate airflow-migrate vulcan-migrate
## Etna ##
etna-up:
cd edge-apache && docker-compose up -d
cd etna && docker-compose up -d
etna-stop:
cd etna && docker-compose stop
etna-remove:
cd etna && docker-compose down
etna-libs-ruby:
cd etna && docker-compose run --rm -e FULL_BUILD=1 -e UPDATE_STATE=1 etna_app bundle install
etna-libs-js:
cd etna && docker-compose run --rm -e FULL_BUILD=1 -e UPDATE_STATE=1 etna_app bash -c 'cd packages/etna-js && npm install'
cd etna && docker-compose run --rm -e FULL_BUILD=1 -e UPDATE_STATE=1 etna_app bash -c 'npm install --unsafe-perm'
## Magma ##
magma-up:
cd edge-apache && docker-compose up -d
cd magma && docker-compose up -d
# Note magma_webpack is expected to fail
magma-stop:
cd magma && docker-compose stop
magma-remove:
cd magma && docker-compose down
magma-migrate:
# Will fail if magma containers are not running
cd magma && docker-compose run --rm -e UPDATE_STATE=1 magma_app
magma-create-projects:
# Note set your dev TOKEN here
etna magma project create test_project "TestProject" --environment development
etna magma project create example "Example-project" --environment development
etna magma project create ipi "ImmunoProfilerProject" --environment development
magma-copy-example-models:
# Note set your prod TOKEN here
etna magma models copy_template example --file example_template.csv --environment production
magma-create-example-models:
# Note set your dev TOKEN here
etna magma models apply_template example --file example_template.csv --environment development
## Janus ##
janus-up:
cd edge-apache && docker-compose up -d
cd janus && docker-compose up -d
janus-stop:
cd janus && docker-compose stop
janus-remove:
cd janus && docker-compose down
janus-migrate:
cd janus && docker-compose run --rm -e UPDATE_STATE=1 janus_app
# janus-up must be run for this to work, WHY?!
janus-seed:
cd janus && docker-compose run --rm janus_app ./bin/janus add_project 'test_project' 'TestProject'
cd janus && docker-compose run --rm janus_app ./bin/janus add_project 'example' 'ExampleProject'
cd janus && docker-compose run --rm janus_app ./bin/janus add_project 'administration' 'Admin'
cd janus && docker-compose run --rm janus_app ./bin/janus add_project ipi 'ImmunoProfilerProject'
cd janus && docker-compose run --rm janus_app ./bin/janus add_user developer@ucsf.edu DeveloperPerson password
cd janus && docker-compose run --rm janus_app ./bin/janus permit developer@ucsf.edu test-project administrator
cd janus && docker-compose run --rm janus_app ./bin/janus permit developer@ucsf.edu administration administrator
cd janus && docker-compose run --rm janus_app ./bin/janus permit developer@ucsf.edu ipi administrator
cd janus && docker-compose run --rm janus_app ./bin/janus add_user etna-agent@ucsf.edu EtnaAgent password
cd janus && docker-compose run --rm janus_app ./bin/janus permit etna-agent@ucsf.edu test-project administrator
cd janus && docker-compose run --rm janus_app ./bin/janus permit etna-agent@ucsf.edu administration administrator
cd janus && docker-compose run --rm janus_app ./bin/janus permit etna-agent@ucsf.edu ipi administrator
## Timur ##
timur-up:
cd edge-apache && docker-compose up -d
cd timur && docker-compose up -d
timur-stop:
cd timur && docker-compose stop
timur-remove:
cd timur && docker-compose down
timur-migrate:
cd timur && docker-compose run --rm -e UPDATE_STATE=1 -e FULL_BUILD=1 timur_app
## Gnomon ##
gnomon-up:
cd gnomon && docker-compose up -d
cd edge-apache && docker-compose up -d
gnomon-stop:
cd gnomon && docker-compose stop
gnomon-remove:
cd gnomon && docker-compose down
gnomon-migrate:
cd gnomon && docker-compose run --rm -e UPDATE_STATE=1 gnomon_app
## Polyphemus ##
poly-up:
cd polyphemus && docker-compose up -d
poly-stop:
cd polyphemus && docker-compose stop
poly-remove:
cd polyphemus && docker-compose down
poly-migrate:
cd polyphemus && docker-compose run --rm -e UPDATE_STATE=1 polyphemus_app
## Metis ##
metis-up:
cd edge-apache && docker-compose up -d
cd metis && docker-compose up -d
metis-stop:
cd metis && docker-compose stop
metis-remove:
cd metis && docker-compose down
metis-migrate:
cd metis && docker-compose run --rm -e UPDATE_STATE=1 metis_app
## Etna Edge ##
edge-up:
cd edge-apache && docker-compose up -d
edge-stop:
cd edge-apache && docker-compose stop
edge-remove:
cd edge-apache && docker-compose down
## Airflow ##
airflow-up:
cd airflow && docker-compose up -d
airflow-stop:
cd airflow && docker-compose stop
airflow-remove:
cd airflow && docker-compose down
airflow-migrate:
cd airflow && docker-compose run --rm -e UPDATE_STATE=1 airflow_init
## Vulcan ##
vulcan-up:
cd edge-apache && docker-compose up -d
cd vulcan && docker-compose up -d
vulcan-stop:
cd vulcan && docker-compose stop
vulcan-remove:
cd vulcan && docker-compose down
vulcan-migrate:
cd vulcan && docker-compose run --rm -e UPDATE_STATE=1 vulcan_app
### Clean targets ###
remove-all:
docker-compose down
stop-all:
docker-compose stop