blob: 2d939ae03840b7c1ee71482bc8628116ad0bda38 [file] [log] [blame]
Mohammed Naser8a2c8fb2023-02-19 17:23:55 +00001# Vector
2
3{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }}
4
5[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.
6
7## How to use Vector Helm repository
8
9You need to add this repository to your Helm repositories:
10
11```
12helm repo add vector https://helm.vector.dev
13helm repo update
14```
15
16{{ template "chart.requirementsSection" . }}
17
18## Quick start
19
20By 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.
21
22### Installing the Vector chart
23
24To install the chart with the release name `<RELEASE_NAME>` run:
25
26```bash
27helm install --name <RELEASE_NAME> \
28 vector/vector
29```
30
31### Upgrading
32
33#### From original charts
34
35* [Migrate from the `vector-agent` chart](docs/Migrate_from_vector-agent.md)
36* [Migrate from the `vector-aggregator` chart](docs/Migrate_from_vector-aggregator.md)
37
38### Uninstalling the chart
39
40To uninstall/delete the `<RELEASE_NAME>` deployment:
41
42```bash
43helm delete <RELEASE_NAME>
44```
45
46The command removes all the Kubernetes components associated with the chart and deletes the release.
47
48## Configuration
49
501. Using our [`default-values.yaml`](values.yaml) configuration file as a reference, create your own `values.yaml`.
512. Upgrade the Vector chart with your new `values.yaml` file:
52
53```bash
54helm upgrade -f values.yaml <RELEASE_NAME> vector/vector
55```
56
57**Vector recommends that your `values.yaml` only contain values that need to be overridden, as it allows a smoother experience when upgrading chart versions.**
58
59See the [configuration options](#all-configuration-options) section to discover all possibilities offered by the Vector chart.
60
61### Running on control plane nodes
62
63Depending on your Kubernetes distribution, you may need to configure `tolerations` to run Vector on nodes acting as the control plane.
64
65For example to run Vector on [Openshift](https://www.redhat.com/en/technologies/cloud-computing/openshift) control plane nodes you can set:
66
67```yaml
68tolerations:
69 - effect: NoSchedule
70 key: node-role.kubernetes.io/master
71 operator: Exists
72 - effect: NoSchedule
73 key: node-role.kubernetes.io/infra
74 operator: Exists
75```
76
77Or for [RKE](https://rancher.com/products/rke) control plane nodes set:
78
79```yaml
80tolerations:
81 - effect: NoSchedule
82 key: node-role.kubernetes.io/controlplane
83 operator: Exists
84 - effect: NoExecute
85 key: node-role.kubernetes.io/etcd
86 operator: Exists
87```
88
89### Using template syntax in `customConfig`
90
91As Vector's [template syntax](https://vector.dev/docs/reference/configuration/template-syntax/) shares the same syntax as Helm templates, explicit handling is required
92if 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:
93
94```yaml
95customConfig:
96 #...
97 sinks:
98 loki:
99 #...
100 labels:
101 foo: bar
102 host: |-
103 {{ print "{{ print \"{{ host }}\" }}" }}
104 source: |-
105 {{ print "{{ print \"{{ source_type }}\" }}" }}
106```
107
108## All configuration options
109
110The 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,
111
112```bash
113helm install --name <RELEASE_NAME> \
114 --set role=Agent \
115 vector/vector
116```
117
118{{ template "chart.valuesHeader" . }}
119
120### Vector values
121
122| Key | Type | Default | Description |
123|-----|------|---------|-------------|
124{{- range .Values }}
125 {{- if not (contains "haproxy" .Key) }}
126| {{ .Key }} | {{ .Type }} | {{ if .Default }}{{ .Default }}{{ else }}{{ .AutoDefault }}{{ end }} | {{ if .Description }}{{ .Description }}{{ else }}{{ .AutoDescription }}{{ end }} |
127 {{- end }}
128{{- end }}
129
130### HAProxy values
131
132| Key | Type | Default | Description |
133|-----|------|---------|-------------|
134{{- range .Values }}
135 {{- if (contains "haproxy" .Key) }}
136| {{ .Key }} | {{ .Type }} | {{ if .Default }}{{ .Default }}{{ else }}{{ .AutoDefault }}{{ end }} | {{ if .Description }}{{ .Description }}{{ else }}{{ .AutoDescription }}{{ end }} |
137 {{- end }}
138{{- end }}