Setting up my own server (open source). All is working but cannot see the device configuration GUI on the device screen. (Do see that when connecting the same device to hosted mender). Any idea?
My first question would be versions, and how this is set up?
In general this should be part of both our demo and OS production setup scripts?
Followed the docs yesterday. I believe that should be latest version.
Using mender helm chart version 3.1.0.
Just tried aligning my versions with hosted mender.
Changed the gui.image.tag to “staging_e71963e52d48191fb04c36551f99503db8abbf16”.
Didn’t help.
Also, checked the gui pod with kubectl and saw HAVE_DEVICECCONFIG=“true” which I assume is what it should be but - still - the device config GUI is not showing up.
Here is the list of my current versions:
{“Integration”:“3.1.0”,“Mender-Client”:“3.1.0”,“Mender-Artifact”:“3.6.0”,“Meta-Mender”:"",“Deployments”:"",“Deviceauth”:"",“Inventory”:"",“GUI”:“staging_e71963e52d48191fb04c36551f99503db8abbf16”}
Hmm, that is interesting, as far as I’ve been let in the know, the HAVE_DEVICECONFIG
env var is all that should be needed.
@mzedel could you help out here?
@oleorhagen is correct, that variable should be the key… otherwise the only requirement is that the device needs to be either in an accepted
or preauthorized
state.
Just to be sure, the MENDER_HOSTED
setting should not be truthy on the gui pod - that would also prohibit seeing the configuration section (and disturb a few more areas without the Hosted Mender backend).
Just checked. MENDER_HOSTED is not defined on my gui pod. Should I explicitly define it and set it to “false”?
Could it be that the fact the first device that was accepted on this mender server was a device I took from the hosted server and just added my server URL (but the original setup that was ran on it had the --mender-hosted option)? I’ve removed that device since then and that didn’t help but could there be some “leftovers” on the server that cause that? Any other direction I should check?
That is weird, if that is not set, there is only one more thing that could produce it: if the URL contains hosted.mender.io
…
Could you post the env.js
, that is served alongside the gui bundle (you should be able to find it under: https://<yourDomain>/ui/env.js
)?
As for any left over settings from Hosted Mender, that should not matter, as long as the device is authenticated with your local server… the UI only checks for hasDeviceConfig && [DEVICE_STATES.accepted, DEVICE_STATES.preauth].includes(status)
(where status
is device.status
) and hasDeviceConfig
is defined by either the HAVE_DEVICECONFIG
variable or information from the Hosted Mender backend if MENDER_HOSTED
is set.
See below what I get for my env.js.
Indeed, the hasDeviceConfig
is not set.
mender_environment = {
hostAddress: "",
hostedAnnouncement: "",
isDemoMode: "",
features: {
hasAddons: "",
hasAuditlogs: "",
hasDeviceConfig: "",
hasDeviceConnect: "true",
hasMonitor: "",
hasMultitenancy: "",
hasReporting: "",
isEnterprise: "",
isHosted: ""
},
trackerCode: "",
recaptchaSiteKey: "",
stripeAPIKey: "",
integrationVersion: "3.1.0",
menderVersion: "3.1.0",
menderArtifactVersion: "3.6.0",
metaMenderVersion: "",
services: {
deploymentsVersion: "",
deviceauthVersion: "",
guiVersion: "staging_e71963e52d48191fb04c36551f99503db8abbf16",
inventoryVersion: ""
},
demoArtifactPort: "",
disableOnboarding: ""
}
But, double checked with kubectl describe pod
and the gui pod seems to have this env var set correctly…
Environment:
INTEGRATION_VERSION: 3.1.0
MENDER_VERSION: 3.1.0
MENDER_ARTIFACT_VERSION: 3.6.0
HAVE_DEVICECONNECT: true
HAVE_DEVICECCONFIG: true
that’s it! - that is wrong in the helm chart - it should be HAVE_DEVICECONFIG
… I’ll create a PR to fix this and am very sorry!
Hey, don’t worry
Thanks a lot for the support!