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

add apm-server helm chart #324

Merged
merged 2 commits into from
Jan 24, 2020
Merged

add apm-server helm chart #324

merged 2 commits into from
Jan 24, 2020

Conversation

pbecotte
Copy link
Contributor

@pbecotte pbecotte commented Oct 13, 2019

  • Chart version not bumped (the versions are all bumped and released at the same time)
  • README.md updated with any new values or changes
  • Updated template tests in ${CHART}/tests/*.py
  • Updated integration tests in ${CHART}/examples/*/test/goss.yaml

Take a stab at adding the apm-server helm chart. Not sure about an open source image, or if there's a good way to flesh out the goss tests. I am NOT an apm-server expert, any suggestions are welcome. I have this running on my cluster currently.

@elasticmachine
Copy link
Collaborator

Since this is a community submitted pull request, a Jenkins build has not been kicked off automatically. Can an Elastic organization member please verify the contents of this patch and then kick off a build manually?

@jmlrt
Copy link
Member

jmlrt commented Oct 14, 2019

related to #68

@jmlrt
Copy link
Member

jmlrt commented Oct 17, 2019

Hi @pbecotte,
Thank you for this great PR!
Adding yourself Goss tests and Python tests is really nice 👍.
The first think I see is that httpPort is missing in your values.yml.
We'll do a full review soon.

@jmlrt jmlrt added the feature label Oct 17, 2019
apm-server/examples/default/test/goss.yaml Outdated Show resolved Hide resolved
apm-server/examples/oss/test/goss.yaml Outdated Show resolved Hide resolved
apm-server/examples/oss/values.yaml Outdated Show resolved Hide resolved
apm-server/examples/security/test/goss.yaml Outdated Show resolved Hide resolved
apm-server/templates/hpa.yaml Outdated Show resolved Hide resolved
apm-server/Chart.yaml Outdated Show resolved Hide resolved
apm-server/examples/oss/values.yaml Outdated Show resolved Hide resolved
apm-server/tests/apmserver_test.py Outdated Show resolved Hide resolved
apm-server/examples/security/values.yaml Outdated Show resolved Hide resolved
apm-server/values.yaml Outdated Show resolved Hide resolved
@pbecotte
Copy link
Contributor Author

pbecotte commented Nov 8, 2019

Addressed your comments- not sure how I had so many bugs in there- the tests passed at some point, but apparently I didn't run them before pushing? Not sure what would be a good test for apm server- maybe there is a health check url we should send a request to?

Copy link
Member

@jmlrt jmlrt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your changes.

I don't think we have a proper healthcheck endpoint yet in APM server, however testing that the displayed version is the proper one with localhost:8200?pretty is a good start.

Outside of that, still one SERVER_HOST not defined and one elasticsearchHoststo remove and I need to re-run the full tests.

Side note, when I will approve this PR, I'll request another review from Elastic team, but we'll also need to discuss internally about the right time to merge it and release it on Helm repo (TLDR, we already lack man-power dedicated to these helm charts and are struggling to follow issues/pr on existing charts so adding another chart currently does also means more issues/pr so we need to ensure we can "scale" support).

However this is a great PR and I would really like to be able to merge it soon 👍

apm-server/examples/oss/values.yaml Outdated Show resolved Hide resolved
@jmlrt
Copy link
Member

jmlrt commented Nov 12, 2019

jenkins test this please

@jmlrt
Copy link
Member

jmlrt commented Jan 13, 2020

Hi @pbecotte,

Better late than never, we are thinking about merging this PR before the end of the month and release APM server chart in alpha for 7.6.0.

I think we still had a few comments in #324 (review) and certainly a few others to come in the next days.

Are you still interested to work on it?

@pbecotte
Copy link
Contributor Author

Yeah, didn't want to get too far out in front of it, but would be happy to go through and update it.

Copy link
Member

@jmlrt jmlrt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I compared the chart to our current charts and updated reviews with the change we made between the time you created the PR and now. Lots of change required but half of them is helpers prefix :)

In addition, you could add an entry to the global README.md.

Thanks for your work on this chart 👍

apm-server/Chart.yaml Outdated Show resolved Hide resolved
apm-server/README.md Outdated Show resolved Hide resolved
apm-server/README.md Outdated Show resolved Hide resolved
apm-server/README.md Outdated Show resolved Hide resolved
| `readinessProbe` | Parameters to pass to [readiness probe](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/) checks for values such as timeouts and thresholds. | `failureThreshold: 3`<br>`initialDelaySeconds: 10`<br>`periodSeconds: 10`<br>`successThreshold: 3`<br>`timeoutSeconds: 5` |
| `resources` | Allows you to set the [resources](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/) for the `DaemonSet` | `requests.cpu: 100m`<br>`requests.memory: 100Mi`<br>`limits.cpu: 1000m`<br>`limits.memory: 200Mi` |
| `serviceAccount` | Custom [serviceAccount](https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/) that APM Server will use during execution. By default will use the service account created by this chart. | `""` |
| `secretMounts` | Allows you easily mount a secret as a file inside the `DaemonSet`. Useful for mounting certificates and other secrets. See [values.yaml](./values.yaml) for an example | `[]` |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| `secretMounts` | Allows you easily mount a secret as a file inside the `DaemonSet`. Useful for mounting certificates and other secrets. See [values.yaml](./values.yaml) for an example | `[]` |
| `secretMounts` | Allows you easily mount a secret as a file inside the `Deployment`. Useful for mounting certificates and other secrets. See [values.yaml](./values.yaml) for an example | `[]` |

apm-server/templates/hpa.yaml Outdated Show resolved Hide resolved
apm-server/templates/ingress.yaml Outdated Show resolved Hide resolved
apm-server/templates/service.yaml Outdated Show resolved Hide resolved
apm-server/templates/serviceaccount.yaml Outdated Show resolved Hide resolved
apm-server/templates/serviceaccount.yaml Outdated Show resolved Hide resolved
Copy link
Member

@jmlrt jmlrt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still a few things to change, mostly in the README (replace relative urls, change parameters description mentioning daemonsets...).

apm-server/examples/6.x/test/goss.yaml Outdated Show resolved Hide resolved
README.md Show resolved Hide resolved
* The default APM Server configuration file for this chart is configured to use an
Elasticsearch endpoint as configured by the rest of these helm charts. This can
easily be overridden in the config value apmConfig.apm-server.yml

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When I mentionned a note, it was a bullet point like in other README (sorry for not being enough explicit).

@jmlrt
Copy link
Member

jmlrt commented Jan 20, 2020

jenkins test this please

@jmlrt jmlrt mentioned this pull request Jan 21, 2020
@jmlrt
Copy link
Member

jmlrt commented Jan 24, 2020

jenkins test this please

1 similar comment
@jmlrt
Copy link
Member

jmlrt commented Jan 24, 2020

jenkins test this please

@jmlrt jmlrt mentioned this pull request Jan 24, 2020
Copy link
Member

@jmlrt jmlrt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! There is still a few non-blocking comments and a strange issue with goss test but let's merge and I'll manage the rest in a following PR.

Many thanks for your work @pbecotte

@jmlrt jmlrt merged commit 6aaabcd into elastic:master Jan 24, 2020
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.

None yet

3 participants