Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: update synthetics implementation according to Kibana 8.16 API changes #967

Open
wants to merge 16 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
## [Unreleased]

- Support 8.15.5 in acc tests ([#963](https://github.com/elastic/terraform-provider-elasticstack/pull/963)).
- Support 8.16.2 in acc tests ([#964](https://github.com/elastic/terraform-provider-elasticstack/pull/964)).
- Support several ssl fields in `elasticstack_kibana_synthetics_monitor` ([#967](https://github.com/elastic/terraform-provider-elasticstack/pull/967))

## [0.11.12] - 2024-12-16

Expand Down
44 changes: 42 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
# Typical development workflow

Fork the repo, work on an issue

## Acceptance tests

```bash
Expand All @@ -6,5 +10,41 @@ make docker-testacc

Run a single test with terraform debug enabled:
```bash
make docker-testacc TF_LOG=DEBUG TESTARGS='-run ^TestAccResourceDataStreamLifecycle$$'
```
env TF_LOG=DEBUG make docker-testacc TESTARGS='-run ^TestAccResourceDataStreamLifecycle$$'
```

A way to forward debug logs to a file:
```bash
env TF_ACC_LOG_PATH=/tmp/tf.log TF_ACC_LOG=DEBUG TF_LOG=DEBUG make docker-testacc
```


## Update documentation

Update documentation templates in `./templates` directory and re-generate docs via:
```bash
make docs-generate
```

## Update `./CHANGELOG.md`

List of previous commits is a good example of what should be included in the changelog.


## Pull request

Format the code before pushing:
```bash
make fmt
```

Check if the linting:
```bash
make lint
```

Create a PR and check acceptance test matrix is green.

## Run provider with local terraform

TBD
15 changes: 9 additions & 6 deletions docs/resources/kibana_synthetics_monitor.md
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,10 @@ Optional:
- `proxy_header` (String) Additional headers to send to proxies during CONNECT requests.. Raw JSON object, use `jsonencode` function to represent JSON
- `proxy_url` (String) The URL of the proxy to use for this monitor.
- `response` (String) Controls the indexing of the HTTP response body contents to the `http.response.body.contents` field.. Raw JSON object, use `jsonencode` function to represent JSON
- `ssl_certificate` (String) Certificate.
- `ssl_certificate_authorities` (List of String) The list of root certificates for verifications is required.
- `ssl_key` (String) Certificate key.
- `ssl_key_passphrase` (String) Key passphrase.
- `ssl_supported_protocols` (List of String) List of allowed SSL/TLS versions.
- `ssl_verification_mode` (String) Controls the verification of server certificates.
- `username` (String) The username for authenticating with the server. The credentials are passed with the request.
Expand Down Expand Up @@ -174,6 +178,10 @@ Optional:
- `check_send` (String) An optional payload string to send to the remote host.
- `proxy_url` (String) The URL of the SOCKS5 proxy to use when connecting to the server. The value must be a URL with a scheme of `socks5://`. If the SOCKS5 proxy server requires client authentication, then a username and password can be embedded in the URL. When using a proxy, hostnames are resolved on the proxy server instead of on the client. You can change this behavior by setting the `proxy_use_local_resolver` option.
- `proxy_use_local_resolver` (Boolean) A Boolean value that determines whether hostnames are resolved locally instead of being resolved on the proxy server. The default value is false, which means that name resolution occurs on the proxy server.
- `ssl_certificate` (String) Certificate.
- `ssl_certificate_authorities` (List of String) The list of root certificates for verifications is required.
- `ssl_key` (String) Certificate key.
- `ssl_key_passphrase` (String) Key passphrase.
- `ssl_supported_protocols` (List of String) List of allowed SSL/TLS versions.
- `ssl_verification_mode` (String) Controls the verification of server certificates.

Expand All @@ -183,9 +191,4 @@ Import is supported using the following syntax:

```shell
terraform import elasticstack_kibana_synthetics_monitor.my_monitor <space id>/<monitor_id>
```

**NOTE:** Not all monitor fields are supported during the import due-to API limitation.
Full field support could be implemented after this [kibana issue](https://github.com/elastic/kibana/issues/189906) is resolved.

Currently not supported fields during the import: `params`, `retest_on_failure`, `locations`, `http.proxy_header`, `http.username`, `http.password`, `http.check`, `http.response`, `tcp.check_send`, `tcp.check_receive` and monitor type `browser`
```
Loading
Loading