From a0f754dfc510f4badf41a35bcaa6df162a14aab3 Mon Sep 17 00:00:00 2001 From: Daniel Jones Date: Tue, 22 Nov 2022 15:34:25 -0600 Subject: [PATCH 01/11] Adding in Mumbai/Mainnet precursor deb packaging for tests to use during upgrade(iterations to come) --- .github/workflows/packager.yml | 318 ++++++++++++++++++ packaging/deb/.README.md.swp | Bin 0 -> 12288 bytes packaging/deb/README.md | 23 ++ packaging/deb/bor/DEBIAN/changelog | 0 packaging/deb/bor/DEBIAN/control | 0 packaging/deb/bor/DEBIAN/postinst | 4 + packaging/deb/bor/DEBIAN/postrm | 6 + packaging/deb/bor/DEBIAN/prerm | 9 + packaging/requirements/README.md | 1 + packaging/rpm/TODO | 0 .../templates/mainnet-v1/archive/config.toml | 129 +++++++ .../mainnet-v1/sentry/sentry/bor/config.toml | 129 +++++++ .../sentry/validator/bor/config.toml | 131 ++++++++ .../mainnet-v1/without-sentry/bor/config.toml | 131 ++++++++ packaging/templates/package_scripts/changelog | 3 + .../package_scripts/changelog.profile | 3 + packaging/templates/package_scripts/control | 12 + .../templates/package_scripts/control.arm64 | 13 + .../package_scripts/control.profile.amd64 | 14 + .../package_scripts/control.profile.arm64 | 12 + .../package_scripts/control.validator | 12 + .../package_scripts/control.validator.arm64 | 13 + packaging/templates/package_scripts/postinst | 7 + .../package_scripts/postinst.profile | 6 + packaging/templates/package_scripts/postrm | 8 + packaging/templates/package_scripts/preinst | 7 + packaging/templates/package_scripts/prerm | 8 + packaging/templates/systemd/bor.service | 16 + packaging/templates/systemd/bord.service | 36 ++ .../templates/testnet-v4/archive/config.toml | 129 +++++++ .../testnet-v4/sentry/sentry/bor/config.toml | 129 +++++++ .../sentry/validator/bor/config.toml | 131 ++++++++ .../testnet-v4/without-sentry/bor/config.toml | 131 ++++++++ 33 files changed, 1571 insertions(+) create mode 100644 .github/workflows/packager.yml create mode 100644 packaging/deb/.README.md.swp create mode 100644 packaging/deb/README.md create mode 100644 packaging/deb/bor/DEBIAN/changelog create mode 100644 packaging/deb/bor/DEBIAN/control create mode 100755 packaging/deb/bor/DEBIAN/postinst create mode 100755 packaging/deb/bor/DEBIAN/postrm create mode 100755 packaging/deb/bor/DEBIAN/prerm create mode 100644 packaging/requirements/README.md create mode 100644 packaging/rpm/TODO create mode 100644 packaging/templates/mainnet-v1/archive/config.toml create mode 100644 packaging/templates/mainnet-v1/sentry/sentry/bor/config.toml create mode 100644 packaging/templates/mainnet-v1/sentry/validator/bor/config.toml create mode 100644 packaging/templates/mainnet-v1/without-sentry/bor/config.toml create mode 100644 packaging/templates/package_scripts/changelog create mode 100644 packaging/templates/package_scripts/changelog.profile create mode 100644 packaging/templates/package_scripts/control create mode 100644 packaging/templates/package_scripts/control.arm64 create mode 100644 packaging/templates/package_scripts/control.profile.amd64 create mode 100644 packaging/templates/package_scripts/control.profile.arm64 create mode 100644 packaging/templates/package_scripts/control.validator create mode 100644 packaging/templates/package_scripts/control.validator.arm64 create mode 100755 packaging/templates/package_scripts/postinst create mode 100755 packaging/templates/package_scripts/postinst.profile create mode 100755 packaging/templates/package_scripts/postrm create mode 100755 packaging/templates/package_scripts/preinst create mode 100755 packaging/templates/package_scripts/prerm create mode 100644 packaging/templates/systemd/bor.service create mode 100644 packaging/templates/systemd/bord.service create mode 100644 packaging/templates/testnet-v4/archive/config.toml create mode 100644 packaging/templates/testnet-v4/sentry/sentry/bor/config.toml create mode 100644 packaging/templates/testnet-v4/sentry/validator/bor/config.toml create mode 100644 packaging/templates/testnet-v4/without-sentry/bor/config.toml diff --git a/.github/workflows/packager.yml b/.github/workflows/packager.yml new file mode 100644 index 0000000000..4b6c52f601 --- /dev/null +++ b/.github/workflows/packager.yml @@ -0,0 +1,318 @@ +name: packager + +on: + push: + branches: + - 'main' + paths: + - '**' + tags: + - 'v*.*.*' + - 'v*.*.*-*' + +jobs: + build: + runs-on: ubuntu-18.04 + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Set up Go + uses: actions/setup-go@master + with: + go-version: 1.19 + - name: Generate release tag + id: tag + run: echo "::set-output name=release_tag::bor_$(date +"%Y.%m.%d_%H-%M")" + + - name: Cleaning repo + run: make clean + - name: Building for amd64 + run: make bor + + - name: Making directory structure + run: mkdir -p packaging/deb/bor/usr/bin + - name: Making directory structure for toml + run: mkdir -p packaging/deb/bor/var/lib/bor + - name: Copying necessary files + run: cp -rp build/bin/bor packaging/deb/bor/usr/bin/ + - name: copying control file + run: cp -rp packaging/templates/package_scripts/control packaging/deb/bor/DEBIAN/control + - name: removing systemd file for binary + run: rm -rf lib/systemd/system/bor.service + + - name: Creating package for binary only bor + run: cp -rp packaging/deb/bor packaging/deb/bor-v0.3.0-beta-amd64 + - name: Running package build + run: dpkg-deb --build --root-owner-group packaging/deb/bor-v0.3.0-beta-amd64 + + - name: Removing the bor binary + run: rm -rf packaging/deb/bor/usr/bin/bor + + - name: making directory structure for systemd + run: mkdir -p packaging/deb/bor/lib/systemd/system + - name: Copying systemd file + run: cp -rp packaging/templates/systemd/bor.service packaging/deb/bor/lib/systemd/system/bor.service + + - name: Prepping Mumbai Sentry Node Profile for amd64 + run: cp -rp packaging/deb/bor packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-amd64 + - name: Putting toml + run: cp -rp packaging/templates/testnet-v4/sentry/sentry/bor/config.toml packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-amd64/var/lib/bor/ + - name: Copying the preinst + run: cp -rp packaging/templates/package_scripts/preinst packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-amd64/DEBIAN/preinst + - name: Copying the postinst + run: cp -rp packaging/templates/package_scripts/postinst.profile packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-amd64/DEBIAN/postinst + - name: Copying the prerm + run: cp -rp packaging/templates/package_scripts/prerm packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-amd64/DEBIAN/prerm + - name: Copying the postrm + run: cp -rp packaging/templates/package_scripts/postrm packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-amd64/DEBIAN/postrm + - name: Copying systemd file + run: cp -rp packaging/templates/systemd/bor.service packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-amd64/lib/systemd/system/ + - name: Copying profile control file + run: cp -rp packaging/templates/package_scripts/control.profile.amd64 packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-amd64/DEBIAN/control + - name: Running package build for sentry on amd64 + run: dpkg-deb --build --root-owner-group packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-amd64 + + - name: Setting up Mainnet Sentry Config for amd64 + run: cp -rp packaging/deb/bor packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-amd64 + - name: Copying control file + run: cp -rp packaging/templates/package_scripts/control packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-amd64/DEBIAN/control + - name: Putting toml + run: cp -rp packaging/templates/mainnet-v1/sentry/sentry/bor/config.toml packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-amd64/var/lib/bor/ + - name: Copying the preinst + run: cp -rp packaging/templates/package_scripts/preinst packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-amd64/DEBIAN/preinst + - name: Copying the postinst + run: cp -rp packaging/templates/package_scripts/postinst.profile packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-amd64/DEBIAN/postinst + - name: Copying the prerm + run: cp -rp packaging/templates/package_scripts/prerm packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-amd64/DEBIAN/prerm + - name: Copying the postrm + run: cp -rp packaging/templates/package_scripts/postrm packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-amd64/DEBIAN/postrm + - name: Copying profile control file + run: cp -rp packaging/templates/package_scripts/control.profile.amd64 packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-amd64/DEBIAN/control + - name: Building Sentry for amd64 + run: dpkg-deb --build --root-owner-group packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-amd64 + + - name: Prepping Bor Validator Profile for amd64 + run: cp -rp packaging/deb/bor packaging/deb/bor-mumbai-validator-config_v0.3.0-beta-amd64 + - name: Copying control file for validator on amd64 + run: cp -rp packaging/templates/package_scripts/control.validator packaging/deb/bor-mumbai-validator-config_v0.3.0-beta-amd64/DEBIAN/control + - name: Copying Postinstall script + run: cp -rp packaging/templates/package_scripts/postinst.profile packaging/deb/bor-mumbai-validator-config_v0.3.0-beta-amd64/DEBIAN/postinst + - name: Copying Prerm script + run: cp -rp packaging/templates/package_scripts/prerm packaging/deb/bor-mumbai-validator-config_v0.3.0-beta-amd64/DEBIAN/prerm + - name: Copying Postrm script + run: cp -rp packaging/templates/package_scripts/postrm packaging/deb/bor-mumbai-validator-config_v0.3.0-beta-amd64/DEBIAN/postrm + - name: Copying config.toml for validator for bor + run: cp -rp packaging/templates/testnet-v4/sentry/validator/bor/config.toml packaging/deb/bor-mumbai-validator-config_v0.3.0-beta-amd64/var/lib/bor/ + - name: Copying profile control file + run: cp -rp packaging/templates/package_scripts/control.profile.amd64 packaging/deb/bor-mumbai-validator-config_v0.3.0-beta-amd64/DEBIAN/control + - name: Building bor validator on amd64 + run: dpkg-deb --build --root-owner-group packaging/deb/bor-mumbai-validator-config_v0.3.0-beta-amd64 + + - name: Prepping Bor Mainnet Validator for amd64 + run: cp -rp packaging/deb/bor packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-amd64 + - name: Copying control file for validator on arm64 + run: cp -rp packaging/templates/package_scripts/control.validator packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-amd64/DEBIAN/control + - name: Copying the preinst + run: cp -rp packaging/templates/package_scripts/preinst packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-amd64/DEBIAN/preinst + - name: Copying Postinstall script + run: cp -rp packaging/templates/package_scripts/postinst.profile packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-amd64/DEBIAN/postinst + - name: Copying the prerm + run: cp -rp packaging/templates/package_scripts/prerm packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-amd64/DEBIAN/prerm + - name: Copying the postrm + run: cp -rp packaging/templates/package_scripts/postrm packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-amd64/DEBIAN/postrm + - name: Copying config.toml for validator for bor + run: cp -rp packaging/templates/mainnet-v1/sentry/validator/bor/config.toml packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-amd64/var/lib/bor/ + - name: Copying profile control file + run: cp -rp packaging/templates/package_scripts/control.profile.amd64 packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-amd64/DEBIAN/control + - name: Building bor validator on amd64 + run: dpkg-deb --build --root-owner-group packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-amd64 + + - name: Creating mumbai archive node profile for amd64 + run: cp -rp packaging/deb/bor packaging/deb/bor-mumbai-archive-config_v0.3.0-beta-amd64 + - name: Copying profile control file + run: cp -rp packaging/templates/package_scripts/control.profile.amd64 packaging/deb/bor-mumbai-archive-config_v0.3.0-beta-amd64/DEBIAN/control + - name: Copying profile preinst file + run: cp -rp packaging/templates/package_scripts/preinst packaging/deb/bor-mumbai-archive-config_v0.3.0-beta-amd64/DEBIAN/preinst + - name: Copying the profile postinst + run: cp -rp packaging/templates/package_scripts/postinst.profile packaging/deb/bor-mumbai-archive-config_v0.3.0-beta-amd64/DEBIAN/postinst + - name: Copying profile prerm file + run: cp -rp packaging/templates/package_scripts/prerm packaging/deb/bor-mumbai-archive-config_v0.3.0-beta-amd64/DEBIAN/prerm + - name: Copying profile postrm file + run: cp -rp packaging/templates/package_scripts/postrm packaging/deb/bor-mumbai-archive-config_v0.3.0-beta-amd64/DEBIAN/postrm + - name: Copying the toml + run: cp -rp packaging/templates/testnet-v4/archive/config.toml packaging/deb/bor-mumbai-archive-config_v0.3.0-beta-amd64/var/lib/bor/ + - name: Building profile package + run: dpkg-deb --build --root-owner-group packaging/deb/bor-mumbai-archive-config_v0.3.0-beta-amd64 + + - name: Creating mainnet archive node profile for amd64 + run: cp -rp packaging/deb/bor packaging/deb/bor-mainnet-archive-config_v0.3.0-beta-amd64 + - name: Copying profile control file + run: cp -rp packaging/templates/package_scripts/control.profile.amd64 packaging/deb/bor-mumbai-archive-config_v0.3.0-beta-amd64/DEBIAN/control + - name: Copying profile preinst file + run: cp -rp packaging/templates/package_scripts/preinst packaging/deb/bor-mainnet-archive-config_v0.3.0-beta-amd64/DEBIAN/preinst + - name: Copying the profile postinst + run: cp -rp packaging/templates/package_scripts/postinst.profile packaging/deb/bor-mainnet-archive-config_v0.3.0-beta-amd64/DEBIAN/postinst + - name: Copying profile prerm file + run: cp -rp packaging/templates/package_scripts/prerm packaging/deb/bor-mainnet-archive-config_v0.3.0-beta-amd64/DEBIAN/prerm + - name: Copying profile postrm file + run: cp -rp packaging/templates/package_scripts/postrm packaging/deb/bor-mainnet-archive-config_v0.3.0-beta-amd64/DEBIAN/postrm + - name: Copying the toml + run: cp -rp packaging/templates/mainnet-v1/archive/config.toml packaging/deb/bor-mainnet-archive-config_v0.3.0-beta-amd64/var/lib/bor/ + - name: Building porfile package + run: dpkg-deb --build --root-owner-group packaging/deb/bor-mainnet-archive-config_v0.3.0-beta-amd64 + + - name: Cleaning build directory for arm64 build + run: make clean + + - name: Removing systemd file + run: rm -rf packaging/deb/bor/lib/systemd/system/bor.service + + - name: Adding requirements for cross compile + run: sudo apt-get install g++-aarch64-linux-gnu gcc-aarch64-linux-gnu + + - name: removing systemd file for binary + run: rm -rf lib/systemd/system/bor.service + + - name: Building bor for arm64 + run: GOARCH=arm64 GOOS=linux CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ CGO_ENABLED=1 go build -o build/bin/bor ./cmd/cli/main.go + + - name: Copying bor arm64 for use with packaging + run: cp -rp build/bin/bor packaging/deb/bor/usr/bin/ + + - name: Creating package for binary only bor + run: cp -rp packaging/deb/bor packaging/deb/bor-v0.3.0-beta-arm64 + - name: Copying control file + run: cp -rp packaging/templates/package_scripts/control.arm64 packaging/deb/bor-v0.3.0-beta-arm64/DEBIAN/control + - name: Running package build + run: dpkg-deb --build --root-owner-group packaging/deb/bor-v0.3.0-beta-arm64 + + - name: Removing the bor binary + run: rm -rf packaging/deb/bor/usr/bin/bor + + - name: Copying systemd file + run: cp -rp packaging/templates/systemd/bor.service packaging/deb/bor/lib/systemd/system/bor.service + + - name: Updating the control file to use with the arm64 profile + run: cp -rp packaging/templates/package_scripts/control.profile.arm64 packaging/deb/bor/DEBIAN/control + + - name: Setting up Mumbai Sentry Config for arm64 + run: cp -rp packaging/deb/bor packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-arm64 + - name: Copying control file + run: cp -rp packaging/templates/package_scripts/control.arm64 packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-arm64/DEBIAN/control + - name: Putting toml + run: cp -rp packaging/templates/testnet-v4/sentry/sentry/bor/config.toml packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-arm64/var/lib/bor/ + - name: Copying the preinst + run: cp -rp packaging/templates/package_scripts/preinst packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-arm64/DEBIAN/preinst + - name: Copying the prerm + run: cp -rp packaging/templates/package_scripts/prerm packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-arm64/DEBIAN/prerm + - name: Copying the postrm + run: cp -rp packaging/templates/package_scripts/postrm packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-arm64/DEBIAN/postrm + - name: Copying the postinst + run: cp -rp packaging/templates/package_scripts/postinst.profile packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-arm64/DEBIAN/postinst + - name: Copying profile control file + run: cp -rp packaging/templates/package_scripts/control.profile.arm64 packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-arm64/DEBIAN/control + - name: Building Sentry for arm64 + run: dpkg-deb --build --root-owner-group packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-arm64 + + - name: Setting up Mainnet Sentry Config for arm64 + run: cp -rp packaging/deb/bor packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-arm64 + - name: Copying control file + run: cp -rp packaging/templates/package_scripts/control.arm64 packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-arm64/DEBIAN/control + - name: Putting toml + run: cp -rp packaging/templates/mainnet-v1/sentry/sentry/bor/config.toml packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-arm64/var/lib/bor/ + - name: Copying the preinst + run: cp -rp packaging/templates/package_scripts/preinst packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-arm64/DEBIAN/preinst + - name: Copying the prerm + run: cp -rp packaging/templates/package_scripts/prerm packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-arm64/DEBIAN/prerm + - name: Copying the postrm + run: cp -rp packaging/templates/package_scripts/postrm packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-arm64/DEBIAN/postrm + - name: Copying the postinst + run: cp -rp packaging/templates/package_scripts/postinst.profile packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-arm64/DEBIAN/postinst + - name: Copying profile control file + run: cp -rp packaging/templates/package_scripts/control.profile.arm64 packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-arm64/DEBIAN/control + - name: Building Sentry for arm64 + run: dpkg-deb --build --root-owner-group packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-arm64 + + - name: Prepping Bor Mumbai Validator for arm64 + run: cp -rp packaging/deb/bor packaging/deb/bor-mumbai-validator-config_v0.3.0-beta-arm64 + - name: Copying control file for validator on arm64 + run: cp -rp packaging/templates/package_scripts/control.validator.arm64 packaging/deb/bor-mumbai-validator-config_v0.3.0-beta-arm64/DEBIAN/control + - name: Copying the preinst + run: cp -rp packaging/templates/package_scripts/preinst packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-arm64/DEBIAN/preinst + - name: Copying Postinstall script + run: cp -rp packaging/templates/package_scripts/postinst.profile packaging/deb/bor-mumbai-validator-config_v0.3.0-beta-arm64/DEBIAN/postinst + - name: Copying the prerm + run: cp -rp packaging/templates/package_scripts/prerm packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-arm64/DEBIAN/prerm + - name: Copying the postrm + run: cp -rp packaging/templates/package_scripts/postrm packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-arm64/DEBIAN/postrm + - name: Copying config.toml for validator for bor + run: cp -rp packaging/templates/testnet-v4/sentry/validator/bor/config.toml packaging/deb/bor-mumbai-validator-config_v0.3.0-beta-arm64/var/lib/bor/ + - name: Copying profile control file + run: cp -rp packaging/templates/package_scripts/control.profile.arm64 packaging/deb/bor-mumbai-validator-config_v0.3.0-beta-arm64/DEBIAN/control + - name: Building bor validator on arm64 + run: dpkg-deb --build --root-owner-group packaging/deb/bor-mumbai-validator-config_v0.3.0-beta-arm64 + + - name: Prepping Bor Mainnet Validator for arm64 + run: cp -rp packaging/deb/bor packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-arm64 + - name: Copying control file for validator on arm64 + run: cp -rp packaging/templates/package_scripts/control.validator.arm64 packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-arm64/DEBIAN/control + - name: Copying the preinst + run: cp -rp packaging/templates/package_scripts/preinst packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-arm64/DEBIAN/preinst + - name: Copying Postinstall script + run: cp -rp packaging/templates/package_scripts/postinst.profile packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-arm64/DEBIAN/postinst + - name: Copying the prerm + run: cp -rp packaging/templates/package_scripts/prerm packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-arm64/DEBIAN/prerm + - name: Copying the postrm + run: cp -rp packaging/templates/package_scripts/postrm packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-arm64/DEBIAN/postrm + - name: Copying config.toml for validator for bor + run: cp -rp packaging/templates/mainnet-v1/sentry/validator/bor/config.toml packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-arm64/var/lib/bor/ + - name: Copying profile control file + run: cp -rp packaging/templates/package_scripts/control.profile.arm64 packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-arm64/DEBIAN/control + - name: Building bor validator on arm64 + run: dpkg-deb --build --root-owner-group packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-arm64 + + - name: Updating the control file to use with the arm64 profile + run: cp -rp packaging/templates/package_scripts/control.profile.arm64 packaging/deb/bor/DEBIAN/control + + - name: Creating mumbai archive node profile for arm64 + run: cp -rp packaging/deb/bor packaging/deb/bor-mumbai-archive-config_v0.3.0-beta-arm64 + - name: Copying profile control file + run: cp -rp packaging/templates/package_scripts/control.profile.arm64 packaging/deb/bor-mumbai-archive-config_v0.3.0-beta-arm64/DEBIAN/control + - name: Copying over profile postinst + run: cp -rp packaging/templates/package_scripts/postinst.profile packaging/deb/bor-mumbai-archive-config_v0.3.0-beta-arm64/DEBIAN/postinst + - name: Copying prerm + run: cp -rp packaging/templates/package_scripts/prerm packaging/deb/bor-mumbai-archive-config_v0.3.0-beta-arm64/DEBIAN/prerm + - name: Copying postrm + run: cp -rp packaging/templates/package_scripts/postrm packaging/deb/bor-mumbai-archive-config_v0.3.0-beta-arm64/DEBIAN/postrm + - name: Copying the toml + run: cp -rp packaging/templates/testnet-v4/archive/config.toml packaging/deb/bor-mumbai-archive-config_v0.3.0-beta-arm64/var/lib/bor/ + - name: Building profile package + run: dpkg-deb --build --root-owner-group packaging/deb/bor-mumbai-archive-config_v0.3.0-beta-arm64 + + - name: Creating mainnet archive node profile for arm64 + run: cp -rp packaging/deb/bor packaging/deb/bor-mainnet-archive-config_v0.3.0-beta-arm64 + - name: Copying profile control file + run: cp -rp packaging/templates/package_scripts/control.profile.arm64 packaging/deb/bor-mainnet-archive-config_v0.3.0-beta-arm64/DEBIAN/control + - name: Copying over profile postinst + run: cp -rp packaging/templates/package_scripts/postinst.profile packaging/deb/bor-mainnet-archive-config_v0.3.0-beta-arm64/DEBIAN/postinst + - name: Copying prerm + run: cp -rp packaging/templates/package_scripts/prerm packaging/deb/bor-mainnet-archive-config_v0.3.0-beta-arm64/DEBIAN/prerm + - name: Copying postrm + run: cp -rp packaging/templates/package_scripts/postrm packaging/deb/bor-mainnet-archive-config_v0.3.0-beta-arm64/DEBIAN/postrm + - name: Copying the toml + run: cp -rp packaging/templates/mainnet-v1/archive/config.toml packaging/deb/bor-mainnet-archive-config_v0.3.0-beta-arm64/var/lib/bor/ + - name: Building porfile package + run: dpkg-deb --build --root-owner-group packaging/deb/bor-mainnet-archive-config_v0.3.0-beta-arm64 + + - name: Confirming package built + run: ls -ltr packaging/deb/ | grep bor + + - name: Release bor Packages + uses: softprops/action-gh-release@v1 + with: + tag_name: ${{ steps.tag.outputs.release_tag }} + files: | + packaging/deb/bor**.deb + binary/bo** \ No newline at end of file diff --git a/packaging/deb/.README.md.swp b/packaging/deb/.README.md.swp new file mode 100644 index 0000000000000000000000000000000000000000..765002d189fd7864fe06952777e7df26258b51ff GIT binary patch literal 12288 zcmeI2KW`H;6u@2f0)m0{K}VEa2n%$9Rtcy>8iWc9F!=7AI}^w6Wczw#fgQdA3x7tw z4HE2#k5FI(o-bFa1u=ChdRBh1&VGLP?x!r#y>#$!X973+LqX%b5FZb&W;ee~#o(0? zxwKlDr)ZUryZ;=cHqQ4ZGTTO+_wG6D4f_T&X^x$Fek5UXSBJ7rlN4Q2$!snQZHpvV zX>xzOHJXh3i~QJGzF-4v;G_oD#r5H}LCmso<~18jf|umLu}22P;?Nw3+z zt_$(_EEP}h{}2EF|2QYacj6myK)fg35pRh%#B1Uu(GV$do47>?;uq!mNqijP?PVQqq@#M%p0urlaX5IJLliX_BgTg#xsP3s8G%A&0!07eee} zP!LM(fj&NHV?aWKZca5o<*;zd`%O~47h{^ZpVD2NtSXg5Ub~nolnT;Xn;cdh>MEYh z=-_IVLPUHHqtnDMeNcZd79dtmQ@mf;pZL2&9T4KE_+bSxUbjh41DtLy*U=zzXl7fQ&>uF-j4H&fv F#cwS6$qoPj literal 0 HcmV?d00001 diff --git a/packaging/deb/README.md b/packaging/deb/README.md new file mode 100644 index 0000000000..7e84275f38 --- /dev/null +++ b/packaging/deb/README.md @@ -0,0 +1,23 @@ +# Debian + + + +For debian packages you will need to add the following layouts during the build + + + +bor/ + DEBIAN/control + DEBIAN/postinst + usr/local/bin/bor + lib/systemd/system/bor.service + +This will be wrapped during the build package process building + + +Note this is still a work in progress: + +TODO: removal/purge on removal using dpkg + cleanup of control files to list what we want + copyright inclusuion + diff --git a/packaging/deb/bor/DEBIAN/changelog b/packaging/deb/bor/DEBIAN/changelog new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packaging/deb/bor/DEBIAN/control b/packaging/deb/bor/DEBIAN/control new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packaging/deb/bor/DEBIAN/postinst b/packaging/deb/bor/DEBIAN/postinst new file mode 100755 index 0000000000..e23f4d6897 --- /dev/null +++ b/packaging/deb/bor/DEBIAN/postinst @@ -0,0 +1,4 @@ +#!/bin/bash +# This is a postinstallation script so the service can be configured and started when requested +# +sudo adduser --disabled-password --disabled-login --shell /usr/sbin/nologin --quiet --system --no-create-home --home /nonexistent bor diff --git a/packaging/deb/bor/DEBIAN/postrm b/packaging/deb/bor/DEBIAN/postrm new file mode 100755 index 0000000000..7602789a01 --- /dev/null +++ b/packaging/deb/bor/DEBIAN/postrm @@ -0,0 +1,6 @@ +#!/bin/bash +# +############### +# Remove bor installs +############## +sudo rm -rf /usr/bin/bor diff --git a/packaging/deb/bor/DEBIAN/prerm b/packaging/deb/bor/DEBIAN/prerm new file mode 100755 index 0000000000..e40aed2c80 --- /dev/null +++ b/packaging/deb/bor/DEBIAN/prerm @@ -0,0 +1,9 @@ +#!/bin/bash +# +# +############## +# Stop bor before removal +############## +#sudo systemctl stop bor.service +############# + diff --git a/packaging/requirements/README.md b/packaging/requirements/README.md new file mode 100644 index 0000000000..48cdce8528 --- /dev/null +++ b/packaging/requirements/README.md @@ -0,0 +1 @@ +placeholder diff --git a/packaging/rpm/TODO b/packaging/rpm/TODO new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packaging/templates/mainnet-v1/archive/config.toml b/packaging/templates/mainnet-v1/archive/config.toml new file mode 100644 index 0000000000..a44a2ed0b5 --- /dev/null +++ b/packaging/templates/mainnet-v1/archive/config.toml @@ -0,0 +1,129 @@ +chain = "mainnet" +# identity = "node_name" +# log-level = "INFO" +datadir = "/var/lib/bor/data" +# keystore = "" +syncmode = "full" +gcmode = "archive" +# snapshot = true +# ethstats = "" + +# ["eth.requiredblocks"] + +[p2p] + maxpeers = 50 + port = 30303 + # maxpendpeers = 50 + # bind = "0.0.0.0" + # nodiscover = false + # nat = "any" + # [p2p.discovery] + # v5disc = false + # bootnodes = [] + # bootnodesv4 = [] + # bootnodesv5 = [] + # static-nodes = [] + # trusted-nodes = [] + # dns = [] + +# [heimdall] + # url = "http://localhost:1317" + # "bor.without" = false + # grpc-address = "" + +[txpool] + nolocals = true + pricelimit = 30000000000 + accountslots = 16 + globalslots = 32768 + accountqueue = 16 + globalqueue = 32768 + lifetime = "1h30m0s" + # locals = [] + # journal = "" + # rejournal = "1h0m0s" + # pricebump = 10 + +[miner] + gaslimit = 20000000 + gasprice = "30000000000" + # mine = false + # etherbase = "" + # extradata = "" + +[jsonrpc] + ipcpath = "/var/lib/bor/bor.ipc" + # ipcdisable = false + # gascap = 50000000 + # txfeecap = 5.0 + [jsonrpc.http] + enabled = true + port = 8545 + host = "127.0.0.1" + api = ["eth", "net", "web3", "txpool", "bor"] + vhosts = ["*"] + corsdomain = ["*"] + # prefix = "" + [jsonrpc.ws] + enabled = true + port = 8546 + # prefix = "" + # host = "localhost" + # api = ["web3", "net"] + origins = ["*"] + # [jsonrpc.graphql] + # enabled = false + # port = 0 + # prefix = "" + # host = "" + # vhosts = ["*"] + # corsdomain = ["*"] + +# [gpo] + # blocks = 20 + # percentile = 60 + # maxprice = "5000000000000" + # ignoreprice = "2" + +[telemetry] + metrics = true + # expensive = false + # prometheus-addr = "" + # opencollector-endpoint = "" + # [telemetry.influx] + # influxdb = false + # endpoint = "" + # database = "" + # username = "" + # password = "" + # influxdbv2 = false + # token = "" + # bucket = "" + # organization = "" + # [telemetry.influx.tags] + +# [cache] + # cache = 1024 + # gc = 25 + # snapshot = 10 + # database = 50 + # trie = 15 + # journal = "triecache" + # rejournal = "1h0m0s" + # noprefetch = false + # preimages = false + # txlookuplimit = 2350000 + +# [accounts] + # unlock = [] + # password = "" + # allow-insecure-unlock = false + # lightkdf = false + # disable-bor-wallet = false + +# [grpc] + # addr = ":3131" + +# [developer] + # dev = false + # period = 0 diff --git a/packaging/templates/mainnet-v1/sentry/sentry/bor/config.toml b/packaging/templates/mainnet-v1/sentry/sentry/bor/config.toml new file mode 100644 index 0000000000..5bb226b913 --- /dev/null +++ b/packaging/templates/mainnet-v1/sentry/sentry/bor/config.toml @@ -0,0 +1,129 @@ +chain = "mainnet" +# identity = "node_name" +# log-level = "INFO" +datadir = "/var/lib/bor/data" +# keystore = "" +syncmode = "full" +# gcmode = "full" +# snapshot = true +# ethstats = "" + +# ["eth.requiredblocks"] + +[p2p] + maxpeers = 50 + port = 30303 + # maxpendpeers = 50 + # bind = "0.0.0.0" + # nodiscover = false + # nat = "any" + # [p2p.discovery] + # v5disc = false + # bootnodes = [] + # bootnodesv4 = [] + # bootnodesv5 = [] + # static-nodes = [] + # trusted-nodes = [] + # dns = [] + +# [heimdall] + # url = "http://localhost:1317" + # "bor.without" = false + # grpc-address = "" + +[txpool] + nolocals = true + pricelimit = 30000000000 + accountslots = 16 + globalslots = 32768 + accountqueue = 16 + globalqueue = 32768 + lifetime = "1h30m0s" + # locals = [] + # journal = "" + # rejournal = "1h0m0s" + # pricebump = 10 + +[miner] + gaslimit = 20000000 + gasprice = "30000000000" + # mine = false + # etherbase = "" + # extradata = "" + +[jsonrpc] + ipcpath = "/var/lib/bor/bor.ipc" + # ipcdisable = false + # gascap = 50000000 + # txfeecap = 5.0 + [jsonrpc.http] + enabled = true + port = 8545 + host = "127.0.0.1" + api = ["eth", "net", "web3", "txpool", "bor"] + vhosts = ["*"] + corsdomain = ["*"] + # prefix = "" + # [jsonrpc.ws] + # enabled = false + # port = 8546 + # prefix = "" + # host = "localhost" + # api = ["web3", "net"] + # origins = ["*"] + # [jsonrpc.graphql] + # enabled = false + # port = 0 + # prefix = "" + # host = "" + # vhosts = ["*"] + # corsdomain = ["*"] + +# [gpo] + # blocks = 20 + # percentile = 60 + # maxprice = "5000000000000" + # ignoreprice = "2" + +[telemetry] + metrics = true + # expensive = false + # prometheus-addr = "" + # opencollector-endpoint = "" + # [telemetry.influx] + # influxdb = false + # endpoint = "" + # database = "" + # username = "" + # password = "" + # influxdbv2 = false + # token = "" + # bucket = "" + # organization = "" + # [telemetry.influx.tags] + +# [cache] + # cache = 1024 + # gc = 25 + # snapshot = 10 + # database = 50 + # trie = 15 + # journal = "triecache" + # rejournal = "1h0m0s" + # noprefetch = false + # preimages = false + # txlookuplimit = 2350000 + +# [accounts] + # unlock = [] + # password = "" + # allow-insecure-unlock = false + # lightkdf = false + # disable-bor-wallet = false + +# [grpc] + # addr = ":3131" + +# [developer] + # dev = false + # period = 0 diff --git a/packaging/templates/mainnet-v1/sentry/validator/bor/config.toml b/packaging/templates/mainnet-v1/sentry/validator/bor/config.toml new file mode 100644 index 0000000000..5a7688f9e8 --- /dev/null +++ b/packaging/templates/mainnet-v1/sentry/validator/bor/config.toml @@ -0,0 +1,131 @@ +# NOTE: Update and uncomment: `keystore`, `password`, and `unlock` fields. + +chain = "mainnet" +# identity = "node_name" +# log-level = "INFO" +datadir = "/var/lib/bor/data" +# keystore = "$BOR_DIR/keystore" +syncmode = "full" +# gcmode = "full" +# snapshot = true +# ethstats = "" + +# ["eth.requiredblocks"] + +[p2p] + maxpeers = 1 + port = 30303 + nodiscover = true + # maxpendpeers = 50 + # bind = "0.0.0.0" + # nat = "any" + # [p2p.discovery] + # v5disc = false + # bootnodes = [] + # bootnodesv4 = [] + # bootnodesv5 = [] + # static-nodes = [] + # trusted-nodes = [] + # dns = [] + +# [heimdall] + # url = "http://localhost:1317" + # "bor.without" = false + # grpc-address = "" + +[txpool] + nolocals = true + pricelimit = 30000000000 + accountslots = 16 + globalslots = 32768 + accountqueue = 16 + globalqueue = 32768 + lifetime = "1h30m0s" + # locals = [] + # journal = "" + # rejournal = "1h0m0s" + # pricebump = 10 + +[miner] + mine = true + gaslimit = 20000000 + gasprice = "30000000000" + # etherbase = "" + # extradata = "" + +[jsonrpc] + ipcpath = "/var/lib/bor/bor.ipc" + # ipcdisable = false + # gascap = 50000000 + # txfeecap = 5.0 + [jsonrpc.http] + enabled = true + port = 8545 + host = "127.0.0.1" + api = ["eth", "net", "web3", "txpool", "bor"] + vhosts = ["*"] + corsdomain = ["*"] + # prefix = "" + # [jsonrpc.ws] + # enabled = false + # port = 8546 + # prefix = "" + # host = "localhost" + # api = ["web3", "net"] + # origins = ["*"] + # [jsonrpc.graphql] + # enabled = false + # port = 0 + # prefix = "" + # host = "" + # vhosts = ["*"] + # corsdomain = ["*"] + +# [gpo] + # blocks = 20 + # percentile = 60 + # maxprice = "5000000000000" + # ignoreprice = "2" + +[telemetry] + metrics = true + # expensive = false + # prometheus-addr = "" + # opencollector-endpoint = "" + # [telemetry.influx] + # influxdb = false + # endpoint = "" + # database = "" + # username = "" + # password = "" + # influxdbv2 = false + # token = "" + # bucket = "" + # organization = "" + # [telemetry.influx.tags] + +# [cache] + # cache = 1024 + # gc = 25 + # snapshot = 10 + # database = 50 + # trie = 15 + # journal = "triecache" + # rejournal = "1h0m0s" + # noprefetch = false + # preimages = false + # txlookuplimit = 2350000 + +[accounts] + allow-insecure-unlock = true + # password = "$BOR_DIR/password.txt" + # unlock = ["$ADDRESS"] + # lightkdf = false + # disable-bor-wallet = false + +# [grpc] + # addr = ":3131" + +# [developer] + # dev = false + # period = 0 diff --git a/packaging/templates/mainnet-v1/without-sentry/bor/config.toml b/packaging/templates/mainnet-v1/without-sentry/bor/config.toml new file mode 100644 index 0000000000..74094bfa80 --- /dev/null +++ b/packaging/templates/mainnet-v1/without-sentry/bor/config.toml @@ -0,0 +1,131 @@ +# NOTE: Update and uncomment: `keystore`, `password`, and `unlock` fields. + +chain = "mainnet" +# identity = "node_name" +# log-level = "INFO" +datadir = "/var/lib/bor/data" +# keystore = "$BOR_DIR/keystore" +syncmode = "full" +# gcmode = "full" +# snapshot = true +# ethstats = "" + +# ["eth.requiredblocks"] + +[p2p] + maxpeers = 50 + port = 30303 + # maxpendpeers = 50 + # bind = "0.0.0.0" + # nodiscover = false + # nat = "any" + # [p2p.discovery] + # v5disc = false + # bootnodes = [] + # bootnodesv4 = [] + # bootnodesv5 = [] + # static-nodes = [] + # trusted-nodes = [] + # dns = [] + +# [heimdall] + # url = "http://localhost:1317" + # "bor.without" = false + # grpc-address = "" + +[txpool] + nolocals = true + pricelimit = 30000000000 + accountslots = 16 + globalslots = 32768 + accountqueue = 16 + globalqueue = 32768 + lifetime = "1h30m0s" + # locals = [] + # journal = "" + # rejournal = "1h0m0s" + # pricebump = 10 + +[miner] + mine = true + gaslimit = 20000000 + gasprice = "30000000000" + # etherbase = "" + # extradata = "" + +[jsonrpc] + ipcpath = "/var/lib/bor/bor.ipc" + # ipcdisable = false + # gascap = 50000000 + # txfeecap = 5.0 + [jsonrpc.http] + enabled = true + port = 8545 + host = "127.0.0.1" + api = ["eth", "net", "web3", "txpool", "bor"] + vhosts = ["*"] + corsdomain = ["*"] + # prefix = "" + # [jsonrpc.ws] + # enabled = false + # port = 8546 + # prefix = "" + # host = "localhost" + # api = ["web3", "net"] + # origins = ["*"] + # [jsonrpc.graphql] + # enabled = false + # port = 0 + # prefix = "" + # host = "" + # vhosts = ["*"] + # corsdomain = ["*"] + +# [gpo] +# blocks = 20 +# percentile = 60 +# maxprice = "5000000000000" +# ignoreprice = "2" + +[telemetry] + metrics = true + # expensive = false + # prometheus-addr = "" + # opencollector-endpoint = "" + # [telemetry.influx] + # influxdb = false + # endpoint = "" + # database = "" + # username = "" + # password = "" + # influxdbv2 = false + # token = "" + # bucket = "" + # organization = "" + # [telemetry.influx.tags] + +# [cache] +# cache = 1024 +# gc = 25 +# snapshot = 10 +# database = 50 +# trie = 15 +# journal = "triecache" +# rejournal = "1h0m0s" +# noprefetch = false +# preimages = false +# txlookuplimit = 2350000 + +[accounts] + allow-insecure-unlock = true + # password = "$BOR_DIR/password.txt" + # unlock = ["$ADDRESS"] + # lightkdf = false + # disable-bor-wallet = false + +# [grpc] + # addr = ":3131" + +# [developer] + # dev = false + # period = 0 diff --git a/packaging/templates/package_scripts/changelog b/packaging/templates/package_scripts/changelog new file mode 100644 index 0000000000..2395bcaef1 --- /dev/null +++ b/packaging/templates/package_scripts/changelog @@ -0,0 +1,3 @@ +bor (2.10.11) unstable; urgency=low + +-- Polygon Team Mon, 10 Nov 2022 00:37:31 +0100 \ No newline at end of file diff --git a/packaging/templates/package_scripts/changelog.profile b/packaging/templates/package_scripts/changelog.profile new file mode 100644 index 0000000000..b84fa22646 --- /dev/null +++ b/packaging/templates/package_scripts/changelog.profile @@ -0,0 +1,3 @@ +bor-profile (2.10.11) unstable; urgency=low + +-- Polygon Team Mon, 10 Nov 2022 00:37:31 +0100 \ No newline at end of file diff --git a/packaging/templates/package_scripts/control b/packaging/templates/package_scripts/control new file mode 100644 index 0000000000..ed0ff46c06 --- /dev/null +++ b/packaging/templates/package_scripts/control @@ -0,0 +1,12 @@ +Source: bor +Version: 0.3.0 +Section: develop +Priority: standard +Maintainer: Polygon +Build-Depends: debhelper-compat (= 13) +Package: bor +Rules-Requires-Root: yes +Architecture: amd64 +Multi-Arch: foreign +Depends: +Description: This is the bor package from Polygon Technology. diff --git a/packaging/templates/package_scripts/control.arm64 b/packaging/templates/package_scripts/control.arm64 new file mode 100644 index 0000000000..2c624a4c45 --- /dev/null +++ b/packaging/templates/package_scripts/control.arm64 @@ -0,0 +1,13 @@ +Source: bor +Version: 0.3.0 +Section: develop +Priority: standard +Maintainer: Polygon +Build-Depends: debhelper-compat (= 13) +Rules-Requires-Root: yes +Package: bor +Architecture: arm64 +Multi-Arch: foreign +Depends: +Description: This is the bor package from Polygon Technology. + diff --git a/packaging/templates/package_scripts/control.profile.amd64 b/packaging/templates/package_scripts/control.profile.amd64 new file mode 100644 index 0000000000..087dabb1f6 --- /dev/null +++ b/packaging/templates/package_scripts/control.profile.amd64 @@ -0,0 +1,14 @@ +Source: bor-profile +Version: 0.3.0 +Section: develop +Priority: standard +Maintainer: Polygon +Build-Depends: debhelper-compat (= 13) +Rules-Requires-Root: yes +Package: bor-profile +Architecture: amd64 +Multi-Arch: foreign +Depends: +Description: This is the bor package from Polygon Technology. + + diff --git a/packaging/templates/package_scripts/control.profile.arm64 b/packaging/templates/package_scripts/control.profile.arm64 new file mode 100644 index 0000000000..9de0c50253 --- /dev/null +++ b/packaging/templates/package_scripts/control.profile.arm64 @@ -0,0 +1,12 @@ +Source: bor-profile +Version: 0.3.0 +Section: develop +Priority: standard +Maintainer: Polygon +Build-Depends: debhelper-compat (= 13) +Rules-Requires-Root: yes +Package: bor-profile +Architecture: arm64 +Multi-Arch: foreign +Depends: +Description: This is the bor package from Polygon Technology. diff --git a/packaging/templates/package_scripts/control.validator b/packaging/templates/package_scripts/control.validator new file mode 100644 index 0000000000..f3f5652a31 --- /dev/null +++ b/packaging/templates/package_scripts/control.validator @@ -0,0 +1,12 @@ +Source: bor-profile +Version: 0.3.0 +Section: develop +Priority: standard +Maintainer: Polygon +Build-Depends: debhelper-compat (= 13) +Package: bor-profile +Rules-Requires-Root: yes +Architecture: amd64 +Multi-Arch: foreign +Depends: +Description: This is the bor package from Polygon Technology. diff --git a/packaging/templates/package_scripts/control.validator.arm64 b/packaging/templates/package_scripts/control.validator.arm64 new file mode 100644 index 0000000000..97712830ff --- /dev/null +++ b/packaging/templates/package_scripts/control.validator.arm64 @@ -0,0 +1,13 @@ +Source: bor-profile +Version: 0.3.0 +Section: develop +Priority: standard +Maintainer: Polygon +Build-Depends: debhelper-compat (= 13) +Rules-Requires-Root: yes +Package: bor-profile +Architecture: arm64 +Multi-Arch: foreign +Depends: +Description: This is the bor package from Polygon Technology. + diff --git a/packaging/templates/package_scripts/postinst b/packaging/templates/package_scripts/postinst new file mode 100755 index 0000000000..761ee29f26 --- /dev/null +++ b/packaging/templates/package_scripts/postinst @@ -0,0 +1,7 @@ +#!/bin/bash +# This is a postinstallation script so the service can be configured and started when requested +# +sudo adduser --disabled-password --disabled-login --shell /usr/sbin/nologin --quiet --system --no-create-home --home /nonexistent bor +sudo mkdir -p /var/lib/bor +sudo chown -R bor /var/lib/bor +sudo systemctl daemon-reload diff --git a/packaging/templates/package_scripts/postinst.profile b/packaging/templates/package_scripts/postinst.profile new file mode 100755 index 0000000000..80b8381203 --- /dev/null +++ b/packaging/templates/package_scripts/postinst.profile @@ -0,0 +1,6 @@ +#!/bin/bash +# This is a postinstallation script so the service can be configured and started when requested +# +sudo mkdir -p /var/lib/bor +sudo chown -R bor /var/lib/bor +sudo systemctl daemon-reload diff --git a/packaging/templates/package_scripts/postrm b/packaging/templates/package_scripts/postrm new file mode 100755 index 0000000000..55bbb87a4f --- /dev/null +++ b/packaging/templates/package_scripts/postrm @@ -0,0 +1,8 @@ +#!/bin/bash +# +############### +# Remove bor installs +############## +sudo rm -rf /var/lib/bor/config.toml +sudo rm -rf /lib/systemd/system/bor.service +sudo systemctl daemon-reload diff --git a/packaging/templates/package_scripts/preinst b/packaging/templates/package_scripts/preinst new file mode 100755 index 0000000000..b9efb0091d --- /dev/null +++ b/packaging/templates/package_scripts/preinst @@ -0,0 +1,7 @@ +#!/bin/bash +# +################# +# Stop existing bor in case of upgrade +################ +#sudo systemctl stop bor.service +###################### diff --git a/packaging/templates/package_scripts/prerm b/packaging/templates/package_scripts/prerm new file mode 100755 index 0000000000..b2b2b4fce9 --- /dev/null +++ b/packaging/templates/package_scripts/prerm @@ -0,0 +1,8 @@ +#!/bin/bash +# +# +############## +# Stop bor before removal +############## +#sudo systemctl stop bor.service +############# \ No newline at end of file diff --git a/packaging/templates/systemd/bor.service b/packaging/templates/systemd/bor.service new file mode 100644 index 0000000000..aa63871d83 --- /dev/null +++ b/packaging/templates/systemd/bor.service @@ -0,0 +1,16 @@ +[Unit] + Description=bor + StartLimitIntervalSec=500 + StartLimitBurst=5 + +[Service] + Restart=on-failure + RestartSec=5s + ExecStart=/usr/bin/bor server -config="/var/lib/bor/config.toml" + Type=simple + KillSignal=SIGINT + User=bor + TimeoutStopSec=120 + +[Install] + WantedBy=multi-user.target diff --git a/packaging/templates/systemd/bord.service b/packaging/templates/systemd/bord.service new file mode 100644 index 0000000000..a2f3c0498a --- /dev/null +++ b/packaging/templates/systemd/bord.service @@ -0,0 +1,36 @@ +[Unit] + Description=bor + StartLimitIntervalSec=500 + StartLimitBurst=5 + +[Service] + Restart=on-failure + RestartSec=5s + ExecStart=/usr/bin/bor server \ + -chain=mumbai \ + -port=30303 \ + -datadir /var/lib/bor/data \ + -http \ + -http.addr '0.0.0.0' \ + -http.port 8545 \ + -http.api='eth,net,web3,txpool,bor' \ + -ethstats matic-sentry-01:testnet@bor-mumbai.vitwit.com:3000 \ + -maxpeers 200 \ + -txpool.nolocals \ + -txpool.accountslots '128' \ + -txpool.lifetime '0h16m0s' \ + -txpool.globalslots '20000' \ + -http.vhosts '*' \ + -http.corsdomain '*' \ + -ipcpath /var/lib/bor/data/bor.ipc \ + -miner.gaslimit '20000000' \ + -metrics \ + -metrics.expensive \ + -metrics.prometheus-addr="127.0.0.1:7071" \ + -metrics.opencollector-endpoint "0.0.0.0:4317" + Type=simple + KillSignal=SIGINT + TimeoutStopSec=120 + +[Install] + WantedBy=multi-user.target diff --git a/packaging/templates/testnet-v4/archive/config.toml b/packaging/templates/testnet-v4/archive/config.toml new file mode 100644 index 0000000000..0438ffe3ae --- /dev/null +++ b/packaging/templates/testnet-v4/archive/config.toml @@ -0,0 +1,129 @@ +chain = "mumbai" +# identity = "node_name" +# log-level = "INFO" +datadir = "/var/lib/bor/data" +# keystore = "" +syncmode = "full" +# gcmode = "full" +# snapshot = true +# ethstats = "" + +# ["eth.requiredblocks"] + +[p2p] + maxpeers = 50 + port = 30303 + # maxpendpeers = 50 + # bind = "0.0.0.0" + # nodiscover = false + # nat = "any" + # [p2p.discovery] + # v5disc = false + # bootnodes = [] + # bootnodesv4 = [] + # bootnodesv5 = [] + # static-nodes = [] + # trusted-nodes = [] + # dns = [] + +# [heimdall] + # url = "http://localhost:1317" + # "bor.without" = false + # grpc-address = "" + +[txpool] + nolocals = true + accountslots = 16 + globalslots = 131072 + accountqueue = 64 + globalqueue = 131072 + lifetime = "1h30m0s" + # locals = [] + # journal = "" + # rejournal = "1h0m0s" + # pricelimit = 30000000000 + # pricebump = 10 + +[miner] + gaslimit = 20000000 + # gasprice = "30000000000" + # mine = false + # etherbase = "" + # extradata = "" + +[jsonrpc] + ipcpath = "/var/lib/bor/bor.ipc" + # ipcdisable = false + # gascap = 50000000 + # txfeecap = 5.0 + [jsonrpc.http] + enabled = true + port = 8545 + host = "0.0.0.0" + api = ["eth", "net", "web3", "txpool", "bor"] + vhosts = ["*"] + corsdomain = ["*"] + # prefix = "" + [jsonrpc.ws] + enabled = true + port = 8546 + # prefix = "" + # host = "localhost" + # api = ["web3", "net"] + origins = ["*"] + # [jsonrpc.graphql] + # enabled = false + # port = 0 + # prefix = "" + # host = "" + # vhosts = ["*"] + # corsdomain = ["*"] + +# [gpo] + # blocks = 20 + # percentile = 60 + # maxprice = "5000000000000" + # ignoreprice = "2" + +[telemetry] + metrics = true + # expensive = false + # prometheus-addr = "" + # opencollector-endpoint = "" + # [telemetry.influx] + # influxdb = false + # endpoint = "" + # database = "" + # username = "" + # password = "" + # influxdbv2 = false + # token = "" + # bucket = "" + # organization = "" + # [telemetry.influx.tags] + +# [cache] + # cache = 1024 + # gc = 25 + # snapshot = 10 + # database = 50 + # trie = 15 + # journal = "triecache" + # rejournal = "1h0m0s" + # noprefetch = false + # preimages = false + # txlookuplimit = 2350000 + +# [accounts] + # unlock = [] + # password = "" + # allow-insecure-unlock = false + # lightkdf = false + # disable-bor-wallet = false + +# [grpc] + # addr = ":3131" + +# [developer] + # dev = false + # period = 0 diff --git a/packaging/templates/testnet-v4/sentry/sentry/bor/config.toml b/packaging/templates/testnet-v4/sentry/sentry/bor/config.toml new file mode 100644 index 0000000000..155a33373b --- /dev/null +++ b/packaging/templates/testnet-v4/sentry/sentry/bor/config.toml @@ -0,0 +1,129 @@ +chain = "mumbai" +# identity = "node_name" +# log-level = "INFO" +datadir = "/var/lib/bor/data" +# keystore = "" +syncmode = "full" +# gcmode = "full" +# snapshot = true +# ethstats = "" + +# ["eth.requiredblocks"] + +[p2p] + maxpeers = 50 + port = 30303 + # maxpendpeers = 50 + # bind = "0.0.0.0" + # nodiscover = false + # nat = "any" + # [p2p.discovery] + # v5disc = false + # bootnodes = [] + # bootnodesv4 = [] + # bootnodesv5 = [] + # static-nodes = [] + # trusted-nodes = [] + # dns = [] + +# [heimdall] + # url = "http://localhost:1317" + # "bor.without" = false + # grpc-address = "" + +[txpool] + nolocals = true + accountslots = 16 + globalslots = 131072 + accountqueue = 64 + globalqueue = 131072 + lifetime = "1h30m0s" + # locals = [] + # journal = "" + # rejournal = "1h0m0s" + # pricelimit = 30000000000 + # pricebump = 10 + +[miner] + gaslimit = 20000000 + # gasprice = "30000000000" + # mine = false + # etherbase = "" + # extradata = "" + +[jsonrpc] + ipcpath = "/var/lib/bor/bor.ipc" + # ipcdisable = false + # gascap = 50000000 + # txfeecap = 5.0 + [jsonrpc.http] + enabled = true + port = 8545 + host = "0.0.0.0" + api = ["eth", "net", "web3", "txpool", "bor"] + vhosts = ["*"] + corsdomain = ["*"] + # prefix = "" + # [jsonrpc.ws] + # enabled = false + # port = 8546 + # prefix = "" + # host = "localhost" + # api = ["web3", "net"] + # origins = ["*"] + # [jsonrpc.graphql] + # enabled = false + # port = 0 + # prefix = "" + # host = "" + # vhosts = ["*"] + # corsdomain = ["*"] + +# [gpo] + # blocks = 20 + # percentile = 60 + # maxprice = "5000000000000" + # ignoreprice = "2" + +[telemetry] + metrics = true + # expensive = false + # prometheus-addr = "" + # opencollector-endpoint = "" + # [telemetry.influx] + # influxdb = false + # endpoint = "" + # database = "" + # username = "" + # password = "" + # influxdbv2 = false + # token = "" + # bucket = "" + # organization = "" + # [telemetry.influx.tags] + +# [cache] + # cache = 1024 + # gc = 25 + # snapshot = 10 + # database = 50 + # trie = 15 + # journal = "triecache" + # rejournal = "1h0m0s" + # noprefetch = false + # preimages = false + # txlookuplimit = 2350000 + +# [accounts] + # unlock = [] + # password = "" + # allow-insecure-unlock = false + # lightkdf = false + # disable-bor-wallet = false + +# [grpc] + # addr = ":3131" + +# [developer] + # dev = false + # period = 0 diff --git a/packaging/templates/testnet-v4/sentry/validator/bor/config.toml b/packaging/templates/testnet-v4/sentry/validator/bor/config.toml new file mode 100644 index 0000000000..19b9a4452c --- /dev/null +++ b/packaging/templates/testnet-v4/sentry/validator/bor/config.toml @@ -0,0 +1,131 @@ +# NOTE: Update and uncomment: `keystore`, `password`, and `unlock` fields. + +chain = "mumbai" +# identity = "node_name" +# log-level = "INFO" +datadir = "/var/lib/bor/data" +# keystore = "$BOR_DIR/keystore" +syncmode = "full" +# gcmode = "full" +# snapshot = true +# ethstats = "" + +# ["eth.requiredblocks"] + +[p2p] + maxpeers = 1 + port = 30303 + nodiscover = true + # maxpendpeers = 50 + # bind = "0.0.0.0" + # nat = "any" + # [p2p.discovery] + # v5disc = false + # bootnodes = [] + # bootnodesv4 = [] + # bootnodesv5 = [] + # static-nodes = [] + # trusted-nodes = [] + # dns = [] + +# [heimdall] + # url = "http://localhost:1317" + # "bor.without" = false + # grpc-address = "" + +[txpool] + nolocals = true + accountslots = 16 + globalslots = 131072 + accountqueue = 64 + globalqueue = 131072 + lifetime = "1h30m0s" + # locals = [] + # journal = "" + # rejournal = "1h0m0s" + # pricelimit = 30000000000 + # pricebump = 10 + +[miner] + mine = true + gaslimit = 20000000 + # gasprice = "30000000000" + # etherbase = "" + # extradata = "" + +[jsonrpc] + ipcpath = "/var/lib/bor/bor.ipc" + # ipcdisable = false + # gascap = 50000000 + # txfeecap = 5.0 + [jsonrpc.http] + enabled = true + port = 8545 + host = "0.0.0.0" + api = ["eth", "net", "web3", "txpool", "bor"] + vhosts = ["*"] + corsdomain = ["*"] + # prefix = "" + # [jsonrpc.ws] + # enabled = false + # port = 8546 + # prefix = "" + # host = "localhost" + # api = ["web3", "net"] + # origins = ["*"] + # [jsonrpc.graphql] + # enabled = false + # port = 0 + # prefix = "" + # host = "" + # vhosts = ["*"] + # corsdomain = ["*"] + +# [gpo] + # blocks = 20 + # percentile = 60 + # maxprice = "5000000000000" + # ignoreprice = "2" + +[telemetry] + metrics = true + # expensive = false + # prometheus-addr = "" + # opencollector-endpoint = "" + # [telemetry.influx] + # influxdb = false + # endpoint = "" + # database = "" + # username = "" + # password = "" + # influxdbv2 = false + # token = "" + # bucket = "" + # organization = "" + # [telemetry.influx.tags] + +# [cache] + # cache = 1024 + # gc = 25 + # snapshot = 10 + # database = 50 + # trie = 15 + # journal = "triecache" + # rejournal = "1h0m0s" + # noprefetch = false + # preimages = false + # txlookuplimit = 2350000 + +[accounts] + allow-insecure-unlock = true + # password = "$BOR_DIR/password.txt" + # unlock = ["$ADDRESS"] + # lightkdf = false + # disable-bor-wallet = false + +# [grpc] + # addr = ":3131" + +# [developer] + # dev = false + # period = 0 diff --git a/packaging/templates/testnet-v4/without-sentry/bor/config.toml b/packaging/templates/testnet-v4/without-sentry/bor/config.toml new file mode 100644 index 0000000000..c4de3e87c4 --- /dev/null +++ b/packaging/templates/testnet-v4/without-sentry/bor/config.toml @@ -0,0 +1,131 @@ +# NOTE: Update and uncomment: `keystore`, `password`, and `unlock` fields. + +chain = "mumbai" +# identity = "node_name" +# log-level = "INFO" +datadir = "/var/lib/bor/data" +# keystore = "$BOR_DIR/keystore" +syncmode = "full" +# gcmode = "full" +# snapshot = true +# ethstats = "" + +# ["eth.requiredblocks"] + +[p2p] + maxpeers = 50 + port = 30303 + # maxpendpeers = 50 + # bind = "0.0.0.0" + # nodiscover = false + # nat = "any" + # [p2p.discovery] + # v5disc = false + # bootnodes = [] + # bootnodesv4 = [] + # bootnodesv5 = [] + # static-nodes = [] + # trusted-nodes = [] + # dns = [] + +# [heimdall] + # url = "http://localhost:1317" + # "bor.without" = false + # grpc-address = "" + +[txpool] + nolocals = true + accountslots = 16 + globalslots = 131072 + accountqueue = 64 + globalqueue = 131072 + lifetime = "1h30m0s" + # locals = [] + # journal = "" + # rejournal = "1h0m0s" + # pricelimit = 30000000000 + # pricebump = 10 + +[miner] + mine = true + gaslimit = 20000000 + # gasprice = "30000000000" + # etherbase = "" + # extradata = "" + +[jsonrpc] + ipcpath = "/var/lib/bor/bor.ipc" + # ipcdisable = false + # gascap = 50000000 + # txfeecap = 5.0 + [jsonrpc.http] + enabled = true + port = 8545 + host = "0.0.0.0" + api = ["eth", "net", "web3", "txpool", "bor"] + vhosts = ["*"] + corsdomain = ["*"] + # prefix = "" + # [jsonrpc.ws] + # enabled = false + # port = 8546 + # prefix = "" + # host = "localhost" + # api = ["web3", "net"] + # origins = ["*"] + # [jsonrpc.graphql] + # enabled = false + # port = 0 + # prefix = "" + # host = "" + # vhosts = ["*"] + # corsdomain = ["*"] + +# [gpo] +# blocks = 20 +# percentile = 60 +# maxprice = "5000000000000" +# ignoreprice = "2" + +[telemetry] + metrics = true + # expensive = false + # prometheus-addr = "" + # opencollector-endpoint = "" + # [telemetry.influx] + # influxdb = false + # endpoint = "" + # database = "" + # username = "" + # password = "" + # influxdbv2 = false + # token = "" + # bucket = "" + # organization = "" + # [telemetry.influx.tags] + +# [cache] +# cache = 1024 +# gc = 25 +# snapshot = 10 +# database = 50 +# trie = 15 +# journal = "triecache" +# rejournal = "1h0m0s" +# noprefetch = false +# preimages = false +# txlookuplimit = 2350000 + +[accounts] + allow-insecure-unlock = true + # password = "$BOR_DIR/password.txt" + # unlock = ["$ADDRESS"] + # lightkdf = false + # disable-bor-wallet = false + +# [grpc] + # addr = ":3131" + +# [developer] + # dev = false + # period = 0 From 5e92a7fe257e4ba950d3f73d99855196f5890c5b Mon Sep 17 00:00:00 2001 From: Daniel Jones Date: Wed, 23 Nov 2022 07:54:15 -0600 Subject: [PATCH 02/11] Added changes per discussion in PR, more changes may be necessary --- .github/workflows/packager.yml | 15 ++++------ packaging/templates/systemd/bord.service | 36 ------------------------ 2 files changed, 5 insertions(+), 46 deletions(-) delete mode 100644 packaging/templates/systemd/bord.service diff --git a/.github/workflows/packager.yml b/.github/workflows/packager.yml index 4b6c52f601..016912301c 100644 --- a/.github/workflows/packager.yml +++ b/.github/workflows/packager.yml @@ -2,10 +2,6 @@ name: packager on: push: - branches: - - 'main' - paths: - - '**' tags: - 'v*.*.*' - 'v*.*.*-*' @@ -22,9 +18,8 @@ jobs: uses: actions/setup-go@master with: go-version: 1.19 - - name: Generate release tag - id: tag - run: echo "::set-output name=release_tag::bor_$(date +"%Y.%m.%d_%H-%M")" + - name: Adding TAG to ENV + run: echo "GIT_TAG=`echo $(git describe --tags --abbrev=0)`" >> $GITHUB_ENV - name: Cleaning repo run: make clean @@ -309,10 +304,10 @@ jobs: - name: Confirming package built run: ls -ltr packaging/deb/ | grep bor - - name: Release bor Packages + - name: Pre-Release bor Packages uses: softprops/action-gh-release@v1 with: - tag_name: ${{ steps.tag.outputs.release_tag }} + tag_name: ${{ env.GIT_TAG }} files: | packaging/deb/bor**.deb - binary/bo** \ No newline at end of file + binary/bo** diff --git a/packaging/templates/systemd/bord.service b/packaging/templates/systemd/bord.service deleted file mode 100644 index a2f3c0498a..0000000000 --- a/packaging/templates/systemd/bord.service +++ /dev/null @@ -1,36 +0,0 @@ -[Unit] - Description=bor - StartLimitIntervalSec=500 - StartLimitBurst=5 - -[Service] - Restart=on-failure - RestartSec=5s - ExecStart=/usr/bin/bor server \ - -chain=mumbai \ - -port=30303 \ - -datadir /var/lib/bor/data \ - -http \ - -http.addr '0.0.0.0' \ - -http.port 8545 \ - -http.api='eth,net,web3,txpool,bor' \ - -ethstats matic-sentry-01:testnet@bor-mumbai.vitwit.com:3000 \ - -maxpeers 200 \ - -txpool.nolocals \ - -txpool.accountslots '128' \ - -txpool.lifetime '0h16m0s' \ - -txpool.globalslots '20000' \ - -http.vhosts '*' \ - -http.corsdomain '*' \ - -ipcpath /var/lib/bor/data/bor.ipc \ - -miner.gaslimit '20000000' \ - -metrics \ - -metrics.expensive \ - -metrics.prometheus-addr="127.0.0.1:7071" \ - -metrics.opencollector-endpoint "0.0.0.0:4317" - Type=simple - KillSignal=SIGINT - TimeoutStopSec=120 - -[Install] - WantedBy=multi-user.target From 1f0e49b0d8f85d37643be06a7698977abb2ec397 Mon Sep 17 00:00:00 2001 From: Daniel Jones Date: Wed, 23 Nov 2022 09:07:41 -0600 Subject: [PATCH 03/11] Adding prerelease true --- .github/workflows/packager.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/packager.yml b/.github/workflows/packager.yml index 016912301c..998008ede8 100644 --- a/.github/workflows/packager.yml +++ b/.github/workflows/packager.yml @@ -308,6 +308,7 @@ jobs: uses: softprops/action-gh-release@v1 with: tag_name: ${{ env.GIT_TAG }} + prerelease: true files: | packaging/deb/bor**.deb binary/bo** From ba56c98769eecfcbd0ecda736cde29d717daf1c4 Mon Sep 17 00:00:00 2001 From: Daniel Jones Date: Wed, 23 Nov 2022 09:10:41 -0600 Subject: [PATCH 04/11] Disabling goreleaser --- .goreleaser.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.goreleaser.yml b/.goreleaser.yml index 331d8de6b5..229d76a3f6 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -1,7 +1,7 @@ project_name: bor release: - disable: false + disable: true draft: true prerelease: auto From c1e84fd6945eb502ca336d00c35edd7bc2238386 Mon Sep 17 00:00:00 2001 From: Daniel Jones Date: Wed, 23 Nov 2022 09:12:42 -0600 Subject: [PATCH 05/11] Removing README swap file --- packaging/deb/.README.md.swp | Bin 12288 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 packaging/deb/.README.md.swp diff --git a/packaging/deb/.README.md.swp b/packaging/deb/.README.md.swp deleted file mode 100644 index 765002d189fd7864fe06952777e7df26258b51ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12288 zcmeI2KW`H;6u@2f0)m0{K}VEa2n%$9Rtcy>8iWc9F!=7AI}^w6Wczw#fgQdA3x7tw z4HE2#k5FI(o-bFa1u=ChdRBh1&VGLP?x!r#y>#$!X973+LqX%b5FZb&W;ee~#o(0? zxwKlDr)ZUryZ;=cHqQ4ZGTTO+_wG6D4f_T&X^x$Fek5UXSBJ7rlN4Q2$!snQZHpvV zX>xzOHJXh3i~QJGzF-4v;G_oD#r5H}LCmso<~18jf|umLu}22P;?Nw3+z zt_$(_EEP}h{}2EF|2QYacj6myK)fg35pRh%#B1Uu(GV$do47>?;uq!mNqijP?PVQqq@#M%p0urlaX5IJLliX_BgTg#xsP3s8G%A&0!07eee} zP!LM(fj&NHV?aWKZca5o<*;zd`%O~47h{^ZpVD2NtSXg5Ub~nolnT;Xn;cdh>MEYh z=-_IVLPUHHqtnDMeNcZd79dtmQ@mf;pZL2&9T4KE_+bSxUbjh41DtLy*U=zzXl7fQ&>uF-j4H&fv F#cwS6$qoPj From 08ec50a846d5ea47ac19ea08c30f9bc20d5a14a0 Mon Sep 17 00:00:00 2001 From: Will Button Date: Wed, 23 Nov 2022 09:43:34 -0700 Subject: [PATCH 06/11] change bor_dir and add bor user for v0.3.0 release --- Dockerfile | 9 ++++++--- Dockerfile.alltools | 2 +- Dockerfile.release | 18 ++++++++++++++---- 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/Dockerfile b/Dockerfile index 7a2770ce9a..0e7a91e96c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,17 +1,20 @@ FROM golang:latest -ARG BOR_DIR=/bor +ARG BOR_DIR=/var/lib/bor ENV BOR_DIR=$BOR_DIR RUN apt-get update -y && apt-get upgrade -y \ && apt install build-essential git -y \ - && mkdir -p /bor + && mkdir -p ${BOR_DIR} WORKDIR ${BOR_DIR} COPY . . RUN make bor -RUN cp build/bin/bor /usr/local/bin/ +RUN cp build/bin/bor /usr/bin/ +RUN groupadd -g 10137 bor \ + && useradd -u 10137 --no-log-init --create-home -r -g bor bor \ + && chown -R bor:bor ${BOR_DIR} ENV SHELL /bin/bash EXPOSE 8545 8546 8547 30303 30303/udp diff --git a/Dockerfile.alltools b/Dockerfile.alltools index a3f36d4a04..1c4437e251 100644 --- a/Dockerfile.alltools +++ b/Dockerfile.alltools @@ -13,6 +13,6 @@ RUN set -x \ && apk add --update --no-cache \ ca-certificates \ && rm -rf /var/cache/apk/* -COPY --from=builder /bor/build/bin/* /usr/local/bin/ +COPY --from=builder /bor/build/bin/* /usr/bin/ EXPOSE 8545 8546 30303 30303/udp diff --git a/Dockerfile.release b/Dockerfile.release index 66dd589e82..cd90450bc3 100644 --- a/Dockerfile.release +++ b/Dockerfile.release @@ -1,10 +1,20 @@ FROM alpine:3.14 +ARG BOR_DIR=/var/lib/bor +ENV BOR_DIR=$BOR_DIR + RUN apk add --no-cache ca-certificates && \ - mkdir -p /etc/bor -COPY bor /usr/local/bin/ -COPY builder/files/genesis-mainnet-v1.json /etc/bor/ -COPY builder/files/genesis-testnet-v4.json /etc/bor/ + mkdir -p ${BOR_DIR} + +WORKDIR ${BOR_DIR} +COPY bor /usr/bin/ +COPY builder/files/genesis-mainnet-v1.json ${BOR_DIR} +COPY builder/files/genesis-testnet-v4.json ${BOR_DIR} +RUN groupadd -g 10137 bor \ + && useradd -u 10137 --no-log-init --create-home -r -g bor bor \ + && chown -R bor:bor ${BOR_DIR} + +USER bor EXPOSE 8545 8546 8547 30303 30303/udp ENTRYPOINT ["bor"] From 5fe83d35cff09d5df40dbd4d4d0a3755e6f49cb7 Mon Sep 17 00:00:00 2001 From: Will Button Date: Wed, 23 Nov 2022 14:16:36 -0700 Subject: [PATCH 07/11] rollback bor user and use root --- Dockerfile | 3 --- Dockerfile.release | 5 ----- 2 files changed, 8 deletions(-) diff --git a/Dockerfile b/Dockerfile index 0e7a91e96c..6c65faf12d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,9 +12,6 @@ COPY . . RUN make bor RUN cp build/bin/bor /usr/bin/ -RUN groupadd -g 10137 bor \ - && useradd -u 10137 --no-log-init --create-home -r -g bor bor \ - && chown -R bor:bor ${BOR_DIR} ENV SHELL /bin/bash EXPOSE 8545 8546 8547 30303 30303/udp diff --git a/Dockerfile.release b/Dockerfile.release index cd90450bc3..2a026566d7 100644 --- a/Dockerfile.release +++ b/Dockerfile.release @@ -10,11 +10,6 @@ WORKDIR ${BOR_DIR} COPY bor /usr/bin/ COPY builder/files/genesis-mainnet-v1.json ${BOR_DIR} COPY builder/files/genesis-testnet-v4.json ${BOR_DIR} -RUN groupadd -g 10137 bor \ - && useradd -u 10137 --no-log-init --create-home -r -g bor bor \ - && chown -R bor:bor ${BOR_DIR} - -USER bor EXPOSE 8545 8546 8547 30303 30303/udp ENTRYPOINT ["bor"] From 137fb19d2ad478a87475d792f3358b76b54f6228 Mon Sep 17 00:00:00 2001 From: Manav Darji Date: Thu, 24 Nov 2022 19:42:32 +0530 Subject: [PATCH 08/11] metrics: handle equal to separated config flag (#596) * metrics: handle based config path * internal/cli/server: add more context to logs * use space separated flag and value in bor.service --- builder/files/bor.service | 2 +- internal/cli/server/server.go | 8 +++++++- metrics/metrics.go | 3 +++ packaging/templates/systemd/bor.service | 2 +- 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/builder/files/bor.service b/builder/files/bor.service index 2deff3dbc9..758553299e 100644 --- a/builder/files/bor.service +++ b/builder/files/bor.service @@ -6,7 +6,7 @@ [Service] Restart=on-failure RestartSec=5s - ExecStart=/usr/local/bin/bor server -config="/var/lib/bor/config.toml" + ExecStart=/usr/local/bin/bor server -config "/var/lib/bor/config.toml" Type=simple User=bor KillSignal=SIGINT diff --git a/internal/cli/server/server.go b/internal/cli/server/server.go index 1346fe613a..70187d6985 100644 --- a/internal/cli/server/server.go +++ b/internal/cli/server/server.go @@ -235,7 +235,13 @@ func (s *Server) Stop() { func (s *Server) setupMetrics(config *TelemetryConfig, serviceName string) error { // Check the global metrics if they're matching with the provided config if metrics.Enabled != config.Enabled || metrics.EnabledExpensive != config.Expensive { - log.Warn("Metric misconfiguration, some of them might not be visible") + log.Warn( + "Metric misconfiguration, some of them might not be visible", + "metrics", metrics.Enabled, + "config.metrics", config.Enabled, + "expensive", metrics.EnabledExpensive, + "config.expensive", config.Expensive, + ) } // Update the values anyways (for services which don't need immediate attention) diff --git a/metrics/metrics.go b/metrics/metrics.go index 1d0133e850..1c0cf11ab4 100644 --- a/metrics/metrics.go +++ b/metrics/metrics.go @@ -49,6 +49,9 @@ func init() { // check for existence of `config` flag if flag == configFlag && i < len(os.Args)-1 { configFile = strings.TrimLeft(os.Args[i+1], "-") // find the value of flag + } else if len(flag) > 6 && flag[:6] == configFlag { + // Checks for `=` separated flag (e.g. config=path) + configFile = strings.TrimLeft(flag[6:], "=") } for _, enabler := range enablerFlags { diff --git a/packaging/templates/systemd/bor.service b/packaging/templates/systemd/bor.service index aa63871d83..b92bdd3cc5 100644 --- a/packaging/templates/systemd/bor.service +++ b/packaging/templates/systemd/bor.service @@ -6,7 +6,7 @@ [Service] Restart=on-failure RestartSec=5s - ExecStart=/usr/bin/bor server -config="/var/lib/bor/config.toml" + ExecStart=/usr/bin/bor server -config "/var/lib/bor/config.toml" Type=simple KillSignal=SIGINT User=bor From d69cb20ba93054ffc28038888017dae9412e0985 Mon Sep 17 00:00:00 2001 From: Pratik Patil Date: Fri, 25 Nov 2022 17:44:05 +0530 Subject: [PATCH 09/11] fixed static-nodes related buf (os independent) (#598) * fixed static-nodes related buf (os independent) * taking static-nodes as input if default not present --- scripts/getconfig.go | 2 +- scripts/getconfig.sh | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/scripts/getconfig.go b/scripts/getconfig.go index caf3f45a8e..7fbd39ac6d 100644 --- a/scripts/getconfig.go +++ b/scripts/getconfig.go @@ -375,7 +375,7 @@ func getStaticTrustedNodes(args []string) { fmt.Println("only TOML config file is supported through CLI") } } else { - path := "~/.bor/data/bor/static-nodes.json" + path := "./static-nodes.json" if !checkFileExists(path) { return } diff --git a/scripts/getconfig.sh b/scripts/getconfig.sh index a2971c4f12..472af08802 100755 --- a/scripts/getconfig.sh +++ b/scripts/getconfig.sh @@ -24,6 +24,14 @@ then fi read -p "* Your validator address (e.g. 0xca67a8D767e45056DC92384b488E9Af654d78DE2), or press Enter to skip if running a sentry node: " ADD +if [[ -f $HOME/.bor/data/bor/static-nodes.json ]] +then +cp $HOME/.bor/data/bor/static-nodes.json ./static-nodes.json +else +read -p "* You dont have '~/.bor/data/bor/static-nodes.json' file. If you want to use static nodes, enter the path to 'static-nodes.json' here (press Enter to skip): " STAT +if [[ -f $STAT ]]; then cp $STAT ./static-nodes.json; fi +fi + printf "\nThank you, your inputs are:\n" echo "Path to start.sh: "$startPath echo "Address: "$ADD @@ -113,4 +121,9 @@ chmod +x $tmpDir/3305fe263dd4a999d58f96deb064e21bb70123d9.sh $tmpDir/3305fe263dd4a999d58f96deb064e21bb70123d9.sh $ADD rm $tmpDir/3305fe263dd4a999d58f96deb064e21bb70123d9.sh +if [[ -f $HOME/.bor/data/bor/static-nodes.json ]] +then +rm ./static-nodes.json +fi + exit 0 From 095ce5e1dae6591625b1bd50e9f7c032f6bd8f70 Mon Sep 17 00:00:00 2001 From: Manav Darji Date: Fri, 25 Nov 2022 21:56:31 +0530 Subject: [PATCH 10/11] Update default flags (#600) * internal/cli/server: use geth's default for txpool.pricelimit and add comments * builder/files: update config.toml for mainnet * packaging/templates: update defaults for mainnet and mumbai * internal/cli/server: skip overriding cache * packaging/templates: update cache value for mainnet * packaging/templates: update gcmode for archive mumbai node --- builder/files/config.toml | 6 +++--- internal/cli/server/config.go | 15 ++++----------- .../templates/mainnet-v1/archive/config.toml | 10 +++++----- .../mainnet-v1/sentry/sentry/bor/config.toml | 10 +++++----- .../mainnet-v1/sentry/validator/bor/config.toml | 10 +++++----- .../mainnet-v1/without-sentry/bor/config.toml | 10 +++++----- .../templates/testnet-v4/archive/config.toml | 8 ++++---- .../testnet-v4/sentry/sentry/bor/config.toml | 6 +++--- .../testnet-v4/sentry/validator/bor/config.toml | 6 +++--- .../testnet-v4/without-sentry/bor/config.toml | 6 +++--- 10 files changed, 40 insertions(+), 47 deletions(-) diff --git a/builder/files/config.toml b/builder/files/config.toml index 8f70f62a13..f79b892e7f 100644 --- a/builder/files/config.toml +++ b/builder/files/config.toml @@ -52,7 +52,7 @@ syncmode = "full" # pricebump = 10 [miner] - gaslimit = 20000000 + gaslimit = 30000000 gasprice = "30000000000" # mine = true # etherbase = "VALIDATOR ADDRESS" @@ -87,11 +87,11 @@ syncmode = "full" # vhosts = ["*"] # corsdomain = ["*"] -# [gpo] +[gpo] # blocks = 20 # percentile = 60 # maxprice = "5000000000000" - # ignoreprice = "2" + ignoreprice = "30000000000" [telemetry] metrics = true diff --git a/internal/cli/server/config.go b/internal/cli/server/config.go index 7070afca24..2e0a8f21f5 100644 --- a/internal/cli/server/config.go +++ b/internal/cli/server/config.go @@ -428,7 +428,7 @@ func DefaultConfig() *Config { NoLocals: false, Journal: "transactions.rlp", Rejournal: 1 * time.Hour, - PriceLimit: 30000000000, + PriceLimit: 1, // geth's default PriceBump: 10, AccountSlots: 16, GlobalSlots: 32768, @@ -439,8 +439,8 @@ func DefaultConfig() *Config { Sealer: &SealerConfig{ Enabled: false, Etherbase: "", - GasCeil: 30_000_000, - GasPrice: big.NewInt(1 * params.GWei), + GasCeil: 30_000_000, // geth's default + GasPrice: big.NewInt(1 * params.GWei), // geth's default ExtraData: "", }, Gpo: &GpoConfig{ @@ -497,7 +497,7 @@ func DefaultConfig() *Config { }, }, Cache: &CacheConfig{ - Cache: 1024, + Cache: 1024, // geth's default (suitable for mumbai) PercDatabase: 50, PercTrie: 15, PercGc: 25, @@ -626,13 +626,6 @@ func (c *Config) loadChain() error { c.P2P.Discovery.DNS = c.chain.DNS } - // depending on the chain we have different cache values - if c.Chain == "mainnet" { - c.Cache.Cache = 4096 - } else { - c.Cache.Cache = 1024 - } - return nil } diff --git a/packaging/templates/mainnet-v1/archive/config.toml b/packaging/templates/mainnet-v1/archive/config.toml index a44a2ed0b5..8989a1b7b5 100644 --- a/packaging/templates/mainnet-v1/archive/config.toml +++ b/packaging/templates/mainnet-v1/archive/config.toml @@ -45,7 +45,7 @@ gcmode = "archive" # pricebump = 10 [miner] - gaslimit = 20000000 + gaslimit = 30000000 gasprice = "30000000000" # mine = false # etherbase = "" @@ -79,11 +79,11 @@ gcmode = "archive" # vhosts = ["*"] # corsdomain = ["*"] -# [gpo] +[gpo] # blocks = 20 # percentile = 60 # maxprice = "5000000000000" - # ignoreprice = "2" + ignoreprice = "30000000000" [telemetry] metrics = true @@ -102,8 +102,8 @@ gcmode = "archive" # organization = "" # [telemetry.influx.tags] -# [cache] - # cache = 1024 +[cache] + cache = 4096 # gc = 25 # snapshot = 10 # database = 50 diff --git a/packaging/templates/mainnet-v1/sentry/sentry/bor/config.toml b/packaging/templates/mainnet-v1/sentry/sentry/bor/config.toml index 5bb226b913..d91e12b31e 100644 --- a/packaging/templates/mainnet-v1/sentry/sentry/bor/config.toml +++ b/packaging/templates/mainnet-v1/sentry/sentry/bor/config.toml @@ -45,7 +45,7 @@ syncmode = "full" # pricebump = 10 [miner] - gaslimit = 20000000 + gaslimit = 30000000 gasprice = "30000000000" # mine = false # etherbase = "" @@ -79,11 +79,11 @@ syncmode = "full" # vhosts = ["*"] # corsdomain = ["*"] -# [gpo] +[gpo] # blocks = 20 # percentile = 60 # maxprice = "5000000000000" - # ignoreprice = "2" + ignoreprice = "30000000000" [telemetry] metrics = true @@ -102,8 +102,8 @@ syncmode = "full" # organization = "" # [telemetry.influx.tags] -# [cache] - # cache = 1024 +[cache] + cache = 4096 # gc = 25 # snapshot = 10 # database = 50 diff --git a/packaging/templates/mainnet-v1/sentry/validator/bor/config.toml b/packaging/templates/mainnet-v1/sentry/validator/bor/config.toml index 5a7688f9e8..c9f583aae3 100644 --- a/packaging/templates/mainnet-v1/sentry/validator/bor/config.toml +++ b/packaging/templates/mainnet-v1/sentry/validator/bor/config.toml @@ -48,7 +48,7 @@ syncmode = "full" [miner] mine = true - gaslimit = 20000000 + gaslimit = 30000000 gasprice = "30000000000" # etherbase = "" # extradata = "" @@ -81,11 +81,11 @@ syncmode = "full" # vhosts = ["*"] # corsdomain = ["*"] -# [gpo] +[gpo] # blocks = 20 # percentile = 60 # maxprice = "5000000000000" - # ignoreprice = "2" + ignoreprice = "30000000000" [telemetry] metrics = true @@ -104,8 +104,8 @@ syncmode = "full" # organization = "" # [telemetry.influx.tags] -# [cache] - # cache = 1024 +[cache] + cache = 4096 # gc = 25 # snapshot = 10 # database = 50 diff --git a/packaging/templates/mainnet-v1/without-sentry/bor/config.toml b/packaging/templates/mainnet-v1/without-sentry/bor/config.toml index 74094bfa80..5c4a057b91 100644 --- a/packaging/templates/mainnet-v1/without-sentry/bor/config.toml +++ b/packaging/templates/mainnet-v1/without-sentry/bor/config.toml @@ -48,7 +48,7 @@ syncmode = "full" [miner] mine = true - gaslimit = 20000000 + gaslimit = 30000000 gasprice = "30000000000" # etherbase = "" # extradata = "" @@ -81,11 +81,11 @@ syncmode = "full" # vhosts = ["*"] # corsdomain = ["*"] -# [gpo] +[gpo] # blocks = 20 # percentile = 60 # maxprice = "5000000000000" -# ignoreprice = "2" + ignoreprice = "30000000000" [telemetry] metrics = true @@ -104,8 +104,8 @@ syncmode = "full" # organization = "" # [telemetry.influx.tags] -# [cache] -# cache = 1024 +[cache] + cache = 4096 # gc = 25 # snapshot = 10 # database = 50 diff --git a/packaging/templates/testnet-v4/archive/config.toml b/packaging/templates/testnet-v4/archive/config.toml index 0438ffe3ae..5b7cbdd78e 100644 --- a/packaging/templates/testnet-v4/archive/config.toml +++ b/packaging/templates/testnet-v4/archive/config.toml @@ -4,7 +4,7 @@ chain = "mumbai" datadir = "/var/lib/bor/data" # keystore = "" syncmode = "full" -# gcmode = "full" +gcmode = "archive" # snapshot = true # ethstats = "" @@ -41,12 +41,12 @@ syncmode = "full" # locals = [] # journal = "" # rejournal = "1h0m0s" - # pricelimit = 30000000000 + # pricelimit = 1 # pricebump = 10 [miner] - gaslimit = 20000000 - # gasprice = "30000000000" + gaslimit = 30000000 + # gasprice = "1000000000" # mine = false # etherbase = "" # extradata = "" diff --git a/packaging/templates/testnet-v4/sentry/sentry/bor/config.toml b/packaging/templates/testnet-v4/sentry/sentry/bor/config.toml index 155a33373b..f98e04ff42 100644 --- a/packaging/templates/testnet-v4/sentry/sentry/bor/config.toml +++ b/packaging/templates/testnet-v4/sentry/sentry/bor/config.toml @@ -41,12 +41,12 @@ syncmode = "full" # locals = [] # journal = "" # rejournal = "1h0m0s" - # pricelimit = 30000000000 + # pricelimit = 1 # pricebump = 10 [miner] - gaslimit = 20000000 - # gasprice = "30000000000" + gaslimit = 30000000 + # gasprice = "1000000000" # mine = false # etherbase = "" # extradata = "" diff --git a/packaging/templates/testnet-v4/sentry/validator/bor/config.toml b/packaging/templates/testnet-v4/sentry/validator/bor/config.toml index 19b9a4452c..e2a404263d 100644 --- a/packaging/templates/testnet-v4/sentry/validator/bor/config.toml +++ b/packaging/templates/testnet-v4/sentry/validator/bor/config.toml @@ -43,13 +43,13 @@ syncmode = "full" # locals = [] # journal = "" # rejournal = "1h0m0s" - # pricelimit = 30000000000 + # pricelimit = 1 # pricebump = 10 [miner] mine = true - gaslimit = 20000000 - # gasprice = "30000000000" + gaslimit = 30000000 + # gasprice = "1000000000" # etherbase = "" # extradata = "" diff --git a/packaging/templates/testnet-v4/without-sentry/bor/config.toml b/packaging/templates/testnet-v4/without-sentry/bor/config.toml index c4de3e87c4..567c9a5b0a 100644 --- a/packaging/templates/testnet-v4/without-sentry/bor/config.toml +++ b/packaging/templates/testnet-v4/without-sentry/bor/config.toml @@ -43,13 +43,13 @@ syncmode = "full" # locals = [] # journal = "" # rejournal = "1h0m0s" - # pricelimit = 30000000000 + # pricelimit = 1 # pricebump = 10 [miner] mine = true - gaslimit = 20000000 - # gasprice = "30000000000" + gaslimit = 30000000 + # gasprice = "1000000000" # etherbase = "" # extradata = "" From 3e7160997a79c890b1f271b2e1c03a0c2eeeb303 Mon Sep 17 00:00:00 2001 From: Manav Darji Date: Sat, 26 Nov 2022 01:54:50 +0530 Subject: [PATCH 11/11] metrics: handle nil telemetry config (#601) --- metrics/metrics.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/metrics/metrics.go b/metrics/metrics.go index 1c0cf11ab4..a22f99feaa 100644 --- a/metrics/metrics.go +++ b/metrics/metrics.go @@ -93,7 +93,8 @@ func updateMetricsFromConfig(path string) { conf := &CliConfig{} - if _, err := toml.Decode(tomlData, &conf); err != nil || conf == nil { + _, err = toml.Decode(tomlData, &conf) + if err != nil || conf == nil || conf.Telemetry == nil { return }