Skip to content

Commit 2f8a787

Browse files
authored
Merge branch 'master' into migrate-live-sancho
2 parents 4b219c2 + dd3a95b commit 2f8a787

File tree

25 files changed

+681
-156
lines changed

25 files changed

+681
-156
lines changed

.kube/us-east-2

+111
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
apiVersion: v1
2+
clusters:
3+
- cluster:
4+
certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURCVENDQWUyZ0F3SUJBZ0lJRmkwZGg3QStMVjR3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TkRBeU1USXlNRE00TVRSYUZ3MHpOREF5TURreU1EUXpNVFJhTUJVeApFekFSQmdOVkJBTVRDbXQxWW1WeWJtVjBaWE13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLCkFvSUJBUURWcGJUZHMwVGliOE1ya1ErZkR1NWttaHFSZVpMZFNVUTZQY3BHYXZGSTNmL3J5NE9zazRYZ2lYK1cKc1VRUGdGS0lFaTdkekM3QWZFdGQ5cmM0TGI4RnpxT3A1RzVOOTRMdFp1RTFSN0M2VXdXMFhNTDBMYWh1MlNiaAptTGpaV1RHcndjVStEbm51VXBIMHVUR2VzeTJHY0hHYW9sWnhEY1p2QndNcHQvQXNvNE5vTnEwZ2xwa1U0aStzCmlKZDR5c2dlaklLa3VlM0I3cWRHajR4OE5YSE9tRHJsdUk0ZFhhY0dtU04zd0pXQ0dnWDlQdmhMRklNK1QvTnkKdS9TSW9aSDNiSmlUZGhETVB6QWhWY2xBZDNOQXBjNWJaeHNCNk9YNGkzZ2xIOTVtcTh0R1FNK3cwMGJnYTV3QQpCTVpVVVVTWjdyNEJyVmxSbHNyenRKUEtXMUVIQWdNQkFBR2pXVEJYTUE0R0ExVWREd0VCL3dRRUF3SUNwREFQCkJnTlZIUk1CQWY4RUJUQURBUUgvTUIwR0ExVWREZ1FXQkJUbVltZmROa1hhRjU5WXo0VDBPMU1YMkJRemlqQVYKQmdOVkhSRUVEakFNZ2dwcmRXSmxjbTVsZEdWek1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQ092NUpGWUNYcAozcXp0QVNSVGpyOE9JNjAvZ2NyRDFqWENHalJkSmFVcFRhdzk3Tnhic1Nzc0J2d1NnSWs2cHJYdHgySXM5REJhClJQZkVHbVgwdlV5R0lBZ2tsOXJzZUVubXlGc0taRGVXdXpzNzRzT015QStpZEErYzNldFF3QnNkTFV5U0NxRlkKazhwWEVMY1FIUUNwMEZaYnVVNHdnZWt5RnlGMENKbHEzTmRXWXJCYUpFUWJaVkNRQll0KzhYZGV5cUZvRG5aOApSalJJejMwS09GVUhJWXNWc1ByRHErTSt5eVd3eHB1UVBUU0oxYTlEYWVHekZpbnY5OWl6aUZwdWt3ZnYzdXNOCkg1SW1sMGVKWUZIMmxtNlg4S0xRK1V2MytGQ2UrWVZ3VWpPVEhiOHpEWW1IaFpZVE1JMnZzM3dNT25CeEl4Z2sKZHl6d25uRjFJb1hWCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
5+
server: https://EC62757730DD6A388B52937C3359C724.gr7.us-east-2.eks.amazonaws.com
6+
name: arn:aws:eks:us-east-2:926093910549:cluster/lace-prod-us-east-2
7+
contexts:
8+
- context:
9+
cluster: arn:aws:eks:us-east-2:926093910549:cluster/lace-prod-us-east-2
10+
user: eks-admin
11+
name: eks-admin
12+
- context:
13+
cluster: arn:aws:eks:us-east-2:926093910549:cluster/lace-prod-us-east-2
14+
user: eks-devs
15+
name: eks-devs
16+
- context:
17+
cluster: arn:aws:eks:us-east-2:926093910549:cluster/lace-prod-us-east-2
18+
user: eks-readonly
19+
name: eks-readonly
20+
- context:
21+
cluster: arn:aws:eks:us-east-2:926093910549:cluster/lace-prod-us-east-2
22+
user: lace-ci
23+
name: lace-ci
24+
current-context: eks-admin
25+
kind: Config
26+
preferences: {}
27+
users:
28+
- name: eks-admin
29+
user:
30+
exec:
31+
apiVersion: client.authentication.k8s.io/v1beta1
32+
args:
33+
- --region
34+
- us-east-2
35+
- eks
36+
- get-token
37+
- --cluster-name
38+
- lace-prod-us-east-2
39+
- --output
40+
- json
41+
- --role
42+
- arn:aws:iam::926093910549:role/eks-admin
43+
command: aws
44+
env:
45+
- name: AWS_PROFILE
46+
value: lw
47+
interactiveMode: IfAvailable
48+
provideClusterInfo: false
49+
- name: eks-devs
50+
user:
51+
exec:
52+
apiVersion: client.authentication.k8s.io/v1beta1
53+
args:
54+
- --region
55+
- us-east-2
56+
- eks
57+
- get-token
58+
- --cluster-name
59+
- lace-prod-us-east-2
60+
- --output
61+
- json
62+
- --role
63+
- arn:aws:iam::926093910549:role/eks-devs
64+
command: aws
65+
env:
66+
- name: AWS_PROFILE
67+
value: lw
68+
interactiveMode: IfAvailable
69+
provideClusterInfo: false
70+
- name: eks-readonly
71+
user:
72+
exec:
73+
apiVersion: client.authentication.k8s.io/v1beta1
74+
args:
75+
- --region
76+
- us-east-2
77+
- eks
78+
- get-token
79+
- --cluster-name
80+
- lace-prod-us-east-2
81+
- --output
82+
- json
83+
- --role
84+
- arn:aws:iam::926093910549:role/eks-readonly
85+
command: aws
86+
env:
87+
- name: AWS_PROFILE
88+
value: lw
89+
interactiveMode: IfAvailable
90+
provideClusterInfo: false
91+
- name: lace-ci
92+
user:
93+
exec:
94+
apiVersion: client.authentication.k8s.io/v1beta1
95+
args:
96+
- --region
97+
- us-east-2
98+
- eks
99+
- get-token
100+
- --cluster-name
101+
- lace-prod-us-east-2
102+
- --output
103+
- json
104+
- --role
105+
- arn:aws:iam::926093910549:role/lace-ci
106+
command: aws
107+
env:
108+
- name: AWS_PROFILE
109+
value: lw
110+
interactiveMode: IfAvailable
111+
provideClusterInfo: false

