Skip to content

LetsEncrypt toggle disabled after upgrading nethvoice-proxy with old core/traefik #7798

@stephdl

Description

@stephdl

Bug description

When upgrading nethvoice-proxy from 1.5.0 to 1.5.1-testing.5, and upgrading from old versions of core (3.8.1) and traefik (3.2.1), the LetsEncrypt toggle is not automatically enabled in the nethvoice-proxy module settings, even if a valid LetsEncrypt certificate exists for the configured FQDN. The related configuration file (set-certificate-nethvoice-proxy1.yml) is also not created, causing the module to not use the existing certificate to enable the Toggle unless the settings form is saved a second time with the LetsEncrypt toggle enabled. This regression does not occur when upgrading from more recent/updated versions.

This behavior may potentially affect all modules that require a set-certificate file for their configuration, not just nethvoice-proxy.

Steps to reproduce

  • Install old version of core and traefik:
    curl https://raw.githubusercontent.com/NethServer/ns8-core/main/core/install.sh > install.sh
    bash install.sh ghcr.io/nethserver/traefik:3.2.1 ghcr.io/nethserver/core:3.8.1
    
  • Create a LetsEncrypt certificate for the FQDN of the server
  • Install nethvoice-proxy stable (1.5.0), set the FQDN to the FQDN of the server
  • Upgrade core and traefik to the latest stable release
  • Upgrade nethvoice-proxy to the latest testing version (1.5.1-testing.5)
  • Open the nethvoice-proxy module settings

Expected behavior

  • The 'LetsEncrypt' toggle should be enabled if the FQDN used by nethvoice-proxy has a valid LetsEncrypt certificate.
  • All required configuration files (e.g., set-certificate-nethvoice-proxy1.yml) should be present after upgrade.

Actual behavior

  • The LetsEncrypt toggle is OFF (should be ON inside the module settings).
  • The configuration file set-certificate-nethvoice-proxy1.yml is missing after the upgrade:
    # tree /home/traefik1/.config/state/configs/
    /home/traefik1/.config/state/configs/
    ├── _api.yml
    ├── cluster-admin.yml
    ├── _default_cert.yml
    └── _http2https.yml
    
  • If the module settings form is saved a second time with the LetsEncrypt toggle ON, the missing file appears:
    # tree /home/traefik1/.config/state/configs/
    /home/traefik1/.config/state/configs/
    ├── _api.yml
    ├── cluster-admin.yml
    ├── _default_cert.yml
    ├── _http2https.yml
    └── set-certificate-nethvoice-proxy1.yml
    
  • With the latest stable version, the bug is NOT reproducible – only when upgrading from this old core/traefik version scenario.

Components

  • nethvoice-proxy: 1.5.1-testing.5 (upgrade from 1.5.0)
  • traefik: ghcr.io/nethserver/traefik:3.2.1 → latest
  • core: ghcr.io/nethserver/core:3.8.1 → latest

Possible fixes

  • Easy fix: Save the form again with the LetsEncrypt toggle enabled after the upgrade.
  • Complicated fix: Patch traefik to ensure the set-certificate-nethvoice-proxy1.yml is written during upgrade.

See also

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

Status

Done

Relationships

None yet

Development

No branches or pull requests

Issue actions