@hashgraph/solo
Version:
An opinionated CLI tool to deploy and manage private Hedera Networks.
77 lines (72 loc) • 2.83 kB
YAML
version: 3
includes:
main:
taskfile: ../../Taskfile.helper.yml
flatten: true
vars:
use_port_forwards: "true"
postgres_username: "postgres"
postgres_password: "XXXXXXXX"
postgres_readonly_username: "readonlyuser"
postgres_readonly_password: "XXXXXXXX"
postgres_mirror_node_database_name: "mirror_node"
postgres_name: "my-postgresql"
postgres_database_namespace: "database"
postgres_container_name: "{{.postgres_name}}-0"
postgres_host_fqdn: "{{.postgres_name}}.database.svc.cluster.local"
postgres_container_fdqn: "{{.postgres_container_name}}.database.svc.cluster.local"
env:
SOLO_NETWORK_SIZE: "1"
SOLO_DEPLOYMENT: "solo-e2e"
SOLO_NAMESPACE: "solo-e2e"
SOLO_CLUSTER_NAME: "solo-e2e"
MIRROR_NODE_DEPLOY_EXTRA_FLAGS: |
--use-external-database
--external-database-host {{.postgres_host_fqdn}}
--external-database-owner-username {{.postgres_username}}
--external-database-owner-password {{.postgres_password}}
--external-database-read-username {{.postgres_readonly_username}}
--external-database-read-password {{.postgres_readonly_password}}
tasks:
default:
silent: true
desc: install Solo, create a kind cluster, deploy the network, set it up, and start it
deps:
- task: "init"
cmds:
- echo "This command is meant to deploy a Solo network to a Kind cluster on your local machine, "
- echo "ctrl-c if this is not what you want to do."
- sleep 5
install:
desc: create the cluster, solo init, solo cluster create, solo node keys, solo network deploy
deps:
- task: "init"
cmds:
- task: "cluster:create"
- task: "solo:init"
- task: "solo:cluster:setup"
- task: "solo:deployment:create"
- task: "solo:keys"
- task: "solo:network:deploy"
- task: "solo:node:setup"
- task: "solo:node:start"
- task: "solo:external-database"
- task: "solo:mirror-node"
- name: "Copy database-seeding-query.sql inside the database pod"
cmd: |
kubectl cp {{.HOME}}/.solo/cache/database-seeding-query.sql {{.postgres_container_name}}:/tmp/database-seeding-query.sql \
-n {{.postgres_database_namespace}}
- name: "Execute the database-seeding–query.sql against the database"
cmd: |
kubectl exec -it {{.postgres_container_name}} -n {{.postgres_database_namespace}} -- env PGPASSWORD={{.postgres_password}} psql -U {{.postgres_username}} \
-f /tmp/database-seeding-query.sql \
-d {{.postgres_mirror_node_database_name}}
- task: "solo:relay"
- name: "Run smoke test"
cmd: (cd ../../ && ./.github/workflows/script/solo_smoke_test.sh)
destroy:
desc: destroy relay, mirror-node, and network
deps:
- task: "init"
cmds:
- task: "cluster:destroy"