compose/common.yml

+1
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ x-sdk-environment: &sdk-environment
7272
LOGGER_MIN_SEVERITY: ${LOGGER_MIN_SEVERITY:-info}
7373
NETWORK_INFO_PROVIDER_URL: http://provider-server:3000/
7474
OGMIOS_URL: ws://ogmios:1337
75+
OVERRIDE_FUZZY_OPTIONS: true
7576
POSTGRES_DB_FILE_ASSET: /run/secrets/postgres_db_asset
7677
POSTGRES_DB_FILE_DB_SYNC: /run/secrets/postgres_db_db_sync
7778
POSTGRES_DB_FILE_HANDLE: /run/secrets/postgres_db_handle

nix/cardano-services/deployments/backend-ingress.nix

+5-6
Original file line numberDiff line numberDiff line change
@@ -33,15 +33,14 @@
3333
"external-dns.alpha.kubernetes.io/set-identifier" = values.backend.dnsId;
3434
"alb.ingress.kubernetes.io/group.name" = chart.namespace;
3535
# ACM
36-
"alb.ingress.kubernetes.io/certificate-arn" = values.cardano-services.certificateArn;
3736
"alb.ingress.kubernetes.io/group.order" = toString values.cardano-services.ingresOrder;
3837
};
3938
};
4039
spec = {
4140
ingressClassName = "alb";
42-
rules = [
43-
{
44-
host = values.backend.url;
41+
rules =
42+
map (hostname: {
43+
host = hostname;
4544
http.paths =
4645
[
4746
{
@@ -95,8 +94,8 @@
9594
}
9695
]
9796
++ values.cardano-services.additionalRoutes;
98-
}
99-
];
97+
})
98+
values.backend.hostnames;
10099
};
101100
};
102101
}

nix/cardano-services/deployments/backend.provider.nix

