Skip to content

Commit

Permalink
docs: improve contributing documentation (siderolabs#418)
Browse files Browse the repository at this point in the history
Signed-off-by: Tim Jones <[email protected]>
  • Loading branch information
Tim Jones authored and andrewrynhard committed Feb 24, 2019
1 parent 9e947c3 commit c43e4db
Showing 1 changed file with 43 additions and 1 deletion.
44 changes: 43 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,49 @@ conform enforce --commit-msg-file $1
EOF
```

In addition, all commits should be signed by the committer using `git commit -s` which should produce a commit
message with `Signed-off-by: Your Name <your@email>`. It is not necessary to cryptographically sign commits
with GPG.

### Pull Requests

To avoid multiples CI runs, please ensure that you are running a full build before submitting your PR.
To avoid multiples CI runs, please ensure that you are running a full build before submitting your PR, and
branches should be squashed to a single commit.

## Developing

To start developing for Talos you will need at least `GNU Make` and `Golang` v1.11.

From there you can bootstrap the rest of the toolchain and install Golang dependencies with the following commands:

```bash
GO111MODULE=on go get
make ci
```

# Make Targets

In the `Makefile` there are a variety of targets, the most common are:

* `docs` builds the Hugo-based documentation site.
* `kernel` creates the `vmlinuz` Linux kernel executable.
* `initamfs` creates the `initramfs.xz` initial RAMdisk filesystem.
* `image-vanilla` creates the `image.raw` file that can be used as a image volume for VMs.
* `osctl-linux-amd64` and `osctl-darwin-amd64` make the `osctl` CLI tool for Linux & OSX respectivly.
* `rootfs` creates an archive of the root filesystem preloaded with all the components needed to launch Talos & Kubernetes.

# Buildkit

Talos uses Moby [buildkit](https://github.com/moby/buildkit) for concurrent and cache-efficient builds.
By default, a buildkit service is started locally, but if you want to offload the builds to another server,
you can start a buildkit service with the following command:

```bash
docker run --detach --privileged --restart always --publish 1234:1234 moby/buildkit --addr tcp://0.0.0.0:1234
```

Then using the `BUILDKIT_HOST` environment variable before running any `make` target, E.G.

```bash
BUILDKIT_HOST=tcp://192.168.1.50:1234 make initramfs
```

0 comments on commit c43e4db

Please sign in to comment.