Skip to content

Commit

Permalink
Merge pull request #808 from garden-io/remote-build
Browse files Browse the repository at this point in the history
feat(k8s): in-cluster building
  • Loading branch information
edvald authored Jun 5, 2019
2 parents 838b8f3 + 118b02c commit 1fb89fc
Show file tree
Hide file tree
Showing 67 changed files with 1,637 additions and 237 deletions.
219 changes: 218 additions & 1 deletion docs/reference/providers/kubernetes.md
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,15 @@ sources:
| Type | Required |
| ---- | -------- |
| `array[object]` | No
### `environments[].providers[].buildMode`
[environments](#environments) > [providers](#environments[].providers[]) > buildMode

Choose the mechanism used to build containers before deploying. By default it uses the local docker, but you can set it to 'cluster-docker' to sync files to a remote docker daemon, installed in the cluster, and build container images there.
This is currently experimental and sometimes not needed (e.g. with Docker for Desktop), so it's not enabled by default.

| Type | Required |
| ---- | -------- |
| `string` | No
### `environments[].providers[].defaultHostname`
[environments](#environments) > [providers](#environments[].providers[]) > defaultHostname

Expand Down Expand Up @@ -196,6 +205,182 @@ The namespace where the secret is stored. If necessary, the secret may be copied
| Type | Required |
| ---- | -------- |
| `string` | No
### `environments[].providers[].storage`
[environments](#environments) > [providers](#environments[].providers[]) > storage

Storage parameters to set for the in-cluster builder and container registry persistent volume (which are automatically installed and used when buildMode=cluster-docker).

| Type | Required |
| ---- | -------- |
| `object` | No
### `environments[].providers[].storage.builder`
[environments](#environments) > [providers](#environments[].providers[]) > [storage](#environments[].providers[].storage) > builder



| Type | Required |
| ---- | -------- |
| `object` | No
### `environments[].providers[].storage.builder.size`
[environments](#environments) > [providers](#environments[].providers[]) > [storage](#environments[].providers[].storage) > [builder](#environments[].providers[].storage.builder) > size

Volume size for the registry in megabytes.

| Type | Required |
| ---- | -------- |
| `number` | No
### `environments[].providers[].storage.builder.storageClass`
[environments](#environments) > [providers](#environments[].providers[]) > [storage](#environments[].providers[].storage) > [builder](#environments[].providers[].storage.builder) > storageClass

Storage class to use for the volume.

| Type | Required |
| ---- | -------- |
| `string` | No
### `environments[].providers[].storage.registry`
[environments](#environments) > [providers](#environments[].providers[]) > [storage](#environments[].providers[].storage) > registry



| Type | Required |
| ---- | -------- |
| `object` | No
### `environments[].providers[].storage.registry.size`
[environments](#environments) > [providers](#environments[].providers[]) > [storage](#environments[].providers[].storage) > [registry](#environments[].providers[].storage.registry) > size

Volume size for the registry in megabytes.

| Type | Required |
| ---- | -------- |
| `number` | No
### `environments[].providers[].storage.registry.storageClass`
[environments](#environments) > [providers](#environments[].providers[]) > [storage](#environments[].providers[].storage) > [registry](#environments[].providers[].storage.registry) > storageClass

Storage class to use for the volume.

| Type | Required |
| ---- | -------- |
| `string` | No
### `environments[].providers[].resources`
[environments](#environments) > [providers](#environments[].providers[]) > resources

Resource requests and limits for the in-cluster builder and container registry (which are automatically installed and used when buildMode=cluster-docker).

| Type | Required |
| ---- | -------- |
| `object` | No
### `environments[].providers[].resources.builder`
[environments](#environments) > [providers](#environments[].providers[]) > [resources](#environments[].providers[].resources) > builder



| Type | Required |
| ---- | -------- |
| `object` | No
### `environments[].providers[].resources.builder.limits`
[environments](#environments) > [providers](#environments[].providers[]) > [resources](#environments[].providers[].resources) > [builder](#environments[].providers[].resources.builder) > limits



| Type | Required |
| ---- | -------- |
| `object` | No
### `environments[].providers[].resources.builder.limits.cpu`
[environments](#environments) > [providers](#environments[].providers[]) > [resources](#environments[].providers[].resources) > [builder](#environments[].providers[].resources.builder) > [limits](#environments[].providers[].resources.builder.limits) > cpu

CPU limit in millicpu.

| Type | Required |
| ---- | -------- |
| `number` | No
### `environments[].providers[].resources.builder.limits.memory`
[environments](#environments) > [providers](#environments[].providers[]) > [resources](#environments[].providers[].resources) > [builder](#environments[].providers[].resources.builder) > [limits](#environments[].providers[].resources.builder.limits) > memory

Memory limit in megabytes.

| Type | Required |
| ---- | -------- |
| `number` | No
### `environments[].providers[].resources.builder.requests`
[environments](#environments) > [providers](#environments[].providers[]) > [resources](#environments[].providers[].resources) > [builder](#environments[].providers[].resources.builder) > requests



| Type | Required |
| ---- | -------- |
| `object` | No
### `environments[].providers[].resources.builder.requests.cpu`
[environments](#environments) > [providers](#environments[].providers[]) > [resources](#environments[].providers[].resources) > [builder](#environments[].providers[].resources.builder) > [requests](#environments[].providers[].resources.builder.requests) > cpu

CPU request in millicpu.

| Type | Required |
| ---- | -------- |
| `number` | No
### `environments[].providers[].resources.builder.requests.memory`
[environments](#environments) > [providers](#environments[].providers[]) > [resources](#environments[].providers[].resources) > [builder](#environments[].providers[].resources.builder) > [requests](#environments[].providers[].resources.builder.requests) > memory

Memory request in megabytes.

| Type | Required |
| ---- | -------- |
| `number` | No
### `environments[].providers[].resources.registry`
[environments](#environments) > [providers](#environments[].providers[]) > [resources](#environments[].providers[].resources) > registry



| Type | Required |
| ---- | -------- |
| `object` | No
### `environments[].providers[].resources.registry.limits`
[environments](#environments) > [providers](#environments[].providers[]) > [resources](#environments[].providers[].resources) > [registry](#environments[].providers[].resources.registry) > limits



| Type | Required |
| ---- | -------- |
| `object` | No
### `environments[].providers[].resources.registry.limits.cpu`
[environments](#environments) > [providers](#environments[].providers[]) > [resources](#environments[].providers[].resources) > [registry](#environments[].providers[].resources.registry) > [limits](#environments[].providers[].resources.registry.limits) > cpu

CPU limit in millicpu.

| Type | Required |
| ---- | -------- |
| `number` | No
### `environments[].providers[].resources.registry.limits.memory`
[environments](#environments) > [providers](#environments[].providers[]) > [resources](#environments[].providers[].resources) > [registry](#environments[].providers[].resources.registry) > [limits](#environments[].providers[].resources.registry.limits) > memory

Memory limit in megabytes.

| Type | Required |
| ---- | -------- |
| `number` | No
### `environments[].providers[].resources.registry.requests`
[environments](#environments) > [providers](#environments[].providers[]) > [resources](#environments[].providers[].resources) > [registry](#environments[].providers[].resources.registry) > requests



| Type | Required |
| ---- | -------- |
| `object` | No
### `environments[].providers[].resources.registry.requests.cpu`
[environments](#environments) > [providers](#environments[].providers[]) > [resources](#environments[].providers[].resources) > [registry](#environments[].providers[].resources.registry) > [requests](#environments[].providers[].resources.registry.requests) > cpu

CPU request in millicpu.

| Type | Required |
| ---- | -------- |
| `number` | No
### `environments[].providers[].resources.registry.requests.memory`
[environments](#environments) > [providers](#environments[].providers[]) > [resources](#environments[].providers[].resources) > [registry](#environments[].providers[].resources.registry) > [requests](#environments[].providers[].resources.registry.requests) > memory

Memory request in megabytes.

| Type | Required |
| ---- | -------- |
| `number` | No
### `environments[].providers[].tlsCertificates[]`
[environments](#environments) > [providers](#environments[].providers[]) > tlsCertificates

Expand Down Expand Up @@ -393,6 +578,14 @@ The external HTTPS port of the cluster's ingress controller.

Specify which namespace to deploy services to (defaults to <project name>). Note that the framework generates other namespaces as well with this name as a prefix.

| Type | Required |
| ---- | -------- |
| `string` | No
### `environments[].providers[].setupIngressController`
[environments](#environments) > [providers](#environments[].providers[]) > setupIngressController

Set this to `nginx` to install/enable the NGINX ingress controller.

| Type | Required |
| ---- | -------- |
| `string` | No
Expand All @@ -413,12 +606,35 @@ sources:
repositoryUrl:
environments:
- providers:
- defaultHostname:
- buildMode: local
defaultHostname:
defaultUsername:
forceSsl: false
imagePullSecrets:
- name:
namespace: default
storage:
builder:
size: 10240
storageClass: null
registry:
size: 10240
storageClass: null
resources:
builder:
limits:
cpu: 2000
memory: 4096
requests:
cpu: 200
memory: 512
registry:
limits:
cpu: 2000
memory: 4096
requests:
cpu: 200
memory: 512
tlsCertificates:
- name:
hostnames:
Expand All @@ -435,4 +651,5 @@ environments:
ingressHttpPort: 80
ingressHttpsPort: 443
namespace:
setupIngressController: false
```
Loading

0 comments on commit 1fb89fc

Please sign in to comment.