Skip to content
This repository has been archived by the owner on May 16, 2023. It is now read-only.

68 helm 3 #903

Closed
wants to merge 89 commits into from
Closed

68 helm 3 #903

wants to merge 89 commits into from

Conversation

jmlrt
Copy link
Member

@jmlrt jmlrt commented Nov 17, 2020

jmlrt and others added 30 commits May 4, 2020 12:30
This commit initiates the 6.8 branch which will be dedicated to the 6.8.x releases for the Helm Charts. It will allow to:

- test this branch with the daily Stack Docker images 6.8.9-SNAPSHOT via dedicated Jenkins jobs
- test the staging 6.8.x Docker images before a release

This branch is based on [7.7](https://github.com/elastic/helm-charts/tree/7.7/) which was initiated in elastic#541.

[Elasticsearch upgrade test](https://github.com/elastic/helm-charts/tree/7.7/elasticsearch/examples/upgrade) has been removed as doesn't make sense to try an upgrade from `7.0.0-alpha1` to `6.8.x`.
…c.selector.matchLabels (elastic#622)

This fix metricbeat chart upgrades when .Chart.Version change.

UPGRADE FAILED
Error: Deployment.apps "metricbeat-metricbeat-metrics" is invalid: spec.selector: Invalid value: v1.LabelSelector{MatchLabels:map[string]string{"app":"metricbeat-metricbeat-metrics", "chart":"metricbeat-7.7.0", "heritage":"Tiller", "release":"metricbeat"}, MatchExpressions:[]v1.LabelSelectorRequirement(nil)}: field is immutable
Error: UPGRADE FAILED: Deployment.apps "metricbeat-metricbeat-metrics" is invalid: spec.selector: Invalid value: v1.LabelSelector{MatchLabels:map[string]string{"app":"metricbeat-metricbeat-metrics", "chart":"metricbeat-7.7.0", "heritage":"Tiller", "release":"metricbeat"}, MatchExpressions:[]v1.LabelSelectorRequirement(nil)}: field is immutable

See helm/charts#7680 for more details
…lastic#624)

This commit fix a bug introduced in elastic#572 where Metricbeat deployment doesn't start after an upgrade from a previous version when using a custom metricbeatConfig.
* Add ability to set the file permissions when mounting a secret

* Added test for defaultMode on secret mount
Common labels were moved to helpers template to have only one source of truth of common/added labels shared between all Kibana resources.

Also, this extends the capability to add a custom label and this will be common between all the resources.
* add CI tests for GKE 1.16
* add jq to Docker image
This PR prepare `6.8` branch for `6.8.10` release:
- bump chart and Docker images version from `6.8.10-SNAPSHOT` to `6.8.10`
- remove notices on README that this is a development branch and development branch specific install instructions

### Note
> - remove notices on README that this is a development branch and development branch specific install instructions

This is required because released Helm charts will be packaged from this PR commit including the README files that will be available inside the chart packages and in [Helm Hub](https://hub.helm.sh/charts/elastic) pages (example: [Elasticsearch chart page](https://hub.helm.sh/charts/elastic/elasticsearch)).

This change will be reverted in the next PR after release when we will bump `6.8` branch to `6.8.11-SNAPSHOT` version.
According to https://github.com/helm/charts/blob/master/REVIEW_GUIDELINES.md, service selector should not contain heritage.

It would break (future) migration from helm 2 to helm 3 (during the rolling update only, there could be a downtime when only old nodes are ready but new services is there).
…mes (elastic#542)

Prevents very long startup times when the namespace contains many services. Only valid for kubernetes versions >1.13
This commit makes probes customizable using values.
The values where already partly existing but weren't used
in the deployment template.
This commit add a security example to use Logstash Helm chart and Elasticsearch Helm chart with TLS encryption.
This commit add back the Beta notices for 6.8 branch. Only releases >= 7.7.0 are GA and eligible to support.
Co-authored-by: Julien Mailleret <8582351+jmlrt@users.noreply.github.com>
This commit fixes the expected version in security goss test.
vliubko and others added 26 commits August 27, 2020 12:48
Co-authored-by: Julien Mailleret <8582351+jmlrt@users.noreply.github.com>
Kubernetes doesn't accept `_` characters in resources names.
This commit fix the secrets names in the examples we provide by
replacing `_` by `-`which Kubernetes is accepting.

Source: helm/helm#6477
This PR disable nss dentry cache for Elasticsearch and Kibana
readinessProbe.

On affected system (nss < 3.52), the curl commands used by
readinessProbe are filling dentry cache which is observed in some
cases to be never reclaimed.

Elasticsearch and Kibana Docker images are based on CentOS 7 which
is using nss-3.44.0-7.el7_7.x86_64 and are affected by this bug.

This PR disable nss dentry cache in readinessProbe as a
workaround.
* [metricbeat] support deployment/daemonset specific metrics
* chore: rename test_adding_legacy_labels to test_adding_deprecated_labels
Co-authored-by: Julien Mailleret <8582351+jmlrt@users.noreply.github.com>
This commit fix an issue introduced in 8ed75a9 where helm
install/upgrade is failing if a NodePort service is defined (see [0] for
more details).

Logstash headless service used to manage Statefulset does not anymore include
`.Values.service.ports` and include only Logstash httpPort.

This is done because headless service `ports` doesn't accept `nodePort`
values that can be included in `.Values.service.ports` when adding a
NodePort service.

[0]: elastic#807
If for daemonset/deployment is not enabled, dont generate useless config YAML.
* Update charts readme with instruction for dev and release installs
* Reword warning statement on dev branch README
* Fix TOC
* Reword warning statement
* Bump version to 6.8.13

Co-authored-by: Nassim Kammah <nassim.kammah@elastic.co>
Co-authored-by: Nassim Kammah <nassim.kammah@elastic.co>
This commit add a coordinator node group to elasticsearch multi test.
This also add ml and remote_cluster_client roles to default values.
This commit fix a bug introduced in 702ca8f where elasticsearch 6.8
start is failing because ml and remote_cluster_client node roles
are unavailable in 6.8 versions.
- Bump Helm version used in tests from 2.16.2 to 2.17.0
- Add CI tests on GKE 1.17
…c#882)

This commit update metricbeat chart dependencies to get
kube-state-metrics subchart from the newly relocated stable repo url
(https://charts.helm.sh/stable).

This is required because the legacy stable repo url will not work
anymore starting November 13th.

More details in https://helm.sh/blog/new-location-stable-incubator-charts/
This commit updates Kubernetes [rbac.authorization.k8s.io][0] api from
v1beta1 in apm-server, filebeat and metricbeat charts.

- `rbac.authorization.k8s.io/v1` has been released in Kubernetes 1.8
- `rbac.authorization.k8s.io/v1beta1` is being deprecated in Kubernetes
1.17 and will be fully removed in 1.22

In addition, this is required for Helm 3 support to make
`helm lint --strict` happy.

[0]: https://kubernetes.io/docs/reference/access-authn-authz/rbac/
This commit increase the timeout for helm upgrade commands examples to
avoid timeout error when deploying all example releases in // in helm
test gke cluster.
* bump helm version to helm 3.4.1
* update doc to make helm 3 the recommended version
* update helm commands arguments for helm 3
* remove helm init and tiller install commands
* add stable repo for metricbeat dependencies
* remove the charts dance in helmignore (related to elastic#127)
* optimize docker images
* replace deprecated gitversion capability (related to helm/helm#5601)
* remove some heritage labels in immutable fields
@jmlrt jmlrt added the meta label Nov 17, 2020
@jmlrt
Copy link
Member Author

jmlrt commented Nov 17, 2020

wrong target branch

@jmlrt jmlrt closed this Nov 17, 2020
@jmlrt jmlrt deleted the 68-helm-3 branch November 18, 2020 07:31
This pull request was closed.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.