Skip to content

Improperly escaped environment variables on supervisord configurations #519

@inbeom

Description

@inbeom

Hi,

I am trying to run a process with supervisord configuration generated using foreman export, and supervisord seems not to handle environment variables as intended.

The specific case of problem was caused by characters ? and = in escaped values, which are not unescaped by Supervisord.

For example, if we want to set environment variable URL as https://some.url?p=foobar, the variable in supervisord configuration is exported as:

# in myapp.conf
environment=URL="https://some.url\?p\=foobar"

and it is read by the process as it is in escaped form of https://some.url\?p\=foobar, which is different from the expected value.

Regarding Supervisord requires values of environment variables to be double quoted, possible solution would be modifying the escaping part to escape only double quotes while leaving other characters unmodified, but I'm afraid it can introduce some side effects. Any ideas?

The system is using Foreman 0.77.0 and Supervisord 3.1.3.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions