Commit Graph

59 Commits

Author SHA1 Message Date
Antoine Cotten 87f5894f65
feat(ext/beats): Use unprivileged publish users 2022-11-22 11:37:50 +01:00
Antoine Cotten 141b38a083
feat(ext/metricbeat): Further drop perms for monitoring
The built-in 'remote_monitoring_user' has full permissions on monitoring
indices, which is more than Metricbeat needs to collect metrics from
remote components.
2022-11-18 21:47:46 +01:00
Antoine Cotten 0e7fa390b4
ci: Enable beats_system and remote_monitoring_user users 2022-11-18 17:27:15 +01:00
Antoine Cotten eba8d3837d
ci: Use env file instead of deprecated workflow cmd
https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
2022-11-17 16:57:40 +01:00
Antoine Cotten 0fd8aae1c5
ci: Run auto-merge as update bot
Recently this workflow started failing with 'Resource not accessible by
integration' when using the default GitHub Actions access token.

Ref. ridedott/merge-me-action#1581
2022-11-16 17:54:41 +01:00
Antoine Cotten d11e281d91
ci: Relocate misplaced debug step 2022-11-16 17:31:53 +01:00
Antoine Cotten 32bf9423ed
feat(ext/fleet): Add example of APM Server agent 2022-11-16 14:39:22 +01:00
Antoine Cotten d0b97082cf
ci(ext/fleet): Probe status endpoint for readiness 2022-11-15 14:49:24 +01:00
Antoine Cotten 30cb8cb484
feat: Add Fleet extension, remove standalone APM Server (#760)
The preferred way to run APM Server is via the APM integration of the
Elastic Agent.

Ref. https://www.elastic.co/guide/en/apm/guide/8.4/legacy-apm-overview.html
2022-10-06 11:58:02 +02:00
Antoine Cotten 52df39e3cc
fix(ci): Image names with underscores in search queries
GitHub updated their Ubuntu 22.04 runner image to 20220821.1, which
bumped Compose from v2.6.1 to v2.9.0.
Compose v2.8.0 introduced a breaking change where the name of certain
resources — such as images — are created with hyphens '-' instead of
underscores '_'.

Ref. https://docs.docker.com/compose/release-notes/#280
2022-08-25 11:11:35 +02:00
Evan b6eb747a4a
fix: Logstash TCP input uses IANA registered port 5000 2022-07-17 00:00:38 +02:00
Antoine Cotten e980a542e7
ci: Clean up orphan containers in each extension test 2022-06-08 10:05:07 +02:00
Antoine Cotten 29df29f808
feat(ext): Add Heartbeat extension
Closes #672
2022-06-03 17:33:15 +02:00
Antoine Cotten f808ff31cf
ci: Auto-update Elastic version on tls branch 2022-05-29 11:24:38 +02:00
dependabot[bot] 94d6273524
chore(deps): Bump actions/checkout from 2 to 3 (#721) 2022-05-29 08:22:02 +00:00
dependabot[bot] 84e37a221f
chore(deps): Bump peter-evans/create-pull-request from 3 to 4 (#718) 2022-05-29 08:17:12 +00:00
dependabot[bot] de90bd06b4
chore(deps): Bump actions/setup-node from 2 to 3 (#719) 2022-05-29 08:17:09 +00:00
dependabot[bot] 0319b7e128
chore(deps): Bump actions/github-script from 5 to 6 (#720) 2022-05-29 08:17:07 +00:00
Antoine Cotten 9fd8a09f0d
ci: Use GitHub runner based on Ubuntu 22.04
Includes Compose v2. See the full list of included software at
https://github.com/actions/virtual-environments/blob/ubuntu22/20220522.1/images/linux/Ubuntu2204-Readme.md
2022-05-25 22:35:55 +02:00
Antoine Cotten 12dc0a4b74
Revert "ci: Pin Compose version to v2.2.3"
This reverts commit 897720fa91.

A new version of Compose was released, with a fix for the issue we were
encountering.
2022-03-09 01:57:19 +01:00
Antoine Cotten 4fe6f68339
ci: Update list of auto-mergeable branch names 2022-03-06 11:07:29 +01:00
Antoine Cotten 897720fa91
ci: Pin Compose version to v2.2.3
v2.3.0 introduced a regression which causes the test CI workflow to
fail: https://github.com/docker/compose/issues/9234
2022-03-06 10:28:48 +01:00
Antoine Cotten eb1c6fa27e
chore: Rename ELK_VERSION to ELASTIC_VERSION
More appropriate name considering that extensions, which aren't part of
the "ELK" stack, also rely on this variable.
2022-02-28 09:10:30 +01:00
Antoine Cotten 9877b39900
Automate management of required roles and user passwords (#671) 2022-02-21 11:19:43 +01:00
Antoine Cotten ca98168da1
Quote passwords to prevent interpreting leading special chars
Closes #667
2022-02-11 19:10:58 +01:00
Antoine Cotten 370ebbfaf4
doc: Update "Initial Setup" section for v8.0.0
Starting with Elastic v8.0.0, it is no longer possible to run Kibana
using the bootstraped privileged `elastic` user.

Closes #666
2022-02-11 14:48:00 +01:00
Antoine Cotten 6704d9f1d7
Update to v8.0.0 (#544)
List of changes impacting docker-elk:

- [logstash]: The output to Elasticsearch is handled as a data stream.

  Starting with v8.0.0, the `elasticsearch` output for Logstash sends
  log data to a data stream instead of `logstash-*` indices by default.
  The name of the default data stream is `logs-generic-default`.
  docker-elk remains unopinionated and simply uses Elastic's defaults
  like it always has, so users who prefer to retain the old behaviour
  need to explicitly opt-out of data streams in their Logstash
  pipelines.

  Refs:
  - https://www.elastic.co/guide/en/elasticsearch/reference/current/data-streams.html
  - https://www.elastic.co/guide/en/logstash/current/plugins-outputs-elasticsearch.html#plugins-outputs-elasticsearch-data-streams

- [logstash]: The (legacy) monitoring data collection is now disabled.

  This feature was deprecated since v7.9.0, and removed in v8.0.0.

  Ref: https://www.elastic.co/guide/en/logstash/current/monitoring-internal-collection-legacy.html

- [kibana]: An index pattern for `logs-*` indices is automatically
  created.

  It used to be required to manually create an index pattern for indices
  managed by Logstash, even when using the default Logstash indices.
  This is no longer the case since the output data is now being handled
  as a data stream, and Kibana automatically creates index patterns for
  these.

- [elasticsearch]: The command line tool `elasticsearch-setup-passwords`
  was deprecated in favour of a new `elasticsearch-reset-password` tool.

  Passwords for built-in users must now be generated one by one.

  Ref: https://www.elastic.co/guide/en/elasticsearch/reference/current/setup-passwords.html

- [enterprise-search]: Kibana is now the new management interface, and
  the only one available moving forward.

  The old standalone Enterprise Search interface was removed in v8.0.0.

  Ref: https://www.elastic.co/guide/en/enterprise-search/current/user-interfaces.html
2022-02-10 17:19:04 +01:00
Antoine Cotten 3ce7fc0ae3
ci: Fix race condition while checking container IP
Be resilient and recheck the container's status if its IP address
couldn't be determined on the first attempt.
2021-12-28 20:16:54 +01:00
Antoine Cotten 1815972838
Add Filebeat extension 2021-12-04 02:17:41 +01:00
Antoine Cotten e6f9ec49d2
ci: Delete branch after successful Elastic update merge 2021-11-11 19:08:42 +01:00
Antoine Cotten 9a523626ef
ci: Automatically merge bot PRs for Elastic updates
Merges pull requests from docker-elk-updater[bot] if CI checks pass.
2021-11-09 02:54:27 +01:00
Antoine Cotten b826d7bbdf
ci: Always use _search API instead of _count
Makes it easier to troubleshoot returned documents by inspecting the
logs of CI runs.
2021-11-06 12:06:31 +01:00
Antoine Cotten e9903fecf6
ci: Run tests using latest Compose V2 release 2021-11-06 10:38:41 +01:00
Antoine Cotten 233c4e0b8c
ci: Use token from GitHub App in auto-update workflow 2021-11-03 14:37:26 +01:00
Antoine Cotten 9fde1ac351
ci(core): Retry sending data over TCP in case of error
The first attempt occasionally fails, probably due to a race with the
listener's startup.

Additionally, perform minor adjustments to the output written to stderr
to ensure it is properly flushed in the CI environment.
2021-10-28 17:56:39 +02:00
Antoine Cotten c3cc7ae15c
ci: Check for readiness of Logstash in Logspout test
Since we restart Logstash to enable the UDP input prior to running this
test, we should also ensure it has successfully come back, otherwise we
start searching for the expected documents in Elasticsearch way too
early and often run into timeouts.
2021-10-28 15:05:17 +02:00
Antoine Cotten 29d105e663
ci(update): Checkout repo after running Node.js steps
Ensures the workspace is clean before attempting to update any file.
Removes the need for explicitly ignoring Node.js artifacts in Git, since
they get cleaned up by the 'checkout' action before fetching.
2021-10-26 23:48:47 +02:00
Antoine Cotten c8f5f01b7f
ci: Update all release series from single workflow
Run the update job for each currently supported release series, so that
automated updates can be orchestrated from the main branch via a single
scheduled workflow.
2021-10-26 23:08:40 +02:00
Antoine Cotten 04fdb981eb
Restore "Send automated PR upon new stack release"
This reverts commit 9016e00e7b and updates
the 'latest' version detection logic to iterate over releases and pick
the latest matching semver, instead of relying on GitHub's
'/releases/latest' API.
2021-10-26 19:39:01 +02:00
Antoine Cotten 51b8525767
ci: Build/pull all images ahead of actual tests 2021-10-07 01:27:27 +02:00
Antoine Cotten 9a541d14f8
ci: Fix Metricbeat test
The naming scheme of containers created by Compose has changed in V2.

Ref. docker/compose#8655
2021-10-07 01:18:14 +02:00
Antoine Cotten b3abdb1d2e
ci: Use Compose v2 2021-10-07 00:09:07 +02:00
Antoine Cotten c8fc437bdb
ci: Always search in explicit index pattern 2021-08-27 00:32:16 +02:00
Antoine Cotten f3940477f9
ci: Print result of search query in Logspout test 2021-08-27 00:21:46 +02:00
Antoine Cotten 9016e00e7b
Revert "Send automated PR upon new stack release"
This reverts commit 730ffa8de5.

Lately, Elastic's release pipeline has been tagging releases from the
older 6.x series as "latest" in place of releases from the current 7.x
series. This results in weekly PRs from GitHub Actions for _downgrading_
our stack from 7.x to 6.x.

In order to avoid receiving those PRs, we disable the update workflow
entirely until the Elastic 6.x release series is marked as EOL.

Ref. elastic/elasticsearch#75436
Closes #611
2021-08-26 00:55:53 +02:00
Antoine Cotten 57298791e0
ci: Increase readiness timeout to 5m
It takes longer for Kibana to start with every major release. Increase
this timeout in anticipation for the v8.0.0 release.
2021-08-23 12:21:45 +02:00
Antoine Cotten 7d03e1fc5f
ci: Avoid unbound integer variable
Fixes #578
2021-02-21 16:17:44 +01:00
github-actions[bot] 75ebebcebb
Update to v7.11.0 (#575)
ci: Update Enterprise Search test for v3 index

App Search API keys are now encrypted in Elasticsearch, so we simply
ensure they exist and don't try to read their value.
2021-02-11 13:48:22 +01:00
Antoine Cotten 980c5c480f
Rename master branch to main (#571) 2021-01-20 08:12:56 +13:00
Mustafa Guney f592f221c4
Add Metricbeat extension (#567)
Co-authored-by: Antoine Cotten <hello@acotten.com>
2021-01-16 21:11:24 +01:00