Skip to content

Commit 385accf

Browse files
authored
Merge branch 'main' into chore/updates-cont-snap-times
2 parents 90e468e + 1e31ff3 commit 385accf

File tree

8 files changed

+436
-23
lines changed

8 files changed

+436
-23
lines changed

.github/workflows/ci-test.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,16 +23,16 @@ jobs:
2323
- uses: actions/checkout@v4
2424

2525
- name: Install Forge
26-
uses: input-output-hk/catalyst-forge/actions/install@ci/v1.7.1
26+
uses: input-output-hk/catalyst-forge/actions/install@ci/v1.7.3
2727
with:
28-
version: 0.14.0
28+
version: 0.18.0
2929
if: always()
3030

3131
- name: Setup CI
32-
uses: input-output-hk/catalyst-forge/actions/setup@ci/v1.7.1
32+
uses: input-output-hk/catalyst-forge/actions/setup@ci/v1.7.3
3333

3434
- name: Run tests
35-
uses: input-output-hk/catalyst-forge/actions/run@ci/v1.7.1
35+
uses: input-output-hk/catalyst-forge/actions/run@ci/v1.7.3
3636
if: always()
3737
continue-on-error: true
3838
with:

.github/workflows/ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,6 @@ permissions:
1010

1111
jobs:
1212
ci:
13-
uses: input-output-hk/catalyst-forge/.github/workflows/ci.yml@ci/v1.7.1
13+
uses: input-output-hk/catalyst-forge/.github/workflows/ci.yml@ci/v1.7.3
1414
with:
15-
forge_version: 0.14.0
15+
forge_version: 0.18.0

