feat(ext/fleet): Store state in a volume
Prevents duplicate enrollments when the fleet-server container is re-created.
This commit is contained in:
parent
d0b97082cf
commit
1943f25282
|
@ -1,3 +1,8 @@
|
|||
ARG ELASTIC_VERSION
|
||||
|
||||
FROM docker.elastic.co/beats/elastic-agent:${ELASTIC_VERSION}
|
||||
|
||||
# Ensure the 'state' directory exists and is owned by the 'elastic-agent' user,
|
||||
# otherwise mounting a named volume in that location creates a directory owned
|
||||
# by root:root which the 'elastic-agent' user isn't allowed to write to.
|
||||
RUN mkdir state
|
||||
|
|
|
@ -33,7 +33,6 @@ management UI: [Fleet UI Settings][fleet-cfg].
|
|||
|
||||
## Known Issues
|
||||
|
||||
- Every re-creation of the `fleet-server` container creates a duplicate agent in Fleet's central management.
|
||||
- Logs and metrics are only collected within the Fleet Server's container. Ultimately, we want to emulate the behaviour
|
||||
of the existing Metricsbeat and Filebeat extensions, and collect logs and metrics from all ELK containers
|
||||
out-of-the-box. Unfortunately, this kind of use-case isn't (yet) well supported by Fleet, and most advanced
|
||||
|
|
|
@ -6,6 +6,8 @@ services:
|
|||
context: extensions/fleet/
|
||||
args:
|
||||
ELASTIC_VERSION: ${ELASTIC_VERSION}
|
||||
volumes:
|
||||
- fleet-server:/usr/share/elastic-agent/state:z
|
||||
environment:
|
||||
FLEET_SERVER_ENABLE: '1'
|
||||
FLEET_SERVER_INSECURE_HTTP: 'true'
|
||||
|
@ -28,3 +30,6 @@ services:
|
|||
depends_on:
|
||||
- elasticsearch
|
||||
- kibana
|
||||
|
||||
volumes:
|
||||
fleet-server:
|
||||
|
|
Loading…
Reference in New Issue