Skip to content

Commit 2850a7c

Browse files
authored
docs: add Linux docs (runfinch#1117)
* docs: add Linux docs Signed-off-by: Justin Alvarez <[email protected]> * update spacing for list items Signed-off-by: Justin Alvarez <[email protected]> * add directories Signed-off-by: Justin Alvarez <[email protected]> * fix lint and redirect to website Signed-off-by: Justin Alvarez <[email protected]> --------- Signed-off-by: Justin Alvarez <[email protected]>
1 parent 3525e55 commit 2850a7c

File tree

2 files changed

+39
-4
lines changed

2 files changed

+39
-4
lines changed

CONTRIBUTING.md

+31-4
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,27 @@ wsl --update
150150
wsl --install Ubuntu
151151
```
152152

153+
#### Linux
154+
155+
Please note that this section does not have exhaustive instructions for every single Linux distribution and package manager, but it does have a "generic" installation method. More distribution specific contributions are welcome.
156+
157+
##### Amazon Linux 2023
158+
159+
```sh
160+
sudo yum install golang zlib-static containerd nerdctl cni-plugins iptables
161+
```
162+
163+
1. `golang`: used to build go packages
164+
1. `zlib-static`: used to build soci, as part of the included [finch.spec file in ./contrib/packaging/rpm](./contrib/packaging/rpm/finch.spec)
165+
1. `containerd`, `nerdctl`, `cni-plugins`, `iptables`: runtime dependencies
166+
167+
##### Generic
168+
169+
1. Install go [following instructions here](https://go.dev/doc/install)
170+
1. Install the latest [nerdctl-full bundle from GitHub](https://github.com/containerd/nerdctl/releases)
171+
1. If building SOCI, [follow the instructions here](https://github.com/awslabs/soci-snapshotter/blob/main/docs/build.md) to setup the dependencies
172+
1. Create the expected directory structure by inspecting the [finch.spec file](./contrib/packaging/rpm/finch.spec)
173+
153174
### Build
154175

155176
Clone the repo and make sure to include the submodules by adding `--recurse-submodules`. For example:
@@ -183,8 +204,14 @@ Then run `make` to build the binary. The binary in `_output` can be directly use
183204
./_output/bin/finch version
184205
```
185206

207+
#### macOS/Windows
208+
186209
You can run `make install` to make finch binary globally accessible.
187210

211+
#### Amazon Linux
212+
213+
You can run `./contrib/packaging/rpm/build.sh --local` to install Finch globally.
214+
188215
NOTE: If your build environment experiences issues with downloading dependencies from the Go proxy servers, then you may want to set the environment variable `export GOPROXY=direct`
189216

190217
### Unit Testing
@@ -197,17 +224,17 @@ To check unit test coverage, run `make coverage` under root finch-cli root direc
197224

198225
### E2E Testing
199226

200-
Run these steps at the first time of running e2e tests
227+
To run e2e tests locally, please run `make test-e2e`. Make sure to run the e2e tests or add new e2e tests before pushing changes.
228+
229+
#### macOS/Windows
201230

202-
VM instance is not expected to exist before running e2e tests, please make sure to remove it before going into next step:
231+
The VM instance is not expected to exist before running e2e tests, please make sure to remove it before going into next step:
203232

204233
```sh
205234
./_output/bin/finch vm stop
206235
./_output/bin/finch vm remove
207236
```
208237

209-
To run e2e test locally, please run `make test-e2e`. Please make sure to run the e2e tests or add new e2e tests before pushing the changes.
210-
211238
## Commits
212239

213240
### Conventional Commit Messages

README.md

+8
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,14 @@ INFO[0000] Initializing and starting Finch virtual machine...
6262
INFO[0067] Finch virtual machine started successfully
6363
```
6464

65+
#### Linux
66+
67+
To get started with Finch on Linux, the prerequisites are:
68+
69+
* Linux system capable of running containerd 1.7.x (generally, this means at least Linux kernel 4.x)
70+
71+
Currently, Finch installers are packaged and distributed on Amazon Linux. If you are not using Amazon Linux, you can download the binary from the GitHub releases page and install/configure the dependencies, following the convention in the [finch.spec file](./contrib/packaging/rpm/finch.spec). Detailed instructions are available on [runfinch.com](https://runfinch.com/docs/managing-finch/linux/installation/#generic).
72+
6573
### Running containers and building images
6674

6775
You can now run a test container. If you're familiar with container development, you can use the `run` command as you'd expect.

0 commit comments

Comments
 (0)