Skip to content

Commit 9e1b3fe

Browse files
committed
Merge branch 'master' into conway-era
2 parents 4273cbd + 1d39473 commit 9e1b3fe

File tree

58 files changed

+672
-69
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+672
-69
lines changed

.github/workflows/std-release.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,12 @@ jobs:
99
if: startsWith(github.event.release.name, '@cardano-sdk/cardano-services@')
1010
uses: ./.github/workflows/std.yml
1111
with:
12+
# staging-* is deployed, with the versions and services identical to dev-*, at the start of the Lace release process:
13+
deploy-staging-preprod: false
1214
deploy-dev-preprod: true
1315
deploy-dev-mainnet: true
16+
# Secrets have to be passed explicitly even if callee is in the same repo:
17+
secrets:
18+
AWS_ACCESS_KEY: ${{ secrets.AWS_ACCESS_KEY }}
19+
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
20+
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}

.github/workflows/std.yml

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@ on:
1313
type: boolean
1414
required: true
1515
default: false
16+
deploy-staging-preprod:
17+
description: Deploy to staging-preprod
18+
type: boolean
19+
required: true
20+
default: false
1621
deploy-dev-mainnet:
1722
description: Deploy to dev-mainnet
1823
type: boolean
@@ -28,9 +33,19 @@ on:
2833
deploy-dev-preprod:
2934
type: boolean
3035
required: true
36+
deploy-staging-preprod:
37+
type: boolean
38+
required: true
3139
deploy-dev-mainnet:
3240
type: boolean
3341
required: true
42+
secrets:
43+
AWS_ACCESS_KEY:
44+
required: true
45+
AWS_SECRET_ACCESS_KEY:
46+
required: true
47+
SSH_PRIVATE_KEY:
48+
required: true
3449
pull_request:
3550
branches:
3651
- master
@@ -50,6 +65,8 @@ concurrency:
5065
cancel-in-progress: true
5166
jobs:
5267
discover:
68+
# Don’t run on PRs from forks (no access to secrets):
69+
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository
5370
outputs:
5471
hits: ${{ steps.discovery.outputs.hits }}
5572
deployment-matrix: ${{ steps.deployment-matrix.outputs.deployment-matrix }}
@@ -93,7 +110,10 @@ jobs:
93110
echo '{"environment":"dev-sanchonet", "target":"dev-sanchonet@us-east-1@v1", "url": "https://dev-sanchonet.lw.iog.io/"}'
94111
fi
95112
if [ "true" == ${{ inputs.deploy-dev-preprod || false }} ] ; then
96-
echo '{"environment":"dev-preprod", "target":"dev-preprod@us-east-1@v1", "url": "https://dev-preprod.lw.iog.io/"}'
113+
echo '{"environment":"dev-preprod", "target":"dev-preprod@us-east-1@v2", "url": "https://dev-preprod.lw.iog.io/"}'
114+
fi
115+
if [ "true" == ${{ inputs.deploy-staging-preprod || false }} ] ; then
116+
echo '{"environment":"staging-preprod", "target":"staging-preprod@us-east-1@v2", "url": "https://staging-preprod.lw.iog.io/"}'
97117
fi
98118
if [ "true" == ${{ inputs.deploy-dev-mainnet || false }} ] ; then
99119
echo '{"environment":"dev-mainnet", "target":"dev-mainnet@us-east-1", "url": "https://dev-mainnet.lw.iog.io/"}'

nix/cardano-services/deployments/default.nix

