@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.
Files changed (89) hide show
  1. package/package.json +1 -1
  2. package/resources/legacy-ruby-cli/.rspec +1 -0
  3. package/resources/legacy-ruby-cli/.rubocop.yml +26 -0
  4. package/resources/legacy-ruby-cli/.ruby-version +1 -0
  5. package/resources/legacy-ruby-cli/Gemfile +24 -0
  6. package/resources/legacy-ruby-cli/Gemfile.lock +1431 -0
  7. package/resources/legacy-ruby-cli/README.md +143 -0
  8. package/resources/legacy-ruby-cli/bin/pay +31 -0
  9. package/resources/legacy-ruby-cli/config/generate-secrets.yml +9 -0
  10. package/resources/legacy-ruby-cli/config/secrets.yml +581 -0
  11. package/resources/legacy-ruby-cli/config/service_secrets.yml +174 -0
  12. package/resources/legacy-ruby-cli/lib/pay_cli/aws/document.rb +23 -0
  13. package/resources/legacy-ruby-cli/lib/pay_cli/aws/services.rb +47 -0
  14. package/resources/legacy-ruby-cli/lib/pay_cli/aws/tokens.rb +161 -0
  15. package/resources/legacy-ruby-cli/lib/pay_cli/commands/aws.rb +51 -0
  16. package/resources/legacy-ruby-cli/lib/pay_cli/commands/browse.rb +31 -0
  17. package/resources/legacy-ruby-cli/lib/pay_cli/commands/doctor.rb +154 -0
  18. package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/app_client.rb +216 -0
  19. package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/config.rb +138 -0
  20. package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/config.yaml +192 -0
  21. package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/docker.rb +36 -0
  22. package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/docker-compose.erb +270 -0
  23. package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/end-to-end.erb +30 -0
  24. package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/localstack/init-aws.sh +70 -0
  25. package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/naxsi/readme.md +1 -0
  26. package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/postgres/docker-entrypoint-initdb.d/make_payments_databases.sql +26 -0
  27. package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/services/adminusers.env +49 -0
  28. package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/services/cardid.env +2 -0
  29. package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/services/connector.env +70 -0
  30. package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/services/demo-service.env +10 -0
  31. package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/services/frontend.env +12 -0
  32. package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/services/java_app.env +1 -0
  33. package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/services/ledger.env +7 -0
  34. package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/services/products-ui.env +14 -0
  35. package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/services/products.env +25 -0
  36. package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/services/publicapi.env +13 -0
  37. package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/services/publicauth.env +13 -0
  38. package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/services/selfservice.env +21 -0
  39. package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/services/ssl/certs/frontend-proxy.crt +18 -0
  40. package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/services/ssl/certs/products-ui-proxy.crt +20 -0
  41. package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/services/ssl/certs/selfservice-proxy.crt +20 -0
  42. package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/services/ssl/certs/stubs-proxy.crt +18 -0
  43. package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/services/ssl/keys/frontend-proxy.key +28 -0
  44. package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/services/ssl/keys/products-ui-proxy.key +28 -0
  45. package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/services/ssl/keys/selfservice-proxy.key +28 -0
  46. package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/services/ssl/keys/stubs-proxy.key +28 -0
  47. package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/services/ssl/make-selfsigned.sh +2 -0
  48. package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/services/stubs.env +12 -0
  49. package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/services/toolbox.env +5 -0
  50. package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/files/services/webhooks.env +9 -0
  51. package/resources/legacy-ruby-cli/lib/pay_cli/commands/local/image_extractor.rb +20 -0
  52. package/resources/legacy-ruby-cli/lib/pay_cli/commands/local.rb +430 -0
  53. package/resources/legacy-ruby-cli/lib/pay_cli/commands/schema.rb +36 -0
  54. package/resources/legacy-ruby-cli/lib/pay_cli/commands/secrets.rb +114 -0
  55. package/resources/legacy-ruby-cli/lib/pay_cli/commands/ssm.rb +111 -0
  56. package/resources/legacy-ruby-cli/lib/pay_cli/commands/tf.rb +90 -0
  57. package/resources/legacy-ruby-cli/lib/pay_cli/commands/tunnel/services.yml +49 -0
  58. package/resources/legacy-ruby-cli/lib/pay_cli/config.rb +27 -0
  59. package/resources/legacy-ruby-cli/lib/pay_cli/ec2.rb +38 -0
  60. package/resources/legacy-ruby-cli/lib/pay_cli/entry_point.rb +52 -0
  61. package/resources/legacy-ruby-cli/lib/pay_cli/environment.rb +25 -0
  62. package/resources/legacy-ruby-cli/lib/pay_cli/logger.rb +3 -0
  63. package/resources/legacy-ruby-cli/lib/pay_cli/logs.rb +248 -0
  64. package/resources/legacy-ruby-cli/lib/pay_cli/naming.rb +44 -0
  65. package/resources/legacy-ruby-cli/lib/pay_cli/secrets.rb +276 -0
  66. package/resources/legacy-ruby-cli/lib/pay_cli/stop_yubico_authenticator.rb +10 -0
  67. package/resources/legacy-ruby-cli/lib/pay_cli/ykman_oath_credential_config.rb +70 -0
  68. package/resources/legacy-ruby-cli/lib/zeitwerk_setup.rb +5 -0
  69. package/resources/legacy-ruby-cli/package-lock.json +6 -0
  70. package/resources/legacy-ruby-cli/rds_access/connect.sh +149 -0
  71. package/resources/legacy-ruby-cli/spec/.rubocop.yml +2 -0
  72. package/resources/legacy-ruby-cli/spec/fixtures/dockerfile_examples/Dockerfile.complex +34 -0
  73. package/resources/legacy-ruby-cli/spec/fixtures/dockerfile_examples/Dockerfile.complex_differing_froms +33 -0
  74. package/resources/legacy-ruby-cli/spec/fixtures/dockerfile_examples/Dockerfile.no_from +3 -0
  75. package/resources/legacy-ruby-cli/spec/fixtures/dockerfile_examples/Dockerfile.simple +5 -0
  76. package/resources/legacy-ruby-cli/spec/fixtures/dockerfile_examples/Dockerfile.simple_no_tag +5 -0
  77. package/resources/legacy-ruby-cli/spec/fixtures/dockerfile_examples/Dockerfile.with_sha +5 -0
  78. package/resources/legacy-ruby-cli/spec/fixtures/dockerfile_examples/Dockerfile.with_sha_no_tag +5 -0
  79. package/resources/legacy-ruby-cli/spec/lib/pay_cli/commands/local/image_extractor_spec.rb +55 -0
  80. package/resources/legacy-ruby-cli/spec/naming_spec.rb +83 -0
  81. package/resources/legacy-ruby-cli/spec/spec_helper.rb +106 -0
  82. package/resources/legacy-ruby-cli/vulnerability_scan/.nvmrc +1 -0
  83. package/resources/legacy-ruby-cli/vulnerability_scan/generate_vulnerability_report.js +91 -0
  84. package/resources/legacy-ruby-cli/vulnerability_scan/reports/.gitkeep +0 -0
  85. package/resources/legacy-ruby-cli/vulnerability_scan/scan.sh +57 -0
  86. package/src/commands/browse.js +2 -2
  87. package/src/commands/legacy.js +3 -2
  88. package/src/core/constants.js +7 -10
  89. 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,10 @@
1
+ NODE_WORKER_COUNT=1
2
+ NODE_ENV=dev
3
+ SESSION_ENCRYPTION_KEY=asdjhbwefbo23r23rbfik2roiwhefwbqw
4
+ COOKIE_MAX_AGE=5400000
5
+
6
+ #AWS_XRAY_DAEMON_ADDRESS=xray:2000
7
+ DISABLE_INTERNAL_HTTPS=true
8
+ DISABLE_SSL=true
9
+
10
+ PAY_API_URL=http://publicapi:9100
@@ -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,7 @@
1
+ PORT=10700
2
+ ADMIN_PORT=10701
3
+ QUEUE_MESSAGE_RECEIVER_THREAD_DELAY_IN_MILLISECONDS=1000
4
+
5
+ EXPUNGE_AND_REDACT_HISTORICAL_DATA_ENABLED=true
6
+ EXPUNGE_OR_REDACT_DATA_OLDER_THAN_DAYS=0
7
+ EXPUNGE_NO_OF_TRANSACTIONS_PER_TASK_RUN=5
@@ -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