Skip to content

Commit

Permalink
add links to nested options, revise navigation
Browse files Browse the repository at this point in the history
  • Loading branch information
anastyakulyk committed Jun 27, 2024
1 parent 925bf4b commit 1177cfe
Show file tree
Hide file tree
Showing 12 changed files with 179 additions and 145 deletions.
6 changes: 3 additions & 3 deletions docs/examples-external-articles.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
# External Articles

Links to external articles about Cluster.dev:

* [Cluster.dev: All-in-One Tool for Cloud Native Infrastructure](https://itnext.io/cluster-dev-all-in-one-tool-for-cloud-native-infrastructure-636ed6ba8e28)

* [Mastering Cloud Infrastructure with Cluster.dev](https://medium.com/@AlexanderObregon/mastering-cloud-infrastructure-with-cluster-dev-37cc88a8edc0)
Expand All @@ -14,4 +12,6 @@ Links to external articles about Cluster.dev:

* [Deploy Kubernetes in Minutes: Effortless Infrastructure Creation and Application Deployment with Cluster.dev and Helm Charts](https://aws.plainenglish.io/deploy-kubernetes-in-minutes-effortless-infrastructure-creation-and-application-deployment-with-94141697fd59)

* [Cluster.dev: Is it the right Kubernetes Bootstrapping tool for you?](https://itnext.io/cluster-dev-is-it-the-right-kubernetes-bootstrapping-tool-for-you-6dd5e92aa9a0)
* [Cluster.dev: Is it the right Kubernetes Bootstrapping tool for you?](https://itnext.io/cluster-dev-is-it-the-right-kubernetes-bootstrapping-tool-for-you-6dd5e92aa9a0)

* [Cluster.dev: Expanding the Options for SaaS Deployment](https://thenewstack.io/cluster-dev-expanding-the-options-for-saas-deployment/)
2 changes: 1 addition & 1 deletion docs/how-does-cdev-work.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Capabilities:

## Basic diagram

![cdev diagram](./images/cdev-base-diagram-shema1_red.png)
<a href="https://docs.cluster.dev/images/cdev-base-diagram-shema1_red.png" target="_blank"><img src="https://docs.cluster.dev/images/cdev-base-diagram-shema1_red.png" /></a>

## Templating

Expand Down
4 changes: 2 additions & 2 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@ Cluster.dev is an open-source tool designed to manage cloud native infrastructur

Stack templates are composed of [units](https://docs.cluster.dev/units-overview/) - Lego-like building blocks responsible for passing variables to a particular technology.

![cdev unit example diagram](./images/cdev-unit-example.png)
<a href="https://docs.cluster.dev/images/cdev-unit-example.png" target="_blank"><img src="https://docs.cluster.dev/images/cdev-unit-example.png" /></a>

Templates define infrastructure patterns or even the whole platform.

![cdev template example diagram](./images/cdev-template-example.png)
<a href="https://docs.cluster.dev/images/cdev-template-example.png" target="_blank"><img src="https://docs.cluster.dev/images/cdev-template-example.png" /></a>

## Features

Expand Down
2 changes: 1 addition & 1 deletion docs/stack-templates-overview.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Overview

![cdev template diagram](./images/cdev-template-shema2.png)
<a href="https://docs.cluster.dev/images/cdev-template-shema2.png" target="_blank"><img src="https://docs.cluster.dev/images/cdev-template-shema2.png" /></a>

## Description

Expand Down
103 changes: 56 additions & 47 deletions docs/units-helm.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

Describes [Terraform Helm provider](https://registry.terraform.io/providers/hashicorp/helm/latest/docs) invocation.

## Example usage

In the example below we use `helm` unit to deploy Argo CD to a Kubernetes cluster:

```yaml
Expand Down Expand Up @@ -31,7 +33,7 @@ units:
global.image.tag: v1.8.3 # (same as values.set )
```
In addition to common options the following are available:
## Options
* `force_apply` - *bool*, *optional*. By default is false. If set to true, the unit will be applied when any dependent unit is changed.

Expand All @@ -44,38 +46,43 @@ In addition to common options the following are available:

* `additional_options` - *map of any*, *optional*. Corresponds to [Terraform helm_release resource options](https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release#argument-reference). Will be passed as is.

* `values` - *array*, *optional*. List of values (file name or values data) to be passed to Helm. Values will be merged, in order, as Helm does with multiple -f options.
* [`values`](#values) - *array*, *optional*. List of values (file name or values data) to be passed to Helm. Values will be merged, in order, as Helm does with multiple -f options. For details see below.

* `set` - *map of any*, *required one of set/file*. Set of Helm values. This option allows you to transfer the value of the Helm chart without saving it to a file.
* `inputs` - *map of any*, *optional*. A map that represents [Terraform helm_release sets](https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release#set). This block allows to use functions `remoteState` and `insertYAML`.
For example:

* `file` - *string*, *required one of set/file*. Path to the values file.
```yaml
inputs:
global.image.tag: v1.8.3
service.type: LoadBalancer
```

* `apply_template` - *bool*, *optional*. Defines whether a template should be applied to the values file. By default is set to `true`. Used only with `file` option.
Corresponds to:

* `inputs` - *map of any*, *optional*. A map that represents [Terraform helm_release sets](https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release#set). This block allows to use functions `remoteState` and `insertYAML`. For example:
```yaml
set {
name = "global.image.tag"
value = "v1.8.3"
}
set {
name = "service.type"
value = "LoadBalancer"
}
```

```yaml
inputs:
global.image.tag: v1.8.3
service.type: LoadBalancer
```
* [`provider_conf`](#provider_conf) - configuration block that describes authorization in Kubernetes. Supports the same arguments as the [Terraform Kubernetes provider](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs#argument-reference). It is allowed to use the `remoteState` function and Cluster.dev templates within the block. For details see below.

Corresponds to:
### `values`

```yaml
set {
name = "global.image.tag"
value = "v1.8.3"
}
set {
name = "service.type"
value = "LoadBalancer"
}
```
* `set` - *map of any*, *required one of set/file*. Set of Helm values. This option allows you to transfer the value of the Helm chart without saving it to a file.

* `provider_conf` - configuration block that describes authorization in Kubernetes. Supports the same arguments as the [Terraform Kubernetes provider](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs#argument-reference). It is allowed to use the `remoteState` function and Cluster.dev templates within the block.
* `file` - *string*, *required one of set/file*. Path to the values file.

Example usage:
* `apply_template` - *bool*, *optional*. Defines whether a template should be applied to the values file. By default is set to `true`. Used only with `file` option.

### `provider_conf`

Example usage:

```yaml
name: cert-manager-issuer
Expand All @@ -88,46 +95,48 @@ In addition to common options the following are available:
password: "secretPassword"
```

* `host` - *optional*. The hostname (in form of URI) of the Kubernetes API. Can be sourced from `KUBE_HOST`.
* `host` - *optional*. The hostname (in form of URI) of the Kubernetes API. Can be sourced from `KUBE_HOST`.

* `username` - *optional*. The username to use for HTTP basic authentication when accessing the Kubernetes API. Can be sourced from `KUBE_USER`.

* `password` - *optional*. The password to use for HTTP basic authentication when accessing the Kubernetes API. Can be sourced from `KUBE_PASSWORD`.

* `insecure` - *optional*. Whether the server should be accessed without verifying the TLS certificate. Can be sourced from `KUBE_INSECURE`. Defaults to `false`.

* `username` - *optional*. The username to use for HTTP basic authentication when accessing the Kubernetes API. Can be sourced from `KUBE_USER`.
* `tls_server_name` - *optional*. Server name passed to the server for SNI and is used in the client to check server certificates against. Can be sourced from `KUBE_TLS_SERVER_NAME`.

* `password` - *optional*. The password to use for HTTP basic authentication when accessing the Kubernetes API. Can be sourced from `KUBE_PASSWORD`.
* `client_certificate` - *optional*. PEM-encoded client certificate for TLS authentication. Can be sourced from `KUBE_CLIENT_CERT_DATA`.

* `insecure` - *optional*. Whether the server should be accessed without verifying the TLS certificate. Can be sourced from `KUBE_INSECURE`. Defaults to `false`.
* `client_key` - *optional*. PEM-encoded client certificate key for TLS authentication. Can be sourced from `KUBE_CLIENT_KEY_DATA`.

* `tls_server_name` - *optional*. Server name passed to the server for SNI and is used in the client to check server certificates against. Can be sourced from `KUBE_TLS_SERVER_NAME`.
* `client_ca_certificate` - *optional*. PEM-encoded root certificates bundle for TLS authentication. Can be sourced from `KUBE_CLUSTER_CA_CERT_DATA`.

* `client_certificate` - *optional*. PEM-encoded client certificate for TLS authentication. Can be sourced from `KUBE_CLIENT_CERT_DATA`.
* `config_path` - *optional*. A path to a kube config file. Can be sourced from `KUBE_CONFIG_PATH`.

* `client_key` - *optional*. PEM-encoded client certificate key for TLS authentication. Can be sourced from `KUBE_CLIENT_KEY_DATA`.
* `config_paths` - *optional*. A list of paths to the kube config files. Can be sourced from `KUBE_CONFIG_PATHS`.

* `client_ca_certificate` - *optional*. PEM-encoded root certificates bundle for TLS authentication. Can be sourced from `KUBE_CLUSTER_CA_CERT_DATA`.
* `config_context` - *optional*. Context to choose from the config file. Can be sourced from `KUBE_CTX`.

* `config_path` - *optional*. A path to a kube config file. Can be sourced from `KUBE_CONFIG_PATH`.
* `config_context_auth_info` - *optional*. Authentication info context of the kube config (name of the kubeconfig user, `--user` flag in `kubectl`). Can be sourced from `KUBE_CTX_AUTH_INFO`.

* `config_paths` - *optional*. A list of paths to the kube config files. Can be sourced from `KUBE_CONFIG_PATHS`.
* `config_context_cluster` - *optional*. Cluster context of the kube config (name of the kubeconfig cluster, `--cluster` flag in `kubectl`). Can be sourced from `KUBE_CTX_CLUSTER`.

* `config_context` - *optional*. Context to choose from the config file. Can be sourced from `KUBE_CTX`.
* `token` - *optional*. Token of your service account. Can be sourced from `KUBE_TOKEN`

* `config_context_auth_info` - *optional*. Authentication info context of the kube config (name of the kubeconfig user, `--user` flag in `kubectl`). Can be sourced from `KUBE_CTX_AUTH_INFO`.
* `proxy_url` - *optional*. URL to the proxy to be used for all API requests. URLs with "http", "https", and "socks5" schemes are supported. Can be sourced from `KUBE_PROXY_URL`.

* `config_context_cluster` - *optional*. Cluster context of the kube config (name of the kubeconfig cluster, `--cluster` flag in `kubectl`). Can be sourced from `KUBE_CTX_CLUSTER`.
* `exec` - *optional*. Configuration block to use an [exec-based credential plugin](https://kubernetes.io/docs/reference/access-authn-authz/authentication/#client-go-credential-plugins), e.g. call an external command to receive user credentials.

* `token` - *optional*. Token of your service account. Can be sourced from `KUBE_TOKEN`
* `api_version` - *required*. API version to use when decoding the ExecCredentials resource, e.g. `client.authentication.k8s.io/v1beta1`.

* `proxy_url` - *optional*. URL to the proxy to be used for all API requests. URLs with "http", "https", and "socks5" schemes are supported. Can be sourced from `KUBE_PROXY_URL`.
* `command` - *required*. Command to execute.

* `exec` - *optional*. Configuration block to use an [exec-based credential plugin](https://kubernetes.io/docs/reference/access-authn-authz/authentication/#client-go-credential-plugins), e.g. call an external command to receive user credentials.
* `args` - *optional*. List of arguments to pass when executing the plugin.

* `api_version` - *required*. API version to use when decoding the ExecCredentials resource, e.g. `client.authentication.k8s.io/v1beta1`.
* `env` - *optional*. Map of environment variables to set when executing the plugin.

* `command` - *required*. Command to execute.
* `ignore_annotations` - *optional*. List of Kubernetes metadata annotations to ignore across all resources handled by this provider for situations where external systems are managing certain resource annotations. This option does not affect annotations within a template block. Each item is a regular expression.

* `args` - *optional*. List of arguments to pass when executing the plugin.
* `ignore_labels` - *optional*. List of Kubernetes metadata labels to ignore across all resources handled by this provider for situations where external systems are managing certain resource labels. This option does not affect annotations within a template block. Each item is a regular expression.

* `env` - *optional*. Map of environment variables to set when executing the plugin.

* `ignore_annotations` - *optional*. List of Kubernetes metadata annotations to ignore across all resources handled by this provider for situations where external systems are managing certain resource annotations. This option does not affect annotations within a template block. Each item is a regular expression.

* `ignore_labels` - *optional*. List of Kubernetes metadata labels to ignore across all resources handled by this provider for situations where external systems are managing certain resource labels. This option does not affect annotations within a template block. Each item is a regular expression.
2 changes: 1 addition & 1 deletion docs/units-k8s-manifest.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

Applies Kubernetes resources from manifests.

Example:
## Example usage

```yaml
- name: kubectl-test2
Expand Down
Loading

0 comments on commit 1177cfe

Please sign in to comment.