Skip to content

Commit

Permalink
rename install
Browse files Browse the repository at this point in the history
  • Loading branch information
yihau committed Feb 19, 2024
1 parent 7320fc3 commit f80a70b
Show file tree
Hide file tree
Showing 21 changed files with 114 additions and 114 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/release-artifacts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ jobs:
mkdir -p "windows-release/$FOLDER_NAME"
cp -v "solana-release-x86_64-pc-windows-msvc.tar.bz2" "windows-release/$FOLDER_NAME/"
cp -v "solana-release-x86_64-pc-windows-msvc.yml" "windows-release/$FOLDER_NAME/"
cp -v "solana-install-init-x86_64-pc-windows-msvc"* "windows-release/$FOLDER_NAME"
cp -v "agave-install-init-x86_64-pc-windows-msvc"* "windows-release/$FOLDER_NAME"
- name: Upload Artifacts
if: ${{ steps.build.outputs.channel != '' || steps.build.outputs.tag != '' }}
Expand Down
70 changes: 35 additions & 35 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion ci/publish-installer.sh
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ SOLANA_RELEASE=$CHANNEL_OR_TAG
SOLANA_INSTALL_INIT_ARGS=$CHANNEL_OR_TAG
SOLANA_DOWNLOAD_ROOT=https://release.anza.xyz
EOF
cat install/solana-install-init.sh >>release.anza.xyz-install
cat install/agave-install-init.sh >>release.anza.xyz-install

echo --- GCS: "install"
upload-gcs-artifact "/solana/release.anza.xyz-install" "gs://anza-release/$CHANNEL_OR_TAG/install"
Expand Down
4 changes: 2 additions & 2 deletions ci/publish-tarball.sh
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ echo --- Creating release tarball

tar cvf "${TARBALL_BASENAME}"-$TARGET.tar "${RELEASE_BASENAME}"
bzip2 "${TARBALL_BASENAME}"-$TARGET.tar
cp "${RELEASE_BASENAME}"/bin/solana-install-init solana-install-init-$TARGET
cp "${RELEASE_BASENAME}"/bin/agave-install-init agave-install-init-$TARGET
cp "${RELEASE_BASENAME}"/version.yml "${TARBALL_BASENAME}"-$TARGET.yml
)

Expand All @@ -110,7 +110,7 @@ fi

source ci/upload-ci-artifact.sh

for file in "${TARBALL_BASENAME}"-$TARGET.tar.bz2 "${TARBALL_BASENAME}"-$TARGET.yml solana-install-init-"$TARGET"* $MAYBE_TARBALLS; do
for file in "${TARBALL_BASENAME}"-$TARGET.tar.bz2 "${TARBALL_BASENAME}"-$TARGET.yml agave-install-init-"$TARGET"* $MAYBE_TARBALLS; do
if [[ -n $DO_NOT_PUBLISH_TAR ]]; then
upload-ci-artifact "$file"
echo "Skipped $file due to DO_NOT_PUBLISH_TAR"
Expand Down
12 changes: 6 additions & 6 deletions docs/src/cli/install.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ Please update your PATH environment variable to include the solana programs:
solana --version
```

- After a successful install, `solana-install update` may be used to easily
- After a successful install, `agave-install update` may be used to easily
update the Solana software to a newer version at any time.

---
Expand All @@ -74,15 +74,15 @@ solana --version
installer into a temporary directory:

```bash
cmd /c "curl https://release.solana.com/LATEST_SOLANA_RELEASE_VERSION/solana-install-init-x86_64-pc-windows-msvc.exe --output C:\solana-install-tmp\solana-install-init.exe --create-dirs"
cmd /c "curl https://release.solana.com/LATEST_SOLANA_RELEASE_VERSION/agave-install-init-x86_64-pc-windows-msvc.exe --output C:\agave-install-tmp\agave-install-init.exe --create-dirs"
```

- Copy and paste the following command, then press Enter to install the latest
version of Solana. If you see a security pop-up by your system, please select
to allow the program to run.

```bash
C:\solana-install-tmp\solana-install-init.exe LATEST_SOLANA_RELEASE_VERSION
C:\agave-install-tmp\agave-install-init.exe LATEST_SOLANA_RELEASE_VERSION
```

- When the installer is finished, press Enter.
Expand All @@ -97,12 +97,12 @@ C:\solana-install-tmp\solana-install-init.exe LATEST_SOLANA_RELEASE_VERSION
solana --version
```

