Skip to content
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

Update Install Instructions for NPM and MacOS #1842

Merged
merged 3 commits into from
Aug 8, 2024
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
49 changes: 42 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,44 @@ Zombienet releases are available in `github`. Each one provides an executable fo
*without* having `Node.js` installed **but** each `provider` defines its own requirements (e.g.
`k8s`, `podman`).

**Note:** Currently, it is only possible to use `podman` for Zombienet users on Linux machines.
**Note:** Currently, it is only possible to use `podman` for Zombienet users on Linux machines.
Although `podman` comes with support for macOS, it is done using an internal VM and the Zombienet provider code expects `podman` to be running natively.

### Using Binaries on MacOS

After you have downloaded `zombienet-macos-arm64` or `zombienet-macos-x64`, you will need to:

- Move the binary to your working directory.
- Rename the binary to just `zombienet` without any `macos-<version>` extension for convenience.
- Enable the binary to be executable:
```bash
chmod +x ./zombienet
```
- Remove the binary from quarantine:
```bash
xattr -d com.apple.quarantine ./zombienet
```

Then you should be able to access the binary:

```bash
./zombienet help
```

### Install from NPM

If you have `Node.js`, you can install `zombienet` locally via NPM:

```bash
npm i @zombienet/cli -g
```

Then you should be able to access the `zombienet` command:

```
zombienet help
```

## Status

At the moment Zombienet *only* works with `local` chains (e.g. rococo-local, polkadot-local, etc).
Expand All @@ -63,7 +98,7 @@ Zombienet project has it's own `k8s` cluster in GCP, to use it please ping
Zombienet supports [Podman](https://podman.io/) *rootless* as provider, you only need to have
`podman` installed in your environment to use and either set in the *network* file or with the
`--provider` flag in the cli. `Podman` for `zombienet` is currently only supported for Linux machines.
This is mostly related to paths and directories used by
This is mostly related to paths and directories used by
store configuration (chain-spec) and the data directory.

### With Native
Expand Down Expand Up @@ -200,7 +235,7 @@ message with the `node`s information like this one is shown
├─────────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ Prometheus Link │ http://127.0.0.1:44107/metrics │
├─────────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ Log Cmd │ tail -f /tmp/zombie-85391d4649f2829bb26b30d6c0328bcb_-15819-BNFoSs5qusWH/alice.log │
│ Log Cmd │ tail -f /tmp/zombie-85391d4649f2829bb26b30d6c0328bcb_-15819-BNFoSs5qusWH/alice.log │
├─────────────────────────┴────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ Node Information │
├─────────────────────────┬────────────────────────────────────────────────────────────────────────────────────────────────────┤
Expand All @@ -210,7 +245,7 @@ message with the `node`s information like this one is shown
├─────────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ Prometheus Link │ http://127.0.0.1:43831/metrics │
├─────────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ Log Cmd │ tail -f /tmp/zombie-85391d4649f2829bb26b30d6c0328bcb_-15819-BNFoSs5qusWH/bob.log │
│ Log Cmd │ tail -f /tmp/zombie-85391d4649f2829bb26b30d6c0328bcb_-15819-BNFoSs5qusWH/bob.log │
├─────────────────────────┴────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ Node Information │
├─────────────────────────┬────────────────────────────────────────────────────────────────────────────────────────────────────┤
Expand All @@ -220,7 +255,7 @@ message with the `node`s information like this one is shown
├─────────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ Prometheus Link │ http://127.0.0.1:38281/metrics │
├─────────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ Log Cmd │ tail -f /tmp/zombie-85391d4649f2829bb26b30d6c0328bcb_-15819-BNFoSs5qusWH/collator01.log │
│ Log Cmd │ tail -f /tmp/zombie-85391d4649f2829bb26b30d6c0328bcb_-15819-BNFoSs5qusWH/collator01.log │
├─────────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ Parachain ID │ 100 │
└─────────────────────────┴────────────────────────────────────────────────────────────────────────────────────────────────────┘
Expand Down Expand Up @@ -346,7 +381,7 @@ For example:

> Note: If you are using macOS please clone the [polkadot-sdk repo](https://github.com/paritytech/polkadot-sdk) and run it locally. At the moment there is no `polkadot` binary for MacOs.

The command above will retrieve the binaries provided and try to download and prepare those binaries for usage.
The command above will retrieve the binaries provided and try to download and prepare those binaries for usage.
At the end of the download, the `setup` script will provide a command to run in your local environment in order to add the directory where the binaries were downloaded in your $PATH var, for example:

```bash
Expand Down Expand Up @@ -379,7 +414,7 @@ Options:
-c, --spawn-concurrency <concurrency> Number of concurrent spawning process to launch, default is 1
-p, --provider <provider> Override provider to use (choices: "podman", "kubernetes", "native")
-l, --logType <logType> Type of logging - defaults to 'table' (choices: "table", "text", "silent")
-d, --dir <path> Directory path for placing the network files instead of random temp one
-d, --dir <path> Directory path for placing the network files instead of random temp one
(e.g. -d /home/user/my-zombienet)
-f, --force Force override all prompt commands
-h, --help display help for command
Expand Down
35 changes: 35 additions & 0 deletions docs/src/install.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,41 @@

ZombieNet releases are available in [github](https://github.com/paritytech/zombienet/releases). Each release provides executables for both `linux` and `macos` created with [pkg](https://github.com/vercel/pkg) and allows running `zombienet` cli *without* having `Node.js` installed. **But** each `provider` define its own requirements (e.g. k8s, podman).

## Using Binaries on MacOS

After you have downloaded `zombienet-macos-arm64` or `zombienet-macos-x64`, you will need to:

- Move the binary to your working directory.
- Rename the binary to just `zombienet` without any `macos-<version>` extension for convenience.
- Enable the binary to be executable:
```bash
chmod +x ./zombienet
```
- Remove the binary from quarantine:
```bash
xattr -d com.apple.quarantine ./zombienet
```

Then you should be able to access the binary:

```bash
./zombienet help
```

## Using NPM

If you have `Node.js`, you can install `zombienet` locally via NPM:

```bash
npm i @zombienet/cli@latest -g
```

Then you should be able to access the `zombienet` command:

```
zombienet help
```

## Using Nix

[Nix](https://nixos.org/) is a package manager which is available for both `linux` and `macos`.
Expand Down
Loading