+1-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@
5757
};
5858
POSTGRES_SSL_DB_SYNC = "true";
5959
POSTGRES_SSL_CA_FILE_DB_SYNC = "/tls/ca.crt";
60-
60+
} // lib.optionalAttrs values.backend.passHandleDBArgs {
6161
POSTGRES_POOL_MAX_HANDLE = "10";
6262
POSTGRES_HOST_HANDLE = values.postgresName;
6363
POSTGRES_PORT_HANDLE = "5432";

nix/cardano-services/deployments/default.nix

+98-30
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@ in
107107
};
108108

109109
backend = {
110+
passHandleDBArgs = true;
110111
allowedOrigins = lib.concatStringsSep "," [
111112
# gafhhkghbfjjkeiendhlofajokpaflmk represents Chrome production version
112113
"chrome-extension://gafhhkghbfjjkeiendhlofajokpaflmk"
@@ -117,9 +118,9 @@ in
117118
# djcdfchkaijggdjokfomholkalbffgil represents Chrome dev preview version
118119
"chrome-extension://djcdfchkaijggdjokfomholkalbffgil"
119120
];
120-
url = "${final.namespace}.${baseUrl}";
121+
hostnames = ["${final.namespace}.${baseUrl}"];
121122
dnsId = lib.toLower "${values.region}-${final.namespace}-backend";
122-
ogmiosSrvServiceName = "${final.namespace}-cardano-stack.${final.namespace}.svc.cluster.local";
123+
ogmiosSrvServiceName = "${final.namespace}-cardano-core.${final.namespace}.svc.cluster.local";
123124

124125
wafARN = tf-outputs.${values.region}.waf_arn;
125126
# Healthcheck paramteres for ALB
@@ -168,7 +169,10 @@ in
168169
backend = {
169170
enabled = true;
170171
};
171-
stake-pool-provider.enabled = true;
172+
stake-pool-provider = {
173+
enabled = true;
174+
env.OVERRIDE_FUZZY_OPTIONS = "true";
175+
};
172176
handle-provider.enabled = true;
173177
# asset-provider.enabled = true;
174178
};
@@ -214,7 +218,10 @@ in
214218
env.USE_BLOCKFROST = lib.mkForce "false";
215219
env.SUBMIT_API_URL = "http://${final.namespace}-cardano-stack.${final.namespace}.svc.cluster.local:8090";
216220
};
217-
stake-pool-provider.enabled = true;
221+
stake-pool-provider = {
222+
enabled = true;
223+
env.OVERRIDE_FUZZY_OPTIONS = "true";
224+
};
218225
};
219226

220227
projectors = {
@@ -246,6 +253,7 @@ in
246253
(map (v: "/v${v}/stake-pool-provider-server") versions.stakePool)
247254
];
248255

256+
249257
cardano-services = {
250258
ingresOrder = 99;
251259
additionalRoutes = [
@@ -278,7 +286,10 @@ in
278286
enabled = true;
279287
replicas = 3;
280288
};
281-
stake-pool-provider.enabled = true;
289+
stake-pool-provider = {
290+
enabled = true;
291+
env.OVERRIDE_FUZZY_OPTIONS = "true";
292+
};
282293
handle-provider.enabled = true;
283294
# asset-provider.enabled = true;
284295
};
@@ -312,30 +323,6 @@ in
312323
};
313324
};
314325

315-
"dev-preprod@us-east-1" = final: {
316-
namespace = "dev-preprod";
317-
318-
providers = {
319-
backend = {
320-
enabled = true;
321-
env.USE_BLOCKFROST = lib.mkForce "false";
322-
};
323-
};
324-
325-
values = {
326-
network = "preprod";
327-
region = "us-east-1";
328-
329-
cardano-services = {
330-
ingresOrder = 100;
331-
};
332-
333-
backend = {
334-
routes = ["/"];
335-
};
336-
};
337-
};
338-
339326
"dev-preprod@us-east-1@v1" = final: {
340327
name = "${final.namespace}-cardanojs-v1";
341328
namespace = "dev-preprod";
@@ -345,7 +332,10 @@ in
345332
enabled = true;
346333
env.USE_BLOCKFROST = lib.mkForce "false";
347334
};
348-
stake-pool-provider.enabled = true;
335+
stake-pool-provider = {
336+
enabled = true;
337+
env.OVERRIDE_FUZZY_OPTIONS = "true";
338+
};
349339
handle-provider.enabled = true;
350340
};
351341

