Commit Graph

14 Commits

Author SHA1 Message Date
Luke Bakken ce86fb989e
Remove all usage of `cacerts` from configuration schemas
As mentioned in discussion #14426, the way that `cacerts` is handled by
cuttlefish schemas simply will not work if set.

If `cacerts` were set to a string value containing one X509 certificate,
it would eventually result in a crash because the `cacerts` ssl option
must be of [this type](https://www.erlang.org/doc/apps/ssl/ssl.html#t:client_option_cert/0):

```
{cacerts, CACerts :: [public_key:der_encoded()] | [public_key:combined_cert()]}
```

Neither of those are strings, of course.

This PR removes all use of `cacerts` in cuttlefish schemas. In addition,
it filters out `cacerts` and `certs_keys` from being JSON-encoded by an
HTTP API call to `/api/overview`. It _is_ technically possible to set
`cacerts` via `advanced.config`, so, if set, it would crash this API
call, as would `certs_keys`.
2025-10-01 08:14:14 -07:00
Michael Klishin 968eefa1bb
Bump (c) line year
There are no functional changes to this massive diff.
2025-01-01 17:54:10 -05:00
David Ansari 658d9c7c62 Upgrade eetcd and gun
## Why?

To introduce AMQP over WebSocket, we will add gun to the Erlang AMQP
1.0 client. We want to add the latest version of gun for this new
feature. Since rabbitmq_peer_discovery_etcd depends on the outdated
eetcd 0.3.6 which in turn depends on the outdated gun 1.3.3, this commit
first upgrades eetcd and gun.

 ## How?
See https://github.com/zhongwencool/eetcd?tab=readme-ov-file#migration-from-eetcd-03x-to-04x

 ## Breaking Changes

This commit causes the following breaking change:
`rabbitmq.conf` settings
* `cluster_formation.etcd.ssl_options.fail_if_no_peer_cert`
* `cluster_formation.etcd.ssl_options.dh`
* `cluster_formation.etcd.ssl_options.dhfile`

are unsupported because they are not valid `ssl:tls_client_option()`.

See https://github.com/erlang/otp/issues/7497#issuecomment-1636012198
2024-12-19 13:20:28 +00:00
Michael Klishin f414c2d512
More missed license header updates #9969 2024-02-05 11:53:50 -05:00
Michael Klishin 013c30370f Switch to MPL2 2020-07-14 15:47:29 +03:00
Michael Klishin 13094a2dd3 Explain 2020-04-07 06:16:16 +03:00
Michael Klishin 87bbf0c68e Introduce TLS support for connections to etcd
Closes #24, references #6
2020-04-06 13:06:12 +03:00
Michael Klishin e3da01186a Initial support for authentication with etcd
References #6.
2020-04-03 14:01:06 +03:00
Michael Klishin 852730cd92 Initial steps towards switching to v3 API
* A new dependency on eetcd (ASL2-licensed)
 * Connection management
 * Lease acquisition for node key
 * Initial registration function implementation

With assistance from @kjnilsson.

Part of #22.
2020-03-18 12:24:39 +03:00
Michael Klishin a76c4a8287 Alias cluster_formation.etcd.lock_timeout to cluster_formation.etcd.lock_wait_time
For consistency with the name rabbitmq-peer-discovery-consul now uses. That backend
was updated to support both keys as well.

References rabbitmq/rabbitmq-peer-discovery-consul#20.
2018-10-10 00:09:16 +03:00
Michael Klishin a568279850 Make cluster name and lock acquisition time configurable
via the new style config format.
2017-08-24 09:55:24 -06:00
Michael Klishin a8b4641aad New style config schema: add more etcd backend settings 2017-08-24 07:04:29 -04:00
Michael Klishin c067edd205 etcd_region does not exist
Looks like a copy-paste mistake from the AWS backend.
2017-08-24 06:38:55 -04:00
Luke Bakken 74fb686403 Add cuttlefish schema tests and cuttlefish schema.
Fixes #2
2017-06-12 11:12:48 -07:00