[GH-ISSUE #430] Separate configuration from state #639

Open
opened 2026-08-05 00:39:22 -04:00 by saavagebueno · 1 comment
Owner

Originally created by @misuzu on GitHub (Aug 20, 2022).
Original GitHub issue: https://github.com/netbirdio/netbird/issues/430

Right now there is a config.json file which is not really a config, but state (see this issue to get a rough idea on why this is bad). There should be a way to set configuration values (at least WgIface and IFaceBlackList) in an automated way using environment variables and/or cmdline options and/or a separate true configuration file.

{
    "PrivateKey": "<........>",
    "PreSharedKey": "",
    "ManagementURL": {
        "Scheme": "https",
        "Opaque": "",
        "User": null,
        "Host": "api.wiretrustee.com:443",
        "Path": "",
        "RawPath": "",
        "ForceQuery": false,
        "RawQuery": "",
        "Fragment": "",
        "RawFragment": ""
    },
    "AdminURL": {
        "Scheme": "https",
        "Opaque": "",
        "User": null,
        "Host": "app.netbird.io",
        "Path": "",
        "RawPath": "",
        "ForceQuery": false,
        "RawQuery": "",
        "Fragment": "",
        "RawFragment": ""
    },
    "WgIface": "wt0",
    "IFaceBlackList": [
        "wt0",
        "tun0",
        "zt",
        "ZeroTier",
        "utun",
        "wg",
        "ts",
        "Tailscale",
        "tailscale"
    ],
    "SSHKey": "-----BEGIN PRIVATE KEY-----\n<........>\n-----END PRIVATE KEY-----\n"
}
Originally created by @misuzu on GitHub (Aug 20, 2022). Original GitHub issue: https://github.com/netbirdio/netbird/issues/430 Right now there is a `config.json` file which is not really a config, but state (see this [issue](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/5024) to get a rough idea on why this is bad). There should be a way to set configuration values (at least `WgIface` and `IFaceBlackList`) in an automated way using environment variables and/or cmdline options and/or a separate true configuration file. ```json { "PrivateKey": "<........>", "PreSharedKey": "", "ManagementURL": { "Scheme": "https", "Opaque": "", "User": null, "Host": "api.wiretrustee.com:443", "Path": "", "RawPath": "", "ForceQuery": false, "RawQuery": "", "Fragment": "", "RawFragment": "" }, "AdminURL": { "Scheme": "https", "Opaque": "", "User": null, "Host": "app.netbird.io", "Path": "", "RawPath": "", "ForceQuery": false, "RawQuery": "", "Fragment": "", "RawFragment": "" }, "WgIface": "wt0", "IFaceBlackList": [ "wt0", "tun0", "zt", "ZeroTier", "utun", "wg", "ts", "Tailscale", "tailscale" ], "SSHKey": "-----BEGIN PRIVATE KEY-----\n<........>\n-----END PRIVATE KEY-----\n" } ```
saavagebueno added the enhancementfeature-requestclient labels 2026-08-05 00:39:22 -04:00
Author
Owner

@nazarewk commented on GitHub (Apr 16, 2025):

keeping open because it is still relevant for https://github.com/netbirdio/netbird/issues/446 & https://github.com/netbirdio/netbird/issues/3273

<!-- gh-comment-id:2809926352 --> @nazarewk commented on GitHub (Apr 16, 2025): keeping open because it is still relevant for https://github.com/netbirdio/netbird/issues/446 & https://github.com/netbirdio/netbird/issues/3273
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: DYNR/netbird#639