docs(contributing): 📝 Add main README and signoz chart README

Signed-off-by: Prashant Shahi <prashant@signoz.io>
This commit is contained in:
Prashant Shahi
2022-02-18 09:37:34 +05:30
parent 3b793e04a3
commit f2388dd318
2 changed files with 241 additions and 1 deletions

View File

@@ -1,3 +1,58 @@
# SigNoz Helm Chart
Helm charts for SigNoz
SigNoz helm chart ready to be deployed on Kubernetes using [Kubernetes Helm](https://github.com/helm/helm).
## TL;DR
```bash
$ helm repo add signoz https://charts.signoz.io
$ helm install -n platform --create-namespace my-release signoz/signoz
```
## Before you begin
### Setup a Kubernetes Cluster
The quickest way to setup a staging/production Kubernetes cluster is with [Google Kubernetes Engine](https://cloud.google.com/kubernetes-engine/),
[AWS Elastic Kubernetes Service](https://aws.amazon.com/eks/) or [Azure Kubernetes Service](https://azure.microsoft.com/en-us/services/kubernetes-service/)
using their respective quick-start guides.
For setting up Kubernetes on other cloud platforms, bare-metal servers, or local machine refer to the Kubernetes
[getting started guide](https://kubernetes.io/docs/setup/).
### Install kubectl
The [Kubernetes](https://kubernetes.io/) command-line tool, `kubectl`, allows you to
run commands against Kubernetes clusters. You can use kubectl to deploy applications,
inspect and manage cluster resources, and view logs.
To install `kubectl` follow the instructions [here](https://kubernetes.io/docs/tasks/tools/install-kubectl/).
### Install Helm
[Helm](https://helm.sh/) is a tool for managing Kubernetes charts. Charts are packages
of pre-configured Kubernetes resources.
To install Helm follow the instructions [here](https://helm.sh/docs/intro/install/).
### Add SigNoz Repository
To add the SigNoz helm repository:
```bash
$ helm repo add signoz https://charts.signoz.io
```
### Usage
See the [README of SigNoz helm chart](./charts/signoz/README.md).
### Contribute the Chart
See the [instructions here to contribute](./CONTRIBUTING.md).
# License
MIT License
Copyright (c) 2022 SigNoz

185
charts/signoz/README.md Normal file
View File

@@ -0,0 +1,185 @@
# SigNoz
SigNoz is an open-source APM. It helps developers monitor their applications & troubleshoot problems,
an open-source alternative to DataDog, NewRelic, etc. Open source Application Performance Monitoring (APM)
& Observability tool.
### TL;DR;
```sh
helm repo add signoz https://charts.signoz.io
helm install -n platform --create-namespace "my-release" signoz/signoz
```
### Introduction
This chart bootstraps [SigNoz](https://signoz.io) cluster deployment on a
Kubernetes cluster using [Helm](https://helm.sh) package manager.
### Prerequisites
- Kubernetes 1.16+
- Helm 3.0+
### Installing the Chart
To install the chart with the release name `my-release`:
```bash
helm repo add signoz https://charts.signoz.io
helm -n platform --create-namespace install "my-release" signoz/signoz
```
These commands deploy SigNoz on the Kubernetes cluster in the default configuration.
The [Configuration](#configuration) section lists the parameters that can be configured during installation:
> **Tip**: List all releases using `helm list`
### Uninstalling the chart
To uninstall/delete the `my-release` resources:
```bash
helm -n platform uninstall "my-release"
```
See the [Helm docs](https://helm.sh/docs/helm/helm_uninstall/) for documentation on the helm uninstall command.
The command above removes all the Kubernetes components associated
with the chart and deletes the release.
Deletion of the StatefulSet doesn't cascade to deleting associated PVCs. To delete them:
```bash
kubectl -n platform delete pvc --selector app.kubernetes.io/instance=my-release
```
Sometimes everything doesn't get properly removed. If that happens try deleting the namespace:
```bash
kubectl delete namespace platform
```
## Configuration
The following table lists the configurable parameters of the `signoz` chart and their default values.
| Parameter | Description | Default |
| ---------------------------------------- | ----------------------------------------------------------------------- | --------------------------------- |
| `fullnameOverride` | SigNoz chart full name override (the release name is ignored) | `""` |
| `queryService.name` | Query Service component name | `query-service` |
| `queryService.image.registry` | Query Service image registry name | `docker.io` |
| `queryService.image.repository` | Container image name | `signoz/query-service` |
| `queryService.image.tag` | Container image tag | `0.6.1` |
| `queryService.image.pullPolicy` | Container pull policy | `IfNotPresent` |
| `queryService.replicas` | Number of query-service nodes | `1` |
| `queryService.initContainers.init.enabled` | Query Service initContainer enabled | `true` |
| `queryService.initContainers.init.image.registry` | Query Service initContainer registry name | `docker.io` |
| `queryService.initContainers.init.image.repository` | Query Service initContainer image nam| `queryService.nodeSelector` | Node labels for query-service pod assignment | `{}` |
| `queryService.tolerations` | Query Service tolerations | `[]` |
| `queryService.nodeAffinity` | Query Service affinity policy | `{}` |e | `busybox` |
| `queryService.initContainers.init.image.tag` | Query Service initContainer image tag | `1.35` |
| `queryService.initContainers.init.image.pullPolicy` | Query Service initContainer pull policy | `IfNotPresent` |
| `queryService.initContainers.init.command` | Query Service initContainer command line to execute | See `values.yaml` for defaults |
| `queryService.configVars` | Query Service configurations | See `values.yaml` for defaults |
| `queryService.imagePullSecrets` | Reference to secrets to be used when pulling images | `[]` |
| `queryService.serviceAccount.create` | Service account for query-service nodes enabled | `false` |
| `queryService.serviceAccount.annotations` | Service account annotations | `{}` |
| `queryService.serviceAccount.name` | Name of the service account | `{}` |
| `queryService.serviceAccount.name` | Name of the service account | `{}` |
| `queryService.resources` | Resources requests and limits | See `values.yaml` for defaults |
| `queryService.podSecurityContext` | Pods security context | `{}` |
| `queryService.securityContext` | Security context for query-service node | `{}` |
| `queryService.service.type` | Query Service service type | `ClusterIP` |
| `queryService.service.port` | Query Service service port | `8080` |
| `queryService.ingress.enabled` | Query Service ingress resource enabled | `false` |
| `queryService.ingress.hosts` | Query Service ingress virtual hosts | See `values.yaml` for defaults |
| `queryService.ingress.annotations` | Query Service ingress annotations | `nil` |
| `queryService.ingress.tls` | Query Service ingress TLS settings | `nil` |
| `queryService.nodeSelector` | Node labels for query-service pod assignment | `{}` |
| `queryService.tolerations` | Query Service tolerations | `[]` |
| `queryService.nodeAffinity` | Query Service affinity policy | `{}` |
| `frontend.name` | Frontend component name | `frontend` |
| `frontend.image.registry` | Frontend image registry name | `docker.io` |
| `frontend.image.repository` | Container image name | `signoz/frontend` |
| `frontend.image.tag` | Container image tag | `0.6.1` |
| `frontend.image.pullPolicy` | Container pull policy | `IfNotPresent` |
| `frontend.replicas` | Number of query-service nodes | `1` |
| `frontend.initContainers.init.enabled` | Frontend initContainer enabled | `true` |
| `frontend.initContainers.init.image.registry` | Frontend initContainer registry name | `docker.io` |
| `frontend.initContainers.init.image.repository` | Frontend initContainer image name | `busybox` |
| `frontend.initContainers.init.image.tag` | Frontend initContainer image tag | `1.35` |
| `frontend.initContainers.init.image.pullPolicy` | Frontend initContainer pull policy | `IfNotPresent` |
| `frontend.initContainers.init.command` | Frontend initContainer command line to execute | See `values.yaml` for defaults |
| `frontend.imagePullSecrets` | Reference to secrets to be used when pulling images | `[]` |
| `frontend.serviceAccount.create` | Service account for query-service nodes enabled | `false` |
| `frontend.serviceAccount.annotations` | Service account annotations | `{}` |
| `frontend.serviceAccount.name` | Name of the service account | `{}` |
| `frontend.resources` | Resources requests and limits | See `values.yaml` for defaults |
| `frontend.podSecurityContext` | Pods security context | `{}` |
| `frontend.securityContext` | Security context for query-service node | `{}` |
| `frontend.service.type` | Frontend service type | `ClusterIP` |
| `frontend.service.port` | Frontend service port | `3301` |
| `frontend.ingress.enabled` | Frontend ingress resource enabled | `false` |
| `frontend.ingress.hosts` | Frontend ingress virtual hosts | See `values.yaml` for defaults |
| `frontend.ingress.annotations` | Frontend ingress annotations | `nil` |
| `frontend.ingress.tls` | Frontend ingress TLS settings | `nil` |
| `frontend.nodeSelector` | Node labels for frontend pod assignment | `{}` |
| `frontend.tolerations` | Frontend tolerations | `[]` |
| `frontend.nodeAffinity` | Frontend affinity policy | `{}` |
| `otelCollector.name` | Otel Collector component name | `otel-collector` |
| `otelCollector.image.registry` | Otel Collector image registry name | `docker.io` |
| `otelCollector.image.repository` | Container image name | `signoz/query-service` |
| `otelCollector.image.tag` | Container image tag | `0.6.1` |
| `otelCollector.image.pullPolicy` | Container pull policy | `IfNotPresent` |
| `otelCollector.replicas` | Number of otel-collector nodes | `1` |
| `otelCollector.serviceType` | Otel Collector service type | `ClusterIP` |
| `otelCollector.ports` | Lists of ports exposed by otel-collector service | See `values.yaml` for defaults |
| `otelCollector.initContainers.init.enabled` | Otel Collector initContainer enabled | `true` |
| `otelCollector.initContainers.init.image.registry` | Otel Collector initContainer registry name | `docker.io` |
| `otelCollector.initContainers.init.image.repository` | Otel Collector initContainer image name | `busybox` |
| `otelCollector.initContainers.init.image.tag` | Otel Collector initContainer image tag | `1.35` |
| `otelCollector.initContainers.init.image.pullPolicy` | Otel Collector initContainer pull policy | `IfNotPresent` |
| `otelCollector.initContainers.init.command` | Otel Collector initContainer command line to execute | See `values.yaml` for defaults |
| `otelCollector.config` | Otel Collector configurations | See `values.yaml` for defaults |
| `otelCollector.imagePullSecrets` | Reference to secrets to be used when pulling images | `[]` |
| `otelCollector.serviceAccount.create` | Service account for otel-collector nodes enabled | `false` |
| `otelCollector.serviceAccount.annotations` | Service account annotations | `{}` |
| `otelCollector.serviceAccount.name` | Name of the service account | `{}` |
| `otelCollector.resources` | Resources requests and limits | See `values.yaml` for defaults |
| `otelCollector.livenessProbe` | Otel Collector liveness probes | See `values.yaml` for defaults |
| `otelCollector.readinessProbe` | Otel Collector readiness probes | See `values.yaml` for defaults |
| `otelCollector.customLivenessProbe` | Custom liveness probes (if `otelCollector.livenessProbe` not enabled) | `{}` |
| `otelCollector.customReadinessProbe` | Custom readiness probes (if `otelCollector.readinessProbe` not enabled) | `{}` |
| `otelCollector.podSecurityContext` | Pods security context | `{}` |
| `otelCollector.minReadySeconds` | Minimum seconds for otel-collector pod to be ready without crashing | `300` |
| `otelCollector.progressDeadlineSeconds` | Seconds to wait for the deployment to progress before fail reporting | `120` |
| `otelCollector.ballastSizeMib` | Ballast memory size in Mib | `683` |
| `otelCollectorMetrics.name` | Otel Collector Metrics component name | `otel-collector-metrics` |
| `otelCollectorMetrics.image.registry` | Otel Collector Metrics image registry name | `docker.io` |
| `otelCollectorMetrics.image.repository` | Container image name | `signoz/otelcontribcol` |
| `otelCollectorMetrics.image.tag` | Container image tag | `0.5.0` |
| `otelCollectorMetrics.image.pullPolicy` | Container pull policy | `IfNotPresent` |
| `otelCollectorMetrics.replicas` | Number of otel-collector-metrics nodes | `1` |
| `otelCollectorMetrics.serviceType` | Otel Collector service metrics type | `ClusterIP` |
| `otelCollectorMetrics.ports` | Lists of ports exposed by otel-collector-metrics service | See `values.yaml` for defaults |
| `otelCollectorMetrics.initContainers.init.enabled` | Otel Collector Metrics initContainer enabled | `true` |
| `otelCollectorMetrics.initContainers.init.image.registry` | Otel Collector Metrics initContainer registry name | `docker.io` |
| `otelCollectorMetrics.initContainers.init.image.repository` | Otel Collector Metrics initContainer image name | `busybox` |
| `otelCollectorMetrics.initContainers.init.image.tag` | Otel Collector Metrics initContainer image tag | `1.35` |
| `otelCollectorMetrics.initContainers.init.image.pullPolicy` | Otel Collector Metrics initContainer pull policy | `IfNotPresent` |
| `otelCollectorMetrics.initContainers.init.command` | Otel Collector Metrics initContainer command line to execute | See `values.yaml` for defaults |
| `otelCollectorMetrics.config` | Otel Collector Metrics configurations | See `values.yaml` for defaults |
| `otelCollectorMetrics.imagePullSecrets` | Reference to secrets to be used when pulling images | `[]` |
| `otelCollectorMetrics.serviceAccount.create` | Service account for otel-collector-metrics nodes enabled | `false` |
| `otelCollectorMetrics.serviceAccount.annotations` | Service account annotations | `{}` |
| `otelCollectorMetrics.serviceAccount.name` | Name of the service account | `{}` |
| `otelCollectorMetrics.resources` | Resources requests and limits | See `values.yaml` for defaults |
| `otelCollectorMetrics.livenessProbe` | Otel Collector Metrics liveness probes | See `values.yaml` for defaults |
| `otelCollectorMetrics.readinessProbe` | Otel Collector Metrics readiness probes | See `values.yaml` for defaults |
| `otelCollectorMetrics.customLivenessProbe` | Custom liveness probes (if `otelCollectorMetrics.livenessProbe` not enabled) | `{}` |
| `otelCollectorMetrics.customReadinessProbe` | Custom readiness probes (if `otelCollectorMetrics.readinessProbe` not enabled) | `{}` |
| `otelCollectorMetrics.minReadySeconds` | Minimum seconds for otel-collector-metrics pod to be ready without crashing | `300` |
| `otelCollectorMetrics.progressDeadlineSeconds` | Seconds to wait for the deployment to progress before fail reporting | `120` |
| `otelCollectorMetrics.ballastSizeMib` | Ballast memory size in Mib | `683` |