@@ -377,6 +367,84 @@ in
377367
};
378368
};
379369

370+
"live-preprod@us-east-2@v1" = final: {
371+
name = "${final.namespace}-cardanojs-v1";
372+
namespace = "live-preprod";
373+
context = "eks-admin";
374+
375+
providers = {
376+
backend = {
377+
enabled = true;
378+
};
379+
};
380+
381+
values = {
382+
network = "preprod";
383+
region = "us-east-2";
384+
385+
backend.hostnames = ["backend.${final.namespace}.eks.${baseUrl}" "${final.namespace}.${baseUrl}"];
386+
backend.passHandleDBArgs = false;
387+
backend.routes = [
388+
"/v1.0.0/health"
389+
"/v1.0.0/live"
390+
"/v1.0.0/meta"
391+
"/v1.0.0/ready"
392+
"/v1.0.0/asset"
393+
"/v2.0.0/chain-history"
394+
"/v1.0.0/handle"
395+
"/v1.0.0/network-info"
396+
"/v1.0.0/rewards"
397+
"/v1.0.0/stake-pool"
398+
"/v2.0.0/tx-submit"
399+
"/v2.0.0/utxo"
400+
];
401+
blockfrost-worker.enabled = true;
402+
cardano-services = {
403+
ingresOrder = 99;
404+
image = "926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:s8j5nx9x2naar194pr58kpmlr5s4xn7b";
405+
};
406+
};
407+
};
408+
409+
"live-preview@us-east-2@v1" = final: {
410+
name = "${final.namespace}-cardanojs-v1";
411+
namespace = "live-preview";
412+
context = "eks-admin";
413+
414+
providers = {
415+
backend = {
416+
enabled = true;
417+
};
418+
};
419+
420+
values = {
421+
network = "preview";
422+
region = "us-east-2";
423+
424+
backend.hostnames = ["backend.${final.namespace}.eks.${baseUrl}" "${final.namespace}.${baseUrl}"];
425+
backend.passHandleDBArgs = false;
426+
backend.routes = [
427+
"/v1.0.0/health"
428+
"/v1.0.0/live"
429+
"/v1.0.0/meta"
430+
"/v1.0.0/ready"
431+
"/v1.0.0/asset"
432+
"/v2.0.0/chain-history"
433+
"/v1.0.0/handle"
434+
"/v1.0.0/network-info"
435+
"/v1.0.0/rewards"
436+
"/v1.0.0/stake-pool"
437+
"/v2.0.0/tx-submit"
438+
"/v2.0.0/utxo"
439+
];
440+
blockfrost-worker.enabled = true;
441+
cardano-services = {
442+
ingresOrder = 99;
443+
image = "926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:s8j5nx9x2naar194pr58kpmlr5s4xn7b";
444+
};
445+
};
446+
};
447+
380448
"ops-preview-1@us-east-1" = final: {
381449
namespace = "ops-preview-1";
382450

nix/local/envs.nix

+14
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,18 @@ let
2626
yq-go
2727
];
2828
};
29+
mkK9sCommand = region: {
30+
command = ''
31+
if [ -z "$K8S_USER" ]; then
32+
echo "To use this command you must set K8S_USER in $PRJ_ROOT/.access.local. See Readme."
33+
else
34+
${k9s}/bin/k9s --kubeconfig $PRJ_ROOT/.kube/${region} $@
35+
fi
36+
'';
37+
name = "k9s-${region}";
38+
category = "direct access";
39+
};
40+
2941
in {
3042
checks = mkShell {
3143
imports = [formattingModule];
@@ -54,6 +66,8 @@ in {
5466
{package = std;}
5567
{package = yarn;}
5668
{package = k9s;}
69+
(mkK9sCommand "us-east-1")
70+
(mkK9sCommand "us-east-2")
5771
];
5872

5973
devshell.startup.setup.text = ''

packages/cardano-services/package.json

+1
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@
110110
"express-openapi-validator": "^4.13.8",
111111
"express-prom-bundle": "^6.4.1",
112112
"fraction.js": "^4.2.0",
113+
"fuse.js": "^7.0.0",
113114
"json-bigint": "^1.0.0",
114115
"jsonschema": "^1.4.1",
115116
"lodash": "^4.17.21",

0 commit comments

Comments
 (0)