mirror of
				https://github.com/siderolabs/talos.git
				synced 2025-11-04 02:11:12 +01:00 
			
		
		
		
	docs: improve contributing documentation (#418)
Signed-off-by: Tim Jones <timniverse@gmail.com>
This commit is contained in:
		
							parent
							
								
									9e947c3fa5
								
							
						
					
					
						commit
						c43e4db85d
					
				@ -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
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user