-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathProcfile.erb
68 lines (57 loc) · 5.39 KB
/
Procfile.erb
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
# GDK Procfile services:
# - all commands must start with 'exec'
# - no inline shell scripts ('&&' or ';')
#
# Datasources
#
redis: exec redis-server <%= config.gdk_root.join('redis', 'redis.conf') %>
<%= '#' unless config.object_store? %>minio: exec env MINIO_REGION=gdk MINIO_ACCESS_KEY=minio MINIO_SECRET_KEY=gdk-minio minio server -C minio/config --address "<%= config.object_store.host %>:<%= config.object_store.port %>" --compat minio/data
postgresql: exec support/postgresql-signal-wrapper <%= config.postgresql.bin %> -D <%= config.postgresql.data_dir %> -k <%= config.postgresql.dir %> -h ''
<%= '#' unless config.postgresql.replica? %>postgresql-replica: exec support/postgresql-signal-wrapper <%= config.postgresql.bin %> -D <%= config.postgresql.replica_dir.join('data') %> -k <%= config.postgresql.replica_dir %> -h ''
<%= '#' unless config.openldap? %>openldap: exec support/exec-cd gitlab-openldap libexec/slapd -F slapd.d -d2 -h "ldap://<%= config.hostname %>:3890"
# Geo
#
<%= '#' unless config.geo? %>postgresql-geo: exec support/postgresql-signal-wrapper <%= config.postgresql.bin %> -D <%= config.postgresql.geo.dir.join('data') %> -k <%= config.postgresql.geo.dir %> -h ''
<%= '#' unless config.geo? %>geo-cursor: exec /usr/bin/env RAILS_ENV=development RAILS_RELATIVE_URL_ROOT=$relative_url_root support/geo-logcursor
# Backend services
#
gitlab-workhorse: exec /usr/bin/env PATH="<%= config.gdk_root.join('gitlab-workhorse') %>:$PATH" gitlab-workhorse -authSocket <%= config.gitlab.__socket_file %> -cableSocket <%= config.gitlab.actioncable.__socket_file %> -listenAddr <%= config.workhorse.__active_host %>:<%= config.workhorse.__active_port %> -documentRoot <%= config.gdk_root.join('gitlab', 'public') %> -developmentMode -secretPath <%= config.gdk_root.join('gitlab', '.gitlab_workhorse_secret') %> -config <%= config.gdk_root.join('gitlab-workhorse', 'config.toml') %>
rails-background-jobs: exec /usr/bin/env SIDEKIQ_LOG_ARGUMENTS=1 SIDEKIQ_WORKERS=1 RAILS_ENV=development RAILS_RELATIVE_URL_ROOT=$relative_url_root support/exec-cd gitlab bin/background_jobs start_foreground
<%- if config.praefect? -%>
praefect: exec gitaly/praefect -config <%= config.praefect.config_file %>
<% config.praefect.nodes.each_with_index do |praefect_node, index| %>
<%= praefect_node.service_name %>: exec gitaly/gitaly <%=config.gdk_root.join(praefect_node.config_file) %>
<%- end -%>
<% else %>
gitaly: exec gitaly/gitaly <%= config.gitaly.config_file %>
<%- end -%>
# Frontend services
#
webpack: exec /usr/bin/env NODE_ENV=development DEV_SERVER_STATIC=<%= config.webpack.static?%> WEBPACK_VENDOR_DLL=<%= config.webpack.vendor_dll? %> NO_SOURCEMAPS=<%= !config.webpack.sourcemaps? %> DEV_SERVER_PORT=<%= config.webpack.port %> DEV_SERVER_HOST=<%= config.webpack.host %> support/exec-cd gitlab yarn dev-server
rails-web: exec /usr/bin/env RAILS_ENV=development RAILS_RELATIVE_URL_ROOT=$relative_url_root support/exec-cd gitlab bin/web start_foreground
rails-actioncable: exec /usr/bin/env RAILS_ENV=development RAILS_RELATIVE_URL_ROOT=$relative_url_root support/exec-cd gitlab bin/actioncable start_foreground
<%= '#' unless config.gitlab_pages? %>gitlab-pages: exec gitlab-pages/bin/gitlab-pages -listen-http ":<%= config.gitlab_pages.port %>" -artifacts-server <%= config.__uri.merge('api/v4') %> -pages-root <%= config.gdk_root.join('gitlab', 'shared', 'pages') %> -pages-domain 127.0.0.1.xip.io
# Docker
#
<%= '#' unless config.registry? %>registry: exec support/docker-registry
# Monitoring and tracing
#
<%= '#' unless config.grafana? %>grafana: exec support/exec-cd grafana bin/grafana-server -config grafana.ini
<%= '#' unless config.prometheus? %>prometheus: exec docker run -p 9090:9090 -v <%= config.gdk_root.join('prometheus', 'prometheus.yml') %>:/etc/prometheus/prometheus.yml prom/prometheus:v2.8.1
<%= '#' unless config.tracer.jaeger? %>jaeger: exec jaeger/jaeger-<%= config.tracer.jaeger.version %>/jaeger-all-in-one --memory.max-traces 512
# Additional services
#
<%= '#' unless config.sshd? %>sshd: exec <%= config.sshd.bin %> -e -D -f <%= config.gdk_root.join('openssh', 'sshd_config') %>
<%= '#' unless config.nginx? %>nginx: exec <%= config.nginx.bin %> -p <%= config.gdk_root.join('nginx') %> -c conf/nginx.conf
<%= '#' unless config.elasticsearch? %>elasticsearch: exec elasticsearch/bin/elasticsearch
# Tunneling
#
<%= '#' unless config.auto_devops? %>tunnel_gitlab: exec ssh -N -o ControlPath=none -o ControlMaster=no -R <%= config.auto_devops.gitlab.port %>:localhost:<%= config.workhorse.__active_port %> qa-tunnel.gitlab.info
<%= '#' unless config.auto_devops? %>tunnel_registry: exec ssh -N -o ControlPath=none -o ControlMaster=no -R <%= config.auto_devops.registry.port %>:<%= config.registry.tunnel_host %>:<%= config.registry.tunnel_port %> qa-tunnel.gitlab.info
<%= '#' unless config.auto_devops? && config.mattermost? %>tunnel_mattermost: exec ssh -N -o ControlPath=none -o ControlMaster=no -R <%= config.mattermost.port %>:localhost:<%= config.mattermost.local_port %> qa-tunnel.gitlab.info
# Gitlab Runner
#
<%= '#' unless config.runner? %>runner: exec gitlab-runner --log-level debug run --config <%= config.runner.config_file %>
# Mattermost
#
<%= '#' unless config.mattermost? %>mattermost: exec docker run --sig-proxy=true -v <%= config.gdk_root.join('mattermost', 'data') %>:/mm/mattermost-data/ -v <%= config.gdk_root.join('mattermost', 'mysql') %>:/var/lib/mysql --publish <%= config.mattermost.local_port %>:8065 <%= config.mattermost.image %>