blueprint.cue

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
version: "1.0"
21
global: {
32
ci: {
43
local: [
@@ -53,6 +52,17 @@ global: {
5352
},
5453
]
5554
}
55+
deployment: {
56+
registries: {
57+
containers: ci.providers.aws.ecr.registry
58+
modules: ci.providers.aws.ecr.registry + "/catalyst-deployments"
59+
}
60+
repo: {
61+
url: "https://github.com/input-output-hk/catalyst-world"
62+
ref: "master"
63+
}
64+
root: "k8s"
65+
}
5666
repo: {
5767
defaultBranch: "main"
5868
name: "input-output-hk/catalyst-core"

containers/event-db-migrations/blueprint.cue

Lines changed: 97 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,102 @@
1-
version: "1.0.0"
21
project: {
32
name: "event-db-migrations"
3+
deployment: {
4+
on: {
5+
merge: {}
6+
tag: {}
7+
}
8+
9+
bundle:
10+
{
11+
env: string | *"dev"
12+
_env: env
13+
modules: main: {
14+
name: "app"
15+
version: "0.11.1"
16+
values: {
17+
jobs: migration: containers: main: {
18+
image: {
19+
name: _ @forge(name="CONTAINER_IMAGE")
20+
tag: _ @forge(name="GIT_HASH_OR_TAG")
21+
}
22+
env: {
23+
DB_HOST: {
24+
secret: {
25+
name: "db"
26+
key: "host"
27+
}
28+
}
29+
DB_NAME: {
30+
value: "eventdb"
31+
}
32+
DB_PORT: {
33+
secret: {
34+
name: "db"
35+
key: "port"
36+
}
37+
}
38+
DB_ROOT_NAME: {
39+
value: "postgres"
40+
}
41+
DB_SUPERUSER: {
42+
secret: {
43+
name: "root"
44+
key: "username"
45+
}
46+
}
47+
DB_SUPERUSER_PASSWORD: {
48+
secret: {
49+
name: "root"
50+
key: "password"
51+
}
52+
}
53+
DB_USER: {
54+
secret: {
55+
name: "db"
56+
key: "username"
57+
}
58+
}
59+
DB_USER_PASSWORD: {
60+
secret: {
61+
name: "db"
62+
key: "password"
63+
}
64+
}
65+
INIT_AND_DROP_DB: {
66+
value: string | *"true"
67+
}
68+
STAGE: {
69+
value: string | *_env
70+
}
71+
}
72+
mounts: state: {
73+
ref: volume: name: "state"
74+
path: "/eventdb/tmp"
75+
readOnly: false
76+
}
77+
resources: requests: {
78+
cpu: "100m"
79+
memory: "128Mi"
80+
}
81+
}
82+
83+
secrets: {
84+
db: {
85+
ref: "db/eventdb"
86+
}
87+
root: {
88+
ref: "db/root_account"
89+
}
90+
}
91+
92+
volumes: state: {
93+
size: "1Mi"
94+
}
95+
}
96+
}
97+
}
98+
}
99+
4100
release: {
5101
docker: {
6102
on: {

services/voting-node/blueprint.cue

Lines changed: 225 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,230 @@
1-
version: "1.0.0"
1+
import "encoding/json"
2+
23
project: {
34
name: "voting-node"
5+
6+
deployment: {
7+
on: {
8+
merge: {}
9+
tag: {}
10+
}
11+
12+
bundle: {
13+
env: string | *"dev"
14+
modules: main: {
15+
name: "app"
16+
version: "0.12.0"
17+
values: {
18+
deployment: {
19+
containers: main: {
20+
image: {
21+
name: _ @forge(name="CONTAINER_IMAGE")
22+
tag: _ @forge(name="GIT_HASH_OR_TAG")
23+
}
24+
env: {
25+
TESTNET_DBSYNC_URL: {
26+
secret: {
27+
name: "preprod-url"
28+
key: "url"
29+
}
30+
}
31+
MAINNET_DBSYNC_URL: {
32+
secret: {
33+
name: "mainnet-url"
34+
key: "url"
35+
}
36+
}
37+
EVENTDB_URL: {
38+
secret: {
39+
name: "eventdb-url"
40+
key: "url"
41+
}
42+
}
43+
COMMITTEE_CRS: {
44+
secret: {
45+
name: "generated"
46+
key: "crs"
47+
}
48+
}
49+
SECRET_SECRET: {
50+
secret: {
51+
name: "generated"
52+
key: "secret"
53+
}
54+
}
55+
DBSYNC_SSH_PRIVKEY: {
56+
secret: {
57+
name: "ssh"
58+
key: "private"
59+
}
60+
}
61+
DBSYNC_SSH_PUBKEY: {
62+
secret: {
63+
name: "ssh"
64+
key: "public"
65+
}
66+
}
67+
DBSYNC_SSH_HOST_KEY: {
68+
secret: {
69+
name: "ssh"
70+
key: "host-key"
71+
}
72+
}
73+
SSH_SNAPSHOT_TOOL_DESTINATION: {
74+
secret: {
75+
name: "ssh-address"
76+
key: "address"
77+
}
78+
}
79+
IDEASCALE_API_URL: {
80+
secret: {
81+
name: "external"
82+
key: "ideascale_url"
83+
}
84+
}
85+
IDEASCALE_API_TOKEN: {
86+
secret: {
87+
name: "external"
88+
key: "ideascale_token"
89+
}
90+
}
91+
SNAPSHOT_TOOL_SSH: value: string | *"true"
92+
SSH_SNAPSHOT_TOOL_PATH: value: string | *"/home/snapshot/.local/bin/snapshot_tool"
93+
SSH_SNAPSHOT_TOOL_OUTPUT_DIR: value: string | *"/home/snapshot/dev_snapshot_tool_out"
94+
GVC_API_URL: value: string | *"unused"
95+
IS_NODE_RELOADABLE: value: string | *"true"
96+
VOTING_HOST: value: string | *"0.0.0.0"
97+
VOTING_PORT: value: string | *"8000"
98+
VOTING_LOG_LEVEL: value: string | *"debug"
99+
JORM_PATH: value: string | *"jormungandr"
100+
JCLI_PATH: value: string | *"jcli"
101+
IDEASCALE_CONFIG_PATH: value: string | *"/configs/ideascale.json"
102+
IDEASCALE_CAMPAIGN_GROUP: value: string | *"66"
103+
IDEASCALE_STAGE_ID: value: string | *"4385"
104+
IDEASCALE_LOG_LEVEL: value: string | *"debug"
105+
IDEASCALE_LOG_FORMAT: value: string | *"text"
106+
SNAPSHOT_INTERVAL_SECONDS: value: string | *"1800"
107+
SNAPSHOT_CONFIG_PATH: value: string | *"/app/snapshot-importer-example-config.json"
108+
SNAPSHOT_OUTPUT_DIR: value: string | *"/tmp/snapshot-output"
109+
SNAPSHOT_NETWORK_IDS: value: string | *"testnet"
110+
SNAPSHOT_LOG_LEVEL: value: string | *"debug"
111+
SNAPSHOT_LOG_FORMAT: value: string | *"text"
112+
}
113+
mounts: {
114+
ideascale: {
115+
ref: config: name: "ideascale"
116+
path: "/configs/ideascale.json"
117+
subPath: "ideascale.json"
118+
}
119+
snapshot: {
120+
ref: volume: name: "snapshot"
121+
path: "/tmp/snapshot-output"
122+
readOnly: false
123+
}
124+
}
125+
ports: {
126+
http: port: 8080
127+
}
128+
securityContext: {}
129+
}
130+
hostname: "leader0"
131+
strategy: "Recreate"
132+
}
133+
134+
configs: ideascale: data: "ideascale.json": json.Marshal({
135+
proposals: {
136+
extra_field_mappings: {
137+
auto_translated: "auto_translated"
138+
brief: "challenge_brief"
139+
budget_breakdown: "please_provide_a_detailed_budget_breakdown"
140+
challenges_or_risks: "what_main_challenges_or_risks_do_you_foresee_to_deliver_this_project_successfully_"
141+
full_solution: "please_describe_your_proposed_solution"
142+
goal: "how_does_success_look_like_"
143+
how_solution_address_challenge: "please_describe_how_your_proposed_solution_will_address_the_challenge_"
144+
importance: "importance"
145+
metrics: "key_metrics_to_measure"
146+
new_proposal: "is_this_proposal_is_a_continuation_of_a_previously_funded_project_in_catalyst__or_an_entirely_new_o"
147+
progress_metrics: "what_will_you_measure_to_track_your_project_s_progress__and_how_will_you_measure_it_"
148+
relevant_link_1: "relevant_link_1"
149+
relevant_link_2: "website__github_repository__or_any_other_relevant_link__"
150+
relevant_link_3: "relevant_link_3"
151+
return_in_a_later_round: "if_you_are_funded__will_you_return_to_catalyst_in_a_later_round_for_further_funding__please_explain"
152+
sdg_rating: "sdg_rating"
153+
solution: "problem_solution"
154+
team_details: "please_provide_details_of_the_people_who_will_work_on_the_project_"
155+
timeline_and_key_milestones: "please_provide_a_detailed_plan__a_timeline__and_key_milestones_for_delivering_your_proposal_"
156+
}
157+
field_mappings: {
158+
funds: [
159+
"requested_funds",
160+
"requested_funds_in_ada",
161+
"requested_funds_coti",
162+
]
163+
proposer_relevant_experience: "relevant_experience"
164+
proposer_url: [
165+
"relevant_link_1",
166+
"website__github_repository__or_any_other_relevant_link__",
167+
"relevant_link_3",
168+
]
169+
public_key: "ada_payment_address__"
170+
}
171+
}
172+
proposals_scores_csv: {
173+
id_field: "proposal_id"
174+
score_field: "Rating"
175+
}
176+
})
177+
178+
secrets: {
179+
external: {
180+
ref: "voting-node/external"
181+
}
182+
"eventdb-url": {
183+
ref: "db/eventdb"
184+
template: url: "postgres://{{ .username }}:{{ .password }}@{{ .host }}:{{ .port }}/eventdb"
185+
}
186+
generated: {
187+
ref: "voting-node/generated"
188+
}
189+
mainnet: {
190+
ref: "db/dbsync-mainnet"
191+
global: true
192+
}
193+
"mainnet-url": {
194+
ref: "db/dbsync-mainnet"
195+
global: true
196+
template: url: "postgres://{{ .username }}:{{ .password }}@{{ .host }}:{{ .port }}/{{ .dbInstanceIdentifier }}"
197+
}
198+
preprod: {
199+
ref: "db/dbsync-preprod"
200+
global: true
201+
}
202+
"preprod-url": {
203+
ref: "db/dbsync-preprod"
204+
global: true
205+
template: url: "postgres://{{ .username }}:{{ .password }}@{{ .host }}:{{ .port }}/{{ .dbInstanceIdentifier }}"
206+
}
207+
ssh: {
208+
ref: "db/dbsync-ssh"
209+
global: true
210+
}
211+
"ssh-address": {
212+
ref: "db/dbsync-ssh"
213+
global: true
214+
template: address: "{{ .user }}@{{ .host }}"
215+
}
216+
}
217+
218+
service: {}
219+
220+
volumes: snapshot: {
221+
size: "1Gi"
222+
}
223+
}
224+
}
225+
}
226+
}
227+
4228
release: {
5229
docker: {
6230
on: {

0 commit comments

Comments
 (0)