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

7x helm 3 #901

Closed
wants to merge 99 commits into from
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
99 commits
Select commit Hold shift + click to select a range
fb3b0a7
[release] Initiate 7.7 branch (#541)
mgreau Apr 9, 2020
29d33c3
[meta] fix ci jobs
jmlrt Apr 10, 2020
0f87b17
Merge pull request #570 from jmlrt/fix-ci-jobs-77-branch
jmlrt Apr 10, 2020
a55cea1
[jenkins] Fix Google cluster name (#571)
mgreau Apr 10, 2020
b9e724e
[ci] Fix triggering upstream cleanup job (#578)
mgreau Apr 14, 2020
32ed278
Merge pull request #567 from jmlrt/metricbeat-improvements
jmlrt Apr 10, 2020
724f306
Merge pull request #568 from jmlrt/filebeat-improvements
jmlrt Apr 10, 2020
7ccb9e5
[doc] Update links to 7.7 branch (#579)
mgreau Apr 14, 2020
26bd1ca
Merge pull request #580 from jmlrt/helm-2-16-6
jmlrt Apr 15, 2020
68a54af
[script] Update bumper script to handle SNAPSHOT versions (#581)
mgreau Apr 15, 2020
42eef5d
[ci] Fix multijob configuration for testing staging artifacts (#582)
mgreau Apr 15, 2020
1785431
Merge pull request #583 from Conky5/use-different-image-for-random-key
Conky5 Apr 15, 2020
f74d721
Merge pull request #572 from jmlrt/split-metricbeat-values
jmlrt Apr 17, 2020
f59b2c8
Merge pull request #585 from jmlrt/metricbeat-hostnetwork
jmlrt Apr 17, 2020
fd72d67
Merge pull request #590 from marcostvz/patch-1
jmlrt Apr 20, 2020
65eebf9
Merge pull request #584 from michelesr/master
jmlrt Apr 20, 2020
bcaaaad
Merge pull request #522 from domgoodwin/helm-default-patch
jmlrt Apr 21, 2020
ac520df
Merge pull request #586 from jmlrt/readiness-to-503
jmlrt Apr 21, 2020
e2d4b9c
Merge pull request #569 from cartonalexandre/master
jmlrt Apr 23, 2020
ab26d11
Merge pull request #591 from jmlrt/logstash-http-host-var
jmlrt Apr 27, 2020
6a66c2e
Merge pull request #593 from jmlrt/doc-improvements (#599)
jmlrt Apr 28, 2020
f3f4e27
FAQ and examples improvements (#598) (#600)
jmlrt Apr 28, 2020
1c63c35
[meta] bump version on examples readme (#601)
jmlrt Apr 29, 2020
847b525
initiate 7.x branch (#605)
jmlrt May 5, 2020
ff38c8d
[helm] bump helm version to 2.16.7 (#607)
jmlrt May 6, 2020
675f62e
[metricbeat] fix deployment upgrade by removing chart label from .spe…
jmlrt May 18, 2020
8c904bb
Fix configchecksum not being set (#634)
MaxRink May 27, 2020
df0e7d8
Fix values links in examples/multi/README.md (#639)
coolbaluk May 27, 2020
ba03954
[kibana] String/YAML conditions for `.Values.{extraContainers,extraIn…
maxkochubey May 27, 2020
207674e
[elasticsearch] Fix issue with `readinessProbe` causing outages (#638)
May 28, 2020
934e652
[metricbeat] use deprecated kube-state-metrics config when existing (…
jmlrt May 28, 2020
a32bcae
Elasticsearch secret mountmode (#596)
domgoodwin May 28, 2020
d5f327b
[kibana] Add extensible label support (#555)
ramrodo May 29, 2020
c96be3d
[meta] add support for k8s 1.16 (#635)
jmlrt May 29, 2020
344bc38
[helm] bump helm version to 2.16.8 (#657)
jmlrt Jun 11, 2020
285914a
Elasticsearch: do not include heritage selector (#437)
desaintmartin Jun 11, 2020
487e73b
bump 7.x branch to 7.9.0-SNAPSHOT (#661)
jmlrt Jun 12, 2020
6ad3a5f
[apm-server] increase memory limit (#664)
jmlrt Jun 15, 2020
ba17055
[elasticsearch] Disable service links to prevent very long startup ti…
Jun 17, 2020
8409ed1
[apm-server] allow customizing probes (#671)
jmlrt Jun 18, 2020
d31b4a0
[elasticsearch] update kind example for version >= 0.7.0 (#669)
jmlrt Jun 18, 2020
4f2e8f5
[helm] bump helm version to 2.16.9 (#667)
jmlrt Jun 18, 2020
6d819a7
[logstash] add security example (#392)
jmlrt Jun 18, 2020
e10a7d1
podSecurityContext.runAsUser needs to be nulled as well for Openshift…
mephinet Jun 23, 2020
c72f37c
[meta] disable stackdriver for gke test clusters (#687)
jmlrt Jun 24, 2020
be7e3c4
Add ServiceAccount annotations (#686)
jim-barber-he Jun 26, 2020
e93a51d
[logstash] fix version in security test (#697)
jmlrt Jun 29, 2020
c0b75d5
Elasticsearch: set PVC labels through setting all StatefulSet labels …
desaintmartin Jun 29, 2020
0c1a5f3
[docs] Improve visibility of 6.8 and 7.x releases (#690)
Jun 29, 2020
6735988
[doc] fix copy-paste errors
jmlrt Jun 29, 2020
c450421
[logstash] add headless service for statefulset (#695)
jmlrt Jun 29, 2020
1223398
[filebeat] add permission to list nodes (#704)
bmilescu Jul 2, 2020
feec797
[testing] Ensure that the 'namespace' is specified in Helm command (#…
Jul 8, 2020
a5fec3e
feat(metricbeat): annotation support for daemonset and deployment (#713)
kernkonzentrat Jul 8, 2020
6051c30
[apm-server] Add to test matrix (#708)
Jul 8, 2020
665e1b2
Support creating k8s helm secrets for logstash helm chart #705 (#712)
kksudo Jul 8, 2020
b09bbdc
[filebeat] document probe workaround for kafka output (#699)
jmlrt Jul 8, 2020
6ec92bd
Metricbeat daemonset deployment optional (#716)
erihanse Jul 9, 2020
f8add3d
Make kube-state-metrics optional for installation (#387)
SergK Jul 13, 2020
8430060
[elasticsearch] _helpers.tpl - elasticsearch.endpoints to use elastic…
xario Jul 13, 2020
5f5c0d3
[logstash] Restart the logstash pod when the secrets have changed (#723)
kksudo Jul 15, 2020
fc1bc13
[elasticsearch] Update test image pull policy. (#727)
fhaase2 Jul 15, 2020
ff8ca5f
[Kibana] Add loadbalancerIP to service spec in kibana (#726)
debojitkakoti Jul 16, 2020
a55efee
[doc] fix some links (#737)
jmlrt Jul 17, 2020
8376578
Update README.md (#749)
AhmedSamirAhmed Jul 27, 2020
aa7e446
[release] bump 7.x branch to 7.10.0-SNAPSHOT (#757)
jmlrt Jul 28, 2020
8555428
[meta] add slack notifications to CI jobs (#760)
jmlrt Jul 28, 2020
8acfe40
[doc] update doc links (#758)
jmlrt Jul 28, 2020
e59d4f2
[meta] add helm 3 beta support (#759)
jmlrt Jul 29, 2020
4ef323e
[meta] remove branch specific staging jobs (#736)
jmlrt Jul 29, 2020
af48a18
[meta] drop gke 1.14 tests (#798)
jmlrt Aug 26, 2020
5fa5c34
[helm] bump helm version to 2.16.10 (#797)
jmlrt Aug 27, 2020
2cfd4ee
Fix typo in FAQ (#744)
SlavaSubotskiy Aug 27, 2020
b2334b5
Missing deletion of "elastic-certificate-crt" (#752)
AhmedSamirAhmed Aug 27, 2020
2bd98f7
Remove duplicate "initialDelaySeconds" field (#763)
ebuildy Aug 27, 2020
991cb1c
[logstash] Fix headless service ports spec (#776)
itssimon Aug 27, 2020
0b14236
[metricbeat] Add missing labels for deployment (#770)
vliubko Aug 27, 2020
a3d081f
Fix serviceAccount for APM server (#786)
caiconkhicon Aug 27, 2020
59b9786
[metricbeat] Support secrets (#778)
erihanse Sep 10, 2020
65bf107
[elasticsearch] add loadBalancer externalTrafficPolicy option (#810)
luanguimaraesla Sep 16, 2020
091de92
Include pre-releases in the semver range. (#729)
Sep 16, 2020
e6e4e1a
[elasticsearch] fix secrets names in examples (#811)
jmlrt Sep 16, 2020
8e39cde
[helm] bump helm version to 2.16.12 (#816)
jmlrt Sep 23, 2020
2e46001
[elasticsearch][kibana] disable nss dentry cache (#818)
jmlrt Sep 30, 2020
45c054e
support tpl in logstashConfig, logstashPipeline and kibanaConfig (#717)
qqshfox Oct 2, 2020
b38a4fc
[metricbeat] support deployment/daemonset specific metrics (#820)
v1r7u Oct 2, 2020
288171f
[filebeat] introduce dnsConfig values for the containers (#659)
orong-pp Oct 5, 2020
30373da
[logstash] use only httpPort in headless service (#839)
jmlrt Oct 14, 2020
22b0c8b
Added ingress support to the logstash chart (#793)
jnbelo Oct 16, 2020
5918d20
fixup! Added ingress support to the logstash chart (#793)
jmlrt Oct 16, 2020
d8f2b4b
[Metricbeat] Dont generate config if not enabled (#767)
ebuildy Oct 20, 2020
5d351fb
[all] Simplify doc in 7.x branch (#860)
nkammah Oct 21, 2020
65e19b5
[elasticsearch] add coordinator node to multi test (#854)
jmlrt Oct 27, 2020
27dde9f
[meta] add support for helm 2.17.0 and k8s 1.17 (#880)
jmlrt Nov 3, 2020
b25cc27
[metricbeat] use relocated stable repo for kube-state-metrics (#882)
jmlrt Nov 3, 2020
fc57144
Add warning comment placeholder (7.x branch) (#887)
nkammah Nov 5, 2020
c67eb24
[meta] update rbac.authorization.k8s.io api (#890)
jmlrt Nov 10, 2020
2dad578
[meta] increase helm timeout (#891)
jmlrt Nov 12, 2020
27d509e
Helm 3 (#516)
jmlrt Nov 17, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Merge pull request #593 from jmlrt/doc-improvements (#599)
Doc improvements

- Reformat all `README.md` files
  - Fix typos and missing syntaxes)
  - Use Markdown implicit link names
  - Sort values in configuration tables
  - Limit lines to 80 characters (except for code blocks and tables)
  - Add table of content
- Fix default values descriptions
- Move testing instructions to `CONTRIBUTING.md` doc
- Move breaking changes notices to `BREAKING_CHANGES.md` doc
  • Loading branch information
jmlrt authored Apr 28, 2020
commit 6a66c2ecf53e59a45dc23249379fa5783603a5ea
257 changes: 246 additions & 11 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,256 @@
# Contributing to the Elastic helm charts
# Contributing to the Elastic Helm charts
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->


- [Adding new features](#adding-new-features)
- [Requirements for submiting a pull request](#requirements-for-submiting-a-pull-request)
- [CLA (Contributor License Agreement)](#cla-contributor-license-agreement)
- [How We Use Git and GitHub](#how-we-use-git-and-github)
- [Forking](#forking)
- [Branching](#branching)
- [Commits and Merging](#commits-and-merging)
- [Rebasing and fixing merge conflicts](#rebasing-and-fixing-merge-conflicts)
- [What Goes Into a Pull Request](#what-goes-into-a-pull-request)
- [Releases](#releases)
- [Testing](#testing)
- [Templating tests](#templating-tests)
- [Integration tests](#integration-tests)

<!-- END doctoc generated TOC please keep comment here to allow auto update -->
<!-- Use this to update TOC: -->
<!-- docker run --rm -it -v $(pwd):/usr/src jorgeandrada/doctoc --github -->


## Adding new features

If you aren't 100% sure that this is a feature that makes sense for everyone.
Please open an issue first to discuss with the maintainers before investing a
lot of time into it.


## Requirements for submiting a pull request

Before submitting a pull request make sure you validated the following
requirements:

* CLA should be signed (see [CLA section][] for more details).

* Charts version shouldn't be bumped (see [Releases section][] for more
details).

* Charts `README.md` should be updated if required (especially updating default
values if they have been changed).

* Templating tests should be added/updated (see [Templating tests section][] for
more details).

* Integration tests should be added/updated (see [Integration tests section][]
for more details).


## CLA (Contributor License Agreement)

If you haven't already you will need to sign the [CLA](https://www.elastic.co/contributor-agreement) before your pull request can be reviewed and merged.
Please make sure you have signed our [Contributor License Agreement][]. We are
not asking you to assign copyright to us, but to give us the right to distribute
your code without restriction. We ask this of all contributors in order to
assure our users of the origin and continuing existence of the code.
You only need to sign the CLA once.

## Version bumps

Just like with the rest of the stack, all versions in this helm chart repo are bumped and released at the same time. There is no need to bump the version in your pull request.
## How We Use Git and GitHub

## Testing and documentation
### Forking

When making any changes be sure to also update the following:
We follow the [GitHub forking model][] for collaborating on Helm charts code.
This model assumes that you have a remote called `upstream` which points to the
official Kibana repo, which we'll refer to in later code snippets.

* Charts README.md
* The templating tests which can be found in `${CHART}/tests/*.py`. [Example](/elasticsearch/tests/elasticsearch_test.py)
* The integration tests which can be found in `${CHART}/examples/*/test/goss.yaml`. [Example](/elasticsearch/examples/default/test/goss.yaml)
### Branching

* All work on the next major release (`8.0.0`) goes into master.
* Past major release branches are named `{majorVersion}.x`. They contain work
that will go into the next minor release. For example, if the next minor release
is `7.8.0`, work for it should go into the `7.x` branch.
* Past minor release branches are named `{majorVersion}.{minorVersion}`. They
contain work that will go into the next patch release. For example, if the next
patch release is `7.7.1`, work for it should go into the `7.7` branch.
* All work is done on feature branches and merged into one of these branches.
* Where appropriate, we'll backport changes into older release branches.

### Commits and Merging

* Feel free to make as many commits as you want, while working on a branch.
* Please use your commit messages to include helpful information on your
changes and an explanation of *why* you made the changes that you did.
* Resolve merge conflicts by rebasing the target branch over your feature
branch, and force-pushing (see below for instructions).
* When merging, we'll squash your commits into a single commit.

#### Rebasing and fixing merge conflicts

Rebasing can be tricky, and fixing merge conflicts can be even trickier because
it involves force pushing. This is all compounded by the fact that attempting to
push a rebased branch remotely will be rejected by git, and you'll be prompted
to do a `pull`, which is not at all what you should do (this will really mess up
your branch's history).

Here's how you should rebase master onto your branch, and how to fix merge
conflicts when they arise.

First, make sure master is up-to-date.

```shell
git checkout master
git fetch upstream
git rebase upstream/master
```

Then, check out your branch and rebase master on top of it, which will apply all
of the new commits on master to your branch, and then apply all of your branch's
new commits after that.

```shell
git checkout name-of-your-branch
git rebase master
```

You want to make sure there are no merge conflicts. If there are merge
conflicts, git will pause the rebase and allow you to fix the conflicts before
continuing.

You can use `git status` to see which files contain conflicts. They'll be the
ones that aren't staged for commit. Open those files, and look for where git has
marked the conflicts. Resolve the conflicts so that the changes you want to make
to the code have been incorporated in a way that doesn't destroy work that's
been done in master. Refer to master's commit history on GitHub if you need to
gain a better understanding of how code is conflicting and how best to resolve
it.

Once you've resolved all of the merge conflicts, use `git add -A` to stage them
to be committed, and then use `git rebase --continue` to tell git to continue
the rebase.

When the rebase has completed, you will need to force push your branch because
the history is now completely different than what's on the remote. **This is
potentially dangerous** because it will completely overwrite what you have on
the remote, so you need to be sure that you haven't lost any work when resolving
merge conflicts. (If there weren't any merge conflicts, then you can force push
without having to worry about this.)

```
git push origin name-of-your-branch --force
```

This will overwrite the remote branch with what you have locally. You're done!

**Note that you should not run `git pull`**, for example in response to a push
rejection like this:

```
! [rejected] name-of-your-branch -> name-of-your-branch (non-fast-forward)
error: failed to push some refs to 'https://github.com/YourGitHubHandle/kibana.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
```

Assuming you've successfully rebased and you're happy with the code, you should
force push instead.

### What Goes Into a Pull Request

* Please include an explanation of your changes in your PR description.
* Links to relevant issues, external resources, or related PRs are very
important and useful.
* Please update any tests that pertain to your code, and add new tests where
appropriate.
* See [Submitting a Pull Request](#submitting-a-pull-request) for more info.


## Releases

Just like with the rest of the stack, all versions in this helm chart repo are
bumped and released at the same time. There is no need to bump the version in
your pull request.

Charts are released from version branchs (example `7.7` branch).

[Elastic Helm repository][] is updated only during releases.

The current release process is documented in [release.md][].


## Testing

### Templating tests

Templating tests which can be found in `${CHART}/tests/*.py`
([Example][templating test example]).

These charts use [pytest][] to test the templating logic. The dependencies for
testing can be installed from the [requirements.txt][] in the parent directory:

```
pip install -r ./requirements.txt
```

Tests can then be run from each chart directory using `make pytest`

You can also use `make template` (equivalent to `helm template` ) to look at the
YAML being generated:

It is possible to run all of the tests and linting inside of a Docker container
using `make test`

Note that templating tests are formated using [Black][], you should run
`make lint-python` (equivalent to `black --diff --check .` ) to validate them or
`black .` to apply formatting before submitting a pull request which will modify
them.

### Integration tests

Integration tests which can be found in `${CHART}/examples/*/test/goss.yaml`
([Example][integration test example]).

Integration tests are run using [goss][] which is a [Serverspec][] like tool
written in golang. See [integration test example][] for an example of what the
tests look like.

The different integration tests are present in each chart's `examples`
directory.

Each charts contains an `examples/default` integration test which validate the
chart deployment with default values.

`examples` directory contains also integration tests for other use cases (for
example: using `oss` Docker images, using `6.x` version or using `security` ).

Every directory which contains some `test` subdirectory is an integration test
(`examples` directory contains also some configuration examples for some
specific scenarios without tests like configuration for specific k8s providers).

To run the goss tests against the default example:

```
cd examples/default
make goss
```

## Adding new features

If you aren't 100% sure that this is a feature that makes sense for everyone. Please open an issue first to discuss with the maintainers before investing a lot of time into it.
[black]: https://black.readthedocs.io/en/stable/
[cla section]: #cla-contributor-license-agreement
[contributor license agreement]: https://www.elastic.co/contributor-agreement
[elastic helm repository]: https://helm.elastic.co
[github forking model]: https://help.github.com/articles/fork-a-repo/
[goss]: https://github.com/aelsabbahy/goss/blob/master/docs/manual.md
[integration test example]: https://github.com/elastic/helm-charts/blob/7.7/elasticsearch/examples/default/test/goss.yaml
[integration tests section]: #integration-tests
[pytest]: https://docs.pytest.org/en/latest/
[serverspec]: https://serverspec.org
[templating test example]: https://github.com/elastic/helm-charts/blob/7.7/elasticsearch/tests/elasticsearch_test.py
[templating tests section]: #templating-tests
[release.md]: https://github.com/elastic/helm-charts/blob/master/helpers/release.md
[releases section]: #releases
[requirements.txt]: https://github.com/elastic/helm-charts/blob/7.7/requirements.txt
30 changes: 22 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,40 @@

[![Build Status](https://img.shields.io/jenkins/s/https/devops-ci.elastic.co/job/elastic+helm-charts+7.7.svg)](https://devops-ci.elastic.co/job/elastic+helm-charts+7.7/)

This functionality is in beta and is subject to change. The design and code is less mature than official GA features and is being provided as-is with no warranties. Beta features are not subject to the support SLA of official GA features.
This functionality is in beta and is subject to change. The design and code is
less mature than official GA features and is being provided as-is with no
warranties. Beta features are not subject to the support SLA of official GA
features.

## Charts

Please look in the chart directories for the documentation for each chart. These helm charts are designed to be a lightweight way to configure our official docker images. Links to the relevant docker image documentation has also been added below.
Please look in the chart directories for the documentation for each chart. These
Helm charts are designed to be a lightweight way to configure our official
Docker images. Links to the relevant Docker image documentation has also been
added below.

| Chart | Docker documentation |
| ------------------------------------------ | ------------------------------------------------------------------------------- |
|--------------------------------------------|---------------------------------------------------------------------------------|
| [APM-Server](./apm-server/README.md) | https://www.elastic.co/guide/en/apm/server/current/running-on-docker.html |
| [Elasticsearch](./elasticsearch/README.md) | https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html |
| [Filebeat](./filebeat/README.md) | https://www.elastic.co/guide/en/beats/filebeat/current/running-on-docker.html |
| [Kibana](./kibana/README.md) | https://www.elastic.co/guide/en/kibana/current/docker.html |
| [Logstash](./logstash/README.md) | https://www.elastic.co/guide/en/logstash/current/docker.html |
| [Filebeat](./filebeat/README.md) | https://www.elastic.co/guide/en/beats/filebeat/current/running-on-docker.html |
| [Metricbeat](./metricbeat/README.md) | https://www.elastic.co/guide/en/beats/metricbeat/current/running-on-docker.html |
| [APM-Server](./apm-server/README.md) | https://www.elastic.co/guide/en/apm/server/current/running-on-docker.html |

## Kubernetes Versions

The charts are [currently tested](https://devops-ci.elastic.co/job/elastic+helm-charts+7.7/) against all GKE versions available. The exact versions are defined under `KUBERNETES_VERSIONS` in [helpers/matrix.yml](/helpers/matrix.yml)
The charts are [currently tested][] against all GKE versions available. The
exact versions are defined under `KUBERNETES_VERSIONS` in
[helpers/matrix.yml][].

## Helm versions

While we are checking backward compatibility, the charts are only tested with Helm version mentioned in [helm-tester Dockerfile](helpers/helm-tester/Dockerfile) (currently 2.16.6).
Note that we don't support [Helm 3](https://v3.helm.sh/) version.
While we are checking backward compatibility, the charts are only tested with
Helm version mentioned in [helm-tester Dockerfile][] (currently 2.16.6).
Note that we don't support [Helm 3][] version.

[currently tested]: https://devops-ci.elastic.co/job/elastic+helm-charts+7.7/
[helm 3]: https://v3.helm.sh
[helm-tester Dockerfile]: https://github.com/elastic/helm-charts/blob/7.7/helpers/helm-tester/Dockerfile
[helpers/matrix.yml]: https://github.com/elastic/helm-charts/blob/7.7/helpers/matrix.yml
Loading