Lines changed: 227 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,26 @@
1111
us-east-1 = readJsonFile ./tf-outputs/lace-dev-us-east-1.json;
1212
us-east-2 = readJsonFile ./tf-outputs/lace-prod-us-east-2.json;
1313
};
14+
oci = inputs.self.x86_64-linux.cardano-services.oci-images.cardano-services;
15+
allowedOrigins = [
16+
# Represents Chrome production version
17+
"chrome-extension://gafhhkghbfjjkeiendhlofajokpaflmk"
18+
# Represents Edge production version
19+
"chrome-extension://efeiemlfnahiidnjglmehaihacglceia"
20+
# Represents midnights version of lace
21+
"chrome-extension://bjlhpephaokolembmpdcbobbpkjnoheb"
22+
# Represents Chrome dev preview version
23+
"chrome-extension://djcdfchkaijggdjokfomholkalbffgil"
24+
];
25+
26+
allowedOriginsDev = allowedOrigins ++ [
27+
"http://localhost/"
28+
"http://localhost"
29+
];
1430
in
1531
nix-helm.builders.${pkgs.system}.mkHelmMultiTarget {
1632
defaults = final: let
1733
inherit (final) values;
18-
oci = inputs.self.x86_64-linux.cardano-services.oci-images.cardano-services;
1934
in {
2035
name = "${final.namespace}-cardanojs";
2136
chart = ./Chart.yaml;
@@ -107,17 +122,8 @@ in
107122
};
108123

109124
backend = {
125+
allowedOrigins = lib.concatStringsSep "," allowedOrigins;
110126
passHandleDBArgs = true;
111-
allowedOrigins = lib.concatStringsSep "," [
112-
# gafhhkghbfjjkeiendhlofajokpaflmk represents Chrome production version
113-
"chrome-extension://gafhhkghbfjjkeiendhlofajokpaflmk"
114-
# efeiemlfnahiidnjglmehaihacglceia represents Edge production version
115-
"chrome-extension://efeiemlfnahiidnjglmehaihacglceia"
116-
# bjlhpephaokolembmpdcbobbpkjnoheb represents midnights version of lace
117-
"chrome-extension://bjlhpephaokolembmpdcbobbpkjnoheb"
118-
# djcdfchkaijggdjokfomholkalbffgil represents Chrome dev preview version
119-
"chrome-extension://djcdfchkaijggdjokfomholkalbffgil"
120-
];
121127
hostnames = ["${final.namespace}.${baseUrl}"];
122128
dnsId = lib.toLower "${values.region}-${final.namespace}-backend";
123129
ogmiosSrvServiceName = "${final.namespace}-cardano-core.${final.namespace}.svc.cluster.local";
@@ -200,14 +206,15 @@ in
200206
];
201207
};
202208

209+
backend.allowedOrigins = lib.concatStringsSep "," allowedOriginsDev;
210+
203211
blockfrost-worker.enabled = true;
204212
pg-boss-worker.enabled = true;
205213
pg-boss-worker.metadata-fetch-mode = "smash";
206214
};
207215
};
208216

209217
"dev-sanchonet@us-east-1@v1" = final: {
210-
211218
namespace = "dev-sanchonet";
212219
name = "${final.namespace}-cardanojs-v1";
213220

@@ -234,7 +241,27 @@ in
234241

235242
blockfrost-worker.enabled = false;
236243
pg-boss-worker.enabled = true;
237-
backend.ogmiosSrvServiceName = "${final.namespace}-cardano-stack.${final.namespace}.svc.cluster.local";
244+
245+
backend.allowedOrigins = lib.concatStringsSep "," allowedOriginsDev;
246+
backend.routes = let
247+
inherit (oci.meta) versions;
248+
in
249+
lib.concatLists [
250+
(map (v: "/v${v}/health") versions.root)
251+
(map (v: "/v${v}/live") versions.root)
252+
(map (v: "/v${v}/meta") versions.root)
253+
(map (v: "/v${v}/ready") versions.root)
254+
(map (v: "/v${v}/asset") versions.assetInfo)
255+
(map (v: "/v${v}/chain-history") versions.chainHistory)
256+
(map (v: "/v${v}/network-info") versions.networkInfo)
257+
(map (v: "/v${v}/rewards") versions.rewards)
258+
(map (v: "/v${v}/tx-submit") versions.txSubmit)
259+
(map (v: "/v${v}/utxo") versions.utxo)
260+
(map (v: "/v${v}/handle") versions.handle)
261+
(map (v: "/v${v}/provider-server") versions.stakePool)
262+
(map (v: "/v${v}/stake-pool-provider-server") versions.stakePool)
263+
];
264+
238265

239266
cardano-services = {
240267
ingresOrder = 99;
@@ -298,6 +325,7 @@ in
298325
}
299326
];
300327
};
328+
backend.allowedOrigins = lib.concatStringsSep "," allowedOriginsDev;
301329

