Skip to content

Commit

Permalink
[Fleet] Add SSL options to fleet server hosts settings (#208091)
Browse files Browse the repository at this point in the history
Fixes #207322

## Summary
Show SSL options for fleet server host in Fleet server settings section
and in add fleet server host flyout
- Registered fleet server host as a encrypted save object and the new
mappings added under `ssl` property, mirroring what's already existing
for `logstash` and `kafka` outputs
- The new options are displayed in the UI, both when adding a new fleet
server host from the flyout and when editing an existing one.
- The values are then added to the full agent policy
- The values for `ssh.key` and `ssh.es_key` can additionally be saved as
secrets but for now this option is not enabled until [fleet server
supports it](elastic/fleet-server#4470) - I
used the feature flag `enableSSLSecrets`

<details>
  <summary>Screenshots</summary>
<img width="803" alt="Screenshot 2025-02-14 at 10 23 41"
src="https://github.com/user-attachments/assets/e1bf8c93-e8c0-4351-b86b-a7f8a8b0ec72"
/>
<img width="801" alt="Screenshot 2025-02-14 at 10 23 36"
src="https://github.com/user-attachments/assets/f96d2a5c-0285-41d1-953b-e662ccdcd514"
/>
<img width="780" alt="Screenshot 2025-02-04 at 14 34 52"
src="https://github.com/user-attachments/assets/e854fc28-d4aa-4b01-8634-e1f37f70419b"
/>
<img width="804" alt="Screenshot 2025-02-04 at 14 35 00"
src="https://github.com/user-attachments/assets/f507c34a-774e-4aa1-94b2-b912539d6143"
/>
<img width="791" alt="Screenshot 2025-02-04 at 09 25 28"
src="https://github.com/user-attachments/assets/82c1f761-7ee5-42d0-8b8f-23848cfc0391"
/>

Generated policy:
<img width="795" alt="Screenshot 2025-02-24 at 16 43 58"
src="https://github.com/user-attachments/assets/5ef4e34f-5850-4449-8a70-7de10750bb84"
/>
<img width="796" alt="Screenshot 2025-02-24 at 16 44 15"
src="https://github.com/user-attachments/assets/bdcf70fe-72f0-4df0-9a9e-40346407a1df"
/>




</details>

### Checklist
- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
  • Loading branch information
3 people authored Mar 3, 2025
1 parent 3fcd11c commit 151fa26
Show file tree
Hide file tree
Showing 55 changed files with 5,017 additions and 912 deletions.
550 changes: 542 additions & 8 deletions oas_docs/bundle.json

Large diffs are not rendered by default.

550 changes: 542 additions & 8 deletions oas_docs/bundle.serverless.json

Large diffs are not rendered by default.

338 changes: 334 additions & 4 deletions oas_docs/output/kibana.serverless.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24602,10 +24602,65 @@ paths:
proxy_id:
nullable: true
type: string
secrets:
additionalProperties: false
type: object
properties:
ssl:
additionalProperties: false
type: object
properties:
es_key:
anyOf:
- additionalProperties: false
type: object
properties:
id:
type: string
required:
- id
- type: string
key:
anyOf:
- additionalProperties: false
type: object
properties:
id:
type: string
required:
- id
- type: string
ssl:
additionalProperties: false
nullable: true
type: object
properties:
certificate:
type: string
certificate_authorities:
items:
type: string
type: array
client_auth:
enum:
- optional
- required
- none
type: string
es_certificate:
type: string
es_certificate_authorities:
items:
type: string
type: array
es_key:
type: string
key:
type: string
required:
- id
- name
- host_urls
- id
type: array
page:
type: number
Expand Down Expand Up @@ -24678,6 +24733,61 @@ paths:
proxy_id:
nullable: true
type: string
secrets:
additionalProperties: false
type: object
properties:
ssl:
additionalProperties: false
type: object
properties:
es_key:
anyOf:
- additionalProperties: false
type: object
properties:
id:
type: string
required:
- id
- type: string
key:
anyOf:
- additionalProperties: false
type: object
properties:
id:
type: string
required:
- id
- type: string
ssl:
additionalProperties: false
nullable: true
type: object
properties:
certificate:
type: string
certificate_authorities:
items:
type: string
type: array
client_auth:
enum:
- optional
- required
- none
type: string
es_certificate:
type: string
es_certificate_authorities:
items:
type: string
type: array
es_key:
type: string
key:
type: string
required:
- name
- host_urls
Expand Down Expand Up @@ -24713,10 +24823,65 @@ paths:
proxy_id:
nullable: true
type: string
secrets:
additionalProperties: false
type: object
properties:
ssl:
additionalProperties: false
type: object
properties:
es_key:
anyOf:
- additionalProperties: false
type: object
properties:
id:
type: string
required:
- id
- type: string
key:
anyOf:
- additionalProperties: false
type: object
properties:
id:
type: string
required:
- id
- type: string
ssl:
additionalProperties: false
nullable: true
type: object
properties:
certificate:
type: string
certificate_authorities:
items:
type: string
type: array
client_auth:
enum:
- optional
- required
- none
type: string
es_certificate:
type: string
es_certificate_authorities:
items:
type: string
type: array
es_key:
type: string
key:
type: string
required:
- id
- name
- host_urls
- id
required:
- item
'400':
Expand Down Expand Up @@ -24833,10 +24998,65 @@ paths:
proxy_id:
nullable: true
type: string
secrets:
additionalProperties: false
type: object
properties:
ssl:
additionalProperties: false
type: object
properties:
es_key:
anyOf:
- additionalProperties: false
type: object
properties:
id:
type: string
required:
- id
- type: string
key:
anyOf:
- additionalProperties: false
type: object
properties:
id:
type: string
required:
- id
- type: string
ssl:
additionalProperties: false
nullable: true
type: object
properties:
certificate:
type: string
certificate_authorities:
items:
type: string
type: array
client_auth:
enum:
- optional
- required
- none
type: string
es_certificate:
type: string
es_certificate_authorities:
items:
type: string
type: array
es_key:
type: string
key:
type: string
required:
- id
- name
- host_urls
- id
required:
- item
'400':
Expand Down Expand Up @@ -24898,6 +25118,61 @@ paths:
proxy_id:
nullable: true
type: string
secrets:
additionalProperties: false
type: object
properties:
ssl:
additionalProperties: false
type: object
properties:
es_key:
anyOf:
- additionalProperties: false
type: object
properties:
id:
type: string
required:
- id
- type: string
key:
anyOf:
- additionalProperties: false
type: object
properties:
id:
type: string
required:
- id
- type: string
ssl:
additionalProperties: false
nullable: true
type: object
properties:
certificate:
type: string
certificate_authorities:
items:
type: string
type: array
client_auth:
enum:
- optional
- required
- none
type: string
es_certificate:
type: string
es_certificate_authorities:
items:
type: string
type: array
es_key:
type: string
key:
type: string
required:
- proxy_id
responses:
Expand Down Expand Up @@ -24932,10 +25207,65 @@ paths:
proxy_id:
nullable: true
type: string
secrets:
additionalProperties: false
type: object
properties:
ssl:
additionalProperties: false
type: object
properties:
es_key:
anyOf:
- additionalProperties: false
type: object
properties:
id:
type: string
required:
- id
- type: string
key:
anyOf:
- additionalProperties: false
type: object
properties:
id:
type: string
required:
- id
- type: string
ssl:
additionalProperties: false
nullable: true
type: object
properties:
certificate:
type: string
certificate_authorities:
items:
type: string
type: array
client_auth:
enum:
- optional
- required
- none
type: string
es_certificate:
type: string
es_certificate_authorities:
items:
type: string
type: array
es_key:
type: string
key:
type: string
required:
- id
- name
- host_urls
- id
required:
- item
'400':
Expand Down
Loading

0 comments on commit 151fa26

Please sign in to comment.