Convert helm-charts-observability to regular directory
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
# Patterns to ignore when building packages.
|
||||
# This supports shell glob matching, relative path matching, and
|
||||
# negation (prefixed with !). Only one pattern per line.
|
||||
.DS_Store
|
||||
# Common VCS dirs
|
||||
.git/
|
||||
.gitignore
|
||||
.bzr/
|
||||
.bzrignore
|
||||
.hg/
|
||||
.hgignore
|
||||
.svn/
|
||||
# Common backup files
|
||||
*.swp
|
||||
*.bak
|
||||
*.tmp
|
||||
*.orig
|
||||
*~
|
||||
# Various IDEs
|
||||
.project
|
||||
.idea/
|
||||
*.tmproj
|
||||
.vscode/
|
||||
@@ -0,0 +1,117 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
---
|
||||
## [Unreleased]
|
||||
### Added
|
||||
### Changed
|
||||
### Deprecated
|
||||
### Removed
|
||||
### Fixed
|
||||
### Security
|
||||
---
|
||||
## [3.7.0]
|
||||
### Added
|
||||
- Updated OpenSearch Dashboards appVersion to 3.7.0
|
||||
### Changed
|
||||
### Deprecated
|
||||
### Removed
|
||||
### Fixed
|
||||
### Security
|
||||
---
|
||||
## [3.6.0]
|
||||
### Added
|
||||
- Updated OpenSearch Dashboards appVersion to 3.6.0
|
||||
### Changed
|
||||
### Deprecated
|
||||
### Removed
|
||||
### Fixed
|
||||
### Security
|
||||
---
|
||||
## [3.5.0]
|
||||
### Added
|
||||
- Updated OpenSearch Dashboards appVersion to 3.5.0
|
||||
### Changed
|
||||
### Deprecated
|
||||
### Removed
|
||||
### Fixed
|
||||
### Security
|
||||
---
|
||||
## [3.4.0]
|
||||
### Added
|
||||
- Updated OpenSearch Dashboards appVersion to 3.4.0
|
||||
### Changed
|
||||
### Deprecated
|
||||
### Removed
|
||||
### Fixed
|
||||
### Security
|
||||
---
|
||||
## [3.3.0]
|
||||
### Added
|
||||
- Updated OpenSearch Dashboards appVersion to 3.3.0
|
||||
### Changed
|
||||
### Deprecated
|
||||
### Removed
|
||||
### Fixed
|
||||
### Security
|
||||
---
|
||||
## [3.2.2]
|
||||
### Added
|
||||
- Support for disabling automountServiceAccountToken
|
||||
### Changed
|
||||
### Deprecated
|
||||
### Removed
|
||||
### Fixed
|
||||
### Security
|
||||
---
|
||||
## [3.2.1]
|
||||
### Added
|
||||
### Changed
|
||||
- Correct changelogs
|
||||
### Deprecated
|
||||
### Removed
|
||||
### Fixed
|
||||
### Security
|
||||
---
|
||||
## [3.2.0]
|
||||
### Added
|
||||
- Updated OpenSearch Dashboards appVersion to 3.2.0
|
||||
### Changed
|
||||
### Deprecated
|
||||
### Removed
|
||||
### Fixed
|
||||
### Security
|
||||
---
|
||||
## [3.1.0]
|
||||
### Added
|
||||
- Updated OpenSearch Dashboards appVersion to 3.1.0
|
||||
### Changed
|
||||
### Deprecated
|
||||
### Removed
|
||||
### Fixed
|
||||
### Security
|
||||
---
|
||||
## [3.0.0]
|
||||
### Added
|
||||
- Switch main branch to be 3.x with 3.0.0 as 1st release
|
||||
### Changed
|
||||
### Deprecated
|
||||
### Removed
|
||||
### Fixed
|
||||
### Security
|
||||
|
||||
[Unreleased]: https://github.com/opensearch-project/helm-charts/compare/opensearch-dashboards-3.7.0...HEAD
|
||||
[3.7.0]: https://github.com/opensearch-project/helm-charts/compare/opensearch-dashboards-3.6.0...opensearch-dashboards-3.7.0
|
||||
[3.6.0]: https://github.com/opensearch-project/helm-charts/compare/opensearch-dashboards-3.5.0...opensearch-dashboards-3.6.0
|
||||
[3.5.0]: https://github.com/opensearch-project/helm-charts/compare/opensearch-dashboards-3.4.0...opensearch-dashboards-3.5.0
|
||||
[3.4.0]: https://github.com/opensearch-project/helm-charts/compare/opensearch-dashboards-3.3.0...opensearch-dashboards-3.4.0
|
||||
[3.3.0]: https://github.com/opensearch-project/helm-charts/compare/opensearch-dashboards-3.2.2...opensearch-dashboards-3.3.0
|
||||
[3.2.2]: https://github.com/opensearch-project/helm-charts/compare/opensearch-dashboards-3.2.1...opensearch-dashboards-3.2.2
|
||||
[3.2.1]: https://github.com/opensearch-project/helm-charts/compare/opensearch-dashboards-3.2.0...opensearch-dashboards-3.2.1
|
||||
[3.2.0]: https://github.com/opensearch-project/helm-charts/compare/opensearch-dashboards-3.1.0...opensearch-dashboards-3.2.0
|
||||
[3.1.0]: https://github.com/opensearch-project/helm-charts/compare/opensearch-dashboards-3.0.0...opensearch-dashboards-3.1.0
|
||||
[3.0.0]: https://github.com/opensearch-project/helm-charts/compare/opensearch-dashboards-2.29.0...opensearch-dashboards-3.0.0
|
||||
@@ -0,0 +1,31 @@
|
||||
apiVersion: v2
|
||||
name: opensearch-dashboards
|
||||
description: A Helm chart for OpenSearch Dashboards
|
||||
|
||||
# A chart can be either an 'application' or a 'library' chart.
|
||||
#
|
||||
# Application charts are a collection of templates that can be packaged into versioned archives
|
||||
# to be deployed.
|
||||
#
|
||||
# Library charts provide useful utilities or functions for the chart developer. They're included as
|
||||
# a dependency of application charts to inject those utilities and functions into the rendering
|
||||
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
|
||||
type: application
|
||||
|
||||
# This is the chart version. This version number should be incremented each time you make changes
|
||||
# to the chart and its templates, including the app version.
|
||||
# Versions are expected to follow Semantic Versioning (https://semver.org/)
|
||||
version: 3.7.0
|
||||
|
||||
# This is the version number of the application being deployed. This version number should be
|
||||
# incremented each time you make changes to the application. Versions are not expected to
|
||||
# follow Semantic Versioning. They should reflect the version the application is using.
|
||||
# It is recommended to use it with quotes.
|
||||
appVersion: "3.7.0"
|
||||
|
||||
maintainers:
|
||||
- name: DandyDeveloper
|
||||
- name: gaiksaya
|
||||
- name: peterzhuamazon
|
||||
- name: prudhvigodithi
|
||||
- name: TheAlgo
|
||||
141
helm-charts-observability/charts/opensearch-dashboards/README.md
Normal file
141
helm-charts-observability/charts/opensearch-dashboards/README.md
Normal file
@@ -0,0 +1,141 @@
|
||||
# OpenSearch Dashboards Helm Chart
|
||||
|
||||
This Helm chart installs [OpenSearch Dashboards](https://github.com/opensearch-project/OpenSearch-Dashboards) with configurable TLS, RBAC and much more configurations. This chart caters to a number of different use cases and setups.
|
||||
|
||||
- [Requirements](#requirements)
|
||||
- [Installing](#installing)
|
||||
- [Uninstalling](#uninstalling)
|
||||
|
||||
## Requirements
|
||||
|
||||
- Kubernetes >= 1.14
|
||||
- Helm >= 2.17.0
|
||||
- We recommend you to have 8 GiB of memory available for this deployment, or at least 4 GiB for the minimum requirement. Else, the deployment is expected to fail.
|
||||
|
||||
## Installing
|
||||
|
||||
Once you've added this Helm repository as per the repository-level [README](../../README.md#installing)
|
||||
then you can install the chart as follows:
|
||||
|
||||
```shell
|
||||
helm install my-release opensearch/opensearch-dashboards
|
||||
```
|
||||
|
||||
The command deploys OpenSearch Dashboards with its associated components on the Kubernetes cluster in the default configuration.
|
||||
|
||||
**NOTE:** If using Helm 2 then you'll need to add the [`--name`](https://v2.helm.sh/docs/helm/#options-21) command line argument. If unspecified, Helm 2 will autogenerate a name for you.
|
||||
|
||||
## Uninstalling
|
||||
|
||||
To delete/uninstall the chart with the release name `my-release`:
|
||||
|
||||
```shell
|
||||
helm uninstall my-release
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
| Parameter | Description | Default |
|
||||
| :--- | :--- | :--- |
|
||||
| `envFrom` | Templatable string to be passed to the [environment from variables][] which will be appended to the `envFrom:` definition for the container | `[]` |
|
||||
| `config` | Allows you to add any config files in `/usr/share/opensearch-dashboards/` such as `opensearch_dashboards.yml`. String or map format may be used for specifying content of each configuration file. In case of string format, the whole content of the config file will be replaced by new config file value when in case of using map format content of configuration file will be a result of merge. In both cases content passed through tpl. See [values.yaml][] for an example of the formatting | `{}` |
|
||||
| `extraContainers` | Array of extra containers | `""` |
|
||||
| `extraEnvs` | Extra environments variables to be passed to OpenSearch services | `[]` |
|
||||
| `extraInitContainers` | Array of extra init containers | `[]` |
|
||||
| `extraVolumeMounts` | Array of extra volume mounts | `[]` |
|
||||
| `extraVolumes` | Array of extra volumes to be added | `[]` |
|
||||
| `fullnameOverride` | Overrides the `clusterName` and `nodeGroup` when used in the naming of resources. This should only be used when using a single `nodeGroup`, otherwise you will have name conflicts | `""` |
|
||||
| `hostAliases` | Configurable [hostAliases][] | `[]` |
|
||||
| `image.pullPolicy` | The Kubernetes [imagePullPolicy][] value | `IfNotPresent` |
|
||||
| `imagePullSecrets` | Configuration for [imagePullSecrets][] so that you can use a private registry for your image | `[]` |
|
||||
| `image.tag` | The OpenSearch Docker image tag | `1.0.0` |
|
||||
| `image.repository` | The OpenSearch Docker image | `opensearchproject/opensearch` |
|
||||
| `ingress` | Configurable [ingress][] to expose the OpenSearch service. See [values.yaml][] for an example | see [values.yaml][] |
|
||||
| `labels` | Configurable [labels][] applied to all OpenSearch pods | `{}` |
|
||||
| `lifecycle` | Allows you to add [lifecycle hooks](https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/). See [values.yaml][] for an example | `{}` |
|
||||
| `nameOverride` | Overrides the `clusterName` when used in the naming of resources | `""` |
|
||||
| `nodeSelector` | Configurable [nodeSelector][] so that you can target specific nodes for your OpenSearch cluster | `{}` |
|
||||
| `podAnnotations` | Configurable [annotations][] applied to all OpenSearch pods | `{}` |
|
||||
| `podSecurityContext` | Allows you to set the [securityContext][] for the pod | see [values.yaml][] |
|
||||
| `priorityClassName` | The name of the [PriorityClass][]. No default is supplied as the PriorityClass must be created first | `""` |
|
||||
| `rbac` | Configuration for creating a role, role binding and ServiceAccount as part of this Helm chart with `create: true`. Also can be used to reference an external ServiceAccount with `serviceAccountName: "externalServiceAccountName"` | see [values.yaml][] |
|
||||
| `resources` | Allows you to set the [resources][] for the StatefulSet | see [values.yaml][] |
|
||||
| `secretMounts` | Allows you easily mount a secret as a file inside the StatefulSet. Useful for mounting certificates and other secrets. See [values.yaml][] for an example | `[]` |
|
||||
| `securityContext` | Allows you to set the [securityContext][] for the container | see [values.yaml][] |
|
||||
| `service.annotations` | [LoadBalancer annotations][] that Kubernetes will use for the service. This will configure load balancer if `service.type` is `LoadBalancer` | `{}` |
|
||||
| `service.headless.annotations` | Allow you to set annotations on the headless service | `{}` |
|
||||
| `service.externalTrafficPolicy` | Some cloud providers allow you to specify the [LoadBalancer externalTrafficPolicy][]. Kubernetes will use this to preserve the client source IP. This will configure load balancer if `service.type` is `LoadBalancer` | `""` |
|
||||
| `service.httpPortName` | The name of the http port within the service | `http` |
|
||||
| `service.labelsHeadless` | Labels to be added to headless service | `{}` |
|
||||
| `service.labels` | Labels to be added to non-headless service | `{}` |
|
||||
| `service.loadBalancerIP` | Some cloud providers allow you to specify the [loadBalancer][] IP. If the `loadBalancerIP` field is not specified, the IP is dynamically assigned. If you specify a `loadBalancerIP` but your cloud provider does not support the feature, it is ignored. | `""` |
|
||||
| `service.loadBalancerSourceRanges` | The IP ranges that are allowed to access | `[]` |
|
||||
| `service.nodePort` | Custom [nodePort][] port that can be set if you are using `service.type: nodePort` | `""` |
|
||||
| `service.transportPortName` | The name of the transport port within the service | `transport` |
|
||||
| `service.type` | OpenSearch [Service Types][] | `ClusterIP` |
|
||||
| `service.ipFamilyPolicy` | This sets the preferred ip addresses in case of a dual-stack server, there are three options [PreferDualStack, SingleStack, RequireDualStack], [more information on dual stack](https://kubernetes.io/docs/concepts/services-networking/dual-stack/) | `""` |
|
||||
| `service.ipFamilies` | Sets the preferred IP variants and in which order they are preferred, the first family you list is used for the legacy .spec.ClusterIP field, [more information on dual stack](https://kubernetes.io/docs/concepts/services-networking/dual-stack/) | `""` |
|
||||
| `service.metricsPort` | The metrics port (for Performance Analyzer) that Kubernetes will use for the service. | `9601` |
|
||||
| `service.metricsPortName` | The name of the metrics port (for Performance Analyzer) within the service | `metrics` |
|
||||
| `serviceAccount.automountServiceAccountToken` | Specifies whether the Kubernetes API token for the ServiceAccount should be automatically mounted to the pod. | `true` |
|
||||
| `tolerations` | Configurable [tolerations][] | `[]` |
|
||||
| `topologySpreadConstraints` | Configuration for pod [topologySpreadConstraints][] | `[]` |
|
||||
| `updateStrategy` | The [updateStrategy][] for the StatefulSet. By default Kubernetes will wait for the cluster to be green after upgrading each pod. Setting this to `OnDelete` will allow you to manually delete each pod during upgrades | `RollingUpdate` |
|
||||
| `extraObjects` | Array of extra K8s manifests to deploy | list `[]` |
|
||||
| `autoscaling.enabled` | Prerequisite: Install/Configure metrics server, to install use `kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml`, See [Metrics Server](https://github.com/kubernetes-sigs/metrics-server). | false |
|
||||
| `autoscaling.minReplicas` | The lower limit for the number of replicas to which the autoscaler can scale down. | 1 |
|
||||
| `autoscaling.maxReplicas` | The upper limit for the number of replicas to which the autoscaler can scale up. | 10 |
|
||||
| `autoscaling.targetCPU` | The target value of the average CPU across all OpenSearch Dashboards pods. | 80 |
|
||||
| `autoscaling.targetMemory` | The target value of the average memory across all OpenSearch Dashboards pods. Value should be tuned based on the requested memory value for OpenSearch Dashboards pods. Scaling based on memory utilization may be necessary for large datasets or complex dashboards. | 80 |
|
||||
| `livenessProbe` | Configuration fields for the liveness [probe][] | see [exampleLiveness][] in `values.yaml`|
|
||||
| `readinessProbe` | Configuration fields for the readiness [probe][] | see [exampleReadiness][] in `values.yaml`|
|
||||
| `startupProbe` | Configuration fields for the startup [probe][] | see [exampleStartup][] in `values.yaml` |
|
||||
| `plugins.enabled` | Allow/disallow to add 3rd Party / Custom plugins not offered in the default OpenSearchDashboards image | false |
|
||||
| `plugins.installList` | Array containing the Opensearch Dashboards plugins to be installed in container | [] |
|
||||
| `opensearchDashboardsYml.defaultMode` | Allow you to set the defaultMode for the opensearch_dashboards.yml mounted as configMap | |
|
||||
| `dashboardAnnotations` | Allows you to configure custom annotation in the deployement of the OpenSearchDashboards container | {} |
|
||||
| `serviceMonitor.enabled` | Enables the creation of a [ServiceMonitor] resource for Prometheus monitoring. Requires the Prometheus Operator to be installed in your Kubernetes cluster. | `false` |
|
||||
| `serviceMonitor.path` | Path where metrics are exposed. Applicable only if `serviceMonitor.enabled` is set to `true`. | `/_prometheus/metrics` |
|
||||
| `serviceMonitor.interval` | Interval at which metrics should be scraped by Prometheus. Applicable only if `serviceMonitor.enabled` is set to `true`. | `10s` |
|
||||
|
||||
[environment from variables]: https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/#configure-all-key-value-pairs-in-a-configmap-as-container-environment-variables
|
||||
|
||||
[values.yaml]:https://github.com/opensearch-project/helm-charts/blob/main/charts/opensearch/values.yaml
|
||||
|
||||
[hostAliases]: https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
|
||||
|
||||
[imagepullPolicy]: https://kubernetes.io/docs/concepts/containers/images/#updating-images
|
||||
[imagePullSecrets]: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
|
||||
[ingress]: https://kubernetes.io/docs/concepts/services-networking/ingress/
|
||||
[resources]: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
|
||||
|
||||
[labels]: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
|
||||
|
||||
[nodeSelector]: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
|
||||
|
||||
[annotations]: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
|
||||
|
||||
[securityContext]: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
|
||||
|
||||
[priorityClass]: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass
|
||||
|
||||
[loadBalancer annotations]: https://kubernetes.io/docs/concepts/services-networking/service/#ssl-support-on-aws
|
||||
[loadBalancer externalTrafficPolicy]: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
|
||||
[loadBalancer]: https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer
|
||||
|
||||
[nodePort]: https://kubernetes.io/docs/concepts/services-networking/service/#nodeport
|
||||
|
||||
[tolerations]: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
|
||||
|
||||
[updateStrategy]: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/
|
||||
|
||||
[service types]: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
|
||||
|
||||
[probe]: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-readiness-probes
|
||||
|
||||
[exampleStartup]: https://github.com/opensearch-project/helm-charts/blob/main/charts/opensearch-dashboards/values.yaml#17
|
||||
[exampleLiveness]: https://github.com/opensearch-project/helm-charts/blob/main/charts/opensearch-dashboards/values.yaml#27
|
||||
[exampleReadiness]: https://github.com/opensearch-project/helm-charts/blob/main/charts/opensearch-dashboards/values.yaml#37
|
||||
[topologySpreadConstraints]: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints
|
||||
|
||||
[ServiceMonitor]: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#servicemonitor
|
||||
@@ -0,0 +1,7 @@
|
||||
apiVersion: v1
|
||||
data:
|
||||
KIBANASERVER_PASSWORD: RW5wMTI5czBmMA==
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: opensearch-kibanaserver-password
|
||||
namespace: observability
|
||||
@@ -0,0 +1,7 @@
|
||||
apiVersion: v1
|
||||
data:
|
||||
root-ca.pem: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUY3VENDQTlXZ0F3SUJBZ0lVTC9hTytnYS9YY3lzakFYbGh1WG92d0xLWkJjd0RRWUpLb1pJaHZjTkFRRUwKQlFBd2dZVXhDekFKQmdOVkJBWVRBa0pFTVE0d0RBWURWUVFJREFWRWFHRnJZVEVPTUF3R0ExVUVCd3dGUkdoaAphMkV4RWpBUUJnTlZCQW9NQ1VKeWFXeHNhV0Z1ZERFYk1Ca0dBMVVFQ3d3U1QzQmxibE5sWVhKamFDQlNiMjkwCklFTkJNU1V3SXdZRFZRUUREQnhDY21sc2JHbGhiblFnVDNCbGJsTmxZWEpqYUNCU2IyOTBJRU5CTUI0WERUSTIKTURjeU16RTFNREV4T1ZvWERUTTJNRGN5TURFMU1ERXhPVm93Z1lVeEN6QUpCZ05WQkFZVEFrSkVNUTR3REFZRApWUVFJREFWRWFHRnJZVEVPTUF3R0ExVUVCd3dGUkdoaGEyRXhFakFRQmdOVkJBb01DVUp5YVd4c2FXRnVkREViCk1Ca0dBMVVFQ3d3U1QzQmxibE5sWVhKamFDQlNiMjkwSUVOQk1TVXdJd1lEVlFRRERCeENjbWxzYkdsaGJuUWcKVDNCbGJsTmxZWEpqYUNCU2IyOTBJRU5CTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQwpBZ0VBdXlEYmRaMUFycWd6K1l3SkNUcWlxREtuUzNDRGhHekNxK0h5WDN3clBnV0JvZFBraHJCV3dkNzQ4ZjdqClhZWDNQditQS0F0ZzVGYjdxa2ZZUFZJR0FPZUNiUWxkRlJnZld0S2F2MkdxcHZseUlKcy9OZW5PZzFZQ3IydVUKbDE3UnFPNk1BSGt6d1pNTVFDV1JXMlFiUy9weVY0VHd6dkNxSTR1ZVpzOFJ4MndwbERJdWFPVXdJMEVTMG8zdQpWdDJHMVlCTWlFOUNVTDliQWlYbWQ0UTR4a1NFRFRvOVY1SVk3Z2dHYjFTU0xWU2x6RDJHZElaMGN3VlE2LzcwCnUrQ1FPa005ZXhIRVR2eGpGTmZ4azI2YlRZVUJmNnBNS2VpSDdMbC9ucjZFVVVzTW5DSUR5VGtnK3Zta1M5ZWoKUmY1R0QwQ00rcnl1V1BiRHlHOCtzcDh4d1N1ZkcydDdkUGZRSTUzd1Zzc1BKSkk5b0lsZ0lJWXkyMkFUMlo4RwpKL2dZbmYwMU5LREhSV1dBU2FQaTBLT2dURldqRG5xam94Q0FHZjVGVFRJSHdBQjVsMS8rMXZFbEkyNjQ2M2d4CnBWcTk4Vyt4U3FQQ0xaTW9sWlE5TVkwbjVHeGgvZjhkK0RPb1BVT0lXazJqWXdvS1JGQXJiTlNTNnkySnVrS3YKSWNvMnN4YUhqZkhrdDdqdDBkckRLcjUrelI5bndUWDhVN3hBaWlTYkVTekN6OWlvdU9QSEcxMFFtdzl6VVRNMgoxdzJmMmlQRWpvbFpBVjFBaFU3dzFWNHBzc3JpWDIvNTlDR1dYT1VEcWNnd2MwdWh4djRnWFRndXBCeGcrYU5yCllybWZwNndtejdzN3lmblh3T2xVaVRDRW1Bc2NBemNkMmdCaGwvN1dpcmFRZFVzQ0F3RUFBYU5UTUZFd0hRWUQKVlIwT0JCWUVGSGJhbmo2RkdNVWZ3bEMwSytqY081TTlHd0FwTUI4R0ExVWRJd1FZTUJhQUZIYmFuajZGR01VZgp3bEMwSytqY081TTlHd0FwTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCCkFBZVVVVUFMTk5FNDM2UEwvZXl6V0c3bmlPdndXODF3UkdVdGdEUnJpY2xFWjh0K3MzUG9MOXRibyszUGN1ekgKakxsUFArYmVLY2tUTEZKVGZZWUN3Z0dWZkdIRXE1ejV1SUt3ZWIyMG9GSEg3ek9DSzF3VVJBSUlPZnFycncyMApjcWNzdTRnK3NENnl0bllWN2Y1T0RFT2RNaXpjVXRrbGpMSjVieXJLSU9OV2FrSTBpd0xLeXFPQWlGeUVSY2xiCjB0ZzhoTDR6dkRLVUZ6dVJycXhxS0padzNWUWUvM1JWUFYwZ0RLUW96VEQ0M3lnQUdGVlVjckx1dHZOK2V5bEEKVDdYMGtNZXJlVVRKd1N6RDVvenhGRXFkaDlLNHZkZTA2a3BuSXpQS2tEanNFZiszeW9WeFVxRGJCeGV3ai9aOApodzhmT3lBWC9jV2UvZlhmWVdPV3RpTlhiQVJRd0pvUWlLb3lacHRuNGpvRXhLWVB2Qzg0RitINEZnZnpidXFkCnNnL2R2SjBxcldGaUlZeWZBRS9NNGM3VTBDUnVsZ1lETXJhbktIUHhxTllVT21pRzM4T0xLTDlFMmlvV002UHYKek82djVvUk5pazFFN3BrRUVMSUFPczR3U2MvdG45MU01TmtpSjgyRXNEQ2ZaVG5FVU9Cd3VsRzZSbW8vYWF0agpCWUJEaHo0dnhmN0ZjNG13WEdXNVZXc1Qzd2ZVckErZ3l3VWo5dlFqTTV6SjEybDl4NU9Dd3pNMTJuQWdSZ1dFCkh4ZDh5TFhkNE9rTWRaRWNVckY5eWtSMGJUZ3AyWnowL3lPR21KbVpieHRNdHlGaTVMcmt6VElodWJNS1l2bncKcWsrbWdaUmNMcXBWclRSYTNiaGdEVzJrSWpFT2I5SHB6NG5MZ3loUVpCMFAKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: opensearch-dashboard-ca
|
||||
namespace: observability
|
||||
@@ -0,0 +1,26 @@
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: brilliant-opensearch-dashboard-opensearch-dashboards
|
||||
namespace: observability
|
||||
labels:
|
||||
helm.sh/chart: opensearch-dashboards-3.7.0
|
||||
app.kubernetes.io/name: opensearch-dashboards
|
||||
app.kubernetes.io/instance: brilliant-opensearch-dashboard
|
||||
app.kubernetes.io/version: "3.7.0"
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: nginx
|
||||
spec:
|
||||
ingressClassName: nginx
|
||||
rules:
|
||||
- http:
|
||||
paths:
|
||||
- path: /opensearch
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: brilliant-opensearch-dashboard-opensearch-dashboards
|
||||
port:
|
||||
number: 5601
|
||||
|
||||
|
||||
@@ -0,0 +1,155 @@
|
||||
---
|
||||
# Source: opensearch-dashboards/templates/configmap.yaml
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: brilliant-opensearch-dashboard-opensearch-dashboards-config
|
||||
labels:
|
||||
helm.sh/chart: opensearch-dashboards-3.7.0
|
||||
app.kubernetes.io/name: opensearch-dashboards
|
||||
app.kubernetes.io/instance: brilliant-opensearch-dashboard
|
||||
app.kubernetes.io/version: "3.7.0"
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
data:
|
||||
opensearch_dashboards.yml: |
|
||||
server:
|
||||
name: dashboards
|
||||
host: "0.0.0.0"
|
||||
|
||||
opensearch:
|
||||
username: kibanaserver
|
||||
password: ${KIBANASERVER_PASSWORD}
|
||||
ssl:
|
||||
verificationMode: full
|
||||
certificateAuthorities: /usr/share/opensearch-dashboards/certs/root-ca.pem
|
||||
---
|
||||
# Source: opensearch-dashboards/templates/service.yaml
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: brilliant-opensearch-dashboard-opensearch-dashboards
|
||||
labels:
|
||||
helm.sh/chart: opensearch-dashboards-3.7.0
|
||||
app.kubernetes.io/name: opensearch-dashboards
|
||||
app.kubernetes.io/instance: brilliant-opensearch-dashboard
|
||||
app.kubernetes.io/version: "3.7.0"
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
spec:
|
||||
type: ClusterIP
|
||||
ports:
|
||||
- port: 5601
|
||||
protocol: TCP
|
||||
name: http
|
||||
targetPort: 5601
|
||||
- name: metrics
|
||||
protocol: TCP
|
||||
port: 9601
|
||||
selector:
|
||||
app.kubernetes.io/name: opensearch-dashboards
|
||||
app.kubernetes.io/instance: brilliant-opensearch-dashboard
|
||||
---
|
||||
# Source: opensearch-dashboards/templates/deployment.yaml
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: brilliant-opensearch-dashboard-opensearch-dashboards
|
||||
labels:
|
||||
helm.sh/chart: opensearch-dashboards-3.7.0
|
||||
app.kubernetes.io/name: opensearch-dashboards
|
||||
app.kubernetes.io/instance: brilliant-opensearch-dashboard
|
||||
app.kubernetes.io/version: "3.7.0"
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
spec:
|
||||
replicas: 1
|
||||
strategy:
|
||||
type: Recreate
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/name: opensearch-dashboards
|
||||
app.kubernetes.io/instance: brilliant-opensearch-dashboard
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/name: opensearch-dashboards
|
||||
app.kubernetes.io/instance: brilliant-opensearch-dashboard
|
||||
annotations:
|
||||
configchecksum: 94f1f2434bc321e09c11f8b57337937eb527a3de2f9e79796a0c518e55b3bee
|
||||
spec:
|
||||
securityContext:
|
||||
{}
|
||||
serviceAccountName: default
|
||||
volumes:
|
||||
- name: config
|
||||
configMap:
|
||||
name: brilliant-opensearch-dashboard-opensearch-dashboards-config
|
||||
# Currently some extra blocks accept strings
|
||||
# to continue with backwards compatibility this is being kept
|
||||
# whilst also allowing for yaml to be specified too.
|
||||
- name: root-cert
|
||||
secret:
|
||||
secretName: opensearch-dashboard-ca
|
||||
containers:
|
||||
- name: dashboards
|
||||
securityContext:
|
||||
capabilities:
|
||||
drop:
|
||||
- ALL
|
||||
runAsNonRoot: true
|
||||
runAsUser: 1000
|
||||
image: "opensearchproject/opensearch-dashboards:3.7.0"
|
||||
imagePullPolicy: "IfNotPresent"
|
||||
readinessProbe:
|
||||
failureThreshold: 10
|
||||
initialDelaySeconds: 10
|
||||
periodSeconds: 20
|
||||
successThreshold: 1
|
||||
tcpSocket:
|
||||
port: 5601
|
||||
timeoutSeconds: 5
|
||||
livenessProbe:
|
||||
failureThreshold: 10
|
||||
initialDelaySeconds: 10
|
||||
periodSeconds: 20
|
||||
successThreshold: 1
|
||||
tcpSocket:
|
||||
port: 5601
|
||||
timeoutSeconds: 5
|
||||
startupProbe:
|
||||
failureThreshold: 20
|
||||
initialDelaySeconds: 10
|
||||
periodSeconds: 10
|
||||
successThreshold: 1
|
||||
tcpSocket:
|
||||
port: 5601
|
||||
timeoutSeconds: 5
|
||||
env:
|
||||
- name: OPENSEARCH_HOSTS
|
||||
value: "https://brilliant-opensearch-cluster-master:9200"
|
||||
- name: SERVER_HOST
|
||||
value: "0.0.0.0"
|
||||
- name: KIBANASERVER_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
key: KIBANASERVER_PASSWORD
|
||||
name: opensearch-kibanaserver-password
|
||||
ports:
|
||||
- containerPort: 5601
|
||||
name: http
|
||||
protocol: TCP
|
||||
resources:
|
||||
limits:
|
||||
cpu: "2"
|
||||
memory: 6G
|
||||
requests:
|
||||
cpu: "1"
|
||||
memory: 2G
|
||||
volumeMounts:
|
||||
- name: config
|
||||
mountPath: /usr/share/opensearch-dashboards/config/opensearch_dashboards.yml
|
||||
subPath: opensearch_dashboards.yml
|
||||
# Currently some extra blocks accept strings
|
||||
# to continue with backwards compatibility this is being kept
|
||||
# whilst also allowing for yaml to be specified too.
|
||||
- mountPath: /usr/share/opensearch-dashboards/certs
|
||||
name: root-cert
|
||||
readOnly: true
|
||||
@@ -0,0 +1,22 @@
|
||||
1. Get the application URL by running these commands:
|
||||
{{- if .Values.ingress.enabled }}
|
||||
{{- range $host := .Values.ingress.hosts }}
|
||||
{{- range .paths }}
|
||||
http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ .path }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- else if contains "NodePort" .Values.service.type }}
|
||||
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "opensearch-dashboards.fullname" . }})
|
||||
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
|
||||
echo http://$NODE_IP:$NODE_PORT
|
||||
{{- else if contains "LoadBalancer" .Values.service.type }}
|
||||
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
|
||||
You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "opensearch-dashboards.fullname" . }}'
|
||||
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "opensearch-dashboards.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")
|
||||
echo http://$SERVICE_IP:{{ .Values.service.port }}
|
||||
{{- else if contains "ClusterIP" .Values.service.type }}
|
||||
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "opensearch-dashboards.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
|
||||
export CONTAINER_PORT=$(kubectl get pod --namespace {{ .Release.Namespace }} $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}")
|
||||
echo "Visit http://127.0.0.1:8080 to use your application"
|
||||
kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:$CONTAINER_PORT
|
||||
{{- end }}
|
||||
@@ -0,0 +1,103 @@
|
||||
{{/*
|
||||
Expand the name of the chart.
|
||||
*/}}
|
||||
{{- define "opensearch-dashboards.name" -}}
|
||||
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Create a default fully qualified app name.
|
||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||
If release name contains chart name it will be used as a full name.
|
||||
*/}}
|
||||
{{- define "opensearch-dashboards.fullname" -}}
|
||||
{{- if .Values.fullnameOverride }}
|
||||
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
|
||||
{{- else }}
|
||||
{{- $name := default .Chart.Name .Values.nameOverride }}
|
||||
{{- if contains $name .Release.Name }}
|
||||
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
|
||||
{{- else }}
|
||||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Create chart name and version as used by the chart label.
|
||||
*/}}
|
||||
{{- define "opensearch-dashboards.chart" -}}
|
||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Common labels
|
||||
*/}}
|
||||
{{- define "opensearch-dashboards.labels" -}}
|
||||
helm.sh/chart: {{ include "opensearch-dashboards.chart" . }}
|
||||
{{ include "opensearch-dashboards.selectorLabels" . }}
|
||||
{{- if .Chart.AppVersion }}
|
||||
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
||||
{{- end }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Selector labels
|
||||
*/}}
|
||||
{{- define "opensearch-dashboards.selectorLabels" -}}
|
||||
app.kubernetes.io/name: {{ include "opensearch-dashboards.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Create the name of the service account to use
|
||||
*/}}
|
||||
{{- define "opensearch-dashboards.serviceAccountName" -}}
|
||||
{{- if .Values.serviceAccount.create }}
|
||||
{{- default (include "opensearch-dashboards.fullname" .) .Values.serviceAccount.name }}-dashboards
|
||||
{{- else }}
|
||||
{{- default "default" .Values.serviceAccount.name }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Return the appropriate apiVersion for ingress.
|
||||
*/}}
|
||||
{{- define "opensearch-dashboards.ingress.apiVersion" -}}
|
||||
{{- if and (.Capabilities.APIVersions.Has "networking.k8s.io/v1") (semverCompare ">= 1.19-0" .Capabilities.KubeVersion.Version) -}}
|
||||
{{- print "networking.k8s.io/v1" -}}
|
||||
{{- else if .Capabilities.APIVersions.Has "networking.k8s.io/v1beta1" -}}
|
||||
{{- print "networking.k8s.io/v1beta1" -}}
|
||||
{{- else -}}
|
||||
{{- print "extensions/v1beta1" -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Return the appropriate apiVersion for Horizontal Pod Autoscaler.
|
||||
*/}}
|
||||
{{- define "opensearch-dashboards.hpa.apiVersion" -}}
|
||||
{{- if $.Capabilities.APIVersions.Has "autoscaling/v2/HorizontalPodAutoscaler" }}
|
||||
{{- print "autoscaling/v2" }}
|
||||
{{- else if $.Capabilities.APIVersions.Has "autoscaling/v2beta2/HorizontalPodAutoscaler" }}
|
||||
{{- print "autoscaling/v2beta2" }}
|
||||
{{- else if $.Capabilities.APIVersions.Has "autoscaling/v2beta1/HorizontalPodAutoscaler" }}
|
||||
{{- print "autoscaling/v2beta1" }}
|
||||
{{- else }}
|
||||
{{- print "autoscaling/v1" }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Return if ingress is stable.
|
||||
*/}}
|
||||
{{- define "opensearch-dashboards.ingress.isStable" -}}
|
||||
{{- eq (include "opensearch-dashboards.ingress.apiVersion" .) "networking.k8s.io/v1" -}}
|
||||
{{- end -}}
|
||||
{{/*
|
||||
Return if ingress supports ingressClassName.
|
||||
*/}}
|
||||
{{- define "opensearch-dashboards.ingress.supportsIngressClassName" -}}
|
||||
{{- or (eq (include "opensearch-dashboards.ingress.isStable" .) "true") (and (eq (include "opensearch-dashboards.ingress.apiVersion" .) "networking.k8s.io/v1beta1") (semverCompare ">= 1.18-0" .Capabilities.KubeVersion.Version)) -}}
|
||||
{{- end -}}
|
||||
@@ -0,0 +1,43 @@
|
||||
{{- if .Values.autoscaling.enabled -}}
|
||||
apiVersion: {{ include "opensearch-dashboards.hpa.apiVersion" . }}
|
||||
kind: HorizontalPodAutoscaler
|
||||
metadata:
|
||||
name: {{ template "opensearch-dashboards.fullname" . }}-hpa
|
||||
labels: {{- include "opensearch-dashboards.labels" . | nindent 4 }}
|
||||
spec:
|
||||
maxReplicas: {{ .Values.autoscaling.maxReplicas }}
|
||||
minReplicas: {{ .Values.autoscaling.minReplicas }}
|
||||
scaleTargetRef:
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
name: {{ template "opensearch-dashboards.fullname" . }}
|
||||
{{- if eq (include "opensearch-dashboards.hpa.apiVersion" .) "autoscaling/v1" }}
|
||||
targetCPUUtilizationPercentage: {{ .Values.autoscaling.targetCPUUtilizationPercentage | default .Values.autoscaling.targetCPU }}
|
||||
{{- else }}
|
||||
metrics:
|
||||
{{- if .Values.autoscaling.targetMemory }}
|
||||
- type: Resource
|
||||
resource:
|
||||
name: memory
|
||||
{{- if eq (include "opensearch-dashboards.hpa.apiVersion" .) "autoscaling/v2beta1" }}
|
||||
targetAverageUtilization: {{ .Values.autoscaling.targetMemory }}
|
||||
{{- else }}
|
||||
target:
|
||||
type: Utilization
|
||||
averageUtilization: {{ .Values.autoscaling.targetMemory }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if or .Values.autoscaling.targetCPU .Values.autoscaling.targetCPUUtilizationPercentage }}
|
||||
- type: Resource
|
||||
resource:
|
||||
name: cpu
|
||||
{{- if eq (include "opensearch-dashboards.hpa.apiVersion" .) "autoscaling/v2beta1" }}
|
||||
targetAverageUtilization: {{ .Values.autoscaling.targetCPUUtilizationPercentage | default .Values.autoscaling.targetCPU }}
|
||||
{{- else }}
|
||||
target:
|
||||
type: Utilization
|
||||
averageUtilization: {{ .Values.autoscaling.targetCPUUtilizationPercentage | default .Values.autoscaling.targetCPU }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
@@ -0,0 +1,16 @@
|
||||
{{- if .Values.config -}}
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: {{ template "opensearch-dashboards.fullname" . }}-config
|
||||
labels: {{ include "opensearch-dashboards.labels" . | nindent 4 }}
|
||||
data:
|
||||
{{- range $configName, $configYaml := .Values.config }}
|
||||
{{ $configName }}: |
|
||||
{{- if eq (kindOf $configYaml) "map" }}
|
||||
{{- tpl (toYaml $configYaml) $ | nindent 4 }}
|
||||
{{- else }}
|
||||
{{- tpl $configYaml $ | nindent 4 -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
@@ -0,0 +1,218 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: {{ template "opensearch-dashboards.fullname" . }}
|
||||
labels: {{- include "opensearch-dashboards.labels" . | nindent 4 }}
|
||||
{{- with .Values.dashboardAnnotations }}
|
||||
annotations:
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
replicas: {{ .Values.replicaCount }}
|
||||
strategy:
|
||||
{{ toYaml .Values.updateStrategy | indent 4 }}
|
||||
selector:
|
||||
matchLabels:
|
||||
{{- include "opensearch-dashboards.selectorLabels" . | nindent 6 }}
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
{{- include "opensearch-dashboards.selectorLabels" . | nindent 8 }}
|
||||
{{- range $key, $value := .Values.labels }}
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{- end }}
|
||||
annotations:
|
||||
{{- range $key, $value := .Values.podAnnotations }}
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{- end }}
|
||||
{{- /* This forces a restart if the configmap has changed */}}
|
||||
{{- if .Values.config }}
|
||||
configchecksum: {{ include (print .Template.BasePath "/configmap.yaml") . | sha256sum | trunc 63 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if .Values.priorityClassName }}
|
||||
priorityClassName: {{ .Values.priorityClassName }}
|
||||
{{- end }}
|
||||
securityContext:
|
||||
{{ toYaml .Values.podSecurityContext | indent 8 }}
|
||||
serviceAccountName: {{ template "opensearch-dashboards.serviceAccountName" . }}
|
||||
{{- if .Values.hostAliases }}
|
||||
hostAliases: {{ toYaml .Values.hostAliases | nindent 6 }}
|
||||
{{- end }}
|
||||
volumes:
|
||||
{{- range .Values.secretMounts }}
|
||||
- name: {{ .name }}
|
||||
secret:
|
||||
secretName: {{ .secretName }}
|
||||
{{- end }}
|
||||
{{- if .Values.config }}
|
||||
- name: config
|
||||
configMap:
|
||||
name: {{ template "opensearch-dashboards.fullname" . }}-config
|
||||
{{- if .Values.opensearchDashboardsYml.defaultMode }}
|
||||
defaultMode: {{ .Values.opensearchDashboardsYml.defaultMode }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if .Values.extraVolumes }}
|
||||
# Currently some extra blocks accept strings
|
||||
# to continue with backwards compatibility this is being kept
|
||||
# whilst also allowing for yaml to be specified too.
|
||||
{{- if eq "string" (printf "%T" .Values.extraVolumes) }}
|
||||
{{ tpl .Values.extraVolumes . | indent 8 }}
|
||||
{{- else }}
|
||||
{{ toYaml .Values.extraVolumes | indent 8 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- with .Values.nodeSelector }}
|
||||
nodeSelector:
|
||||
{{ toYaml . | indent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.affinity }}
|
||||
affinity:
|
||||
{{ toYaml . | indent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.tolerations }}
|
||||
tolerations:
|
||||
{{ toYaml . | indent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.topologySpreadConstraints }}
|
||||
topologySpreadConstraints:
|
||||
{{- toYaml .Values.topologySpreadConstraints | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.imagePullSecrets }}
|
||||
imagePullSecrets:
|
||||
{{ toYaml .Values.imagePullSecrets | indent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.extraInitContainers }}
|
||||
# Currently some extra blocks accept strings
|
||||
# to continue with backwards compatibility this is being kept
|
||||
# whilst also allowing for yaml to be specified too.
|
||||
initContainers:
|
||||
{{- if eq "string" (printf "%T" .Values.extraInitContainers) }}
|
||||
{{ tpl .Values.extraInitContainers . | indent 6 }}
|
||||
{{- else }}
|
||||
{{ toYaml .Values.extraInitContainers | indent 6 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
containers:
|
||||
- name: dashboards
|
||||
securityContext:
|
||||
{{ toYaml .Values.securityContext | indent 10 }}
|
||||
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
|
||||
imagePullPolicy: "{{ .Values.image.pullPolicy }}"
|
||||
{{- if .Values.readinessProbe }}
|
||||
readinessProbe:
|
||||
{{ toYaml .Values.readinessProbe | indent 10 }}
|
||||
{{- end }}
|
||||
{{- if .Values.livenessProbe }}
|
||||
livenessProbe:
|
||||
{{ toYaml .Values.livenessProbe | indent 10 }}
|
||||
{{- end }}
|
||||
{{- if semverCompare ">=1.16-0" .Capabilities.KubeVersion.Version }}
|
||||
{{- if .Values.readinessProbe }}
|
||||
startupProbe:
|
||||
{{ toYaml .Values.startupProbe | indent 10 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
env:
|
||||
{{- if .Values.opensearchURL }}
|
||||
- name: OPENSEARCH_URL
|
||||
value: "{{ .Values.opensearchURL }}"
|
||||
{{- else if .Values.opensearchHosts }}
|
||||
- name: OPENSEARCH_HOSTS
|
||||
value: "{{ .Values.opensearchHosts }}"
|
||||
{{- end }}
|
||||
- name: SERVER_HOST
|
||||
value: "{{ .Values.serverHost }}"
|
||||
{{- if .Values.opensearchAccount.secret }}
|
||||
- name: OPENSEARCH_USERNAME
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: {{ .Values.opensearchAccount.secret }}
|
||||
key: username
|
||||
- name: OPENSEARCH_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: {{ .Values.opensearchAccount.secret }}
|
||||
key: password
|
||||
{{- if and .Values.opensearchAccount.keyPassphrase.enabled }}
|
||||
- name: KEY_PASSPHRASE
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: {{ .Values.opensearchAccount.secret }}
|
||||
key: keypassphrase
|
||||
# 32-character random string to be used as cookie password by security plugin
|
||||
{{- end }}
|
||||
- name: COOKIE_PASS
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: {{ .Values.opensearchAccount.secret }}
|
||||
key: cookie
|
||||
{{- end }}
|
||||
{{- if .Values.extraEnvs }}
|
||||
{{ toYaml .Values.extraEnvs | indent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.envFrom }}
|
||||
envFrom:
|
||||
{{ toYaml .Values.envFrom | indent 10 }}
|
||||
{{- end }}
|
||||
ports:
|
||||
- containerPort: {{ .Values.service.port }}
|
||||
name: {{ .Values.service.httpPortName | default "http" }}
|
||||
protocol: TCP
|
||||
{{- if .Values.plugins.enabled }}
|
||||
command:
|
||||
- sh
|
||||
- -c
|
||||
- |
|
||||
#!/usr/bin/bash
|
||||
set -e
|
||||
{{- range $plugin := .Values.plugins.removeList }}
|
||||
if ./bin/opensearch-dashboards-plugin list | grep -q {{ $plugin }}; then
|
||||
./bin/opensearch-dashboards-plugin remove {{ $plugin }}
|
||||
fi
|
||||
{{- end }}
|
||||
{{- range $plugin := .Values.plugins.installList }}
|
||||
./bin/opensearch-dashboards-plugin install {{ $plugin }}
|
||||
{{- end }}
|
||||
bash opensearch-dashboards-docker-entrypoint.sh opensearch-dashboards
|
||||
{{- end }}
|
||||
{{- if .Values.lifecycle }}
|
||||
lifecycle:
|
||||
{{ toYaml .Values.lifecycle | indent 10 }}
|
||||
{{- end }}
|
||||
resources:
|
||||
{{ toYaml .Values.resources | indent 10 }}
|
||||
volumeMounts:
|
||||
{{- range .Values.secretMounts }}
|
||||
- name: {{ .name }}
|
||||
mountPath: {{ .path }}
|
||||
{{- if .subPath }}
|
||||
subPath: {{ .subPath }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- range $path, $config := .Values.config }}
|
||||
- name: config
|
||||
mountPath: /usr/share/opensearch-dashboards/config/{{ $path }}
|
||||
subPath: {{ $path }}
|
||||
{{- end }}
|
||||
{{- if .Values.extraVolumeMounts }}
|
||||
# Currently some extra blocks accept strings
|
||||
# to continue with backwards compatibility this is being kept
|
||||
# whilst also allowing for yaml to be specified too.
|
||||
{{- if eq "string" (printf "%T" .Values.extraVolumeMounts) }}
|
||||
{{ tpl .Values.extraVolumeMounts . | indent 10 }}
|
||||
{{- else }}
|
||||
{{ toYaml .Values.extraVolumeMounts | indent 10 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if .Values.extraContainers }}
|
||||
# Currently some extra blocks accept strings
|
||||
# to continue with backwards compatibility this is being kept
|
||||
# whilst also allowing for yaml to be specified too.
|
||||
{{- if eq "string" (printf "%T" .Values.extraContainers) }}
|
||||
{{ tpl .Values.extraContainers . | indent 6 }}
|
||||
{{- else }}
|
||||
{{ toYaml .Values.extraContainers | indent 6 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
@@ -0,0 +1,8 @@
|
||||
{{ range .Values.extraObjects }}
|
||||
---
|
||||
{{- if typeIs "string" . }}
|
||||
{{ tpl . $ }}
|
||||
{{- else }}
|
||||
{{ tpl (toYaml .) $ }}
|
||||
{{- end }}
|
||||
{{ end }}
|
||||
@@ -0,0 +1,72 @@
|
||||
{{- if .Values.ingress.enabled -}}
|
||||
{{- $fullName := include "opensearch-dashboards.fullname" . -}}
|
||||
{{- $ingressApiIsStable := eq (include "opensearch-dashboards.ingress.isStable" .) "true" -}}
|
||||
{{- $ingressSupportsIngressClassName := eq (include "opensearch-dashboards.ingress.supportsIngressClassName" .) "true" -}}
|
||||
{{- $svcPort := .Values.service.port -}}
|
||||
{{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion -}}
|
||||
apiVersion: networking.k8s.io/v1
|
||||
{{- else if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}}
|
||||
apiVersion: networking.k8s.io/v1beta1
|
||||
{{- else -}}
|
||||
apiVersion: extensions/v1beta1
|
||||
{{- end }}
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: {{ $fullName }}
|
||||
labels:
|
||||
{{- include "opensearch-dashboards.labels" . | nindent 4 }}
|
||||
{{- with .Values.ingress.labels }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- with .Values.ingress.annotations }}
|
||||
annotations:
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if and $ingressSupportsIngressClassName .Values.ingress.ingressClassName }}
|
||||
ingressClassName: {{ .Values.ingress.ingressClassName }}
|
||||
{{- end -}}
|
||||
{{- if .Values.ingress.tls }}
|
||||
tls:
|
||||
{{- range .Values.ingress.tls }}
|
||||
- hosts:
|
||||
{{- range .hosts }}
|
||||
- {{ . | quote }}
|
||||
{{- end }}
|
||||
secretName: {{ .secretName }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
rules:
|
||||
{{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.Version -}}
|
||||
{{- range .Values.ingress.hosts }}
|
||||
- host: {{ .host | quote }}
|
||||
http:
|
||||
paths:
|
||||
{{- range .paths }}
|
||||
- path: {{ .path }}
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: {{ .backend.serviceName | default $fullName }}
|
||||
port:
|
||||
{{- if and .backend.servicePort (kindIs "string" .backend.servicePort) }}
|
||||
name: {{ .backend.servicePort }}
|
||||
{{- else }}
|
||||
number: {{ .backend.servicePort | default $svcPort }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- else -}}
|
||||
{{- range .Values.ingress.hosts }}
|
||||
- host: {{ .host | quote }}
|
||||
http:
|
||||
paths:
|
||||
{{- range .paths }}
|
||||
- path: {{ .path }}
|
||||
backend:
|
||||
serviceName: {{ .backend.serviceName | default $fullName }}
|
||||
servicePort: {{ .backend.servicePort | default $svcPort }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
@@ -0,0 +1,15 @@
|
||||
{{- if .Values.rbac.create -}}
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: RoleBinding
|
||||
metadata:
|
||||
labels: {{- include "opensearch-dashboards.labels" . | nindent 4 }}
|
||||
name: {{ template "opensearch-dashboards.fullname" . }}-dashboards-rolebinding
|
||||
roleRef:
|
||||
kind: Role
|
||||
name: {{ template "opensearch-dashboards.serviceAccountName" . }}
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: {{ template "opensearch-dashboards.serviceAccountName" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
{{- end }}
|
||||
@@ -0,0 +1,43 @@
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ template "opensearch-dashboards.fullname" . }}
|
||||
labels: {{- include "opensearch-dashboards.labels" . | nindent 4 }}
|
||||
{{- if .Values.service.labels }}
|
||||
{{ toYaml .Values.service.labels | indent 4}}
|
||||
{{- end }}
|
||||
{{- with .Values.service.annotations }}
|
||||
annotations:
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
type: {{ .Values.service.type }}
|
||||
{{- if (semverCompare ">= 1.23-0" .Capabilities.KubeVersion.Version) }}
|
||||
{{- if .Values.service.ipFamilyPolicy }}
|
||||
ipFamilyPolicy: {{ .Values.service.ipFamilyPolicy }}
|
||||
{{- end }}
|
||||
{{- if .Values.service.ipFamilies }}
|
||||
ipFamilies: {{ .Values.service.ipFamilies }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if .Values.service.loadBalancerIP }}
|
||||
loadBalancerIP: {{ .Values.service.loadBalancerIP }}
|
||||
{{- end }}
|
||||
{{- with .Values.service.loadBalancerSourceRanges }}
|
||||
loadBalancerSourceRanges:
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
ports:
|
||||
- port: {{ .Values.service.port }}
|
||||
{{- if .Values.service.nodePort }}
|
||||
nodePort: {{ .Values.service.nodePort }}
|
||||
{{- end }}
|
||||
protocol: TCP
|
||||
name: {{ .Values.service.httpPortName | default "http" }}
|
||||
targetPort: {{ .Values.service.port }}
|
||||
- name: {{ .Values.service.metricsPortName | default "metrics" }}
|
||||
protocol: TCP
|
||||
port: {{ .Values.service.metricsPort }}
|
||||
selector:
|
||||
{{- include "opensearch-dashboards.selectorLabels" . | nindent 4 }}
|
||||
@@ -0,0 +1,20 @@
|
||||
{{- if .Values.serviceMonitor.enabled }}
|
||||
apiVersion: monitoring.coreos.com/v1
|
||||
kind: ServiceMonitor
|
||||
metadata:
|
||||
name: {{ template "opensearch-dashboards.fullname" . }}-service-monitor
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels:
|
||||
{{- include "opensearch-dashboards.labels" . | nindent 4 }}
|
||||
{{- with .Values.serviceMonitor.labels }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
{{- include "opensearch-dashboards.selectorLabels" . | nindent 6 }}
|
||||
endpoints:
|
||||
- port: {{ .Values.service.metricsPortName | default "metrics" }}
|
||||
interval: {{ .Values.serviceMonitor.interval }}
|
||||
path: {{ .Values.serviceMonitor.path }}
|
||||
{{- end }}
|
||||
@@ -0,0 +1,16 @@
|
||||
{{- if .Values.serviceAccount.create -}}
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: {{ include "opensearch-dashboards.serviceAccountName" . }}
|
||||
labels:
|
||||
{{- include "opensearch-dashboards.labels" . | nindent 4 }}
|
||||
{{- with .Values.serviceAccount.annotations }}
|
||||
annotations:
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if .Values.serviceAccount.automountServiceAccountToken }}
|
||||
{{- else }}
|
||||
automountServiceAccountToken: false
|
||||
{{- end -}}
|
||||
@@ -0,0 +1,334 @@
|
||||
# Copyright OpenSearch Contributors
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
# Default values for opensearch-dashboards.
|
||||
# This is a YAML-formatted file.
|
||||
# Declare variables to be passed into your templates.
|
||||
|
||||
opensearchHosts: "https://brilliant-opensearch-cluster-master:9200"
|
||||
replicaCount: 1
|
||||
|
||||
image:
|
||||
repository: "opensearchproject/opensearch-dashboards"
|
||||
# override image tag, which is .Chart.AppVersion by default
|
||||
tag: "3.7.0"
|
||||
pullPolicy: "IfNotPresent"
|
||||
|
||||
startupProbe:
|
||||
tcpSocket:
|
||||
port: 5601
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 20
|
||||
successThreshold: 1
|
||||
initialDelaySeconds: 10
|
||||
|
||||
livenessProbe:
|
||||
tcpSocket:
|
||||
port: 5601
|
||||
periodSeconds: 20
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 10
|
||||
successThreshold: 1
|
||||
initialDelaySeconds: 10
|
||||
|
||||
readinessProbe:
|
||||
tcpSocket:
|
||||
port: 5601
|
||||
periodSeconds: 20
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 10
|
||||
successThreshold: 1
|
||||
initialDelaySeconds: 10
|
||||
|
||||
imagePullSecrets: []
|
||||
nameOverride: ""
|
||||
fullnameOverride: ""
|
||||
|
||||
serviceAccount:
|
||||
# Specifies whether a service account should be created
|
||||
create: false
|
||||
# Annotations to add to the service account
|
||||
annotations: {}
|
||||
# The name of the service account to use.
|
||||
# If not set and create is true, a name is generated using the fullname template
|
||||
name: ""
|
||||
namespace: observability
|
||||
# Controls whether the ServiceAccount API token is automatically mounted on pod
|
||||
automountServiceAccountToken: true
|
||||
|
||||
rbac:
|
||||
create: false
|
||||
|
||||
# A list of secrets and their paths to mount inside the pod
|
||||
# This is useful for mounting certificates for security and for mounting
|
||||
# the X-Pack license
|
||||
secretMounts: []
|
||||
# - name: certs
|
||||
# secretName: opensearch-dashboard-ca
|
||||
# - name: certs
|
||||
# secretName: dashboard-certs
|
||||
# path: /usr/share/dashboards/certs
|
||||
|
||||
podAnnotations: {}
|
||||
|
||||
# Deployment annotations
|
||||
dashboardAnnotations: {}
|
||||
|
||||
extraEnvs:
|
||||
# - name: "NODE_OPTIONS"
|
||||
# value: "--max-old-space-size=1800"
|
||||
- name: KIBANASERVER_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: opensearch-kibanaserver-password
|
||||
key: KIBANASERVER_PASSWORD
|
||||
|
||||
envFrom: []
|
||||
|
||||
extraVolumes:
|
||||
- name: root-cert
|
||||
secret:
|
||||
secretName: opensearch-dashboard-ca
|
||||
# - name: extras
|
||||
# emptyDir: {}
|
||||
|
||||
extraVolumeMounts:
|
||||
- name: root-cert
|
||||
readOnly: true
|
||||
mountPath: /usr/share/opensearch-dashboards/certs
|
||||
|
||||
# - name: extras
|
||||
# mountPath: /usr/share/extras
|
||||
# readOnly: true
|
||||
|
||||
extraInitContainers: ""
|
||||
|
||||
extraContainers: ""
|
||||
|
||||
podSecurityContext: {}
|
||||
|
||||
securityContext:
|
||||
capabilities:
|
||||
drop:
|
||||
- ALL
|
||||
# readOnlyRootFilesystem: true
|
||||
runAsNonRoot: true
|
||||
runAsUser: 1000
|
||||
|
||||
config:
|
||||
opensearch_dashboards.yml: |
|
||||
server:
|
||||
name: dashboards
|
||||
host: "{{ .Values.serverHost }}"
|
||||
basePath: /opensearch
|
||||
rewriteBasePath: true
|
||||
|
||||
opensearch:
|
||||
username: kibanaserver
|
||||
password: ${KIBANASERVER_PASSWORD}
|
||||
ssl:
|
||||
verificationMode: full
|
||||
certificateAuthorities:
|
||||
- /usr/share/opensearch-dashboards/certs/root-ca.pem
|
||||
opensearch_security.multitenancy.enabled: false
|
||||
|
||||
|
||||
data_source:
|
||||
enabled: true
|
||||
ssl:
|
||||
verificationMode: full
|
||||
certificateAuthorities:
|
||||
- /usr/share/opensearch-dashboards/certs/root-ca.pem
|
||||
authTypes:
|
||||
NoAuthentication:
|
||||
enabled: false
|
||||
UsernamePassword:
|
||||
enabled: true
|
||||
AWSSigV4:
|
||||
enabled: false
|
||||
|
||||
workspace:
|
||||
enabled: true
|
||||
|
||||
explore:
|
||||
enabled: true
|
||||
|
||||
datasetManagement:
|
||||
enabled: true
|
||||
|
||||
opensearchDashboardsYml:
|
||||
defaultMode:
|
||||
# value should be 0-0777
|
||||
|
||||
priorityClassName: ""
|
||||
|
||||
opensearchAccount:
|
||||
secret: ""
|
||||
keyPassphrase:
|
||||
enabled: false
|
||||
|
||||
labels: {}
|
||||
|
||||
hostAliases: []
|
||||
# - ip: "127.0.0.1"
|
||||
# hostnames:
|
||||
# - "foo.local"
|
||||
# - "bar.local"
|
||||
|
||||
serverHost: "0.0.0.0"
|
||||
|
||||
service:
|
||||
type: ClusterIP
|
||||
# The IP family and IP families options are to set the behaviour in a dual-stack environment
|
||||
# Omitting these values will let the service fall back to whatever the CNI dictates the defaults
|
||||
# should be
|
||||
#
|
||||
# ipFamilyPolicy: SingleStack
|
||||
# ipFamilies:
|
||||
# - IPv4
|
||||
port: 5601
|
||||
metricsPort: 9601
|
||||
loadBalancerIP: ""
|
||||
nodePort: ""
|
||||
labels: {}
|
||||
annotations: {}
|
||||
loadBalancerSourceRanges: []
|
||||
# 0.0.0.0/0
|
||||
httpPortName: http
|
||||
metricsPortName: metrics
|
||||
|
||||
ingress:
|
||||
enabled: false
|
||||
# For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName
|
||||
# See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress
|
||||
# ingressClassName: nginx
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: nginx
|
||||
# kubernetes.io/tls-acme: "true"
|
||||
labels: {}
|
||||
ingressClassName: nginx
|
||||
hosts:
|
||||
# - host: chart-example.local
|
||||
- paths:
|
||||
- path: /
|
||||
backend:
|
||||
serviceName: ""
|
||||
servicePort: 5601
|
||||
tls: []
|
||||
# - secretName: chart-example-tls
|
||||
# hosts:
|
||||
# - chart-example.local
|
||||
|
||||
resources:
|
||||
requests:
|
||||
cpu: "1"
|
||||
memory: "2Gi"
|
||||
limits:
|
||||
cpu: "2"
|
||||
memory: "6Gi"
|
||||
|
||||
autoscaling:
|
||||
# This requires metrics server to be installed, to install use kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
|
||||
# See https://github.com/kubernetes-sigs/metrics-server
|
||||
enabled: false
|
||||
minReplicas: 1
|
||||
maxReplicas: 10
|
||||
# The legacy `targetCPUUtilizationPercentage` key has been deprecated in favor of `targetCPU`
|
||||
targetCPU: "80"
|
||||
targetMemory: "80"
|
||||
|
||||
updateStrategy:
|
||||
type: "Recreate"
|
||||
|
||||
nodeSelector: {}
|
||||
|
||||
tolerations: []
|
||||
|
||||
affinity: {}
|
||||
|
||||
# This is the pod topology spread constraints
|
||||
# https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
|
||||
topologySpreadConstraints: []
|
||||
|
||||
# -- Array of extra K8s manifests to deploy
|
||||
extraObjects: []
|
||||
# - apiVersion: secrets-store.csi.x-k8s.io/v1
|
||||
# kind: SecretProviderClass
|
||||
# metadata:
|
||||
# name: argocd-secrets-store
|
||||
# spec:
|
||||
# provider: aws
|
||||
# parameters:
|
||||
# objects: |
|
||||
# - objectName: "argocd"
|
||||
# objectType: "secretsmanager"
|
||||
# jmesPath:
|
||||
# - path: "client_id"
|
||||
# objectAlias: "client_id"
|
||||
# - path: "client_secret"
|
||||
# objectAlias: "client_secret"
|
||||
# secretObjects:
|
||||
# - data:
|
||||
# - key: client_id
|
||||
# objectName: client_id
|
||||
# - key: client_secret
|
||||
# objectName: client_secret
|
||||
# secretName: argocd-secrets-store
|
||||
# type: Opaque
|
||||
# labels:
|
||||
# app.kubernetes.io/part-of: argocd
|
||||
# - |
|
||||
# apiVersion: policy/v1
|
||||
# kind: PodDisruptionBudget
|
||||
# metadata:
|
||||
# name: {{ template "opensearch-dashboards.fullname" . }}
|
||||
# labels:
|
||||
# {{- include "opensearch-dashboards.labels" . | nindent 4 }}
|
||||
# spec:
|
||||
# minAvailable: 1
|
||||
# selector:
|
||||
# matchLabels:
|
||||
# {{- include "opensearch-dashboards.selectorLabels" . | nindent 6 }}
|
||||
|
||||
# pod lifecycle policies as outlined here:
|
||||
# https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
|
||||
lifecycle: {}
|
||||
# preStop:
|
||||
# exec:
|
||||
# command: ["/bin/sh", "-c", "echo Hello from the postStart handler > /usr/share/message"]
|
||||
# postStart:
|
||||
# exec:
|
||||
# command:
|
||||
# - bash
|
||||
# - -c
|
||||
# - |
|
||||
# #!/bin/bash
|
||||
# curl -I "http://admin:admin@127.0.0.1:5601/status -H "kbn-xsrf: true" -H 'kbn-xsrf: true' -H "Content-Type: application/json"
|
||||
|
||||
## Enable to add 3rd Party / Custom plugins not offered in the default OpenSearchDashboards image.
|
||||
plugins:
|
||||
enabled: false
|
||||
installList: []
|
||||
# - example-fake-plugin-downloadable-url
|
||||
removeList: []
|
||||
# - examplePluginName
|
||||
|
||||
# ServiceMonitor Configuration for Prometheus
|
||||
# Enabling this option will create a ServiceMonitor resource that allows Prometheus to scrape metrics from the OpenSearch service.
|
||||
serviceMonitor:
|
||||
# Set to true to enable the ServiceMonitor resource for OpenSearch Dashboards
|
||||
enabled: false
|
||||
|
||||
# HTTP path where metrics are exposed by OpenSearch Dashboards.
|
||||
# Ensure this path is correctly set in your service.
|
||||
path: /_prometheus/metrics
|
||||
|
||||
# Frequency at which Prometheus will scrape metrics.
|
||||
# Modify as needed for your monitoring requirements.
|
||||
interval: 10s
|
||||
|
||||
# additional labels to be added to the ServiceMonitor
|
||||
# labels:
|
||||
# k8s.example.com/prometheus: kube-prometheus
|
||||
labels: {}
|
||||
Reference in New Issue
Block a user