From 365f77c1abfe15e9465574955652b02438e5641c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20Uhl=C3=AD=C5=99?= Date: Thu, 5 May 2022 11:36:49 +0200 Subject: [PATCH] feat: image generation improvements (#87) --- .github/workflows/publish.yaml | 19 ++- README.md | 13 +- generator/README.md | 2 +- generator/package-lock.json | 143 ++++++++---------- generator/package.json | 2 +- generator/scripts/.env | 4 +- .../{ => scripts}/bee-data-dirs/.gitignore | 0 .../bee-factory-queen}/.gitignore | 0 .../bee-factory-queen}/keys/libp2p.key | 0 .../bee-factory-queen}/keys/pss.key | 0 .../bee-factory-queen}/keys/swarm.key | 0 .../bee-factory-worker-1}/.gitignore | 0 .../bee-factory-worker-1}/keys/libp2p.key | 0 .../bee-factory-worker-1}/keys/pss.key | 0 .../bee-factory-worker-1}/keys/swarm.key | 0 .../bee-factory-worker-2}/.gitignore | 0 .../bee-factory-worker-2}/keys/libp2p.key | 0 .../bee-factory-worker-2}/keys/pss.key | 0 .../bee-factory-worker-2}/keys/swarm.key | 0 .../bee-factory-worker-3}/.gitignore | 0 .../bee-factory-worker-3}/keys/libp2p.key | 0 .../bee-factory-worker-3}/keys/pss.key | 0 .../bee-factory-worker-3}/keys/swarm.key | 0 .../bee-factory-worker-4}/.gitignore | 0 .../bee-factory-worker-4}/keys/libp2p.key | 0 .../bee-factory-worker-4}/keys/pss.key | 0 .../bee-factory-worker-4}/keys/swarm.key | 0 generator/scripts/bee-docker-build.sh | 8 +- generator/scripts/blockchain-docker-build.sh | 1 - generator/scripts/build-environment.sh | 5 - generator/scripts/publish-environment.sh | 2 +- src/command/start.ts | 2 +- src/utils/docker.ts | 2 +- test/integration/start.spec.ts | 2 +- test/integration/stop.spec.ts | 2 +- 35 files changed, 104 insertions(+), 103 deletions(-) rename generator/{ => scripts}/bee-data-dirs/.gitignore (100%) rename generator/{bee-data-dirs/swarm-test-queen => scripts/bee-data-dirs/bee-factory-queen}/.gitignore (100%) rename generator/{bee-data-dirs/swarm-test-queen => scripts/bee-data-dirs/bee-factory-queen}/keys/libp2p.key (100%) rename generator/{bee-data-dirs/swarm-test-queen => scripts/bee-data-dirs/bee-factory-queen}/keys/pss.key (100%) rename generator/{bee-data-dirs/swarm-test-queen => scripts/bee-data-dirs/bee-factory-queen}/keys/swarm.key (100%) rename generator/{bee-data-dirs/swarm-test-worker-1 => scripts/bee-data-dirs/bee-factory-worker-1}/.gitignore (100%) rename generator/{bee-data-dirs/swarm-test-worker-1 => scripts/bee-data-dirs/bee-factory-worker-1}/keys/libp2p.key (100%) rename generator/{bee-data-dirs/swarm-test-worker-1 => scripts/bee-data-dirs/bee-factory-worker-1}/keys/pss.key (100%) rename generator/{bee-data-dirs/swarm-test-worker-1 => scripts/bee-data-dirs/bee-factory-worker-1}/keys/swarm.key (100%) rename generator/{bee-data-dirs/swarm-test-worker-2 => scripts/bee-data-dirs/bee-factory-worker-2}/.gitignore (100%) rename generator/{bee-data-dirs/swarm-test-worker-2 => scripts/bee-data-dirs/bee-factory-worker-2}/keys/libp2p.key (100%) rename generator/{bee-data-dirs/swarm-test-worker-2 => scripts/bee-data-dirs/bee-factory-worker-2}/keys/pss.key (100%) rename generator/{bee-data-dirs/swarm-test-worker-2 => scripts/bee-data-dirs/bee-factory-worker-2}/keys/swarm.key (100%) rename generator/{bee-data-dirs/swarm-test-worker-3 => scripts/bee-data-dirs/bee-factory-worker-3}/.gitignore (100%) rename generator/{bee-data-dirs/swarm-test-worker-3 => scripts/bee-data-dirs/bee-factory-worker-3}/keys/libp2p.key (100%) rename generator/{bee-data-dirs/swarm-test-worker-3 => scripts/bee-data-dirs/bee-factory-worker-3}/keys/pss.key (100%) rename generator/{bee-data-dirs/swarm-test-worker-3 => scripts/bee-data-dirs/bee-factory-worker-3}/keys/swarm.key (100%) rename generator/{bee-data-dirs/swarm-test-worker-4 => scripts/bee-data-dirs/bee-factory-worker-4}/.gitignore (100%) rename generator/{bee-data-dirs/swarm-test-worker-4 => scripts/bee-data-dirs/bee-factory-worker-4}/keys/libp2p.key (100%) rename generator/{bee-data-dirs/swarm-test-worker-4 => scripts/bee-data-dirs/bee-factory-worker-4}/keys/pss.key (100%) rename generator/{bee-data-dirs/swarm-test-worker-4 => scripts/bee-data-dirs/bee-factory-worker-4}/keys/swarm.key (100%) diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index 5bf5e2f..6f50455 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -26,9 +26,9 @@ on: - '**' env: - BEE_IMAGE_PREFIX: 'docker.pkg.github.com/ethersphere/bee-factory' + BEE_IMAGE_PREFIX: 'ethersphere' BUILD_IMAGE: 'false' - COMMIT_VERSION_TAG: 'true' + COMMIT_VERSION_TAG: 'false' STATE_COMMIT: 'true' BEE_VERSION: '${{ github.event.client_payload.tag }}' @@ -56,19 +56,25 @@ jobs: echo "BEE_VERSION=${BEE_VERSION/v}" >> $GITHUB_ENV fi - - name: Auth to Github Package Docker Registry + - name: Auth to Docker Hub if: ${{ github.event_name == 'repository_dispatch' || (github.event.inputs.buildImage == 'true' && success()) }} run: | - echo "${{ secrets.GITHUB_TOKEN }}" | docker login https://docker.pkg.github.com -u ${GITHUB_ACTOR} --password-stdin + echo "${{ secrets.DOCKERHUB_PASSWORD }}" | docker login -u ${{secrets.DOCKERHUB_USERNAME}} --password-stdin + + - uses: actions/cache@v2 + id: cache-npm + with: + path: generator/node_modules + key: ${{ runner.os }}-${{ hashFiles('generator/package-lock.json') }} - name: Install npm deps - run: npm ci + if: steps.cache-npm.outputs.cache-hit != 'true' + run: cd ./generator && npm ci - name: Build images id: build run: | cd ./generator - BUILD_PARAMS="" if [ $BUILD_IMAGE == 'true' ] ; then BUILD_PARAMS+=" --build-base-bee --base-bee-commit-hash=$BEE_VERSION" @@ -82,6 +88,7 @@ jobs: id: publish if: ${{ github.event_name == 'repository_dispatch' || (github.event.inputs.buildImage == 'true' && success()) }} run: | + cd ./generator npm run publish:env - name: Trigger Bee-js PR creation diff --git a/README.md b/README.md index 9f62238..711d760 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ $ npm install -g @ethersphere/bee-factory ```shell # This spin up the cluster and exits -$ bee-factory start --detach 1.2.0 1.5.1-d0a77598-stateful +$ bee-factory start --detach 1.2.0 1.5.1 # This attaches to the Queen container and displays its logs $ bee-factory logs queen @@ -43,11 +43,20 @@ $ bee-factory stop # You can also spin up the cluster without the --detach which then directly # attaches to the Queen logs and the cluster is terminated upon SIGINT (Ctrl+C) -$ bee-factory start 1.2.0 1.5.1-d0a77598-stateful +$ bee-factory start 1.2.0 1.5.1 ``` For more details see the `--help` page of the CLI and its commands. +### Docker Images + +Bee Factory as the NPM package that you can install, like mentioned above, works in a way that it orchestrates launching Bee Factory Docker images +in correct order and awaits for certain initializations to happen in correct form. These Docker images are automatically built with our CI +upon every new Bee release, so you can just specify which version you want to run (starting with `1.5.1` version) as part of the `start` command. + +If for some reason you want built your own images, that is possible but discouraged and not supported (**here be dragons**) using the scripts in the `generator` subfolder. +Upon building and publishing these images you can consume them using with Bee Factory with the `--repo` flag. + ## Contribute There are some ways you can make this module better: diff --git a/generator/README.md b/generator/README.md index 78612d4..7fd0e1c 100644 --- a/generator/README.md +++ b/generator/README.md @@ -68,7 +68,7 @@ OR it is possible to build docker images on a desired state, so that a fresh env Basically, a full-featured Bee environment has 2 types of Docker image: -- Bee images: Bee clients with pre-defined keys (and optionally including the state which you nodes have in its [data-dirs](bee-data-dirs)) +- Bee images: Bee clients with pre-defined keys (and optionally including the state which you nodes have in its [data-dirs](scripts/bee-data-dirs)) ```sh ./scripts/bee-docker-build.sh ``` diff --git a/generator/package-lock.json b/generator/package-lock.json index 72eda23..d04dcfb 100644 --- a/generator/package-lock.json +++ b/generator/package-lock.json @@ -9,7 +9,7 @@ "version": "0.0.1", "license": "BSD-3-Clause", "dependencies": { - "@ethersphere/bee-js": "^3.2.0", + "@ethersphere/bee-js": "^3.3.4", "@openzeppelin/contracts": "^3.1.0", "truffle": "^5.3.5" } @@ -1038,26 +1038,28 @@ } }, "node_modules/@ethersphere/bee-js": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@ethersphere/bee-js/-/bee-js-3.2.0.tgz", - "integrity": "sha512-ZVcbl8dsytx07+SxTmsKSn0X1zojR7vMb0uxQ+fGk05JHFNGBY2Qv/5AP7rI/SqGWDjHWIMB8Ww+ErURdyFXqA==", + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@ethersphere/bee-js/-/bee-js-3.3.4.tgz", + "integrity": "sha512-uxH0kR31tE8IKVON7jyQHANZ/5edlU8OUCz/qyRft1YeS+L4HzEHAD3bN58iE842nt6Iz/fekrJ7yk1ONIcDBg==", "dependencies": { - "@types/readable-stream": "^2.3.11", - "bufferutil": "^4.0.3", - "cross-blob": "^2.0.1", + "@types/readable-stream": "^2.3.13", + "bufferutil": "^4.0.6", "elliptic": "^6.5.4", + "fetch-blob": "2.1.2", "isomorphic-ws": "^4.0.1", "js-sha3": "^0.8.0", "ky": "^0.25.1", "ky-universal": "^0.8.2", - "readable-stream": "^3.6.0", + "semver": "^7.3.5", "tar-js": "^0.3.0", - "utf-8-validate": "^5.0.8", - "web-streams-polyfill": "^3.1.0", - "ws": "^7.5.0" + "utf-8-validate": "^5.0.9", + "web-streams-polyfill": "^4.0.0-beta.1", + "ws": "^8.5.0" }, "engines": { - "bee": "1.4.1-238867f1", + "bee": "1.5.1-d0a77598", + "beeApiVersion": "3.0.0", + "beeDebugApiVersion": "2.0.0", "node": ">=12.0.0", "npm": ">=6.0.0" } @@ -1086,12 +1088,20 @@ "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" }, - "node_modules/@ethersphere/bee-js/node_modules/ws": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz", - "integrity": "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w==", + "node_modules/@ethersphere/bee-js/node_modules/web-streams-polyfill": { + "version": "4.0.0-beta.2", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.2.tgz", + "integrity": "sha512-UHhhnoe2M40uh2r0KVdJTN7qjFytm6o0Yp3VcjwV3bfo6rz8uqvxNoE5yNmGF0y3eFfXaFeb6M09MDSwwLmq4w==", "engines": { - "node": ">=8.3.0" + "node": ">= 14" + } + }, + "node_modules/@ethersphere/bee-js/node_modules/ws": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.6.0.tgz", + "integrity": "sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw==", + "engines": { + "node": ">=10.0.0" }, "peerDependencies": { "bufferutil": "^4.0.1", @@ -5373,11 +5383,6 @@ "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.1.0.tgz", "integrity": "sha1-ad+S75U6qIylGjLfarHFShVfx6U=" }, - "node_modules/blob-polyfill": { - "version": "5.0.20210201", - "resolved": "https://registry.npmjs.org/blob-polyfill/-/blob-polyfill-5.0.20210201.tgz", - "integrity": "sha512-SrH6IG6aXL9pCgSysBCiDpGcAJ1j6/c1qCwR3sTEQJhb+MTk6FITNA6eW6WNYQDNZVi4Z9GjxH5v2MMTv59CrQ==" - }, "node_modules/blob-to-it": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/blob-to-it/-/blob-to-it-1.0.2.tgz", @@ -5712,12 +5717,15 @@ "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" }, "node_modules/bufferutil": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.3.tgz", - "integrity": "sha512-yEYTwGndELGvfXsImMBLop58eaGW+YdONi1fNjTINSY98tmMmFijBG6WXgdkfuLNt4imzQNtIE+eBp1PVpMCSw==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.6.tgz", + "integrity": "sha512-jduaYOYtnio4aIAyc6UbvPCVcgq7nYpVnucyxr6eCYg/Woad9Hf/oxxBRDnGGjPfjUm6j5O/uBWhIu4iLebFaw==", "hasInstallScript": true, "dependencies": { - "node-gyp-build": "^4.2.0" + "node-gyp-build": "^4.3.0" + }, + "engines": { + "node": ">=6.14.2" } }, "node_modules/busboy": { @@ -6426,18 +6434,6 @@ "sha.js": "^2.4.8" } }, - "node_modules/cross-blob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/cross-blob/-/cross-blob-2.0.1.tgz", - "integrity": "sha512-ARuKPPo3I6DSqizal4UCyMCiGPQdMpMJS3Owx6Lleuh26vSt2UnfWRwbMLCYqbJUrcol+KzGVSLR91ezSHP80A==", - "dependencies": { - "blob-polyfill": "^5.0.20210201", - "fetch-blob": "^2.1.2" - }, - "engines": { - "node": "^10.17.0 || >=12.3.0" - } - }, "node_modules/cross-fetch": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.0.6.tgz", @@ -16567,9 +16563,9 @@ } }, "node_modules/utf-8-validate": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.8.tgz", - "integrity": "sha512-k4dW/Qja1BYDl2qD4tOMB9PFVha/UJtxTc1cXYOe3WwA/2m0Yn4qB7wLMpJyLJ/7DR0XnTut3HsCSzDT4ZvKgA==", + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.9.tgz", + "integrity": "sha512-Yek7dAy0v3Kl0orwMlvi7TPtiCNrdfHNd7Gcc/pLq4BLXqfAmd0J7OWMizUQnTTJsyjKn02mU7anqwfmUP4J8Q==", "hasInstallScript": true, "dependencies": { "node-gyp-build": "^4.3.0" @@ -16802,6 +16798,8 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.0.tgz", "integrity": "sha512-EqPmREeOzttaLRm5HS7io98goBgZ7IVz79aDvqjD0kYXLtFZTc0T/U6wHTPKyIjb+MdN7DFIIX6hgdBEpWmfPA==", + "optional": true, + "peer": true, "engines": { "node": ">= 8" } @@ -18693,23 +18691,23 @@ } }, "@ethersphere/bee-js": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@ethersphere/bee-js/-/bee-js-3.2.0.tgz", - "integrity": "sha512-ZVcbl8dsytx07+SxTmsKSn0X1zojR7vMb0uxQ+fGk05JHFNGBY2Qv/5AP7rI/SqGWDjHWIMB8Ww+ErURdyFXqA==", + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@ethersphere/bee-js/-/bee-js-3.3.4.tgz", + "integrity": "sha512-uxH0kR31tE8IKVON7jyQHANZ/5edlU8OUCz/qyRft1YeS+L4HzEHAD3bN58iE842nt6Iz/fekrJ7yk1ONIcDBg==", "requires": { - "@types/readable-stream": "^2.3.11", - "bufferutil": "^4.0.3", - "cross-blob": "^2.0.1", + "@types/readable-stream": "^2.3.13", + "bufferutil": "^4.0.6", "elliptic": "^6.5.4", + "fetch-blob": "2.1.2", "isomorphic-ws": "^4.0.1", "js-sha3": "^0.8.0", "ky": "^0.25.1", "ky-universal": "^0.8.2", - "readable-stream": "^3.6.0", + "semver": "^7.3.5", "tar-js": "^0.3.0", - "utf-8-validate": "^5.0.8", - "web-streams-polyfill": "^3.1.0", - "ws": "^7.5.0" + "utf-8-validate": "^5.0.9", + "web-streams-polyfill": "^4.0.0-beta.1", + "ws": "^8.5.0" }, "dependencies": { "bn.js": { @@ -18736,10 +18734,15 @@ "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" }, + "web-streams-polyfill": { + "version": "4.0.0-beta.2", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.2.tgz", + "integrity": "sha512-UHhhnoe2M40uh2r0KVdJTN7qjFytm6o0Yp3VcjwV3bfo6rz8uqvxNoE5yNmGF0y3eFfXaFeb6M09MDSwwLmq4w==" + }, "ws": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz", - "integrity": "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w==", + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.6.0.tgz", + "integrity": "sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw==", "requires": {} } } @@ -22532,11 +22535,6 @@ "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.1.0.tgz", "integrity": "sha1-ad+S75U6qIylGjLfarHFShVfx6U=" }, - "blob-polyfill": { - "version": "5.0.20210201", - "resolved": "https://registry.npmjs.org/blob-polyfill/-/blob-polyfill-5.0.20210201.tgz", - "integrity": "sha512-SrH6IG6aXL9pCgSysBCiDpGcAJ1j6/c1qCwR3sTEQJhb+MTk6FITNA6eW6WNYQDNZVi4Z9GjxH5v2MMTv59CrQ==" - }, "blob-to-it": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/blob-to-it/-/blob-to-it-1.0.2.tgz", @@ -22824,11 +22822,11 @@ "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" }, "bufferutil": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.3.tgz", - "integrity": "sha512-yEYTwGndELGvfXsImMBLop58eaGW+YdONi1fNjTINSY98tmMmFijBG6WXgdkfuLNt4imzQNtIE+eBp1PVpMCSw==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.6.tgz", + "integrity": "sha512-jduaYOYtnio4aIAyc6UbvPCVcgq7nYpVnucyxr6eCYg/Woad9Hf/oxxBRDnGGjPfjUm6j5O/uBWhIu4iLebFaw==", "requires": { - "node-gyp-build": "^4.2.0" + "node-gyp-build": "^4.3.0" } }, "busboy": { @@ -23437,15 +23435,6 @@ "sha.js": "^2.4.8" } }, - "cross-blob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/cross-blob/-/cross-blob-2.0.1.tgz", - "integrity": "sha512-ARuKPPo3I6DSqizal4UCyMCiGPQdMpMJS3Owx6Lleuh26vSt2UnfWRwbMLCYqbJUrcol+KzGVSLR91ezSHP80A==", - "requires": { - "blob-polyfill": "^5.0.20210201", - "fetch-blob": "^2.1.2" - } - }, "cross-fetch": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.0.6.tgz", @@ -32000,9 +31989,9 @@ } }, "utf-8-validate": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.8.tgz", - "integrity": "sha512-k4dW/Qja1BYDl2qD4tOMB9PFVha/UJtxTc1cXYOe3WwA/2m0Yn4qB7wLMpJyLJ/7DR0XnTut3HsCSzDT4ZvKgA==", + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.9.tgz", + "integrity": "sha512-Yek7dAy0v3Kl0orwMlvi7TPtiCNrdfHNd7Gcc/pLq4BLXqfAmd0J7OWMizUQnTTJsyjKn02mU7anqwfmUP4J8Q==", "requires": { "node-gyp-build": "^4.3.0" } @@ -32203,7 +32192,9 @@ "web-streams-polyfill": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.0.tgz", - "integrity": "sha512-EqPmREeOzttaLRm5HS7io98goBgZ7IVz79aDvqjD0kYXLtFZTc0T/U6wHTPKyIjb+MdN7DFIIX6hgdBEpWmfPA==" + "integrity": "sha512-EqPmREeOzttaLRm5HS7io98goBgZ7IVz79aDvqjD0kYXLtFZTc0T/U6wHTPKyIjb+MdN7DFIIX6hgdBEpWmfPA==", + "optional": true, + "peer": true }, "web3": { "version": "1.3.5", diff --git a/generator/package.json b/generator/package.json index abcffd1..ef2a7cd 100644 --- a/generator/package.json +++ b/generator/package.json @@ -13,7 +13,7 @@ "gen:traffic": "node ./scripts/gen-traffic.js" }, "dependencies": { - "@ethersphere/bee-js": "^3.2.0", + "@ethersphere/bee-js": "^3.3.4", "@openzeppelin/contracts": "^3.1.0", "truffle": "^5.3.5" }, diff --git a/generator/scripts/.env b/generator/scripts/.env index a99ddae..13e46d2 100755 --- a/generator/scripts/.env +++ b/generator/scripts/.env @@ -1,6 +1,6 @@ BEE_VERSION="1.4.1" BLOCKCHAIN_VERSION="1.2.0" -BEE_ENV_PREFIX="swarm-test" -BEE_IMAGE_PREFIX="docker.pkg.github.com/ethersphere/bee-factory" +BEE_ENV_PREFIX="bee-factory" +BEE_IMAGE_PREFIX="ethersphere" COMMIT_VERSION_TAG="false" STATE_COMMIT="false" diff --git a/generator/bee-data-dirs/.gitignore b/generator/scripts/bee-data-dirs/.gitignore similarity index 100% rename from generator/bee-data-dirs/.gitignore rename to generator/scripts/bee-data-dirs/.gitignore diff --git a/generator/bee-data-dirs/swarm-test-queen/.gitignore b/generator/scripts/bee-data-dirs/bee-factory-queen/.gitignore similarity index 100% rename from generator/bee-data-dirs/swarm-test-queen/.gitignore rename to generator/scripts/bee-data-dirs/bee-factory-queen/.gitignore diff --git a/generator/bee-data-dirs/swarm-test-queen/keys/libp2p.key b/generator/scripts/bee-data-dirs/bee-factory-queen/keys/libp2p.key similarity index 100% rename from generator/bee-data-dirs/swarm-test-queen/keys/libp2p.key rename to generator/scripts/bee-data-dirs/bee-factory-queen/keys/libp2p.key diff --git a/generator/bee-data-dirs/swarm-test-queen/keys/pss.key b/generator/scripts/bee-data-dirs/bee-factory-queen/keys/pss.key similarity index 100% rename from generator/bee-data-dirs/swarm-test-queen/keys/pss.key rename to generator/scripts/bee-data-dirs/bee-factory-queen/keys/pss.key diff --git a/generator/bee-data-dirs/swarm-test-queen/keys/swarm.key b/generator/scripts/bee-data-dirs/bee-factory-queen/keys/swarm.key similarity index 100% rename from generator/bee-data-dirs/swarm-test-queen/keys/swarm.key rename to generator/scripts/bee-data-dirs/bee-factory-queen/keys/swarm.key diff --git a/generator/bee-data-dirs/swarm-test-worker-1/.gitignore b/generator/scripts/bee-data-dirs/bee-factory-worker-1/.gitignore similarity index 100% rename from generator/bee-data-dirs/swarm-test-worker-1/.gitignore rename to generator/scripts/bee-data-dirs/bee-factory-worker-1/.gitignore diff --git a/generator/bee-data-dirs/swarm-test-worker-1/keys/libp2p.key b/generator/scripts/bee-data-dirs/bee-factory-worker-1/keys/libp2p.key similarity index 100% rename from generator/bee-data-dirs/swarm-test-worker-1/keys/libp2p.key rename to generator/scripts/bee-data-dirs/bee-factory-worker-1/keys/libp2p.key diff --git a/generator/bee-data-dirs/swarm-test-worker-1/keys/pss.key b/generator/scripts/bee-data-dirs/bee-factory-worker-1/keys/pss.key similarity index 100% rename from generator/bee-data-dirs/swarm-test-worker-1/keys/pss.key rename to generator/scripts/bee-data-dirs/bee-factory-worker-1/keys/pss.key diff --git a/generator/bee-data-dirs/swarm-test-worker-1/keys/swarm.key b/generator/scripts/bee-data-dirs/bee-factory-worker-1/keys/swarm.key similarity index 100% rename from generator/bee-data-dirs/swarm-test-worker-1/keys/swarm.key rename to generator/scripts/bee-data-dirs/bee-factory-worker-1/keys/swarm.key diff --git a/generator/bee-data-dirs/swarm-test-worker-2/.gitignore b/generator/scripts/bee-data-dirs/bee-factory-worker-2/.gitignore similarity index 100% rename from generator/bee-data-dirs/swarm-test-worker-2/.gitignore rename to generator/scripts/bee-data-dirs/bee-factory-worker-2/.gitignore diff --git a/generator/bee-data-dirs/swarm-test-worker-2/keys/libp2p.key b/generator/scripts/bee-data-dirs/bee-factory-worker-2/keys/libp2p.key similarity index 100% rename from generator/bee-data-dirs/swarm-test-worker-2/keys/libp2p.key rename to generator/scripts/bee-data-dirs/bee-factory-worker-2/keys/libp2p.key diff --git a/generator/bee-data-dirs/swarm-test-worker-2/keys/pss.key b/generator/scripts/bee-data-dirs/bee-factory-worker-2/keys/pss.key similarity index 100% rename from generator/bee-data-dirs/swarm-test-worker-2/keys/pss.key rename to generator/scripts/bee-data-dirs/bee-factory-worker-2/keys/pss.key diff --git a/generator/bee-data-dirs/swarm-test-worker-2/keys/swarm.key b/generator/scripts/bee-data-dirs/bee-factory-worker-2/keys/swarm.key similarity index 100% rename from generator/bee-data-dirs/swarm-test-worker-2/keys/swarm.key rename to generator/scripts/bee-data-dirs/bee-factory-worker-2/keys/swarm.key diff --git a/generator/bee-data-dirs/swarm-test-worker-3/.gitignore b/generator/scripts/bee-data-dirs/bee-factory-worker-3/.gitignore similarity index 100% rename from generator/bee-data-dirs/swarm-test-worker-3/.gitignore rename to generator/scripts/bee-data-dirs/bee-factory-worker-3/.gitignore diff --git a/generator/bee-data-dirs/swarm-test-worker-3/keys/libp2p.key b/generator/scripts/bee-data-dirs/bee-factory-worker-3/keys/libp2p.key similarity index 100% rename from generator/bee-data-dirs/swarm-test-worker-3/keys/libp2p.key rename to generator/scripts/bee-data-dirs/bee-factory-worker-3/keys/libp2p.key diff --git a/generator/bee-data-dirs/swarm-test-worker-3/keys/pss.key b/generator/scripts/bee-data-dirs/bee-factory-worker-3/keys/pss.key similarity index 100% rename from generator/bee-data-dirs/swarm-test-worker-3/keys/pss.key rename to generator/scripts/bee-data-dirs/bee-factory-worker-3/keys/pss.key diff --git a/generator/bee-data-dirs/swarm-test-worker-3/keys/swarm.key b/generator/scripts/bee-data-dirs/bee-factory-worker-3/keys/swarm.key similarity index 100% rename from generator/bee-data-dirs/swarm-test-worker-3/keys/swarm.key rename to generator/scripts/bee-data-dirs/bee-factory-worker-3/keys/swarm.key diff --git a/generator/bee-data-dirs/swarm-test-worker-4/.gitignore b/generator/scripts/bee-data-dirs/bee-factory-worker-4/.gitignore similarity index 100% rename from generator/bee-data-dirs/swarm-test-worker-4/.gitignore rename to generator/scripts/bee-data-dirs/bee-factory-worker-4/.gitignore diff --git a/generator/bee-data-dirs/swarm-test-worker-4/keys/libp2p.key b/generator/scripts/bee-data-dirs/bee-factory-worker-4/keys/libp2p.key similarity index 100% rename from generator/bee-data-dirs/swarm-test-worker-4/keys/libp2p.key rename to generator/scripts/bee-data-dirs/bee-factory-worker-4/keys/libp2p.key diff --git a/generator/bee-data-dirs/swarm-test-worker-4/keys/pss.key b/generator/scripts/bee-data-dirs/bee-factory-worker-4/keys/pss.key similarity index 100% rename from generator/bee-data-dirs/swarm-test-worker-4/keys/pss.key rename to generator/scripts/bee-data-dirs/bee-factory-worker-4/keys/pss.key diff --git a/generator/bee-data-dirs/swarm-test-worker-4/keys/swarm.key b/generator/scripts/bee-data-dirs/bee-factory-worker-4/keys/swarm.key similarity index 100% rename from generator/bee-data-dirs/swarm-test-worker-4/keys/swarm.key rename to generator/scripts/bee-data-dirs/bee-factory-worker-4/keys/swarm.key diff --git a/generator/scripts/bee-docker-build.sh b/generator/scripts/bee-docker-build.sh index f631660..ee670bc 100755 --- a/generator/scripts/bee-docker-build.sh +++ b/generator/scripts/bee-docker-build.sh @@ -45,11 +45,11 @@ if [ "$COMMIT_VERSION_TAG" == "true" ] ; then "$MY_PATH/utils/build-image-tag.sh" set "$BEE_VERSION" fi -if [ "$STATE_COMMIT" == 'true' ] ; then - echo "The bee image will be built with their state" - BEE_VERSION+="-stateful" +if [ "$STATE_COMMIT" == 'false' ] ; then + echo "The bee image will be built without their state" + BEE_VERSION+="-stateless" "$MY_PATH/utils/build-image-tag.sh" set "$BEE_VERSION" - echo "Stateful Bee version: $BEE_VERSION" + echo "Stateless Bee version: $BEE_VERSION" fi ### BEE_VERSION ALERNATIONS END diff --git a/generator/scripts/blockchain-docker-build.sh b/generator/scripts/blockchain-docker-build.sh index e291879..d48e008 100755 --- a/generator/scripts/blockchain-docker-build.sh +++ b/generator/scripts/blockchain-docker-build.sh @@ -8,7 +8,6 @@ BLOCKCHAIN_VERSION=$("$MY_PATH/utils/env-variable-value.sh" BLOCKCHAIN_VERSION) STATE_COMMIT=$("$MY_PATH/utils/env-variable-value.sh" STATE_COMMIT) if [ "$STATE_COMMIT" == 'true' ] ; then - export COMMIT_VERSION_TAG='true' BEE_VERSION=$("$MY_PATH/utils/build-image-tag.sh" get) BLOCKCHAIN_VERSION+="-for-$BEE_VERSION" echo "Blockchain will have image version: $BLOCKCHAIN_VERSION" diff --git a/generator/scripts/build-environment.sh b/generator/scripts/build-environment.sh index d9ad45e..a3f1721 100755 --- a/generator/scripts/build-environment.sh +++ b/generator/scripts/build-environment.sh @@ -40,11 +40,6 @@ build_bee() { "$MY_PATH/utils/build-image-tag.sh" set "$BEE_VERSION" } -# the image label for the produced bee images in case of state commitment -stateful_image_label() { - echo "$BEE_VERSION-stateful" -} - MY_PATH=$(dirname "$0") MY_PATH=$( cd "$MY_PATH" && pwd ) COMMIT_HASH=HEAD diff --git a/generator/scripts/publish-environment.sh b/generator/scripts/publish-environment.sh index 7f11fe4..34c72c6 100755 --- a/generator/scripts/publish-environment.sh +++ b/generator/scripts/publish-environment.sh @@ -6,7 +6,7 @@ STATE_COMMIT=$("$MY_PATH/utils/env-variable-value.sh" STATE_COMMIT) BUILD_IMAGE=$("$MY_PATH/utils/env-variable-value.sh" BUILD_IMAGE) BLOCKCHAIN_VERSION=$("$MY_PATH/utils/env-variable-value.sh" BLOCKCHAIN_VERSION) -if [ $BUILD_IMAGE == 'true' ] || [ $STATE_COMMIT == 'true' ] ; then +if [ $BUILD_IMAGE == 'true' ] ; then # Necessary for fetch BEE_VERSION from .commit-version-tag export COMMIT_VERSION_TAG='true' fi diff --git a/src/command/start.ts b/src/command/start.ts index 1a9589b..d8d6b8f 100644 --- a/src/command/start.ts +++ b/src/command/start.ts @@ -12,7 +12,7 @@ import { waitForBlockchain, waitForQueen, waitForWorkers } from '../utils/wait' import ora from 'ora' import { VerbosityLevel } from './root-command/logging' -const DEFAULT_REPO = 'ghcr.io/ethersphere/bee-factory' +const DEFAULT_REPO = 'ethersphere' export const ENV_ENV_PREFIX_KEY = 'FACTORY_ENV_PREFIX' const ENV_IMAGE_PREFIX_KEY = 'FACTORY_IMAGE_PREFIX' diff --git a/src/utils/docker.ts b/src/utils/docker.ts index f9ea8ff..d4fd72e 100644 --- a/src/utils/docker.ts +++ b/src/utils/docker.ts @@ -3,7 +3,7 @@ import { Logging } from '../command/root-command/logging' import { ContainerImageConflictError } from './error' export const DEFAULT_ENV_PREFIX = 'bee-factory' -export const DEFAULT_IMAGE_PREFIX = 'swarm-test' +export const DEFAULT_IMAGE_PREFIX = 'bee-factory' const BLOCKCHAIN_IMAGE_NAME_SUFFIX = '-blockchain' const QUEEN_IMAGE_NAME_SUFFIX = '-queen' diff --git a/test/integration/start.spec.ts b/test/integration/start.spec.ts index 20e6774..6f8531e 100644 --- a/test/integration/start.spec.ts +++ b/test/integration/start.spec.ts @@ -9,7 +9,7 @@ import { DockerError } from '../../src/utils/docker' import { findContainer, waitForUsablePostageStamp } from '../utils/docker' const BLOCKCHAIN_VERSION = '1.2.0' -const BEE_VERSION = '1.5.1-d0a77598-stateful' +const BEE_VERSION = '1.5.1' let testFailed = false diff --git a/test/integration/stop.spec.ts b/test/integration/stop.spec.ts index 91a7d20..552faed 100644 --- a/test/integration/stop.spec.ts +++ b/test/integration/stop.spec.ts @@ -7,7 +7,7 @@ import { ENV_ENV_PREFIX_KEY } from '../../src/command/start' import { findContainer } from '../utils/docker' const BLOCKCHAIN_VERSION = '1.2.0' -const BEE_VERSION = '1.5.1-d0a77598-stateful' +const BEE_VERSION = '1.5.1' describe('stop command', () => { let docker: Dockerode