@govuk-pay/cli 0.0.3 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/resources/legacy-ruby-cli/.rspec +1 -0
- package/resources/legacy-ruby-cli/.rubocop.yml +26 -0
- package/resources/legacy-ruby-cli/.ruby-version +1 -0
- package/resources/legacy-ruby-cli/Gemfile +24 -0
- package/resources/legacy-ruby-cli/Gemfile.lock +1431 -0
- package/resources/legacy-ruby-cli/README.md +143 -0
- package/resources/legacy-ruby-cli/bin/pay +31 -0
- package/resources/legacy-ruby-cli/config/generate-secrets.yml +9 -0
- package/resources/legacy-ruby-cli/config/secrets.yml +581 -0
- package/resources/legacy-ruby-cli/config/service_secrets.yml +174 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/aws/document.rb +23 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/aws/services.rb +47 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/aws/tokens.rb +161 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/commands/aws.rb +51 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/commands/browse.rb +31 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/commands/doctor.rb +154 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/app_client.rb +216 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/config.rb +138 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/config.yaml +192 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/docker.rb +36 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/docker-compose.erb +270 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/end-to-end.erb +30 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/localstack/init-aws.sh +70 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/naxsi/readme.md +1 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/postgres/docker-entrypoint-initdb.d/make_payments_databases.sql +26 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/services/adminusers.env +49 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/services/cardid.env +2 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/services/connector.env +70 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/services/demo-service.env +10 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/services/frontend.env +12 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/services/java_app.env +1 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/services/ledger.env +7 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/services/products-ui.env +14 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/services/products.env +25 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/services/publicapi.env +13 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/services/publicauth.env +13 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/services/selfservice.env +21 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/services/ssl/certs/frontend-proxy.crt +18 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/services/ssl/certs/products-ui-proxy.crt +20 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/services/ssl/certs/selfservice-proxy.crt +20 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/services/ssl/certs/stubs-proxy.crt +18 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/services/ssl/keys/frontend-proxy.key +28 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/services/ssl/keys/products-ui-proxy.key +28 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/services/ssl/keys/selfservice-proxy.key +28 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/services/ssl/keys/stubs-proxy.key +28 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/services/ssl/make-selfsigned.sh +2 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/services/stubs.env +12 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/services/toolbox.env +5 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/services/webhooks.env +9 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/image_extractor.rb +20 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/commands/local.rb +430 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/commands/schema.rb +36 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/commands/secrets.rb +114 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/commands/ssm.rb +111 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/commands/tf.rb +90 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/commands/tunnel/services.yml +49 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/config.rb +27 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/ec2.rb +38 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/entry_point.rb +52 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/environment.rb +25 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/logger.rb +3 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/logs.rb +248 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/naming.rb +44 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/secrets.rb +276 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/stop_yubico_authenticator.rb +10 -0
- package/resources/legacy-ruby-cli/lib/pay_cli/ykman_oath_credential_config.rb +70 -0
- package/resources/legacy-ruby-cli/lib/zeitwerk_setup.rb +5 -0
- package/resources/legacy-ruby-cli/package-lock.json +6 -0
- package/resources/legacy-ruby-cli/rds_access/connect.sh +149 -0
- package/resources/legacy-ruby-cli/spec/.rubocop.yml +2 -0
- package/resources/legacy-ruby-cli/spec/fixtures/dockerfile_examples/Dockerfile.complex +34 -0
- package/resources/legacy-ruby-cli/spec/fixtures/dockerfile_examples/Dockerfile.complex_differing_froms +33 -0
- package/resources/legacy-ruby-cli/spec/fixtures/dockerfile_examples/Dockerfile.no_from +3 -0
- package/resources/legacy-ruby-cli/spec/fixtures/dockerfile_examples/Dockerfile.simple +5 -0
- package/resources/legacy-ruby-cli/spec/fixtures/dockerfile_examples/Dockerfile.simple_no_tag +5 -0
- package/resources/legacy-ruby-cli/spec/fixtures/dockerfile_examples/Dockerfile.with_sha +5 -0
- package/resources/legacy-ruby-cli/spec/fixtures/dockerfile_examples/Dockerfile.with_sha_no_tag +5 -0
- package/resources/legacy-ruby-cli/spec/lib/pay_cli/commands/local/image_extractor_spec.rb +55 -0
- package/resources/legacy-ruby-cli/spec/naming_spec.rb +83 -0
- package/resources/legacy-ruby-cli/spec/spec_helper.rb +106 -0
- package/resources/legacy-ruby-cli/vulnerability_scan/.nvmrc +1 -0
- package/resources/legacy-ruby-cli/vulnerability_scan/generate_vulnerability_report.js +91 -0
- package/resources/legacy-ruby-cli/vulnerability_scan/reports/.gitkeep +0 -0
- package/resources/legacy-ruby-cli/vulnerability_scan/scan.sh +57 -0
- package/src/commands/browse.js +2 -2
- package/src/commands/legacy.js +3 -2
- package/src/core/constants.js +7 -10
- package/src/util/payCliExec.js +18 -1
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
version: '2.1'
|
|
2
|
+
|
|
3
|
+
services:
|
|
4
|
+
<% @dbs.each do |db| %>
|
|
5
|
+
<%= db[:name] %>:
|
|
6
|
+
image: postgres:15.2
|
|
7
|
+
environment:
|
|
8
|
+
- POSTGRES_PASSWORD=mysecretpassword
|
|
9
|
+
mem_limit: 250M
|
|
10
|
+
logging:
|
|
11
|
+
driver: "json-file"
|
|
12
|
+
container_name: <%= db[:name] %>
|
|
13
|
+
healthcheck:
|
|
14
|
+
test: ["CMD-SHELL", "pg_isready"]
|
|
15
|
+
interval: 10s
|
|
16
|
+
timeout: 5s
|
|
17
|
+
retries: 5
|
|
18
|
+
volumes:
|
|
19
|
+
- ./postgres/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
|
|
20
|
+
ports:
|
|
21
|
+
- "<%= db[:port] %>:5432"
|
|
22
|
+
<% end %>
|
|
23
|
+
<% @remote_java_apps.each do |app| %>
|
|
24
|
+
<%= app[:name] %>:
|
|
25
|
+
image: governmentdigitalservice/pay-<%= app[:name] %>:latest-master
|
|
26
|
+
<% if app[:db] %>
|
|
27
|
+
depends_on:
|
|
28
|
+
<%= app[:name] %>_db:
|
|
29
|
+
condition: service_healthy
|
|
30
|
+
<% end %>
|
|
31
|
+
env_file:
|
|
32
|
+
- services/java_app.env
|
|
33
|
+
- services/<%= app[:name] %>.env
|
|
34
|
+
environment:
|
|
35
|
+
- RUN_MIGRATION=true
|
|
36
|
+
- RUN_APP=true
|
|
37
|
+
- PORT=<%= app[:port] %>
|
|
38
|
+
- DISABLE_INTERNAL_HTTPS=true
|
|
39
|
+
<% if app[:db] %>
|
|
40
|
+
- DB_HOST=<%= app[:name] %>_db
|
|
41
|
+
- DB_USER=<%= app[:name] %>
|
|
42
|
+
- DB_PASSWORD=mysecretpassword
|
|
43
|
+
- DB_SSL_OPTION=ssl=none
|
|
44
|
+
<% end %>
|
|
45
|
+
|
|
46
|
+
<% if Config.uses_localstack([app]) %>
|
|
47
|
+
- AWS_ACCESS_KEY=mockAccessKey
|
|
48
|
+
- AWS_SECRET_ACCESS_KEY=mockSecretAccessKey
|
|
49
|
+
<% end %>
|
|
50
|
+
|
|
51
|
+
<% if app[:queues] %>
|
|
52
|
+
- AWS_SQS_REGION=eu-west-1
|
|
53
|
+
- AWS_SQS_MESSAGE_MAXIMUM_WAIT_TIME_IN_SECONDS=20
|
|
54
|
+
- AWS_SQS_NON_STANDARD_SERVICE_ENDPOINT=true
|
|
55
|
+
- AWS_SQS_ENDPOINT=http://localstack:4566
|
|
56
|
+
<%- app[:queues].each do |env_var_name, queue_name| -%>
|
|
57
|
+
- <%= env_var_name %>=http://localstack:4566/000000000000/<%= queue_name %>
|
|
58
|
+
<%- end -%>
|
|
59
|
+
<% end %>
|
|
60
|
+
|
|
61
|
+
<% if app[:sns_topics] %>
|
|
62
|
+
- AWS_SNS_NON_STANDARD_SERVICE_ENDPOINT=true
|
|
63
|
+
- AWS_SNS_ENDPOINT=http://localstack:4566
|
|
64
|
+
- AWS_SNS_REGION=eu-west-1
|
|
65
|
+
<%- app[:sns_topics].each do |env_var_name, topic_name| -%>
|
|
66
|
+
- <%= env_var_name %>_ARN=arn:aws:sns:eu-west-1:000000000000:<%= topic_name %>
|
|
67
|
+
<%- end -%>
|
|
68
|
+
<% end %>
|
|
69
|
+
|
|
70
|
+
<%- @java_apps.each do |_app| -%>
|
|
71
|
+
- <%= _app[:name].upcase + '_URL' %>=http://<%= _app[:name] %>:<%= _app[:port] %>
|
|
72
|
+
<%- end -%>
|
|
73
|
+
<%- @node_apps.each do |_app| -%>
|
|
74
|
+
- <%= _app[:name].upcase + '_URL' %>=http://localhost:<%= _app[:port] %>
|
|
75
|
+
<%- end -%>
|
|
76
|
+
<%- app.fetch(:environment_overrides, []).each do |name, value| -%>
|
|
77
|
+
- <%= name %>=<%= value %>
|
|
78
|
+
<%- end -%>
|
|
79
|
+
mem_limit: 2G
|
|
80
|
+
logging:
|
|
81
|
+
driver: "json-file"
|
|
82
|
+
ports:
|
|
83
|
+
- "<%= app[:port] %>:<%= app[:port] %>"
|
|
84
|
+
<% if app[:admin_port] %>- "<%= app[:admin_port] %>:<%= app[:admin_port] %>"<% end %>
|
|
85
|
+
container_name: <%= app[:name] %>
|
|
86
|
+
<% end %>
|
|
87
|
+
<% @local_java_apps.each do |app| %>
|
|
88
|
+
<%= app[:name] %>:
|
|
89
|
+
image: governmentdigitalservice/pay-<%= app[:name] %>:local
|
|
90
|
+
<% if app[:db] %>
|
|
91
|
+
depends_on:
|
|
92
|
+
<%= app[:name] %>_db:
|
|
93
|
+
condition: service_healthy
|
|
94
|
+
<% end %>
|
|
95
|
+
env_file:
|
|
96
|
+
- services/java_app.env
|
|
97
|
+
- services/<%= app[:name] %>.env
|
|
98
|
+
environment:
|
|
99
|
+
- RUN_MIGRATION=true
|
|
100
|
+
- RUN_APP=true
|
|
101
|
+
- PORT=<%= app[:port] %>
|
|
102
|
+
- DISABLE_INTERNAL_HTTPS=true
|
|
103
|
+
<% if app[:db] %>
|
|
104
|
+
- DB_HOST=<%= app[:name] %>_db
|
|
105
|
+
- DB_USER=<%= app[:name] %>
|
|
106
|
+
- DB_PASSWORD=mysecretpassword
|
|
107
|
+
- DB_SSL_OPTION=ssl=none
|
|
108
|
+
<% end %>
|
|
109
|
+
|
|
110
|
+
<% if Config.uses_localstack([app]) %>
|
|
111
|
+
- AWS_ACCESS_KEY=mockAccessKey
|
|
112
|
+
- AWS_SECRET_ACCESS_KEY=mockSecretAccessKey
|
|
113
|
+
<% end %>
|
|
114
|
+
|
|
115
|
+
<% if app[:queues] %>
|
|
116
|
+
- AWS_SQS_REGION=eu-west-1
|
|
117
|
+
- AWS_SQS_MESSAGE_MAXIMUM_WAIT_TIME_IN_SECONDS=20
|
|
118
|
+
- AWS_SQS_NON_STANDARD_SERVICE_ENDPOINT=true
|
|
119
|
+
- AWS_SQS_ENDPOINT=http://localstack:4566
|
|
120
|
+
<%- app[:queues].each do |env_var_name, queue_name| -%>
|
|
121
|
+
- <%= env_var_name %>=http://localstack:4566/000000000000/<%= queue_name %>
|
|
122
|
+
<%- end -%>
|
|
123
|
+
<% end %>
|
|
124
|
+
|
|
125
|
+
<% if app[:sns_topics] %>
|
|
126
|
+
- AWS_SNS_NON_STANDARD_SERVICE_ENDPOINT=true
|
|
127
|
+
- AWS_SNS_ENDPOINT=http://localstack:4566
|
|
128
|
+
- AWS_SNS_REGION=eu-west-1
|
|
129
|
+
<%- app[:sns_topics].each do |env_var_name, topic_name| -%>
|
|
130
|
+
- <%= env_var_name %>_ARN=arn:aws:sns:eu-west-1:000000000000:<%= topic_name %>
|
|
131
|
+
<%- end -%>
|
|
132
|
+
<% end %>
|
|
133
|
+
|
|
134
|
+
<%- @java_apps.each do |_app| -%>
|
|
135
|
+
- <%= _app[:name].upcase + '_URL' %>=http://<%= _app[:name] %>:<%= _app[:port] %>
|
|
136
|
+
<%- end -%>
|
|
137
|
+
<%- @node_apps.each do |_app| -%>
|
|
138
|
+
- <%= _app[:name].upcase + '_URL' %>=http://localhost:<%= _app[:port] %>
|
|
139
|
+
<%- end -%>
|
|
140
|
+
<%- app.fetch(:environment_overrides, []).each do |name, value| -%>
|
|
141
|
+
- <%= name %>=<%= value %>
|
|
142
|
+
<%- end -%>
|
|
143
|
+
working_dir: '/app'
|
|
144
|
+
mem_limit: 2G
|
|
145
|
+
user: root
|
|
146
|
+
logging:
|
|
147
|
+
driver: "json-file"
|
|
148
|
+
ports:
|
|
149
|
+
- "<%= app[:port] %>:<%= app[:port] %>"
|
|
150
|
+
<% if app[:admin_port] %>- "<%= app[:admin_port] %>:<%= app[:admin_port] %>"<% end %>
|
|
151
|
+
container_name: <%= app[:name] %>
|
|
152
|
+
<% end %>
|
|
153
|
+
<% @remote_node_apps.each do |app| %>
|
|
154
|
+
<%= app[:name] %>:
|
|
155
|
+
image: governmentdigitalservice/pay-<%= app[:name] %>:latest-master
|
|
156
|
+
<% if app[:db] %>
|
|
157
|
+
depends_on:
|
|
158
|
+
<%= app[:name] %>_db:
|
|
159
|
+
condition: service_healthy
|
|
160
|
+
<% end %>
|
|
161
|
+
env_file: services/<%= app[:name] %>.env
|
|
162
|
+
environment:
|
|
163
|
+
- SECURE_COOKIE_OFF=true
|
|
164
|
+
- NODE_ENV=${NODE_ENV:-production}
|
|
165
|
+
- RUN_APP=true
|
|
166
|
+
- DISABLE_INTERNAL_HTTPS=true
|
|
167
|
+
- PORT=<%= app[:port] %>
|
|
168
|
+
<%- @java_apps.each do |_app| -%>
|
|
169
|
+
<%- if app[:name] == 'toolbox' && _app[:name] == 'publicauth' %>
|
|
170
|
+
- PUBLIC_AUTH_URL=http://<%= _app[:name] %>:<%= _app[:port] %>
|
|
171
|
+
<%- else %>
|
|
172
|
+
- <%= _app[:name].upcase + '_URL' %>=http://<%= _app[:name] %>:<%= _app[:port] %>
|
|
173
|
+
<%- end -%>
|
|
174
|
+
<%- end -%>
|
|
175
|
+
<%- @node_apps.each do |_app| -%>
|
|
176
|
+
- <%= _app[:name].upcase + '_URL' %>=http://localhost:<%= _app[:port] %>
|
|
177
|
+
<%- end -%>
|
|
178
|
+
<%- app.fetch(:environment_overrides, []).each do |name, value| -%>
|
|
179
|
+
- <%= name %>=<%= value %>
|
|
180
|
+
<%- end -%>
|
|
181
|
+
mem_limit: 1G
|
|
182
|
+
working_dir: '/app'
|
|
183
|
+
entrypoint: 'npm start'
|
|
184
|
+
ports:
|
|
185
|
+
- "<%= app[:port] %>:<%= app[:port] %>"
|
|
186
|
+
logging:
|
|
187
|
+
driver: "json-file"
|
|
188
|
+
container_name: <%= app[:name] %>
|
|
189
|
+
<% end %>
|
|
190
|
+
<% @local_node_apps.each do |app| %>
|
|
191
|
+
<%= app[:name] %>:
|
|
192
|
+
image: governmentdigitalservice/pay-<%= app[:name] %>:local
|
|
193
|
+
<% if app[:db] %>
|
|
194
|
+
depends_on:
|
|
195
|
+
<%= app[:name] %>_db:
|
|
196
|
+
condition: service_healthy
|
|
197
|
+
<% end %>
|
|
198
|
+
env_file: services/<%= app[:name] %>.env
|
|
199
|
+
environment:
|
|
200
|
+
- SECURE_COOKIE_OFF=true
|
|
201
|
+
- RUN_APP=true
|
|
202
|
+
- DISABLE_APPMETRICS=true
|
|
203
|
+
- DISABLE_INTERNAL_HTTPS=true
|
|
204
|
+
- PORT=<%= app[:port] %>
|
|
205
|
+
<%- @java_apps.each do |_app| -%>
|
|
206
|
+
<%- if app[:name] == 'toolbox' && _app[:name] == 'publicauth' %>
|
|
207
|
+
- PUBLIC_AUTH_URL=http://<%= _app[:name] %>:<%= _app[:port] %>
|
|
208
|
+
<%- else %>
|
|
209
|
+
- <%= _app[:name].upcase + '_URL' %>=http://<%= _app[:name] %>:<%= _app[:port] %>
|
|
210
|
+
<%- end -%>
|
|
211
|
+
<%- end -%>
|
|
212
|
+
<%- @node_apps.each do |_app| -%>
|
|
213
|
+
- <%= _app[:name].upcase + '_URL' %>=http://localhost:<%= _app[:port] %>
|
|
214
|
+
<%- end -%>
|
|
215
|
+
<%- app.fetch(:environment_overrides, []).each do |name, value| -%>
|
|
216
|
+
- <%= name %>=<%= value %>
|
|
217
|
+
<%- end -%>
|
|
218
|
+
mem_limit: 1G
|
|
219
|
+
working_dir: '/app'
|
|
220
|
+
entrypoint: <%= app.fetch(:entrypoint_override_local, "npx nodemon --inspect=0.0.0.0:#{app[:debug_port]} start.js") %>
|
|
221
|
+
ports:
|
|
222
|
+
- "<%= app[:port] %>:<%= app[:port] %>"
|
|
223
|
+
- "<%= app[:debug_port] %>:<%= app[:debug_port] %>"
|
|
224
|
+
logging:
|
|
225
|
+
driver: "json-file"
|
|
226
|
+
container_name: <%= app[:name] %>
|
|
227
|
+
<% end %>
|
|
228
|
+
<% @proxies.each do |app| %>
|
|
229
|
+
<%= app[:name] %>:
|
|
230
|
+
image: governmentdigitalservice/pay-docker-nginx-proxy:latest-master
|
|
231
|
+
environment:
|
|
232
|
+
- PROXY_SERVICE_HOST=http://<%= app[:proxy_host] %>
|
|
233
|
+
- PROXY_SERVICE_PORT=<%= app[:proxy_port] %>
|
|
234
|
+
- HTTPS_LISTEN_PORT=<%= app[:port] %>
|
|
235
|
+
<%- unless app[:naxsi_md5].nil? -%>
|
|
236
|
+
- NAXSI_RULES_URL_CSV=/etc/nginx/naxsi/locations/1/<%= app[:proxy_host] %>.rules
|
|
237
|
+
- NAXSI_RULES_MD5_CSV=<%= app[:naxsi_md5] %>
|
|
238
|
+
- CLIENT_BODY_BUFFER_SIZE=10
|
|
239
|
+
- CLIENT_MAX_BODY_SIZE=10
|
|
240
|
+
<%- end -%>
|
|
241
|
+
mem_limit: 1G
|
|
242
|
+
volumes:
|
|
243
|
+
- "./naxsi/:/etc/nginx/naxsi/locations/1"
|
|
244
|
+
- "./services/ssl/certs/<%= app[:name] %>.crt:/etc/keys/crt"
|
|
245
|
+
- "./services/ssl/keys/<%= app[:name] %>.key:/etc/keys/key"
|
|
246
|
+
ports:
|
|
247
|
+
- "<%= app[:port] %>:<%= app[:port] %>"
|
|
248
|
+
logging:
|
|
249
|
+
driver: "json-file"
|
|
250
|
+
container_name: <%= app[:name] %>
|
|
251
|
+
<% end %>
|
|
252
|
+
<% if @queue_apps.any? %>
|
|
253
|
+
localstack:
|
|
254
|
+
image: localstack/localstack:3
|
|
255
|
+
container_name: localstack
|
|
256
|
+
environment:
|
|
257
|
+
- EAGER_SERVICE_LOADING=1
|
|
258
|
+
- SERVICES=sns,sqs
|
|
259
|
+
ports:
|
|
260
|
+
- "4566:4566" # All AWS services exposed on this port
|
|
261
|
+
volumes:
|
|
262
|
+
- <%= @localstack_init_file %>:/etc/localstack/init/ready.d/init-aws.sh
|
|
263
|
+
<% end %>
|
|
264
|
+
<% if @java_apps.any? {|app| Config.uses_redis(app[:name])} %>
|
|
265
|
+
redis:
|
|
266
|
+
image: redis:latest
|
|
267
|
+
container_name: localRedis
|
|
268
|
+
ports:
|
|
269
|
+
- "6379:6379"
|
|
270
|
+
<% end %>
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
DB_CONNECTOR_HOST=localhost:<%= Config::get_config 'connector', :db_port %>
|
|
2
|
+
DB_CONNECTOR_USER=connector
|
|
3
|
+
DB_PUBLICAUTH_HOST=localhost:<%= Config::get_config 'publicauth', :db_port %>
|
|
4
|
+
DB_PUBLICAUTH_USER=publicauth
|
|
5
|
+
DB_ADMINUSERS_HOST=localhost:<%= Config::get_config 'adminusers', :db_port %>
|
|
6
|
+
DB_ADMINUSERS_USER=adminusers
|
|
7
|
+
DB_PRODUCTS_HOST=localhost:<%= Config::get_config 'products', :db_port %>
|
|
8
|
+
DB_PRODUCTS_USER=products
|
|
9
|
+
DB_PASSWORD=mysecretpassword
|
|
10
|
+
PUBLICAPI_URL=http://localhost:<%= Config::get_config 'publicapi', :port %>
|
|
11
|
+
PUBLIC_AUTH_URL=http://localhost:<%= Config::get_config 'publicauth', :port %>
|
|
12
|
+
CONNECTOR_URL=http://localhost:<%= Config::get_config 'connector', :port %>
|
|
13
|
+
ADMIN_USERS_URL=http://localhost:<%= Config::get_config 'adminusers', :port %>
|
|
14
|
+
LEDGER_URL=http://localhost:<%= Config::get_config 'ledger', :port %>
|
|
15
|
+
NOTIFICATIONS_URL=http://localhost:<%= Config::get_config 'connector', :port %>
|
|
16
|
+
PRODUCTS_URL=http://localhost:<%= Config::get_config 'products', :port %>
|
|
17
|
+
PRODUCTS_UI_URL=http://localhost:<%= Config::get_config 'products-ui', :port %>
|
|
18
|
+
STUBS_URL=http://localhost:<%= Config::get_config 'stubs', :port %>
|
|
19
|
+
SELFSERVICE_URL=http://localhost:<%= Config::get_config 'selfservice', :port %>
|
|
20
|
+
FRONTEND_URL=http://localhost:<%= Config::get_config 'frontend', :port %>
|
|
21
|
+
TEST_GATEWAY_ACCOUNT_ID=111
|
|
22
|
+
SELFSERVICE_USERNAME=alice.111@mail.fake
|
|
23
|
+
SELFSERVICE_PASSWORD=arandompassword
|
|
24
|
+
SELFSERVICE_OTP_KEY_BASE32=RG5RNFK3IBUK4RWGHUOU7SSGC6FRRCZR
|
|
25
|
+
DB_SETUP_FOR_SMOKE=false
|
|
26
|
+
PRODUCTS_API_TOKEN=g0nBA5lNzfUalQjk4ZBDy70AikNshxz2G70dA6lg
|
|
27
|
+
HTTP_ZAP_ENABLED=false
|
|
28
|
+
WEB_DRIVER=CHROME
|
|
29
|
+
SELENIUM_HUB_URL=http://selenium-hub:11444/wd/hub
|
|
30
|
+
CHROME_DRIVER_PATH=/usr/bin/chromedriver
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
|
|
3
|
+
cat > /tmp/sqs_attributes.json <<EOF
|
|
4
|
+
{
|
|
5
|
+
"VisibilityTimeout": "3600",
|
|
6
|
+
"DelaySeconds": "0",
|
|
7
|
+
"ReceiveMessageWaitTimeSeconds": "0"
|
|
8
|
+
}
|
|
9
|
+
EOF
|
|
10
|
+
|
|
11
|
+
echo "|======================================================================="
|
|
12
|
+
echo "| Creating SQS queues"
|
|
13
|
+
echo "|======================================================================="
|
|
14
|
+
for QUEUE in \
|
|
15
|
+
connector_tasks_queue \
|
|
16
|
+
pay_capture_queue \
|
|
17
|
+
pay_event_queue \
|
|
18
|
+
payout_reconcile_queue \
|
|
19
|
+
webhooks-events-subscriber-queue
|
|
20
|
+
do
|
|
21
|
+
echo "---------------------"
|
|
22
|
+
echo "Creating queue $QUEUE"
|
|
23
|
+
echo "---------------------"
|
|
24
|
+
aws sqs create-queue \
|
|
25
|
+
--queue-name "$QUEUE" \
|
|
26
|
+
--attributes file:///tmp/sqs_attributes.json \
|
|
27
|
+
--endpoint-url=http://localhost:4566 \
|
|
28
|
+
--region=eu-west-1
|
|
29
|
+
echo "---------------------"
|
|
30
|
+
echo
|
|
31
|
+
done
|
|
32
|
+
|
|
33
|
+
echo "|======================================================================="
|
|
34
|
+
echo "| Creating SNS topics"
|
|
35
|
+
echo "|======================================================================="
|
|
36
|
+
for TOPIC in \
|
|
37
|
+
card-payment-dispute-events-topic \
|
|
38
|
+
card-payment-events-topic
|
|
39
|
+
do
|
|
40
|
+
echo "---------------------"
|
|
41
|
+
echo "Creating topic $TOPIC"
|
|
42
|
+
echo "---------------------"
|
|
43
|
+
aws sns create-topic \
|
|
44
|
+
--name "$TOPIC" \
|
|
45
|
+
--endpoint-url=http://localhost:4566 \
|
|
46
|
+
--region=eu-west-1
|
|
47
|
+
echo "---------------------"
|
|
48
|
+
echo
|
|
49
|
+
done
|
|
50
|
+
|
|
51
|
+
echo "|======================================================================="
|
|
52
|
+
echo "| Subscribing webhooks SQS queue to relevant SNS topics"
|
|
53
|
+
echo "|======================================================================="
|
|
54
|
+
for TOPIC in \
|
|
55
|
+
card-payment-dispute-events-topic \
|
|
56
|
+
card-payment-events-topic
|
|
57
|
+
do
|
|
58
|
+
echo
|
|
59
|
+
echo "---------------------"
|
|
60
|
+
echo "Subscribing webhooks-events-subscriber-queue to topic $TOPIC"
|
|
61
|
+
echo "---------------------"
|
|
62
|
+
aws sns subscribe \
|
|
63
|
+
--topic-arn "arn:aws:sns:eu-west-1:000000000000:$TOPIC" \
|
|
64
|
+
--protocol sqs \
|
|
65
|
+
--notification-endpoint arn:aws:sns:eu-west-1:000000000000:webhooks-events-subscriber-queue \
|
|
66
|
+
--endpoint-url=http://localhost:4566 \
|
|
67
|
+
--region=eu-west-1
|
|
68
|
+
echo
|
|
69
|
+
echo
|
|
70
|
+
done
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Naxsi rules will be copied here
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
CREATE EXTENSION "uuid-ossp";
|
|
2
|
+
CREATE EXTENSION IF NOT EXISTS pg_trgm WITH SCHEMA pg_catalog;
|
|
3
|
+
|
|
4
|
+
CREATE USER connector WITH password 'mysecretpassword';
|
|
5
|
+
CREATE DATABASE connector WITH owner=connector TEMPLATE postgres;
|
|
6
|
+
GRANT ALL PRIVILEGES ON DATABASE connector TO connector;
|
|
7
|
+
|
|
8
|
+
CREATE USER publicauth WITH password 'mysecretpassword';
|
|
9
|
+
CREATE DATABASE publicauth WITH owner=publicauth TEMPLATE postgres;
|
|
10
|
+
GRANT ALL PRIVILEGES ON DATABASE publicauth TO publicauth;
|
|
11
|
+
|
|
12
|
+
CREATE USER adminusers WITH password 'mysecretpassword';
|
|
13
|
+
CREATE DATABASE adminusers WITH owner=adminusers TEMPLATE postgres;
|
|
14
|
+
GRANT ALL PRIVILEGES ON DATABASE adminusers TO adminusers;
|
|
15
|
+
|
|
16
|
+
CREATE USER products WITH password 'mysecretpassword';
|
|
17
|
+
CREATE DATABASE products WITH owner=products TEMPLATE postgres;
|
|
18
|
+
GRANT ALL PRIVILEGES ON DATABASE products TO products;
|
|
19
|
+
|
|
20
|
+
CREATE USER ledger WITH password 'mysecretpassword';
|
|
21
|
+
CREATE DATABASE ledger WITH owner=ledger TEMPLATE postgres;
|
|
22
|
+
GRANT ALL PRIVILEGES ON DATABASE ledger TO ledger;
|
|
23
|
+
|
|
24
|
+
CREATE USER webhooks WITH password 'mysecretpassword';
|
|
25
|
+
CREATE DATABASE webhooks WITH owner=webhooks TEMPLATE postgres;
|
|
26
|
+
GRANT ALL PRIVILEGES ON DATABASE webhooks TO webhooks;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
PORT=9700
|
|
2
|
+
ADMIN_PORT=9701
|
|
3
|
+
|
|
4
|
+
DB_HOST=adminusers_db
|
|
5
|
+
DB_PORT=5432
|
|
6
|
+
DB_SSL_OPTION=ssl=true
|
|
7
|
+
DB_USER=adminusers
|
|
8
|
+
DB_PASSWORD=mysecretpassword
|
|
9
|
+
|
|
10
|
+
JPA_LOG_LEVEL=WARNING
|
|
11
|
+
JPA_SQL_LOG_LEVEL=WARNING
|
|
12
|
+
LOGIN_ATTEMPT_CAP=2
|
|
13
|
+
|
|
14
|
+
# defines whether outbound HTTP traffic need to be routed via a proxy. Default behaviour is proxy off.
|
|
15
|
+
HTTP_PROXY_ENABLED=false
|
|
16
|
+
HTTP_PROXY_HOST=egress.pymnt.localdomain
|
|
17
|
+
HTTP_PROXY_PORT=8080
|
|
18
|
+
|
|
19
|
+
LEDGER_URL=http://ledger:10700
|
|
20
|
+
|
|
21
|
+
NOTIFY_SERVICE_ID=pay-notify-service-id
|
|
22
|
+
NOTIFY_SECRET=pay-notify-secret-needs-to-be-32-chars-fsghdngfhmhfkrgsfs
|
|
23
|
+
NOTIFY_API_KEY=api_key-pay-notify-service-id-pay-notify-secret-needs-to-be-32-chars-fsghdngfhmhfkrgsfs
|
|
24
|
+
NOTIFY_SIGN_IN_OTP_SMS_TEMPLATE_ID=pay-notify-sign-in-otp-sms-template-id
|
|
25
|
+
NOTIFY_CHANGE_SIGN_IN_2FA_TO_SMS_OTP_SMS_TEMPLATE_ID=pay-notify-change-sign-in-2fa-to-sms-otp-sms-template-id
|
|
26
|
+
NOTIFY_SELF_INITIATED_CREATE_USER_AND_SERVICE_OTP_SMS_TEMPLATE_ID=pay-notify-self-initiated-create-user-and-service-otp-sms-template-id
|
|
27
|
+
NOTIFY_CREATE_USER_IN_RESPONSE_TO_INVITATION_TO_SERVICE_OTP_SMS_TEMPLATE_ID=pay-notify-create-user-in-response-to-invitation-to-service-otp-sms-template-id
|
|
28
|
+
NOTIFY_INVITE_EMAIL_TEMPLATE_ID=pay-notify-invite-email-template-id
|
|
29
|
+
NOTIFY_INVITE_USER_EMAIL_TEMPLATE_ID=pay-notify-invite-user-email-template-id
|
|
30
|
+
NOTIFY_FORGOTTEN_PASSWORD_EMAIL_TEMPLATE_ID=pay-notify-forgotten-password-email-template-id
|
|
31
|
+
NOTIFY_BASE_URL=http://stubs:3030/notify
|
|
32
|
+
NOTIFY_INVITE_SERVICE_EMAIL_TEMPLATE_ID=pay-notify-invite-service-email-template-id
|
|
33
|
+
NOTIFY_INVITE_SERVICE_USER_EXITS_EMAIL_TEMPLATE_ID=pay-notify-invite-service-user-exists-email-template-id
|
|
34
|
+
NOTIFY_LIVE_ACCOUNT_CREATED_EMAIL_TEMPLATE_ID=pay-notify-live-account-created-email-template-id
|
|
35
|
+
NOTIFY_DISPUTE_CREATED_EMAIL_TEMPLATE_ID=pay-notify-dispute-created-email-template-id
|
|
36
|
+
NOTIFY_STRIPE_DISPUTE_CREATED_EMAIL_TEMPLATE_ID=pay-notify-dispute-created-email-template-id
|
|
37
|
+
NOTIFY_STRIPE_DISPUTE_EVIDENCE_SUBMITTED_EMAIL_TEMPLATE_ID=pay-notify-dispute-evidence-submitted-template-id
|
|
38
|
+
NOTIFY_STRIPE_DISPUTE_LOST_EMAIL_TEMPLATE_ID=pay-notify-stripe-dispute-lost-email-template-id
|
|
39
|
+
NOTIFY_STRIPE_DISPUTE_LOST_AND_SERVICE_CHARGED_EMAIL_TEMPLATE_ID=pay-notify-stripe-dispute-lost-andservice-charged-email-template-id
|
|
40
|
+
NOTIFY_STRIPE_DISPUTE_WON_EMAIL_TEMPLATE_ID=pay-notify-stripe-dispute-won-email-template-id
|
|
41
|
+
NOTIFY_EMAIL_REPLY_TO_SUPPORT_ID=pay-notify-email-reply-to-support-id
|
|
42
|
+
|
|
43
|
+
FORGOTTEN_PASSWORD_EXPIRY_MINUTES=90
|
|
44
|
+
|
|
45
|
+
AWS_SQS_CONNECTOR_TASKS_QUEUE_URL=http://localstack:4566/000000000000/connector_tasks_queue
|
|
46
|
+
|
|
47
|
+
#AWS_XRAY_DAEMON_ADDRESS=xray:2000
|
|
48
|
+
|
|
49
|
+
EXPUNGE_AND_ARCHIVE_HISTORICAL_DATA_ENABLED=true
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
PORT=9300
|
|
2
|
+
ADMIN_PORT=9301
|
|
3
|
+
|
|
4
|
+
DB_HOST=connector_db
|
|
5
|
+
DB_PORT=5432
|
|
6
|
+
DB_SSL_OPTION=ssl=true
|
|
7
|
+
DB_USER=connector
|
|
8
|
+
DB_PASSWORD=mysecretpassword
|
|
9
|
+
|
|
10
|
+
SECURE_WORLDPAY_NOTIFICATION_ENABLED=false
|
|
11
|
+
SECURE_WORLDPAY_NOTIFICATION_DOMAIN=pymnt.localdomain
|
|
12
|
+
|
|
13
|
+
GDS_CONNECTOR_WORLDPAY_TEST_URL=http://stubs:3030/stub/worldpay
|
|
14
|
+
GDS_CONNECTOR_WORLDPAY_LIVE_URL=http://stubs:3030/stub/worldpay
|
|
15
|
+
|
|
16
|
+
WORLDPAY_3DS_FLEX_DDC_TEST_URL=http://stubs:3030/stub/worldpay
|
|
17
|
+
WORLDPAY_3DS_FLEX_DDC_LIVE_URL=http://stubs:3030/stub/worldpay
|
|
18
|
+
|
|
19
|
+
WORLDPAY_APPLE_PAY_PAYMENT_PROCESSING_CERTIFICATE=LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVjRENDQkJhZ0F3SUJBZ0lJVXlyRU00SXpCSFF3Q2dZSUtvWkl6ajBFQXdJd2dZQXhOREF5QmdOVkJBTU0KSzBGd2NHeGxJRmR2Y214a2QybGtaU0JFWlhabGJHOXdaWElnVW1Wc1lYUnBiMjV6SUVOQklDMGdSekl4SmpBawpCZ05WQkFzTUhVRndjR3hsSUVObGNuUnBabWxqWVhScGIyNGdRWFYwYUc5eWFYUjVNUk13RVFZRFZRUUtEQXBCCmNIQnNaU0JKYm1NdU1Rc3dDUVlEVlFRR0V3SlZVekFlRncweE5ERXdNall4TWpFd01UQmFGdzB4TmpFeE1qUXgKTWpFd01UQmFNSUdoTVM0d0xBWUtDWkltaVpQeUxHUUJBUXdlYldWeVkyaGhiblF1WTI5dExuTmxZWFJuWldWcgpMbE5sWVhSSFpXVnJNVFF3TWdZRFZRUUREQ3ROWlhKamFHRnVkQ0JKUkRvZ2JXVnlZMmhoYm5RdVkyOXRMbk5sCllYUm5aV1ZyTGxObFlYUkhaV1ZyTVJNd0VRWURWUVFMREFvNVFqTlJXVGxYUWxvMU1SY3dGUVlEVlFRS0RBNVQKWldGMFIyVmxheXdnU1c1akxqRUxNQWtHQTFVRUJoTUNWVk13V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQgpCd05DQUFRUGppQTFrVEVvZFNUMnd5NWQ1a1FGck0wRDVxQlg5VWtyeThXNkQrdkM3T3FiTW9UbS91cFJNMUdSCkhlQTJMYVZUcndBbnBHaG9PMEVUcVlGMk51NFZvNElDVlRDQ0FsRXdSd1lJS3dZQkJRVUhBUUVFT3pBNU1EY0cKQ0NzR0FRVUZCekFCaGl0b2RIUndPaTh2YjJOemNDNWhjSEJzWlM1amIyMHZiMk56Y0RBMExXRndjR3hsZDNkawpjbU5oTWpBeE1CMEdBMVVkRGdRV0JCUVdHZktnUGdWQlg4Sk92ODRxMWMwNEhTaE1tekFNQmdOVkhSTUJBZjhFCkFqQUFNQjhHQTFVZEl3UVlNQmFBRklTMmhNdzZobUp5RmxtVTZCcWp2VWpmT3Q4TE1JSUJIUVlEVlIwZ0JJSUIKRkRDQ0FSQXdnZ0VNQmdrcWhraUc5Mk5rQlFFd2dmNHdnY01HQ0NzR0FRVUZCd0lDTUlHMkRJR3pVbVZzYVdGdQpZMlVnYjI0Z2RHaHBjeUJqWlhKMGFXWnBZMkYwWlNCaWVTQmhibmtnY0dGeWRIa2dZWE56ZFcxbGN5QmhZMk5sCmNIUmhibU5sSUc5bUlIUm9aU0IwYUdWdUlHRndjR3hwWTJGaWJHVWdjM1JoYm1SaGNtUWdkR1Z5YlhNZ1lXNWsKSUdOdmJtUnBkR2x2Ym5NZ2IyWWdkWE5sTENCalpYSjBhV1pwWTJGMFpTQndiMnhwWTNrZ1lXNWtJR05sY25ScApabWxqWVhScGIyNGdjSEpoWTNScFkyVWdjM1JoZEdWdFpXNTBjeTR3TmdZSUt3WUJCUVVIQWdFV0ttaDBkSEE2Ckx5OTNkM2N1WVhCd2JHVXVZMjl0TDJObGNuUnBabWxqWVhSbFlYVjBhRzl5YVhSNUx6QTJCZ05WSFI4RUx6QXQKTUN1Z0thQW5oaVZvZEhSd09pOHZZM0pzTG1Gd2NHeGxMbU52YlM5aGNIQnNaWGQzWkhKallUSXVZM0pzTUE0RwpBMVVkRHdFQi93UUVBd0lES0RCUEJna3Foa2lHOTJOa0JpQUVRZ3hBUmprek9FWTBOalU0UTBFeVF6RkRPVU16Ck9FSTRSRVpEUWpWRVFrSXlRVEl5TkRVMk1EZEVSRVV5UmpFeE5EWXlNRVU0TkRZNFJVWTFNa1F5TURoRFFUQUsKQmdncWhrak9QUVFEQWdOSUFEQkZBaUIrUTR6enBNajJESlRDSWhERkJjbXdLMXpRQUM3MGZZMklzWWQ4K054dQp1d0loQUtqOVJyVE95aWFRbm9UNU1xaTNVSG9wYjZ4VHVnbDNMVURCbG9yYUJIeVAKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQ==
|
|
20
|
+
WORLDPAY_APPLE_PAY_PAYMENT_PROCESSING_PRIVATE_KEY=MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgOqukXQoQVbg1xvvq/IGLdK0UuJPbbawULTALcuw/Uz2hRANCAAQPjiA1kTEodST2wy5d5kQFrM0D5qBX9Ukry8W6D+vC7OqbMoTm/upRM1GRHeA2LaVTrwAnpGhoO0ETqYF2Nu4V
|
|
21
|
+
|
|
22
|
+
GDS_CONNECTOR_SMARTPAY_TEST_URL=http://stubs:3030/stub/smartpay
|
|
23
|
+
GDS_CONNECTOR_SMARTPAY_LIVE_URL=http://stubs:3030/stub/smartpay
|
|
24
|
+
|
|
25
|
+
SANDBOX_ALLOWED_CIDRS=["127.0.0.1/32", "0.0.0.0/32"]
|
|
26
|
+
|
|
27
|
+
SMARTPAY_ALLOWED_CIDRS=["127.0.0.1/32", "0.0.0.0/32"]
|
|
28
|
+
GDS_CONNECTOR_SMARTPAY_NOTIFICATION_USER=smartpay-user
|
|
29
|
+
GDS_CONNECTOR_SMARTPAY_NOTIFICATION_PASSWORD=smartpay-password
|
|
30
|
+
|
|
31
|
+
STRIPE_ALLOWED_CIDRS=["127.0.0.1/32", "0.0.0.0/32"]
|
|
32
|
+
STRIPE_TRANSACTION_FEE_PERCENTAGE=0.9
|
|
33
|
+
STRIPE_TRANSACTION_RADAR_FEE_IN_PENCE=5
|
|
34
|
+
STRIPE_TRANSACTION_THREE_DS_FEE_IN_PENCE=5
|
|
35
|
+
|
|
36
|
+
JPA_LOG_LEVEL=WARNING
|
|
37
|
+
JPA_SQL_LOG_LEVEL=WARNING
|
|
38
|
+
|
|
39
|
+
# defines whether outbound HTTP traffic need to be routed via a proxy. Default behaviour is proxy off.
|
|
40
|
+
HTTP_PROXY_ENABLED=false
|
|
41
|
+
|
|
42
|
+
# If `ENABLE_OUTBOUND_PROXY=true` make sure to set the below proxy vars. Otherwise they are ignored
|
|
43
|
+
HTTP_PROXY_HOST=egress.pymnt.localdomain
|
|
44
|
+
HTTP_PROXY_PORT=8080
|
|
45
|
+
HTTP_PROXY_SCHEME=http
|
|
46
|
+
AUTH_READ_TIMEOUT_SECONDS=1
|
|
47
|
+
|
|
48
|
+
NOTIFY_EMAIL_ENABLED=true
|
|
49
|
+
NOTIFY_PAYMENT_RECEIPT_EMAIL_TEMPLATE_ID=email-template-id
|
|
50
|
+
NOTIFY_REFUND_ISSUED_EMAIL_TEMPLATE_ID=email-refund-issued-template-id
|
|
51
|
+
NOTIFY_API_KEY=api_key-pay-notify-service-id-pay-notify-secret-needs-to-be-32-chars-fsghdngfhmhfkrgsfs
|
|
52
|
+
NOTIFY_BASE_URL=http://stubs:3030/notify
|
|
53
|
+
|
|
54
|
+
#AWS_XRAY_DAEMON_ADDRESS=xray:2000
|
|
55
|
+
AWS_XRAY_CONTEXT_MISSING=LOG_ERROR
|
|
56
|
+
|
|
57
|
+
CAPTURE_PROCESS_QUEUE_SCHEDULER_THREAD_DELAY_IN_SECONDS=1
|
|
58
|
+
|
|
59
|
+
EVENT_QUEUE_ENABLED=true
|
|
60
|
+
AWS_SQS_PAYMENT_EVENT_QUEUE_URL=http://localstack:4566/000000000000/pay_event_queue
|
|
61
|
+
AWS_SQS_PAYOUT_RECONCILE_QUEUE_URL=http://localstack:4566/000000000000/payout_reconcile_queue
|
|
62
|
+
|
|
63
|
+
EMIT_PAYMENT_STATE_TRANSITION_EVENTS=true
|
|
64
|
+
EMIT_PAYOUT_EVENTS=true
|
|
65
|
+
|
|
66
|
+
TASK_QUEUE_ENABLED="true"
|
|
67
|
+
AWS_SQS_CONNECTOR_TASKS_QUEUE_URL=http://localstack:4566/000000000000/connector_tasks_queue
|
|
68
|
+
|
|
69
|
+
FRONTEND_URL=http://localhost:9000
|
|
70
|
+
CARDID_URL=http://cardid:9900
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
SESSION_ENCRYPTION_KEY=asdjhbwefbo23r23rbfik2roiwhefwbqw
|
|
2
|
+
COOKIE_MAX_AGE=5400000
|
|
3
|
+
CONNECTOR_HOST=http://connector:9300
|
|
4
|
+
ANALYTICS_TRACKING_ID=testing-123
|
|
5
|
+
CARDID_HOST=http://cardid:9900
|
|
6
|
+
NODE_WORKER_COUNT=1
|
|
7
|
+
NODE_ENV=dev
|
|
8
|
+
WORLDPAY_3DS_FLEX_DDC_TEST_URL=http://stubs:3030/stub/worldpay
|
|
9
|
+
WORLDPAY_3DS_FLEX_DDC_LIVE_URL=http://stubs:3030/stub/worldpay
|
|
10
|
+
|
|
11
|
+
#AWS_XRAY_DAEMON_ADDRESS=xray:2000
|
|
12
|
+
DISABLE_INTERNAL_HTTPS=true
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
JAVA_OPTS=-Xms128m -Xmx1G
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
PORT=10100
|
|
2
|
+
|
|
3
|
+
SESSION_ENCRYPTION_KEY=asdjhbwefbo23r23rbfik2roiwhefwbqw
|
|
4
|
+
COOKIE_MAX_AGE=3600000
|
|
5
|
+
DISABLE_INTERNAL_HTTPS=true
|
|
6
|
+
|
|
7
|
+
SELFSERVICE_DASHBOARD_URL=http://localhost:9400/dashboard
|
|
8
|
+
SELFSERVICE_DEMO_PAYMENT_RETURN_URL=http://localhost:9400/make-a-demo-payment/:productExternalId/go-to-transactions
|
|
9
|
+
|
|
10
|
+
NODE_ENV=dev
|
|
11
|
+
|
|
12
|
+
GOOGLE_RECAPTCHA_SITE_KEY=6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI
|
|
13
|
+
GOOGLE_RECAPTCHA_SECRET_KEY=6LeIxAcTAAAAAGG-vFI1TnRWxMZNFuojJ4WifJWe
|
|
14
|
+
GOOGLE_RECAPTCHA_USE_ENTERPRISE_VERSION=false
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
PORT=10300
|
|
2
|
+
ADMIN_PORT=10001
|
|
3
|
+
|
|
4
|
+
DB_HOST=products_db
|
|
5
|
+
DB_SSL_OPTION=ssl=true
|
|
6
|
+
DB_USER=products
|
|
7
|
+
DB_PASSWORD=mysecretpassword
|
|
8
|
+
|
|
9
|
+
JPA_LOG_LEVEL=WARNING
|
|
10
|
+
JPA_SQL_LOG_LEVEL=WARNING
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
BASE_URL=http://localhost:10300
|
|
14
|
+
PRODUCTSUI_PAY_URL=http://localhost:10400/pay
|
|
15
|
+
PRODUCTSUI_CONFIRMATION_URL=http://localhost:10400/payment-complete
|
|
16
|
+
PRODUCTS_FRIENDLY_BASE_URI=http://localhost:10400/redirect
|
|
17
|
+
|
|
18
|
+
HTTP_PROXY_HOST=egress.pymnt.localdomain
|
|
19
|
+
HTTP_PROXY_PORT=8080
|
|
20
|
+
HTTP_PROXY_SCHEME=http
|
|
21
|
+
AUTH_READ_TIMEOUT_SECONDS=1
|
|
22
|
+
|
|
23
|
+
EXPUNGE_HISTORICAL_DATA_ENABLED=true
|
|
24
|
+
EXPUNGE_DATA_OLDER_THAN_DAYS=0
|
|
25
|
+
EXPUNGE_NO_OF_PAYMENTS_PER_TASK_RUN=10
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
PORT=9100
|
|
2
|
+
ADMIN_PORT=9101
|
|
3
|
+
CONNECTOR_URL=http://connector:9300
|
|
4
|
+
PUBLIC_AUTH_URL=http://publicauth:9600/v1/api/auth
|
|
5
|
+
LEDGER_URL=http://ledger:10700
|
|
6
|
+
TOKEN_API_HMAC_SECRET=qwer9yuhgf
|
|
7
|
+
PUBLICAPI_BASE=http://publicapi:9100
|
|
8
|
+
ALLOW_HTTP_FOR_RETURN_URL=true
|
|
9
|
+
#AWS_XRAY_DAEMON_ADDRESS=xray:2000
|
|
10
|
+
REDIS_URL=redis:6379
|
|
11
|
+
RATE_LIMITER_VALUE=75
|
|
12
|
+
RATE_LIMITER_VALUE_POST=15
|
|
13
|
+
RATE_LIMITER_PER_MILLIS=1000
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
PORT=9600
|
|
2
|
+
ADMIN_PORT=9601
|
|
3
|
+
|
|
4
|
+
DB_HOST=publicauth_db
|
|
5
|
+
DB_PORT=5432
|
|
6
|
+
DB_SSL_OPTION=ssl=true
|
|
7
|
+
DB_USER=publicauth
|
|
8
|
+
DB_PASSWORD=mysecretpassword
|
|
9
|
+
|
|
10
|
+
TOKEN_DB_BCRYPT_SALT='$2a$10$IhaXo6LIBhKIWOiGpbtPOu'
|
|
11
|
+
TOKEN_API_HMAC_SECRET=qwer9yuhgf
|
|
12
|
+
|
|
13
|
+
#AWS_XRAY_DAEMON_ADDRESS=xray:2000
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
PORT=9400
|
|
2
|
+
SESSION_ENCRYPTION_KEY=asdjhbwefbo23r23rbfik2roiwhefwbqw
|
|
3
|
+
PUBLIC_AUTH_URL=http://publicauth:9600/v1/frontend/auth
|
|
4
|
+
SELFSERVICE_BASE=selfservice
|
|
5
|
+
PRODUCTS_URL=http://products:18000
|
|
6
|
+
ADMINUSERS_URL=http://adminusers:9700
|
|
7
|
+
LEDGER_URL=http://ledger:10700
|
|
8
|
+
WEBHOOKS_URL=http://webhooks:10800
|
|
9
|
+
PRODUCTS_API_TOKEN=g0nBA5lNzfUalQjk4ZBDy70AikNshxz2G70dA6lg
|
|
10
|
+
PRODUCTS_FRIENDLY_BASE_URI=productsui/redirect
|
|
11
|
+
|
|
12
|
+
LOGIN_ATTEMPT_CAP=3
|
|
13
|
+
|
|
14
|
+
COOKIE_MAX_AGE=10800000
|
|
15
|
+
NODE_WORKER_COUNT=1
|
|
16
|
+
NODE_ENV=dev
|
|
17
|
+
|
|
18
|
+
# defines whether outbound HTTP traffic need to be routed via a proxy.
|
|
19
|
+
HTTP_PROXY_ENABLED=false
|
|
20
|
+
|
|
21
|
+
#AWS_XRAY_DAEMON_ADDRESS=xray:2000
|