I have not seen this behaviour in resin docs, and it seems unexpected for me.
In the context of a microservices application, if an environment var, let’s say MY_VAR is not defined as service variable in resin, the env var MY_VAR is set to “$MY_VAR”. I expect that, as well as it happens in docker-compose, that the env var MY_VAR is set to blank string.
Is this still an issue with the latest resinOS version (Resin OS 2.12.7+rev1)? Do you have a minimal test case and docker-compose.yml, so that we can try to reproduce it?
myservice is a folder with a Dockerfile using FROM resin/raspberrypi3-python:3.6-slim. The service just runs a python script with this code inside:
import os
if __name__ == '__main__':
print(os.getenv("MY_VAR"))
The result is that, if I define an env var in resin named “MY_VAR” it prints its value. However, if I do not define the variable MY_VAR in resin, it prints literally: $MY_VAR.