Skip to content

Commit db609f9

Browse files
author
Simon Emms
committed
[installer]: create readme
1 parent 5b4b6f4 commit db609f9

File tree

1 file changed

+81
-0
lines changed

1 file changed

+81
-0
lines changed

installer/README.md

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
# Installer
2+
3+
The best way to get started with Gitpod self-hosted
4+
5+
> This guide assumes that a compatible infrastructure is in place. Please
6+
> refer to the [Gitpod docs](https://www.gitpod.io/docs/self-hosted/latest/installation)
7+
> for instructions on how to create the infrastructure.
8+
9+
# Key Concepts
10+
11+
The Installer is a complete replacement for our Helm charts. Over time,
12+
this had grown to be too complex to effectively support and was a barrier
13+
to entry for new users - the base config was many hundreds of lines long
14+
and did not have effective validation on it. By contrast, the Installer's
15+
config is < 50 lines long and can be fully validated before running.
16+
17+
Conceptually, the process is now:
18+
1. generate a base config
19+
2. amend the config for your own use-case
20+
3. validate
21+
4. render the Kubernetes YAML
22+
5. `kubectl apply`
23+
24+
# Quickstart
25+
26+
## Create a gitpod-installer script
27+
28+
```shell
29+
#!/bin/bash
30+
31+
VERSION="${VERSION:-main.1844}"
32+
33+
docker run -it --rm \
34+
-v $PWD:/gitpod \
35+
-v $HOME/.kube:/root/.kube \
36+
eu.gcr.io/gitpod-core-dev/build/installer:${VERSION} \
37+
$@
38+
```
39+
40+
Save this in your `$PATH` as `gitpod-installer` and make executable
41+
42+
## Generate the base config
43+
44+
```shell
45+
gitpod-installer init > config.yaml
46+
```
47+
48+
## Validate
49+
50+
```shell
51+
# Checks the validity of the configuration YAML
52+
gitpod-installer validate config --config /gitpod/config.yaml
53+
54+
# Checks that your cluster is ready to install Gitpod
55+
gitpod-installer validate cluster --kubeconfig /root/.kube/config --config /gitpod/config.yaml
56+
```
57+
58+
Any errors here must be fixed before deploying. See [Cluster Dependencies](#cluster-dependencies)
59+
and [Config](#config) for more details.
60+
61+
## Render the YAML
62+
63+
```shell
64+
gitpod-installer render --config /gitpod/config.yaml > gitpod.yaml
65+
```
66+
67+
## Deploy
68+
69+
```shell
70+
kubectl apply -f gitpod.yaml
71+
```
72+
73+
# Cluster Dependencies
74+
75+
# Config
76+
77+
# Todo
78+
79+
PRs/comments welcome
80+
81+
- [ ] [Improve distribution of gitpod-installer binaries](https://github.com/gitpod-io/gitpod/issues/6766)

0 commit comments

Comments
 (0)