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

Support definition import from a remote location over HTTPS #3249

Closed
michaelklishin opened this issue Jul 29, 2021 · 1 comment
Closed

Support definition import from a remote location over HTTPS #3249

michaelklishin opened this issue Jul 29, 2021 · 1 comment
Assignees
Milestone

Comments

@michaelklishin
Copy link
Member

michaelklishin commented Jul 29, 2021

This was discussed before docker-library/rabbitmq#508 but can be particularly useful with
such "service containers" where mounting of a local configuration file may or may not be possible.

More importantly, the goal in those environmentswas not necessarily to override anything in rabbitmq.conf but to set up

  • a dedicated virtual host for testing
  • a user or group of users
  • that user's permissions for the aforementioned virtual host

and thus allow for remote connections since default user can only connect from localhost by default.

If the definition import mechanism could be extended to consume definition files from remote HTTPS endpoints and not just a local file,
this would be a decent alternative.

@michaelklishin michaelklishin added this to the 3.9.2 milestone Jul 29, 2021
@michaelklishin michaelklishin self-assigned this Jul 29, 2021
@michaelklishin michaelklishin modified the milestones: 3.9.2, 3.9.3 Aug 9, 2021
@michaelklishin michaelklishin changed the title Support definition import from a remote URL Support definition import from a remote location over HTTPS Aug 9, 2021
@michaelklishin michaelklishin modified the milestones: 3.9.3, 3.9.4 Aug 10, 2021
@michaelklishin
Copy link
Member Author

Apparently I haven't finished writing the description when I first filed this. Hope this makes more sense now :)

michaelklishin added a commit that referenced this issue Aug 14, 2021
The classic local filesystem source is still supported
using the same traditional configuration key, load_definitions.

Configuration schema follows peer discovery in spirit:

 * definitions.import_backend configures the mechanism to use,
   which can be a module provided by a plugin
 * definitions.* keys can be defined by plugins and contain any
   keys a specific mechanism needs

For example, the classic local filesystem source can now be
configured like this:

``` ini
definitions.import_backend = local_filesystem
definitions.local.path = /path/to/definitions.d/definition.json
```

``` ini
definitions.import_backend = https
definitions.https.url = https://hostname/path/to/definitions.json
```

HTTPS may require additional configuration keys related to TLS/x.509
peer verification. Such extra keys will be added as the need for them
becomes evident.

References #3249
mergify bot pushed a commit that referenced this issue Aug 17, 2021
The classic local filesystem source is still supported
using the same traditional configuration key, load_definitions.

Configuration schema follows peer discovery in spirit:

 * definitions.import_backend configures the mechanism to use,
   which can be a module provided by a plugin
 * definitions.* keys can be defined by plugins and contain any
   keys a specific mechanism needs

For example, the classic local filesystem source can now be
configured like this:

``` ini
definitions.import_backend = local_filesystem
definitions.local.path = /path/to/definitions.d/definition.json
```

``` ini
definitions.import_backend = https
definitions.https.url = https://hostname/path/to/definitions.json
```

HTTPS may require additional configuration keys related to TLS/x.509
peer verification. Such extra keys will be added as the need for them
becomes evident.

References #3249

(cherry picked from commit f3a5235)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant