Skip to content

Commit

Permalink
[Ingest Manager] Update fleet internal doc with latest flags (#67193)
Browse files Browse the repository at this point in the history
  • Loading branch information
nchaulet authored May 25, 2020
1 parent 39a1cba commit 84993c6
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 6 deletions.
11 changes: 11 additions & 0 deletions x-pack/plugins/ingest_manager/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,17 @@
- [Integration tests](server/integration_tests/router.test.ts)
- Both EPM and Fleet require `ingestManager` be enabled. They are not standalone features.

## Fleet Requirements

Fleet needs to have Elasticsearch API keys enabled, and also to have TLS enabled on kibana, (if you want to run Kibana without TLS you can provide the following config flag `--xpack.ingestManager.fleet.tlsCheckDisabled=false`)

Also you need to configure the hosts your agent is going to use to comunication with Elasticsearch and Kibana (Not needed if you use Elastic cloud). You can use the following flags:

```
--xpack.ingestManager.fleet.elasticsearch.host=http://localhost:9200
--xpack.ingestManager.fleet.kibana.host=http://localhost:5601
```

## Development

### Getting started
Expand Down
6 changes: 3 additions & 3 deletions x-pack/plugins/ingest_manager/dev_docs/api_keys.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@

Fleet uses 3 types of API Keys:

1. Enrollment API Keys - A long lived token with optional rules around assignment of policy when enrolling. It is used to enroll N agents.
1. Enrollment Token - A long lived token with optional rules around assignment of policy when enrolling. It is used to enroll N agents.

2. Access API Keys - Generated during enrollment and hidden from the user. This token is used to communicate with Kibana and is unique to each agent. This allows a single agent to be revoked without affecting other agents or their data ingestion ability.
2. Access Token - Generated during enrollment and hidden from the user. This token is used to communicate with Kibana and is unique to each agent. This allows a single agent to be revoked without affecting other agents or their data ingestion ability.

3. Output API Keys - This is used by the agent to ship data to ES. At the moment this is one token per unique output cluster per policy due to the scale needed from ES tokens not currently being supported. Once ES can accept the levels of scale needed, we would like to move to one token per agent.
3. Output API Keys - This is used by the agent to ship data to ES. This token is unique per agent.

### FAQ

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@

Fleet workflow:

- an agent enroll to fleet using an enrollmentAPiKey
- an agent enroll to fleet using an enrollment token.
- Every n seconds agent is polling the checkin API to send events and check for new configuration

### Agent enrollment

An agent must enroll using the REST Api provided by fleet.
When an agent enroll Fleet:

- verify the API Key is a valid ES API key
- verify the Enrollment token is a valid ES API key
- retrieve the Saved Object (SO) associated to this api key id (this SO contains the configuration|policy id)
- create an ES ApiKey unique to the agent for accessing kibana during checkin
- create an ES ApiKey per output to send logs and metrics to the output
Expand All @@ -26,7 +26,7 @@ Agent are going to poll the checkin API to send events and check for new configr

When an agent checkin fleet:

- verify the access API Key is a valid ES API key
- verify the access token is a valid ES API key
- retrieve the agent (SO associated to this api key id)
- Insert events SO
- If the Agent configuration has been updated since last checkin
Expand Down

0 comments on commit 84993c6

Please sign in to comment.