- After a successful install, `solana-install update` may be used to easily
- After a successful install, `agave-install update` may be used to easily
update the Solana software to a newer version at any time.

## Download Prebuilt Binaries

If you would rather not use `solana-install` to manage the install, you can
If you would rather not use `agave-install` to manage the install, you can
manually download and install the binaries.

### Linux
Expand Down Expand Up @@ -255,7 +255,7 @@ You can then run the following command to obtain the same result as with
prebuilt binaries:

```bash
solana-install init
agave-install init
```

## Use Homebrew
Expand Down
58 changes: 29 additions & 29 deletions docs/src/implemented-proposals/installer.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,26 +13,26 @@ This document proposes an easy to use software install and updater that can be u
The easiest install method for supported platforms:

```bash
$ curl -sSf https://raw.githubusercontent.com/solana-labs/solana/v1.0.0/install/solana-install-init.sh | sh
$ curl -sSf https://raw.githubusercontent.com/solana-labs/solana/v1.0.0/install/agave-install-init.sh | sh
```

This script will check github for the latest tagged release and download and run the `solana-install-init` binary from there.
This script will check github for the latest tagged release and download and run the `agave-install-init` binary from there.

If additional arguments need to be specified during the installation, the following shell syntax is used:

```bash
$ init_args=.... # arguments for `solana-install-init ...`
$ curl -sSf https://raw.githubusercontent.com/solana-labs/solana/v1.0.0/install/solana-install-init.sh | sh -s - ${init_args}
$ init_args=.... # arguments for `agave-install-init ...`
$ curl -sSf https://raw.githubusercontent.com/solana-labs/solana/v1.0.0/install/agave-install-init.sh | sh -s - ${init_args}
```

### Fetch and run a pre-built installer from a Github release

With a well-known release URL, a pre-built binary can be obtained for supported platforms:

```bash
$ curl -o solana-install-init https://github.com/solana-labs/solana/releases/download/v1.0.0/solana-install-init-x86_64-apple-darwin
$ chmod +x ./solana-install-init
$ ./solana-install-init --help
$ curl -o agave-install-init https://github.com/solana-labs/solana/releases/download/v1.0.0/agave-install-init-x86_64-apple-darwin
$ chmod +x ./agave-install-init
$ ./agave-install-init --help
```

### Build and run the installer from source
Expand All @@ -51,16 +51,16 @@ Given a solana release tarball \(as created by `ci/publish-tarball.sh`\) that ha

```bash
$ solana-keygen new -o update-manifest.json # <-- only generated once, the public key is shared with users
$ solana-install deploy http://example.com/path/to/solana-release.tar.bz2 update-manifest.json
$ agave-install deploy http://example.com/path/to/solana-release.tar.bz2 update-manifest.json
```

### Run a validator node that auto updates itself

```bash
$ solana-install init --pubkey 92DMonmBYXwEMHJ99c9ceRSpAmk9v6i3RdvDdXaVcrfj # <-- pubkey is obtained from whoever is deploying the updates
$ export PATH=~/.local/share/solana-install/bin:$PATH
$ agave-install init --pubkey 92DMonmBYXwEMHJ99c9ceRSpAmk9v6i3RdvDdXaVcrfj # <-- pubkey is obtained from whoever is deploying the updates
$ export PATH=~/.local/share/agave-install/bin:$PATH
$ solana-keygen ... # <-- runs the latest solana-keygen
$ solana-install run agave-validator ... # <-- runs a validator, restarting it as necessary when an update is applied
$ agave-install run agave-validator ... # <-- runs a validator, restarting it as necessary when an update is applied
```

