Skip to content

Feature/ppa repo #4165

New issue

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

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

Already on GitHub? Sign in to your account

Merged
merged 13 commits into from
Nov 23, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions .github/workflows/deploy-github-pages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Simple workflow for deploying static content to GitHub Pages
name: Deploy static content to Pages

on:
# Runs on pushes targeting the default branch
push:
branches: ["feature/ppa-repo"]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false

jobs:
# Single deploy job since we're just deploying
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup Pages
uses: actions/configure-pages@v3
- name: Upload artifact
uses: actions/upload-pages-artifact@v2
with:
# Upload entire repository
path: './ppa'
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v2
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -45,4 +45,6 @@ envs/qwerty.env
cpu-cycles/libcpucycles/build
foxyfox.env

.next
.next
ppa-private-key.b64
ppa-private-key.asc
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,13 @@ Post 1.0.0 release, the changelog format is based on [Keep a Changelog](https://
- [mixnode] replace rocket with axum ([#4071])
- incorporate the nym node HTTP api into the mixnode ([#4070])
- replaced '--disable-sign-ext' with '--signext-lowering' when running wasm-opt ([#3896])
- Added PPA repo hosting support and nym-mixnode package with tooling for publishing ([#4165])

[#4077]: https://github.com/nymtech/nym/pull/4077
[#4071]: https://github.com/nymtech/nym/pull/4071
[#4070]: https://github.com/nymtech/nym/issues/4070
[#3896]: https://github.com/nymtech/nym/pull/3896
[#4165]: https://github.com/nymtech/nym/pull/4165

## [2023.3-kinder] (2023-10-31)

Expand Down
4 changes: 4 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -168,3 +168,7 @@ generate-typescript:
run-api-tests:
cd nym-api/tests/functional_test && yarn test:qa

# Build debian package, and update PPA
# Requires base64 encode GPG key to be set up in environment PPA_SIGNING_KEY
deb:
scripts/ppa.sh
42 changes: 42 additions & 0 deletions mixnode/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,45 @@ A Rust mixnode implementation.
* `nym-mixnode run --layer 1 --host x.x.x.x` will start the mixnode in layer 1 and bind to the specified host IP address. Coordinate with other people in your network to find out which layer needs coverage.

By default, the Nym Mixnode will start on port 1789. If desired, you can change the port using the `--port` option.

## Install debian

```bash
sudo curl -s --compressed "https://nymtech.github.io/nym/nymtech.gpg" | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/nymtech.gpg > /dev/null
sudo echo "deb [signed-by=/etc/apt/trusted.gpg.d/nymtech.gpg] https://nymtech.github.io/nym/ /" > nymtech.list

sudo apt-get update
sudo apt-get install nym-mixnode

# See below for starting and managing the node
```

## Systemd support

```bash
sudo systemctl enable nym-mixnode

# Run
sudo systemctl start nym-mixnode

# Check status
sudo systemctl status nym-mixnode

# Logs
journalctl -f -u nym-mixnode

```

## Build debian package

```bash
# cargo install cargo-deb

# Build package
cargo deb -p nym-mixnode

# Install

# This will init the mixnode to `/etc/nym` as `nym` user, and create a systemd service
sudo dpkg -i target/debian/<PACKAGE>
```
37 changes: 37 additions & 0 deletions ppa/InRelease
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Date: Tue, 21 Nov 2023 07:58:30 +0000
MD5Sum:
29bbd50eeae096bab7db9273b3d2460e 1133 Packages
fbfb649fbc1ea80e81f3f29aa8e0559c 711 Packages.gz
55c1789b21080802c80bbc323569f324 38 Release
SHA1:
28d2f5d52a8684a4a3d7d76765c10d30f9848ad7 1133 Packages
c6b80620b228848a9d1b006e83214612ecbcfca5 711 Packages.gz
827f0dfd30c546e23b5014285f1cadff4068a5aa 38 Release
SHA256:
76cc1482e7bcaebdc6d1f87140b25b2647b3d8426e2306c5ebe2ae08663c889e 1133 Packages
d7e55a929f67da9fb91f67ee86b9853a3c1f796b110eaca995753fd80018ff57 711 Packages.gz
379613daac02063562de7a5ec48e32582b3ea8ca8dd136b4ca1f710fd7ce7b28 38 Release
SHA512:
e23aa596c3b8831fc8bc5b51b5073239b68f1d5e471802cba896b6449b493194da7e42603a478125a1dc41650262f46489f422fe37bef8ea810d71854ccf4ee5 1133 Packages
672b6fc16c6daae98f994882ca2293b43efa8e24c92d5c85f838d9b97bfb970fff85209df077a6d65bc12f981b96a49b8a5d75108da4418760bbfd58958162b3 711 Packages.gz
d1ea202095914d4b4ad29af3fb4021878c7a3bf6688a6329e775eaadcf95bf8b30d70f45bec64d70ad20b56014f3399a096fe5c05219136727c3223174832da3 38 Release
-----BEGIN PGP SIGNATURE-----

iQJEBAEBCgAuFiEEzWLrAxjj1jSobw5ZgQ9E11+JZgIFAmVcY00QHG55bUBueW10
ZWNoLm5ldAAKCRCBD0TXX4lmAp8JD/4ycYaTE29tarxSjvL+f8Sp76eR7+WfKo6f
c5v0EMvf28UVMVhn5Ngljnu6df0RZhCv3SnDwT5l1DC+GUkEaAcH7QtF8uOGcOvA
8PGRYxpeLBMWE6Q2O1J7x1haOrOIXW3KJp7yrYmSj+PIlSmy/SttgrDOHVFdvm1V
DVePNzEJwCQk/or2TKvsgZ1TWdcQOox+MyksUGmOzrHb6l18CnxR9Z3QAn/TXk+I
uoJ0rNhWR8VyG7oOC/PNa5301pWenZnnP4wNowdqDq6PpORDj2814n1CJGBpcbVW
EIWwcS1lVKVTuQtnTVsWG+YytWKhuamA/twSAkuQVmm3mX8+T0R+CvW1iQPqrm2c
c2NSuDj+KDDDNG+ZynVh2yAjdSjHyXKKFHQPGcF1gyN7/D2SOsp49A61WeovcLV6
y0GkuZrRy7u8jgGF5p8rh0WNDpbcSs1O+qdWP/wT9Vmn9KezDO0MuJNh4MtCh4lE
jo01HFttQ8sMCdSjjvvKrzL8gW1lGxH+yAvsHfCA4PBy6MrdzwqazxAGJR86Fxu4
MqGlmHoyFwv8E7D/RcG8YMY25c1DA5wQ9cYSRS4OovPhf1THkK9ICyZymUbP0Sex
Iie4K91xdTseT1QBO5i9VAFbV0hDgeU2bggmeganrNHO3bIvNmQiFh9RUSQLpYEv
qCFYa62C3w==
=ttDt
-----END PGP SIGNATURE-----
34 changes: 34 additions & 0 deletions ppa/Packages
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
Package: nym-mixnode
Version: 1.1.33-1
Architecture: amd64
Maintainer: Dave Hrycyszyn <[email protected]>
Installed-Size: 23794
Depends: libc6 (>= 2.34)
Filename: ./debian/nym-mixnode_1.1.33-1_amd64.deb
Size: 5245732
MD5sum: a9377a1aabfda9d95ce3a937fb4f02ed
SHA1: 535e76d7c5c0d8dc96b30c34fa1de46fbc9c40dd
SHA256: 70874c9d738998b6b671965ee724c47f56a8486d8eb6c73e94498f8c240fa62b
Priority: optional
Description: Implementation of a Loopix-based Mixnode
<!--
Copyright 2020 - Nym Technologies SA <[email protected]>
SPDX-License-Identifier: Apache-2.0
-->
.
# Nym Mixnode
.
A Rust mixnode implementation.
.
## Usage
.
* `nym-mixnode` prints a help message showing usage options
* `nym-mixnode run --help` prints a help message showing usage options for the
run command
* `nym-mixnode run --layer 1 --host x.x.x.x` will start the mixnode in layer 1
and bind to the specified host IP address. Coordinate with other people in your
network to find out which layer needs coverage.
.
By default, the Nym Mixnode will start on port 1789. If desired, you can change
the port using the `--port` option.

Binary file added ppa/Packages.gz
Binary file not shown.
17 changes: 17 additions & 0 deletions ppa/Release
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
Date: Tue, 21 Nov 2023 07:58:30 +0000
MD5Sum:
29bbd50eeae096bab7db9273b3d2460e 1133 Packages
fbfb649fbc1ea80e81f3f29aa8e0559c 711 Packages.gz
55c1789b21080802c80bbc323569f324 38 Release
SHA1:
28d2f5d52a8684a4a3d7d76765c10d30f9848ad7 1133 Packages
c6b80620b228848a9d1b006e83214612ecbcfca5 711 Packages.gz
827f0dfd30c546e23b5014285f1cadff4068a5aa 38 Release
SHA256:
76cc1482e7bcaebdc6d1f87140b25b2647b3d8426e2306c5ebe2ae08663c889e 1133 Packages
d7e55a929f67da9fb91f67ee86b9853a3c1f796b110eaca995753fd80018ff57 711 Packages.gz
379613daac02063562de7a5ec48e32582b3ea8ca8dd136b4ca1f710fd7ce7b28 38 Release
SHA512:
e23aa596c3b8831fc8bc5b51b5073239b68f1d5e471802cba896b6449b493194da7e42603a478125a1dc41650262f46489f422fe37bef8ea810d71854ccf4ee5 1133 Packages
672b6fc16c6daae98f994882ca2293b43efa8e24c92d5c85f838d9b97bfb970fff85209df077a6d65bc12f981b96a49b8a5d75108da4418760bbfd58958162b3 711 Packages.gz
d1ea202095914d4b4ad29af3fb4021878c7a3bf6688a6329e775eaadcf95bf8b30d70f45bec64d70ad20b56014f3399a096fe5c05219136727c3223174832da3 38 Release
17 changes: 17 additions & 0 deletions ppa/Release.gpg
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
-----BEGIN PGP SIGNATURE-----

iQJEBAABCgAuFiEEzWLrAxjj1jSobw5ZgQ9E11+JZgIFAmVcY0UQHG55bUBueW10
ZWNoLm5ldAAKCRCBD0TXX4lmAmCfD/9dCZBTQnC6b97PQWR6EPooORsyyNNO6apN
WGKcgQ+nj8H1cyhVM0P1xUyukhnU7DJvz9yp4v+mS87178K4/EGONanSxqR3c4PX
q+F2wOXLiOalwQbS7flSbD5dYkvIcjCo5GT8+U/09JFYxn4pqItMQnkE2zD+oP98
rSv70m8UV6ZLgRGpXWMl5qw3F2pU3Xes25brb+Gqon1EHJV+zW/2K8LBF0Zv6s5t
TjBrYM+foFnKb68fmtl8t7d47uTpzm0lLxUx8PzZliCfQwkzr1Bz7hTBpdTcpvYb
+BI32ocHgLm/tnwQapLarVFj60//0HLK6YxXlufQg3lqScPy/mEEK3Agw1ZzOhX7
tOiMp78M4KCK3EhCx7LiMbv1LvPPK6tXzMYILwXqSz/iScK+cN/KtEOD8+75PdjK
N4mouHciCzCpeeele1yZICurktQ+7+kxhwL6Wm88sG3rXjrIEGm7Ez+0FPe9WYFD
P+R6/Zpmc/dSjGroOJst5PuEqLHs8RscgqKNtpVL1rjY22RtaOEzwUruduR5sGeA
H74V6YkehNTNAYZCLpcjwU6fDYWNPLo4Coy2kczLjsLwAXgyXPagiKWkAoOC6zcr
6ZIpzJb5OnZ9yYdoW7RrNhUedAlD89JH2tuPKdoO/qQBrCHg4YtxG3zNMcYzP+bb
VhXK4THvNg==
=0u7L
-----END PGP SIGNATURE-----
Binary file added ppa/debian/nym-mixnode_1.1.33-1_amd64.deb
Binary file not shown.
52 changes: 52 additions & 0 deletions ppa/nymtech.gpg
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----

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
aXa0WNKki+64QaYA9Ystrg==
=9Wrg
-----END PGP PUBLIC KEY BLOCK-----
1 change: 1 addition & 0 deletions ppa/nymtech.list
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
deb [signed-by=/etc/apt/trusted.gpg.d/nymtech.gpg] https://nymtech.github.io/nym/ /
20 changes: 20 additions & 0 deletions scripts/ppa.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#/bin/bash
# Run from repository root
# Needs PPA_SIGNING_KEY base64 encoded in env var

echo ${PPA_SIGNING_KEY} | base64 -d > ppa-signing-key.asc
gpg --import ppa-signing-key.asc
rm ppa-signing-key.asc

cargo deb -p nym-mixnode

mv target/debian/*.deb ppa/debian

cd ppa

dpkg-scanpackages --multiversion . > Packages
gzip -k -f Packages

apt-ftparchive release . > Release
gpg --default-key "[email protected]" -abs -o - Release > Release.gpg
gpg --default-key "[email protected]" --clearsign -o - Release > InRelease