302330
blockfrost-worker.enabled = true;
303331
pg-boss-worker.enabled = true;
@@ -308,11 +336,51 @@ in
308336
"dev-preprod@us-east-1@v1" = final: {
309337
name = "${final.namespace}-cardanojs-v1";
310338
namespace = "dev-preprod";
339+
context = "eks-devs";
340+
341+
providers = {
342+
backend = {
343+
enabled = true;
344+
};
345+
};
346+
347+
values = {
348+
network = "preprod";
349+
region = "us-east-1";
350+
351+
backend.hostnames = ["${final.namespace}.${baseUrl}"];
352+
backend.passHandleDBArgs = false;
353+
backend.routes = [
354+
"/v1.0.0/health"
355+
"/v1.0.0/live"
356+
"/v1.0.0/meta"
357+
"/v1.0.0/ready"
358+
"/v1.0.0/asset"
359+
"/v2.0.0/chain-history"
360+
"/v1.0.0/handle"
361+
"/v1.0.0/network-info"
362+
"/v1.0.0/rewards"
363+
"/v1.0.0/stake-pool"
364+
"/v2.0.0/tx-submit"
365+
"/v2.0.0/utxo"
366+
];
367+
backend.allowedOrigins = lib.concatStringsSep "," allowedOriginsDev;
368+
# blockfrost-worker.enabled = true;
369+
cardano-services = {
370+
ingresOrder = 99;
371+
image = "926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:s8j5nx9x2naar194pr58kpmlr5s4xn7b";
372+
};
373+
};
374+
};
375+
376+
"dev-preprod@us-east-1@v2" = final: {
377+
name = "${final.namespace}-cardanojs-v2";
378+
namespace = "dev-preprod";
379+
context = "eks-devs";
311380

312381
providers = {
313382
backend = {
314383
enabled = true;
315-
env.USE_BLOCKFROST = lib.mkForce "false";
316384
};
317385
stake-pool-provider = {
318386
enabled = true;
@@ -330,25 +398,92 @@ in
330398
network = "preprod";
331399
region = "us-east-1";
332400

401+
backend.allowedOrigins = lib.concatStringsSep "," allowedOriginsDev;
402+
backend.hostnames = ["${final.namespace}.${baseUrl}"];
403+
333404
blockfrost-worker.enabled = true;
334405
pg-boss-worker.enabled = true;
406+
cardano-services = {
407+
ingresOrder = 98;
408+
};
409+
};
410+
};
411+
412+
413+
"staging-preprod@us-east-1@v1" = final: {
414+
name = "${final.namespace}-cardanojs-v1";
415+
namespace = "staging-preprod";
416+
context = "eks-devs";
417+
418+
providers = {
419+
backend = {
420+
enabled = true;
421+
};
422+
};
423+
424+
values = {
425+
network = "preprod";
426+
region = "us-east-1";
335427

428+
backend.hostnames = ["${final.namespace}.${baseUrl}"];
429+
backend.passHandleDBArgs = false;
430+
backend.routes = [
431+
"/v1.0.0/health"
432+
"/v1.0.0/live"
433+
"/v1.0.0/meta"
434+
"/v1.0.0/ready"
435+
"/v1.0.0/asset"
436+
"/v2.0.0/chain-history"
437+
"/v1.0.0/handle"
438+
"/v1.0.0/network-info"
439+
"/v1.0.0/rewards"
440+
"/v1.0.0/stake-pool"
441+
"/v2.0.0/tx-submit"
442+
"/v2.0.0/utxo"
443+
];
444+
# blockfrost-worker.enabled = true;
336445
cardano-services = {
337446
ingresOrder = 99;
338-
additionalRoutes = [
339-
{
340-
pathType = "Prefix";
341-
path = "/v1.0.0/stake-pool";
342-
backend.service = {
343-
name = "${final.namespace}-cardanojs-v1-stake-pool-provider";
344-
port.name = "http";
345-
};
346-
}
347-
];
447+
image = "926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:s8j5nx9x2naar194pr58kpmlr5s4xn7b";
448+
};
449+
};
450+
};
451+
452+
"staging-preprod@us-east-1@v2" = final: {
453+
name = "${final.namespace}-cardanojs-v2";
454+
namespace = "staging-preprod";
455+
context = "eks-devs";
456+
457+
providers = {
458+
backend = {
459+
enabled = true;
460+
};
461+
stake-pool-provider = {
462+
enabled = true;
463+
env.OVERRIDE_FUZZY_OPTIONS = "true";
464+
};
465+
handle-provider.enabled = true;
466+
};
467+
468+
projectors = {
469+
handle.enabled = true;
470+
stake-pool.enabled = true;
471+
};
472+
473+
values = {
474+
network = "preprod";
475+
region = "us-east-1";
476+
477+
backend.hostnames = ["${final.namespace}.${baseUrl}"];
478+
blockfrost-worker.enabled = true;
479+
pg-boss-worker.enabled = true;
480+
cardano-services = {
481+
ingresOrder = 98;
348482
};
349483
};
350484
};
351485

486+
352487
"live-preprod@us-east-2@v1" = final: {
353488
name = "${final.namespace}-cardanojs-v1";
354489
namespace = "live-preprod";
@@ -463,5 +598,73 @@ in
463598
};
464599
};
465600
};
601+
602+
"live-sanchonet@us-east-2@v1" = final: {
603+
604+
namespace = "live-sanchonet";
605+
name = "${final.namespace}-cardanojs-v1";
606+
607+
providers = {
608+
backend = {
609+
enabled = true;
610+
env.USE_SUBMIT_API = "true";
611+
env.USE_BLOCKFROST = lib.mkForce "false";
612+
env.SUBMIT_API_URL = "http://${final.namespace}-cardano-stack.${final.namespace}.svc.cluster.local:8090";
613+
};
614+
stake-pool-provider.enabled = true;
615+
};
616+
617+
projectors = {
618+
stake-pool.enabled = true;
619+
};
620+
621+
values = {
622+
network = "sanchonet";
623+
region = "us-east-2";
624+
625+
blockfrost-worker.enabled = false;
626+
pg-boss-worker.enabled = true;
627+
backend.routes = let
628+
inherit (oci.meta) versions;
629+
in
630+
lib.concatLists [
631+
(map (v: "/v${v}/health") versions.root)
632+
(map (v: "/v${v}/live") versions.root)
633+
(map (v: "/v${v}/meta") versions.root)
634+
(map (v: "/v${v}/ready") versions.root)
635+
(map (v: "/v${v}/asset") versions.assetInfo)
636+
(map (v: "/v${v}/chain-history") versions.chainHistory)
637+
(map (v: "/v${v}/network-info") versions.networkInfo)
638+
(map (v: "/v${v}/rewards") versions.rewards)
639+
(map (v: "/v${v}/tx-submit") versions.txSubmit)
640+
(map (v: "/v${v}/utxo") versions.utxo)
641+
(map (v: "/v${v}/handle") versions.handle)
642+
(map (v: "/v${v}/provider-server") versions.stakePool)
643+
(map (v: "/v${v}/stake-pool-provider-server") versions.stakePool)
644+
];
645+
646+
cardano-services = {
647+
ingresOrder = 99;
648+
additionalRoutes = [
649+
{
650+
pathType = "Prefix";
651+
path = "/v1.0.0/stake-pool";
652+
backend.service = {
653+
name = "${final.namespace}-cardanojs-v1-stake-pool-provider";
654+
port.name = "http";
655+
};
656+
}
657+
{
658+
pathType = "Prefix";
659+
path = "/v3.0.0/chain-history";
660+
backend.service = {
661+
name = "${final.namespace}-cardanojs-v1-backend";
662+
port.name = "http";
663+
};
664+
}
665+
];
666+
};
667+
};
668+
};
466669
};
467670
}

0 commit comments

Comments
 (0)