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

In Progress

Relationships

None yet

Development

No branches or pull requests

Issue actions