diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 717c0853526..57ff3843a33 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -59,8 +59,8 @@ jobs: uses: elgohr/Publish-Docker-Github-Action@master with: name: agoric/cosmic-swingset-solo - dockerfile: packages/cosmic-swingset/lib/ag-solo/Dockerfile - context: packages/cosmic-swingset/lib/ag-solo + dockerfile: packages/solo/Dockerfile + context: packages/solo username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} snapshot: true diff --git a/docker/ag-setup-solo b/docker/ag-setup-solo index 4e9e40bffed..84a43bca7cd 100755 --- a/docker/ag-setup-solo +++ b/docker/ag-setup-solo @@ -21,7 +21,7 @@ else fi exec docker run \ -p127.0.0.1:$HOST_PORT:$PORT \ - --volume=ag-solo-state:/agoric/solo \ + --volume=ag-solo-state:/data/solo \ --volume=$HOME/.agoric:/root/.agoric \ -eAG_SOLO_BASEDIR="$SOLO_HOME" \ --rm -it $FLAGS \ diff --git a/docker/ag-solo b/docker/ag-solo index ede7ca56635..ea9f11b0de8 100755 --- a/docker/ag-solo +++ b/docker/ag-solo @@ -19,7 +19,7 @@ else FLAGS=-p127.0.0.1:$HOST_PORT:$PORT fi exec docker run \ - --volume=ag-solo-state:/agoric/solo \ + --volume=ag-solo-state:/data/solo \ --volume=$HOME/.agoric:/root/.agoric \ -eAG_SOLO_BASEDIR="$SOLO_HOME" \ --rm -it $FLAGS \ diff --git a/packages/cosmic-swingset/.dockerignore b/packages/cosmic-swingset/.dockerignore index c8562c4d2c5..db5856b5ad5 100644 --- a/packages/cosmic-swingset/.dockerignore +++ b/packages/cosmic-swingset/.dockerignore @@ -8,10 +8,6 @@ provisioning-server solo build node_modules -lib/ag-solo/ui/node_modules -lib/ag-solo/ui/build -lib/lib*.h -lib/lib*.so ve[0-9] t[0-9] binding.gyp diff --git a/packages/cosmic-swingset/bin/ag-nchainz b/packages/cosmic-swingset/bin/ag-nchainz index 46669d5e821..a881ee657c5 100755 --- a/packages/cosmic-swingset/bin/ag-nchainz +++ b/packages/cosmic-swingset/bin/ag-nchainz @@ -22,7 +22,7 @@ thisdir=$(cd "$(dirname -- "$real0")" && pwd -P) PATHCONFIG=nchainz/config/paths CLI=ag-cosmos-helper DAEMON=ag-chain-cosmos -SOLO=$thisdir/ag-solo +SOLO=$thisdir/../solo/bin/ag-solo SKIP=no COMMAND= diff --git a/packages/deployment/Dockerfile b/packages/deployment/Dockerfile index 98a3f491795..a2c58e18374 100644 --- a/packages/deployment/Dockerfile +++ b/packages/deployment/Dockerfile @@ -31,10 +31,7 @@ RUN ln -sf $PWD/ag-setup-cosmos /usr/local/bin/ COPY package*.json . RUN npm install --production -# Add the ag-solo, so we can deploy it via Ansible. -COPY --from=agoric/cosmic-swingset-solo /usr/src/agoric-sdk/packages/cosmic-swingset/lib/ag-solo/ /usr/src/agoric-sdk/packages/cosmic-swingset/lib/ag-solo/ - COPY . . -WORKDIR /agoric/chains +WORKDIR /data/chains ENTRYPOINT [ "ag-setup-cosmos" ] diff --git a/packages/deployment/Dockerfile.sdk b/packages/deployment/Dockerfile.sdk index 4f206685aa5..102477865e0 100644 --- a/packages/deployment/Dockerfile.sdk +++ b/packages/deployment/Dockerfile.sdk @@ -47,6 +47,9 @@ WORKDIR /usr/src COPY --from=build-js /usr/src/agoric-sdk agoric-sdk COPY --from=build-js /root/go/bin/ag-cosmos-helper /usr/local/bin/ RUN ln -s /usr/src/agoric-sdk/packages/cosmic-swingset/bin/ag-chain-cosmos /usr/local/bin/ +RUN ln -s /usr/src/agoric-sdk/packages/solo/bin/ag-solo /usr/local/bin/ +RUN ln -s /usr/src/agoric-sdk/packages/agoric-cli/bin/agoric /usr/local/bin/ +COPY . lib/ag-solo/ # By default, run the daemon with specified arguments. WORKDIR /root diff --git a/packages/deployment/Makefile b/packages/deployment/Makefile index 2b16f97f593..ba04c9168a9 100644 --- a/packages/deployment/Makefile +++ b/packages/deployment/Makefile @@ -34,7 +34,7 @@ docker-build-setup: docker tag $(REPOSITORY)-setup:$(TAG) $(REPOSITORY)-setup:latest docker-build-solo: - docker build --build-arg=TAG=$(TAG) -t $(REPOSITORY)-solo:$(TAG) $(SS)lib/ag-solo + docker build --build-arg=TAG=$(TAG) -t $(REPOSITORY)-solo:$(TAG) ../solo docker tag $(REPOSITORY)-solo:$(TAG) $(REPOSITORY)-solo:latest docker-build-deployment: diff --git a/packages/deployment/ansible/roles/copy/tasks/main.yml b/packages/deployment/ansible/roles/copy/tasks/main.yml index 50e43067e8b..7205d8f8d02 100644 --- a/packages/deployment/ansible/roles/copy/tasks/main.yml +++ b/packages/deployment/ansible/roles/copy/tasks/main.yml @@ -7,30 +7,6 @@ mode: push when: HELPER_BINARY is defined -- name: Agoric SDK exists - delegate_to: localhost - stat: - path: "/usr/src/agoric-sdk" - register: ws - -- name: "Synchronize install directory {{APPDIR}}" - synchronize: - src: "{{APPDIR}}/" - dest: "/usr/src/cosmic-swingset/" - dirs: yes - delete: yes - checksum: yes - mode: push - rsync_opts: - - "--exclude=.git" - - "--exclude=setup" - - "--exclude=.vscode" - - "--exclude=chains" - - "--exclude=x" - - "--exclude=t[0-9]*" - - "--exclude=provisioning-server" - when: not ws.stat.exists - - name: Synchronize Agoric SDK synchronize: src: "/usr/src/agoric-sdk/" @@ -39,35 +15,15 @@ delete: yes checksum: yes mode: push - when: ws.stat.exists - -- name: Remove cosmic-swingset to prepare for linking - file: - path: /usr/src/cosmic-swingset - state: absent - when: ws.stat.exists - -- name: Symlink cosmic-swingset - file: - src: /usr/src/agoric-sdk/packages/cosmic-swingset - dest: /usr/src/cosmic-swingset - state: link - when: ws.stat.exists - name: "Symlink ag-chain-cosmos" file: - src: "/usr/src/cosmic-swingset/bin/ag-chain-cosmos" + src: "/usr/src/agoric-sdk/packages/cosmic-swingset/bin/ag-chain-cosmos" dest: "/usr/local/bin/ag-chain-cosmos" state: link -- name: "Symlink /usr/src/ag-solo" - file: - src: "/usr/src/cosmic-swingset" - dest: /usr/src/ag-solo - state: link - -- name: "Symlink /usr/local/bin/ag-solo" +- name: "Symlink ag-solo" file: - src: "/usr/src/cosmic-swingset/bin/ag-solo" + src: "/usr/src/agoric-sdk/packages/solo/bin/ag-solo" dest: "/usr/local/bin/ag-solo" state: link diff --git a/packages/deployment/ansible/roles/cosmos-genesis/files/faucet-helper.sh b/packages/deployment/ansible/roles/cosmos-genesis/files/faucet-helper.sh index 245e0f35510..f93374f001d 100644 --- a/packages/deployment/ansible/roles/cosmos-genesis/files/faucet-helper.sh +++ b/packages/deployment/ansible/roles/cosmos-genesis/files/faucet-helper.sh @@ -10,6 +10,16 @@ DELEGATE_COINS=62000000ubld,93000000urun OP=$1 shift +case $OP in +show-faucet-address) + exec ag-cosmos-helper --home=$FAUCET_HOME \ + keys show -a \ + --keyring-backend=test \ + -- faucet + exit $? + ;; +done + chainName=$(cat "$thisdir/ag-chain-cosmos/chain-name.txt") IFS=, read -r -a origRpcAddrs <<<"$(AG_SETUP_COSMOS_HOME=$thisdir ag-setup-cosmos show-rpcaddrs)" diff --git a/packages/deployment/docker/ag-setup-cosmos b/packages/deployment/docker/ag-setup-cosmos index 7ba575b73b2..ebf5f89d76b 100755 --- a/packages/deployment/docker/ag-setup-cosmos +++ b/packages/deployment/docker/ag-setup-cosmos @@ -22,7 +22,7 @@ show-*) ;; esac exec docker run --rm $TTY $FLAGS \ - --volume=ag-setup-cosmos-chains:/agoric/chains \ + --volume=ag-setup-cosmos-chains:/data/chains \ --volume=ag-chain-cosmos-state:/root/.ag-chain-cosmos \ --volume=/var/run/docker.sock:/var/run/docker.sock \ --env AG_SETUP_COSMOS_NAME=$NETWORK_NAME \ diff --git a/packages/deployment/main.js b/packages/deployment/main.js index 614854b071d..082eaa2bd9b 100644 --- a/packages/deployment/main.js +++ b/packages/deployment/main.js @@ -380,6 +380,9 @@ show-config display the client connection parameters const allIds = await needBacktick( `${shellEscape(progname)} show-all-ids`, ); + const faucetAddress = await needBacktick( + `${shellEscape(progname)} show-faucet-address`, + ); await Promise.all( dsts.map(async (dst, i) => { // Update the config.toml and genesis.json. @@ -387,6 +390,7 @@ show-config display the client connection parameters agoricCli, `set-defaults`, `ag-chain-cosmos`, + `--bootstrap-address=${faucetAddress}`, `--persistent-peers=${peers}`, `--seeds=${seeds}`, `--unconditional-peer-ids=${allIds}`, @@ -514,6 +518,7 @@ ${chalk.yellow.bold(`ag-setup-solo --netconfig='${dwebHost}/network-config'`)} break; } + case 'show-faucet-address': case 'add-egress': case 'add-delegate': { await inited(); diff --git a/packages/solo/Dockerfile b/packages/solo/Dockerfile index 8c667120b50..dd7d16a455e 100644 --- a/packages/solo/Dockerfile +++ b/packages/solo/Dockerfile @@ -1,10 +1,7 @@ ARG TAG=latest FROM agoric/agoric-sdk:$TAG -WORKDIR /usr/src/agoric-sdk/packages/cosmic-swingset -RUN ln -sf $PWD/bin/ag-solo $PWD/node_modules/.bin/agoric /usr/local/bin/ -COPY . lib/ag-solo/ -WORKDIR /agoric/solo +WORKDIR /data/solo EXPOSE 8000 ENTRYPOINT [ "ag-solo", "--webhost=0.0.0.0", "--webport=8000" ]