-
Notifications
You must be signed in to change notification settings - Fork 93
/
Copy pathREADME.md.gotmpl
137 lines (97 loc) · 4.49 KB
/
README.md.gotmpl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
# Vector
{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }}
[Vector](https://vector.dev/) is a high-performance, end-to-end observability data pipeline that puts you in control of your observability data. Collect, transform, and route all your logs, metrics, and traces to any vendors you want today and any other vendors you may want tomorrow. Vector enables dramatic cost reduction, novel data enrichment, and data security where you need it, not where is most convenient for your vendors.
## How to use Vector Helm repository
You need to add this repository to your Helm repositories:
```
helm repo add vector https://helm.vector.dev
helm repo update
```
{{ template "chart.requirementsSection" . }}
## Quick start
By default, Vector runs as a `StatefulSet` in the "Aggregator" role. It can alternatively run as a `Deployment` for the "Stateless-Aggregator" role or a `DaemonSet` for the "Agent" role.
### Installing the Vector chart
To install the chart with the release name `<RELEASE_NAME>` run:
```bash
helm install <RELEASE_NAME> vector/vector
```
### Upgrading
#### From original charts
* [Migrate from the `vector-agent` chart](docs/Migrate_from_vector-agent.md)
* [Migrate from the `vector-aggregator` chart](docs/Migrate_from_vector-aggregator.md)
### Uninstalling the chart
To uninstall/delete the `<RELEASE_NAME>` deployment:
```bash
helm delete <RELEASE_NAME>
```
The command removes all the Kubernetes components associated with the chart and deletes the release.
## Configuration
1. Using our [`default-values.yaml`](values.yaml) configuration file as a reference, create your own `values.yaml`.
2. Upgrade the Vector chart with your new `values.yaml` file:
```bash
helm upgrade -f values.yaml <RELEASE_NAME> vector/vector
```
**Vector recommends that your `values.yaml` only contain values that need to be overridden, as it allows a smoother experience when upgrading chart versions.**
See the [configuration options](#all-configuration-options) section to discover all possibilities offered by the Vector chart.
### Running on control plane nodes
Depending on your Kubernetes distribution, you may need to configure `tolerations` to run Vector on nodes acting as the control plane.
For example to run Vector on [Openshift](https://www.redhat.com/en/technologies/cloud-computing/openshift) control plane nodes you can set:
```yaml
tolerations:
- effect: NoSchedule
key: node-role.kubernetes.io/master
operator: Exists
- effect: NoSchedule
key: node-role.kubernetes.io/infra
operator: Exists
```
Or for [RKE](https://rancher.com/products/rke) control plane nodes set:
```yaml
tolerations:
- effect: NoSchedule
key: node-role.kubernetes.io/controlplane
operator: Exists
- effect: NoExecute
key: node-role.kubernetes.io/etcd
operator: Exists
```
### Using template syntax in `customConfig`
As Vector's [template syntax](https://vector.dev/docs/reference/configuration/template-syntax/) shares the same syntax as Helm templates, explicit handling is required
if you are using Vector's template syntax in the `customConfig` option. To avoid Helm templating configuration intended for Vector you can supply configuration like so:
```yaml
customConfig:
#...
sinks:
loki:
#...
labels:
foo: bar
host: |-
{{ print "{{ print \"{{ host }}\" }}" }}
source: |-
{{ print "{{ print \"{{ source_type }}\" }}" }}
```
## All configuration options
The following table lists the configurable parameters of the Vector chart and their default values. Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
```bash
helm install <RELEASE_NAME> \
vector/vector \
--set role=Agent
```
{{ template "chart.valuesHeader" . }}
### Vector values
| Key | Type | Default | Description |
|-----|------|---------|-------------|
{{- range .Values }}
{{- if not (contains "haproxy" .Key) }}
| {{ .Key }} | {{ .Type }} | {{ if .Default }}{{ .Default }}{{ else }}{{ .AutoDefault }}{{ end }} | {{ if .Description }}{{ .Description }}{{ else }}{{ .AutoDescription }}{{ end }} |
{{- end }}
{{- end }}
### HAProxy values
| Key | Type | Default | Description |
|-----|------|---------|-------------|
{{- range .Values }}
{{- if (contains "haproxy" .Key) }}
| {{ .Key }} | {{ .Type }} | {{ if .Default }}{{ .Default }}{{ else }}{{ .AutoDefault }}{{ end }} | {{ if .Description }}{{ .Description }}{{ else }}{{ .AutoDescription }}{{ end }} |
{{- end }}
{{- end }}