Hi everyone,
I've been automating my Proxmox configuration with the help of the Proxmox API. Here are the docs I'm working from; https://pve.proxmox.com/pve-docs/api-viewer/index.html
In particular, per the subject of this post, I am facing an issue with successfully setting up the ACME DNS plugin for AWS Route53 using the API contract here; https://pve.proxmox.com/pve-docs/api-viewer/index.html#/cluster/acme/plugins (POST method).
Within the GUI, configuring this plugin type takes additional fields 'ACCESS_KEY_ID=' and 'SECRET_ACCESS_KEY='. No worries here, entering these in individually works as expected. Getting the configured plugin via the API yields the following format (see the 'data' key);
The API contract for configuring a plugin stipulates providing an optional 'data' key in the request body that is a 'base64 encoded string'. If one takes the above result of 'data', above, and passes it as a base64 encoded string to the 'data' key in the request body, no error, however the UI will only have the 'ACCESS_KEY_ID=' field filled in with the contents of the passed string with some modification. To be clear, it would appear the backend is reading this base64 encoded string and using the first '=' character as a delimiter. This means the GUI has a value of '{{ redacted }}\nAWS_SECRET_ACCESS_KEY={{ redacted }}\n' for the 'ACCESS_KEY_ID=' field.
So it would appear this API path/method/parameter combination isn't suited to the AWS Route53 plugin, at a minimum. No matter what I've tried, I can't get both fields programatically populated as expected.
1. Can anyone else confirm this is a bug?
2. Where can I report such a bug?
In the event that I've missed something, has anyone managed to successfully implement this API path/method/parameter for an AWS Route53 based ACME dns plugin?
Any help would be greatly appreciated.
M.
I've been automating my Proxmox configuration with the help of the Proxmox API. Here are the docs I'm working from; https://pve.proxmox.com/pve-docs/api-viewer/index.html
In particular, per the subject of this post, I am facing an issue with successfully setting up the ACME DNS plugin for AWS Route53 using the API contract here; https://pve.proxmox.com/pve-docs/api-viewer/index.html#/cluster/acme/plugins (POST method).
Within the GUI, configuring this plugin type takes additional fields 'ACCESS_KEY_ID=' and 'SECRET_ACCESS_KEY='. No worries here, entering these in individually works as expected. Getting the configured plugin via the API yields the following format (see the 'data' key);
JSON:
{
"api": "aws",
"data": "AWS_ACCESS_KEY_ID={{ redacted }}\nAWS_SECRET_ACCESS_KEY={{ redacted }}\n",
"digest": "{{ redacted }}",
"plugin": "Route53",
"type": "dns"
}
The API contract for configuring a plugin stipulates providing an optional 'data' key in the request body that is a 'base64 encoded string'. If one takes the above result of 'data', above, and passes it as a base64 encoded string to the 'data' key in the request body, no error, however the UI will only have the 'ACCESS_KEY_ID=' field filled in with the contents of the passed string with some modification. To be clear, it would appear the backend is reading this base64 encoded string and using the first '=' character as a delimiter. This means the GUI has a value of '{{ redacted }}\nAWS_SECRET_ACCESS_KEY={{ redacted }}\n' for the 'ACCESS_KEY_ID=' field.
So it would appear this API path/method/parameter combination isn't suited to the AWS Route53 plugin, at a minimum. No matter what I've tried, I can't get both fields programatically populated as expected.
1. Can anyone else confirm this is a bug?
2. Where can I report such a bug?
In the event that I've missed something, has anyone managed to successfully implement this API path/method/parameter for an AWS Route53 based ACME dns plugin?
Any help would be greatly appreciated.
M.
Last edited: