Skip to content

fix: ionos.ini format for modern certbot-dns-ionos (2.3.2)#36

Merged
montoyaedu merged 1 commit into
masterfrom
fix/ionos-credentials-format
Jun 9, 2026
Merged

fix: ionos.ini format for modern certbot-dns-ionos (2.3.2)#36
montoyaedu merged 1 commit into
masterfrom
fix/ionos-credentials-format

Conversation

@montoyaedu

Copy link
Copy Markdown
Member

Problem (follow-up to #35)

With the certbot flags fixed (#35), easy proxy certbot-ionos ethiclab.it now reaches the IONOS plugin but aborts:

Missing properties in credentials configuration file /etc/letsencrypt/ionos.ini:
 * Property "dns_ionos_endpoint" not found
 * Property "dns_ionos_prefix" not found
 * Property "dns_ionos_secret" not found

The current certbot-dns-ionos plugin dropped dns_ionos_api_key / dns_ionos_api_secret.

Fix (commands/proxy.sh)

Write the supported keys:

dns_ionos_prefix   = <api-key>     # IONOS "Public Prefix"
dns_ionos_secret   = <api-secret>  # IONOS "Secret"
dns_ionos_endpoint = https://api.hosting.ionos.com
  • The IONOS API key is <prefix>.<secret>, so the stored ionos/api-key is the public prefix and ionos/api-secret is the secret — stored credentials are unchanged, only the ini key names + the new endpoint line.
  • Endpoint overridable via IONOS_API_ENDPOINT (default covers all accounts).
  • Format verified against the plugin README (helgeerbe/certbot-dns-ionos).

Tests

New assertion that ionos.ini is written with prefix/secret/endpoint and no legacy api_key. Full suite 55/55.

Release

Patch 2.3.1 → 2.3.2 (package.json, CLAUDE.md, CHANGELOG, version tests).

Also recorded (knowledge base, not a code change here)

The easy proxy reload failure on the server (open() "/usr/local/share/easy/nginx.conf" failed) is caused by running npm install -g while the proxy container is up — it rewrites easyhome/, breaking the live container's bind mount. Fix is to recreate the container after a CLI upgrade (easy proxy destroy && easy proxy create, or restart). Documented as a gotcha.

🤖 Generated with Claude Code

…(2.3.2)

After the certbot flag fixes, `easy proxy certbot-ionos` reached the plugin
but aborted: "Missing properties in credentials configuration file
/etc/letsencrypt/ionos.ini" — dns_ionos_endpoint / dns_ionos_prefix /
dns_ionos_secret not found.

The current certbot-dns-ionos plugin dropped the dns_ionos_api_key /
dns_ionos_api_secret keys. Write the supported keys instead:
  dns_ionos_prefix   = <api-key>   (IONOS public prefix)
  dns_ionos_secret   = <api-secret>
  dns_ionos_endpoint = https://api.hosting.ionos.com  (override: IONOS_API_ENDPOINT)

Stored credentials are unchanged — only the ini key names and the new
endpoint line. Verified the format against the plugin README.

Tests: new assertion that ionos.ini is written with prefix/secret/endpoint
and no legacy api_key. Full suite 55/55.

Knowledge base: recorded that `npm install -g` while the proxy is up breaks
the live container's easyhome bind mount (cause of the nginx reload failure
seen on ethicserver) — recreate the container after a CLI upgrade.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@montoyaedu montoyaedu merged commit ad71358 into master Jun 9, 2026
2 checks passed
@montoyaedu montoyaedu deleted the fix/ionos-credentials-format branch June 9, 2026 21:26
montoyaedu added a commit that referenced this pull request Jun 9, 2026
- SERVER_RUNBOOK.md: recovery runbook for ethicserver after the certbot
  failures — update CLI, recreate the container (broken bind mount + load the
  valid cert), switch to an auto-renewing IONOS wildcard, plus troubleshooting
  and cert-verification commands.
- STATE.md: was stale at v2.0.0; now reflects v2.3.2, the 2026-06-09 certbot
  fixes (#35/#36), current WIP/blockers, and next steps.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant