Skip to content

feat: Add configurable chartDirectory via separate RuntimeStates #2027

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 91 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
91 commits
Select commit Hold shift + click to select a range
8e793db
wip: SoloRuntimeState
Ivo-Yankov May 16, 2025
cd0ec8b
Merge branch 'refs/heads/main' into 01973-create-solo-runtime-state
Ivo-Yankov May 16, 2025
f98e2f3
feat: add EnvironmentConfigRuntimeState class
Ivo-Yankov May 16, 2025
db4e3af
feat: solo runtime state (#1982)
Ivo-Yankov May 20, 2025
258349f
chore: code cleanup
Ivo-Yankov May 20, 2025
f3514ed
chore: cherry-picked changes from #1992, reverted some changes, fixed…
jeromy-cannon May 21, 2025
f2c0182
chore: add util unit tests
Ivo-Yankov May 21, 2025
8166e4c
Merge remote-tracking branch 'origin/01973-create-solo-runtime-state'…
Ivo-Yankov May 21, 2025
1920f63
chore: cleanup and unit tests
Ivo-Yankov May 21, 2025
e971e12
test: add unit tests for StringEx
Ivo-Yankov May 21, 2025
55d8e6d
fix: add recursive reflect assist merge
Ivo-Yankov May 21, 2025
d5f494f
chore: fix PathEx tests for windows
Ivo-Yankov May 21, 2025
9d944f6
chore: fix PathEx tests for windows
Ivo-Yankov May 21, 2025
31972ff
fix: normalize stubbed paths
Ivo-Yankov May 21, 2025
f44728c
fix: PathEx tests for windows
Ivo-Yankov May 22, 2025
6cc61c0
fix: PathEx tests for windows
Ivo-Yankov May 22, 2025
7a66ff5
fix: PathEx tests for windows
Ivo-Yankov May 22, 2025
2c9221d
fix: PathEx tests for windows
Ivo-Yankov May 22, 2025
34ac131
fix: PathEx tests for windows
Ivo-Yankov May 22, 2025
914a2b2
feat: integrate SoloConfigRuntimeState into cluster commands
Ivo-Yankov May 22, 2025
b754a00
feat: integrate SoloConfigRuntimeState into node commands
Ivo-Yankov May 23, 2025
f5b0b37
feat: add MirrorNodeConfigRuntimeState
Ivo-Yankov May 23, 2025
97ca0ab
chore: add unit tests for MirrorNodeConfigRuntimeState
Ivo-Yankov May 23, 2025
b3f9515
feat: add BlockNodeConfigRuntimeState
Ivo-Yankov May 23, 2025
1cd50b7
feat: add blockNodeConfig to command class
Ivo-Yankov May 23, 2025
2001ddb
feat: add explorer and relay runtime states
Ivo-Yankov May 27, 2025
2ba6fbc
feat: add explorer and relay runtime states to command classes
Ivo-Yankov May 27, 2025
9534e7c
fix: cluster unit tests
Ivo-Yankov May 27, 2025
a4d549f
fix: load runtime states in e2e tests
Ivo-Yankov May 28, 2025
3bcd96c
wip: SoloRuntimeState
Ivo-Yankov May 16, 2025
fe71479
feat: add EnvironmentConfigRuntimeState class
Ivo-Yankov May 16, 2025
ca9a966
feat: solo runtime state (#1982)
Ivo-Yankov May 20, 2025
5ca2346
chore: code cleanup
Ivo-Yankov May 20, 2025
8585c14
chore: add util unit tests
Ivo-Yankov May 21, 2025
b2dc077
chore: cherry-picked changes from #1992, reverted some changes, fixed…
jeromy-cannon May 21, 2025
f562259
chore: cleanup and unit tests
Ivo-Yankov May 21, 2025
65618a2
test: add unit tests for StringEx
Ivo-Yankov May 21, 2025
f144d8f
fix: add recursive reflect assist merge
Ivo-Yankov May 21, 2025
dc8dacf
chore: fix PathEx tests for windows
Ivo-Yankov May 21, 2025
1e7f085
chore: fix PathEx tests for windows
Ivo-Yankov May 21, 2025
0f24435
fix: normalize stubbed paths
Ivo-Yankov May 21, 2025
258f6d1
fix: PathEx tests for windows
Ivo-Yankov May 22, 2025
4b1a07b
fix: PathEx tests for windows
Ivo-Yankov May 22, 2025
cfc3652
fix: PathEx tests for windows
Ivo-Yankov May 22, 2025
1590be2
fix: PathEx tests for windows
Ivo-Yankov May 22, 2025
72aba75
fix: PathEx tests for windows
Ivo-Yankov May 22, 2025
f3f0ce4
test: add unit tests for the new config schemas
Ivo-Yankov May 28, 2025
0b04671
chore: run formatter
Ivo-Yankov May 29, 2025
27631b9
Merge branch '01973-create-solo-runtime-state-1' into 1873-add-the-ab…
Ivo-Yankov May 29, 2025
e821eb7
chore: fix merge issues
Ivo-Yankov May 29, 2025
cbccd21
fix: taskfile.examples empty home.dir
Ivo-Yankov May 30, 2025
38694b8
fix: update markdown
Ivo-Yankov May 30, 2025
b9fd198
fix: update md ci
Ivo-Yankov May 30, 2025
878e7b4
wip: SoloRuntimeState
Ivo-Yankov May 16, 2025
6d3c22b
feat: add EnvironmentConfigRuntimeState class
Ivo-Yankov May 16, 2025
f27361b
feat: solo runtime state (#1982)
Ivo-Yankov May 20, 2025
6c6b601
chore: code cleanup
Ivo-Yankov May 20, 2025
bb184b9
chore: add util unit tests
Ivo-Yankov May 21, 2025
fec4feb
chore: cherry-picked changes from #1992, reverted some changes, fixed…
jeromy-cannon May 21, 2025
31511e3
chore: cleanup and unit tests
Ivo-Yankov May 21, 2025
f51b516
fix: PathEx tests for windows
Ivo-Yankov May 22, 2025
e03c53a
fix: PathEx tests for windows
Ivo-Yankov May 22, 2025
b98c173
feat: integrate SoloConfigRuntimeState into cluster commands
Ivo-Yankov May 22, 2025
4504b53
feat: integrate SoloConfigRuntimeState into node commands
Ivo-Yankov May 23, 2025
9b4c592
feat: add MirrorNodeConfigRuntimeState
Ivo-Yankov May 23, 2025
3926e24
chore: add unit tests for MirrorNodeConfigRuntimeState
Ivo-Yankov May 23, 2025
acb3a24
feat: add BlockNodeConfigRuntimeState
Ivo-Yankov May 23, 2025
454f48b
feat: add blockNodeConfig to command class
Ivo-Yankov May 23, 2025
25de174
feat: add explorer and relay runtime states
Ivo-Yankov May 27, 2025
8352216
feat: add explorer and relay runtime states to command classes
Ivo-Yankov May 27, 2025
4487198
fix: cluster unit tests
Ivo-Yankov May 27, 2025
ce2c1e8
fix: load runtime states in e2e tests
Ivo-Yankov May 28, 2025
23b8ed2
test: add unit tests for the new config schemas
Ivo-Yankov May 28, 2025
f8ca7e6
chore: run formatter
Ivo-Yankov May 29, 2025
0ca10c7
wip: SoloRuntimeState
Ivo-Yankov May 16, 2025
3e95f30
feat: add EnvironmentConfigRuntimeState class
Ivo-Yankov May 16, 2025
2a8b768
feat: solo runtime state (#1982)
Ivo-Yankov May 20, 2025
4006baf
chore: code cleanup
Ivo-Yankov May 20, 2025
c2db54d
chore: add util unit tests
Ivo-Yankov May 21, 2025
c34a0fd
chore: cherry-picked changes from #1992, reverted some changes, fixed…
jeromy-cannon May 21, 2025
50ad24c
chore: cleanup and unit tests
Ivo-Yankov May 21, 2025
c272576
fix: PathEx tests for windows
Ivo-Yankov May 22, 2025
08f5703
fix: PathEx tests for windows
Ivo-Yankov May 22, 2025
fd3ea8e
chore: fix merge issues
Ivo-Yankov May 29, 2025
6682efc
fix: taskfile.examples empty home.dir
Ivo-Yankov May 30, 2025
4ae8219
fix: update markdown
Ivo-Yankov May 30, 2025
210e025
fix: update md ci
Ivo-Yankov May 30, 2025
fd15d2d
chore: resolve conflicts
Ivo-Yankov Jun 2, 2025
fb9ecf9
Merge remote-tracking branch 'origin/1873-add-the-ability-to-provide-…
Ivo-Yankov Jun 2, 2025
27cd606
chore: run linter
Ivo-Yankov Jun 2, 2025
e2c767f
fix: e2e ci tests
Ivo-Yankov Jun 2, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions .github/workflows/script/update_md.sh
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,6 @@ export SOLO_EXPLORER_DESTROY_OUTPUT=$( cat ${BUILD_DIR}/explorer-destroy.log | t
solo network destroy --deployment "${SOLO_DEPLOYMENT}" --force -q | tee ${BUILD_DIR}/network-destroy.log
export SOLO_NETWORK_DESTROY_OUTPUT=$( cat ${BUILD_DIR}/network-destroy.log | tee ${BUILD_DIR}/test.log )

pushd ../
echo "Generating ${TARGET_FILE} from ${TARGET_FILE}.template"

envsubst '$KIND_CREATE_CLUSTER_OUTPUT,$SOLO_INIT_OUTPUT,$SOLO_NODE_KEY_PEM_OUTPUT,$SOLO_CLUSTER_SETUP_OUTPUT, \
Expand All @@ -90,5 +89,4 @@ sed -i 's/\[33m//g' ${TARGET_FILE}
sed -i 's/\[39m//g' ${TARGET_FILE}
egrep -v '↓|❯|•' ${TARGET_FILE} > ${TARGET_FILE}.tmp && mv ${TARGET_FILE}.tmp ${TARGET_FILE}

popd
set +x
4 changes: 2 additions & 2 deletions .github/workflows/script/wrapper_for_update_md.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,11 @@ chmod 755 ./.github/workflows/script/update_md.sh
cd docs/
pwd

../.github/workflows/script/update_md.sh </dev/null | cat
cd ..
.github/workflows/script/update_md.sh </dev/null | cat
set +x
echo "::group::Updated step-by-step-guide.md"

cd ..
cat docs/site/content/en/docs/step-by-step-guide.md
echo "::endgroup::"

Expand Down
52 changes: 26 additions & 26 deletions examples/Taskfile.examples.yml
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ tasks:
cmds:
- echo "Checking variables..."
- echo "solo_user_dir={{ .solo_user_dir }}"
- echo "SOLO_HOME=${SOLO_HOME}"
- echo "SOLO_HOME_DIR={{ .solo_user_dir }}"
- echo "SOLO_NETWORK_SIZE=${SOLO_NETWORK_SIZE}"
- echo "SOLO_CHART_VERSION=${SOLO_CHART_VERSION}"
- echo "CONSENSUS_NODE_VERSION=${CONSENSUS_NODE_VERSION}"
Expand Down Expand Up @@ -195,7 +195,7 @@ tasks:
#- test "$(yq -r '.flags."node-ids"' < {{ .solo_user_dir }}/solo.yaml)" == "{{ .node_identifiers }}"
- test "$(jq -r '.flags."node-ids"' < {{ .solo_user_dir }}/solo.config)" == "{{ .node_identifiers }}"
cmds:
- SOLO_HOME_DIR=${SOLO_HOME_DIR} npm run solo -- init --dev
- SOLO_HOME_DIR={{ .solo_user_dir }} npm run solo -- init --dev

solo:cluster-ref:connect:
silent: true
Expand All @@ -214,7 +214,7 @@ tasks:
else
export CLUSTER_REF="kind-${SOLO_CLUSTER_NAME}"
fi
SOLO_HOME_DIR=${SOLO_HOME_DIR} npm run solo -- cluster-ref connect --cluster-ref ${CLUSTER_REF} --context ${CONTEXT}
SOLO_HOME_DIR={{ .solo_user_dir }} npm run solo -- cluster-ref connect --cluster-ref ${CLUSTER_REF} --context ${CONTEXT}

solo:deployment:create:
silent: true
Expand All @@ -228,7 +228,7 @@ tasks:
else
export CLUSTER_REF="kind-${SOLO_CLUSTER_NAME}"
fi
SOLO_HOME_DIR=${SOLO_HOME_DIR} npm run solo -- deployment create -n {{ .SOLO_NAMESPACE }} --deployment "${SOLO_DEPLOYMENT}"
SOLO_HOME_DIR={{ .solo_user_dir }} npm run solo -- deployment create -n {{ .SOLO_NAMESPACE }} --deployment "${SOLO_DEPLOYMENT}"

solo:deployment:add-cluster:
silent: true
Expand All @@ -244,7 +244,7 @@ tasks:
fi
NODE_COUNT=$(echo "{{ .node_identifiers }}" | awk -F',' '{print NF}')
echo "NODE_COUNT=${NODE_COUNT}"
SOLO_HOME_DIR=${SOLO_HOME_DIR} npm run solo -- deployment add-cluster --cluster-ref ${CLUSTER_REF} --deployment "${SOLO_DEPLOYMENT}" --num-consensus-nodes ${NODE_COUNT}
SOLO_HOME_DIR={{ .solo_user_dir }} npm run solo -- deployment add-cluster --cluster-ref ${CLUSTER_REF} --deployment "${SOLO_DEPLOYMENT}" --num-consensus-nodes ${NODE_COUNT}

solo:keys:
silent: true
Expand All @@ -260,7 +260,7 @@ tasks:
deps:
- task: "init"
cmds:
- SOLO_HOME_DIR=${SOLO_HOME_DIR} npm run solo -- node keys --gossip-keys --tls-keys --node-aliases {{.node_identifiers}} --deployment "${SOLO_DEPLOYMENT}" -q --dev
- SOLO_HOME_DIR={{ .solo_user_dir }} npm run solo -- node keys --gossip-keys --tls-keys --node-aliases {{.node_identifiers}} --deployment "${SOLO_DEPLOYMENT}" -q --dev

solo:network:deploy:
silent: true
Expand All @@ -278,7 +278,7 @@ tasks:
if [[ "${SOLO_CHART_VERSION}" != "" ]]; then
export SOLO_CHART_FLAG="--solo-chart-version ${SOLO_CHART_VERSION}"
fi
SOLO_HOME_DIR=${SOLO_HOME_DIR} npm run solo -- network deploy --deployment "${SOLO_DEPLOYMENT}" --node-aliases {{.node_identifiers}} ${CONSENSUS_NODE_FLAG} ${SOLO_CHART_FLAG} ${VALUES_FLAG} ${SETTINGS_FLAG} ${LOG4J2_FLAG} ${APPLICATION_PROPERTIES_FLAG} ${GENESIS_THROTTLES_FLAG} ${DEBUG_NODE_FLAG} ${SOLO_CHARTS_DIR_FLAG} ${LOAD_BALANCER_FLAG} ${NETWORK_DEPLOY_EXTRA_FLAGS} -q --dev
SOLO_HOME_DIR={{ .solo_user_dir }} npm run solo -- network deploy --deployment "${SOLO_DEPLOYMENT}" --node-aliases {{.node_identifiers}} ${CONSENSUS_NODE_FLAG} ${SOLO_CHART_FLAG} ${VALUES_FLAG} ${SETTINGS_FLAG} ${LOG4J2_FLAG} ${APPLICATION_PROPERTIES_FLAG} ${GENESIS_THROTTLES_FLAG} ${DEBUG_NODE_FLAG} ${SOLO_CHARTS_DIR_FLAG} ${LOAD_BALANCER_FLAG} ${NETWORK_DEPLOY_EXTRA_FLAGS} -q --dev
- task: "solo:node:setup"

solo:node:setup:
Expand All @@ -291,15 +291,15 @@ tasks:
if [[ "${CONSENSUS_NODE_VERSION}" != "" ]]; then
export CONSENSUS_NODE_FLAG='--release-tag {{.CONSENSUS_NODE_VERSION}}'
fi
SOLO_HOME_DIR=${SOLO_HOME_DIR} npm run solo -- node setup --deployment "${SOLO_DEPLOYMENT}" --node-aliases {{.node_identifiers}} ${CONSENSUS_NODE_FLAG} ${LOCAL_BUILD_FLAG} ${SOLO} ${NODE_SETUP_EXTRA_FLAGS} -q --dev
SOLO_HOME_DIR={{ .solo_user_dir }} npm run solo -- node setup --deployment "${SOLO_DEPLOYMENT}" --node-aliases {{.node_identifiers}} ${CONSENSUS_NODE_FLAG} ${LOCAL_BUILD_FLAG} ${SOLO} ${NODE_SETUP_EXTRA_FLAGS} -q --dev

solo:network:destroy:
silent: true
internal: true
deps:
- task: "init"
cmds:
- SOLO_HOME_DIR=${SOLO_HOME_DIR} npm run solo -- network destroy --deployment "${SOLO_DEPLOYMENT}" --delete-pvcs --delete-secrets --force -q --dev
- SOLO_HOME_DIR={{ .solo_user_dir }} npm run solo -- network destroy --deployment "${SOLO_DEPLOYMENT}" --delete-pvcs --delete-secrets --force -q --dev

solo:node:start:
silent: true
Expand All @@ -311,7 +311,7 @@ tasks:
if [[ "${DEBUG_NODE_ALIAS}" != "" ]]; then
export DEBUG_NODE_FLAG="--debug-node-alias {{ .DEBUG_NODE_ALIAS }}"
fi
SOLO_HOME_DIR=${SOLO_HOME_DIR} npm run solo -- node start --deployment "${SOLO_DEPLOYMENT}" --node-aliases {{.node_identifiers}} ${DEBUG_NODE_FLAG} -q {{ .CLI_ARGS }} --dev
SOLO_HOME_DIR={{ .solo_user_dir }} npm run solo -- node start --deployment "${SOLO_DEPLOYMENT}" --node-aliases {{.node_identifiers}} ${DEBUG_NODE_FLAG} -q {{ .CLI_ARGS }} --dev
- |
if [[ "{{ .use_port_forwards }}" == "true" ]];then
echo "Port forwarding for Hedera Network Node: grpc:50211"
Expand All @@ -326,14 +326,14 @@ tasks:
deps:
- task: "init"
cmds:
- SOLO_HOME_DIR=${SOLO_HOME_DIR} npm run solo -- node stop --deployment "${SOLO_DEPLOYMENT}" --node-aliases {{.node_identifiers}} -q {{ .CLI_ARGS }} --dev
- SOLO_HOME_DIR={{ .solo_user_dir }} npm run solo -- node stop --deployment "${SOLO_DEPLOYMENT}" --node-aliases {{.node_identifiers}} -q {{ .CLI_ARGS }} --dev

solo:relay:
silent: true
deps:
-
cmds:
- SOLO_HOME_DIR=${SOLO_HOME_DIR} npm run solo -- relay deploy --deployment "${SOLO_DEPLOYMENT}" -i node1 ${RELAY_NODE_DEPLOY_EXTRA_FLAGS} -q --dev
- SOLO_HOME_DIR={{ .solo_user_dir }} npm run solo -- relay deploy --deployment "${SOLO_DEPLOYMENT}" -i node1 ${RELAY_NODE_DEPLOY_EXTRA_FLAGS} -q --dev
- |
if [[ "{{ .use_port_forwards }}" == "true" ]];then
echo "Enable port forwarding for Hedera JSON RPC Relay"
Expand All @@ -349,7 +349,7 @@ tasks:
deps:
- task: "init"
cmds:
- SOLO_HOME_DIR=${SOLO_HOME_DIR} npm run solo -- relay destroy --deployment "${SOLO_DEPLOYMENT}" -i node1 -q --dev
- SOLO_HOME_DIR={{ .solo_user_dir }} npm run solo -- relay destroy --deployment "${SOLO_DEPLOYMENT}" -i node1 -q --dev

solo:cache:remove:
silent: true
Expand Down Expand Up @@ -380,10 +380,10 @@ tasks:

solo:freeze:restart:
cmds:
- SOLO_HOME_DIR=${SOLO_HOME_DIR} npm run solo -- node prepare-upgrade --deployment "${SOLO_DEPLOYMENT}" -q --dev
- SOLO_HOME_DIR=${SOLO_HOME_DIR} npm run solo -- node freeze-upgrade --deployment "${SOLO_DEPLOYMENT}" -q --dev
- SOLO_HOME_DIR=${SOLO_HOME_DIR} npm run solo -- node stop --deployment "${SOLO_DEPLOYMENT}" --node-aliases {{.node_identifiers}} -q --dev
- SOLO_HOME_DIR=${SOLO_HOME_DIR} npm run solo -- node start --deployment "${SOLO_DEPLOYMENT}" --node-aliases {{.node_identifiers}} -q --dev
- SOLO_HOME_DIR={{ .solo_user_dir }} npm run solo -- node prepare-upgrade --deployment "${SOLO_DEPLOYMENT}" -q --dev
- SOLO_HOME_DIR={{ .solo_user_dir }} npm run solo -- node freeze-upgrade --deployment "${SOLO_DEPLOYMENT}" -q --dev
- SOLO_HOME_DIR={{ .solo_user_dir }} npm run solo -- node stop --deployment "${SOLO_DEPLOYMENT}" --node-aliases {{.node_identifiers}} -q --dev
- SOLO_HOME_DIR={{ .solo_user_dir }} npm run solo -- node start --deployment "${SOLO_DEPLOYMENT}" --node-aliases {{.node_identifiers}} -q --dev

cluster:create:
silent: true
Expand Down Expand Up @@ -439,7 +439,7 @@ tasks:
cmds:
- |
export MINIO_FLAG=$(cat {{ .minio_flag_file }})
SOLO_HOME_DIR=${SOLO_HOME_DIR} npm run solo -- cluster-ref setup --cluster-setup-namespace "${SOLO_CLUSTER_SETUP_NAMESPACE}" ${MINIO_FLAG} ${SOLO_CHARTS_DIR_FLAG} ${CLUSTER_TLS_FLAGS} -q --dev
SOLO_HOME_DIR={{ .solo_user_dir }} npm run solo -- cluster-ref setup --cluster-setup-namespace "${SOLO_CLUSTER_SETUP_NAMESPACE}" ${MINIO_FLAG} ${SOLO_CHARTS_DIR_FLAG} ${CLUSTER_TLS_FLAGS} -q --dev

solo:node:addresses:
internal: true
Expand All @@ -453,7 +453,7 @@ tasks:
solo:node:logs:
silent: true
cmds:
- SOLO_HOME_DIR=${SOLO_HOME_DIR} npm run solo -- node logs --deployment "${SOLO_DEPLOYMENT}" --node-aliases {{.node_identifiers}} -q --dev
- SOLO_HOME_DIR={{ .solo_user_dir }} npm run solo -- node logs --deployment "${SOLO_DEPLOYMENT}" --node-aliases {{.node_identifiers}} -q --dev

start:
desc: solo node start
Expand Down Expand Up @@ -514,7 +514,7 @@ tasks:
deps:
- task: "init"
cmds:
- SOLO_HOME_DIR=${SOLO_HOME_DIR} npm run solo -- mirror-node deploy --deployment "${SOLO_DEPLOYMENT}" --cluster-ref kind-${SOLO_CLUSTER_NAME} ${SOLO_CHARTS_DIR_FLAG} ${MIRROR_NODE_DEPLOY_EXTRA_FLAGS} ${ENABLE_MIRROR_INGRESS} --pinger -q --dev
- SOLO_HOME_DIR={{ .solo_user_dir }} npm run solo -- mirror-node deploy --deployment "${SOLO_DEPLOYMENT}" --cluster-ref kind-${SOLO_CLUSTER_NAME} ${SOLO_CHARTS_DIR_FLAG} ${MIRROR_NODE_DEPLOY_EXTRA_FLAGS} ${ENABLE_MIRROR_INGRESS} --pinger -q --dev
- |
if [[ "{{ .use_port_forwards }}" == "true" ]];then
echo "Port forwarding for Mirror Node Network: grpc:5600, rest:5551"
Expand All @@ -532,13 +532,13 @@ tasks:
- |
if [[ "${EXPLORER_DEPLOYMENT}" != "" ]]; then
# create deployment on different namespace
SOLO_HOME_DIR=${SOLO_HOME_DIR} npm run solo-test -- deployment create --deployment ${EXPLORER_DEPLOYMENT} --namespace ${EXPLORER_NAME_SPACE}
SOLO_HOME_DIR=${SOLO_HOME_DIR} npm run solo-test -- deployment add-cluster --deployment ${EXPLORER_DEPLOYMENT} --cluster-ref ${EXPLORER_CLUSTER_CONTEXT} --num-consensus-nodes ${SOLO_NETWORK_SIZE}
SOLO_HOME_DIR={{ .solo_user_dir }} npm run solo-test -- deployment create --deployment ${EXPLORER_DEPLOYMENT} --namespace ${EXPLORER_NAME_SPACE}
SOLO_HOME_DIR={{ .solo_user_dir }} npm run solo-test -- deployment add-cluster --deployment ${EXPLORER_DEPLOYMENT} --cluster-ref ${EXPLORER_CLUSTER_CONTEXT} --num-consensus-nodes ${SOLO_NETWORK_SIZE}

npm run solo -- explorer deploy --deployment "${EXPLORER_DEPLOYMENT}" --cluster-ref ${EXPLORER_CLUSTER_CONTEXT} --mirrorNamespace ${SOLO_NAMESPACE} ${SOLO_CHARTS_DIR_FLAG} ${EXPLORER_DEPLOY_EXTRA_FLAGS} ${ENABLE_EXPLORER_TLS_FLAG} ${TLS_CLUSTER_ISSUER_TYPE_FLAG} ${ENABLE_EXPLORER_INGRESS} -q --dev
export EXPLORER_DEPLOYED_NAME_SPACE=${EXPLORER_NAME_SPACE}
else
SOLO_HOME_DIR=${SOLO_HOME_DIR} npm run solo -- explorer deploy --deployment "${SOLO_DEPLOYMENT}" --cluster-ref kind-${SOLO_CLUSTER_NAME} --mirrorNamespace ${SOLO_NAMESPACE} ${SOLO_CHARTS_DIR_FLAG} ${EXPLORER_DEPLOY_EXTRA_FLAGS} ${ENABLE_EXPLORER_TLS_FLAG} ${TLS_CLUSTER_ISSUER_TYPE_FLAG} ${ENABLE_EXPLORER_INGRESS} -q --dev
SOLO_HOME_DIR={{ .solo_user_dir }} npm run solo -- explorer deploy --deployment "${SOLO_DEPLOYMENT}" --cluster-ref kind-${SOLO_CLUSTER_NAME} --mirrorNamespace ${SOLO_NAMESPACE} ${SOLO_CHARTS_DIR_FLAG} ${EXPLORER_DEPLOY_EXTRA_FLAGS} ${ENABLE_EXPLORER_TLS_FLAG} ${TLS_CLUSTER_ISSUER_TYPE_FLAG} ${ENABLE_EXPLORER_INGRESS} -q --dev
export EXPLORER_DEPLOYED_NAME_SPACE=${SOLO_NAMESPACE}
fi
if [[ "{{ .use_port_forwards }}" == "true" ]];then
Expand All @@ -558,7 +558,7 @@ tasks:
deps:
- task: "init"
cmds:
- SOLO_HOME_DIR=${SOLO_HOME_DIR} npm run solo -- mirror-node destroy --deployment "${SOLO_DEPLOYMENT}" --cluster-ref kind-${SOLO_CLUSTER_NAME} --force -q --dev || true
- SOLO_HOME_DIR={{ .solo_user_dir }} npm run solo -- mirror-node destroy --deployment "${SOLO_DEPLOYMENT}" --cluster-ref kind-${SOLO_CLUSTER_NAME} --force -q --dev || true

solo:destroy-explorer:
silent: true
Expand All @@ -568,9 +568,9 @@ tasks:
cmds:
- |
if [[ "${EXPLORER_DEPLOYMENT}" != "" ]]; then
SOLO_HOME_DIR=${SOLO_HOME_DIR} npm run solo -- explorer destroy --deployment "${EXPLORER_DEPLOYMENT}" --cluster-ref kind-${SOLO_CLUSTER_NAME} --force -q --dev || true
SOLO_HOME_DIR={{ .solo_user_dir }} npm run solo -- explorer destroy --deployment "${EXPLORER_DEPLOYMENT}" --cluster-ref kind-${SOLO_CLUSTER_NAME} --force -q --dev || true
else
SOLO_HOME_DIR=${SOLO_HOME_DIR} npm run solo -- explorer destroy --deployment "${SOLO_DEPLOYMENT}" --cluster-ref kind-${SOLO_CLUSTER_NAME} --force -q --dev || true
SOLO_HOME_DIR={{ .solo_user_dir }} npm run solo -- explorer destroy --deployment "${SOLO_DEPLOYMENT}" --cluster-ref kind-${SOLO_CLUSTER_NAME} --force -q --dev || true
fi

clean:
Expand Down
13 changes: 13 additions & 0 deletions resources/config/block-node-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#schemaVersion: 1
helmChart:
name: block-node-helm-chart
# namespace: should come from presentation layer
release: block-node
repository: oci://ghcr.io/hiero-ledger/hiero-block-node
# directory: would be used via environment variable only
# version: should come from version.ts or presentation layer
labelSelector:
containerName: block-node-helm-chart
ingressClassName:
ingressControllerName:
ingressControllerPrefix:
13 changes: 13 additions & 0 deletions resources/config/explorer-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#schemaVersion: 1
helmChart:
name: hiero-explorer # todo check if this is the correct name
# namespace: should come from presentation layer
release: hiero-explorer
repository: oci://ghcr.io/hiero-ledger/hiero-mirror-node-explorer/hiero-explorer-chart
# directory: would be used via environment variable only
# version: should come from version.ts or presentation layer
labelSelector: app.kubernetes.io/component=hiero-explorer
containerName:
ingressClassName: explorer-ingress-class
ingressControllerName: explorer-haproxy-ingress
ingressControllerPrefix: haproxy-ingress.github.io/controller/
13 changes: 13 additions & 0 deletions resources/config/json-rpc-relay-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#schemaVersion: 1
helmChart:
name: hedera-json-rpc-relay
# namespace: should come from presentation layer
release:
repository: https://hiero-ledger.github.io/hiero-json-rpc-relay/charts
# directory: would be used via environment variable only
# version: should come from version.ts or presentation layer
labelSelector:
containerName:
ingressClassName:
ingressControllerName:
ingressControllerPrefix:
13 changes: 13 additions & 0 deletions resources/config/mirror-node-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#schemaVersion: 1
helmChart:
name: hedera-mirror
# namespace: should come from presentation layer
release: mirror
repository: https://hashgraph.github.io/hedera-mirror-node/charts
# directory: would be used via environment variable only
# version: should come from version.ts or presentation layer
labelSelector:
containerName:
ingressClassName:
ingressControllerName:
ingressControllerPrefix:
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
// SPDX-License-Identifier: Apache-2.0

import {inject, injectable} from 'tsyringe-neo';
import {Config} from '../../../../data/configuration/api/config.js';
import {type ConfigProvider} from '../../../../data/configuration/api/config-provider.js';
import {DefaultConfigSource} from '../../../../data/configuration/impl/default-config-source.js';
import {PathEx} from '../../../utils/path-ex.js';
import {InjectTokens} from '../../../../core/dependency-injection/inject-tokens.js';
import {type ObjectMapper} from '../../../../data/mapper/api/object-mapper.js';
import {UnloadedConfigError} from '../../errors/unloaded-config-error.js';
import {BlockNodeConfig} from './block-node-config.js';
import {BlockNodeConfigSchema} from '../../../../data/schema/model/block-node/block-node-config-schema.js';
import {BlockNodeConfigSchemaDefinition} from '../../../../data/schema/migration/impl/block-node/block-node-config-schema-definition.js';

@injectable()
export class BlockNodeConfigRuntimeState {
private readonly config: Config;
private _blockNodeConfig: BlockNodeConfig;

public constructor(
@inject(InjectTokens.ObjectMapper) private readonly objectMapper: ObjectMapper,
@inject(InjectTokens.ConfigProvider) private readonly configProvider: ConfigProvider,
) {
const defaultConfigSource: DefaultConfigSource<BlockNodeConfigSchema> =
new DefaultConfigSource<BlockNodeConfigSchema>(
'block-node-config.yaml',
PathEx.join('resources', 'config'),
new BlockNodeConfigSchemaDefinition(objectMapper),
objectMapper,
);
this.config = configProvider
.builder()
.withPrefix('SOLO_BLOCK_NODE')
.withDefaultSources()
.withSources(defaultConfigSource)
.withMergeSourceValues(true)
.build();
}

public async load(): Promise<void> {
for (const source of this.config.sources) {
await source.load();
}
this._blockNodeConfig = new BlockNodeConfig(this.config.asObject(BlockNodeConfigSchema, ''));
}

public get blockNodeConfig(): BlockNodeConfig {
if (!this._blockNodeConfig) {
throw new UnloadedConfigError('BlockNodeConfig is not loaded yet.');
}
return this._blockNodeConfig;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
// SPDX-License-Identifier: Apache-2.0

import {type Facade} from '../../facade/facade.js';
import {HelmChart} from '../common/helm-chart.js';
import {type BlockNodeConfigSchema} from '../../../../data/schema/model/block-node/block-node-config-schema.js';

export class BlockNodeConfig implements Facade<BlockNodeConfigSchema> {
private readonly _helmChart: HelmChart;

public constructor(public readonly encapsulatedObject: BlockNodeConfigSchema) {
this._helmChart = new HelmChart(this.encapsulatedObject?.helmChart);
}

public get helmChart(): HelmChart {
return this._helmChart;
}
}
Loading
Loading