## On-chain Update Manifest
Expand All @@ -87,9 +87,9 @@ pub struct SignedUpdateManifest {
}
```

Note that the `manifest` field itself contains a corresponding signature \(`manifest_signature`\) to guard against man-in-the-middle attacks between the `solana-install` tool and the solana cluster RPC API.
Note that the `manifest` field itself contains a corresponding signature \(`manifest_signature`\) to guard against man-in-the-middle attacks between the `agave-install` tool and the solana cluster RPC API.

To guard against rollback attacks, `solana-install` will refuse to install an update with an older `timestamp_secs` than what is currently installed.
To guard against rollback attacks, `agave-install` will refuse to install an update with an older `timestamp_secs` than what is currently installed.

## Release Archive Contents

Expand All @@ -101,17 +101,17 @@ A release archive is expected to be a tar file compressed with bzip2 with the fo

- `/bin/` -- directory containing available programs in the release.

`solana-install` will symlink this directory to
`agave-install` will symlink this directory to

`~/.local/share/solana-install/bin` for use by the `PATH` environment
`~/.local/share/agave-install/bin` for use by the `PATH` environment

variable.

- `...` -- any additional files and directories are permitted

## solana-install Tool
## agave-install Tool

The `solana-install` tool is used by the user to install and update their cluster software.
The `agave-install` tool is used by the user to install and update their cluster software.

It manages the following files and directories in the user's home directory:

Expand All @@ -122,11 +122,11 @@ It manages the following files and directories in the user's home directory:
### Command-line Interface

```text
solana-install 0.16.0
agave-install 0.16.0
The solana cluster software installer
USAGE:
solana-install [OPTIONS] <SUBCOMMAND>
agave-install [OPTIONS] <SUBCOMMAND>
FLAGS:
-h, --help Prints help information
Expand All @@ -145,11 +145,11 @@ SUBCOMMANDS:
```

```text
solana-install-init
agave-install-init
initializes a new installation
USAGE:
solana-install init [OPTIONS]
agave-install init [OPTIONS]
FLAGS:
-h, --help Prints help information
Expand All @@ -161,23 +161,23 @@ OPTIONS:
```

```text
solana-install info
agave-install info
displays information about the current installation
USAGE:
solana-install info [FLAGS]
agave-install info [FLAGS]
FLAGS:
-h, --help Prints help information
-l, --local only display local information, don't check the cluster for new updates
```

```text
solana-install deploy
agave-install deploy
deploys a new update
USAGE:
solana-install deploy <download_url> <update_manifest_keypair>
agave-install deploy <download_url> <update_manifest_keypair>
FLAGS:
-h, --help Prints help information
Expand All @@ -188,22 +188,22 @@ ARGS:
```

```text
solana-install update
agave-install update
checks for an update, and if available downloads and applies it
USAGE:
solana-install update
agave-install update
FLAGS:
-h, --help Prints help information
```

```text
solana-install run
agave-install run
Runs a program while periodically checking and applying software updates
USAGE:
solana-install run <program_name> [program_arguments]...
agave-install run <program_name> [program_arguments]...
FLAGS:
-h, --help Prints help information
Expand Down
8 changes: 4 additions & 4 deletions docs/src/operations/best-practices/general.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,21 +82,21 @@ CPU), you can target your specific architecture using the `-march` flag. Refer
to the following doc for
[instructions on building from source](../../cli/install.md#build-from-source).

### solana-install
### agave-install

If you are not comfortable building from source, or you need to quickly install
a new version to test something out, you could instead try using the
`solana-install` command.
`agave-install` command.

Assuming you want to install Solana version `1.14.17`, you would execute the
following:

```
solana-install init 1.14.17
agave-install init 1.14.17
```

This command downloads the executable for `1.14.17` and installs it into a
`.local` directory. You can also look at `solana-install --help` for more
`.local` directory. You can also look at `agave-install --help` for more
options.

> **Note** this command only works if you already have the solana cli installed.
Expand Down
4 changes: 2 additions & 2 deletions install/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "solana-install"
name = "agave-install"
description = "The solana cluster software installer"
documentation = "https://docs.rs/solana-install"
documentation = "https://docs.rs/agave-install"
version = { workspace = true }
authors = { workspace = true }
repository = { workspace = true }
Expand Down
Loading

0 comments on commit f80a70b

Please sign in to comment.