worstcase / blockade

Docker-based utility for testing network failures and partitions in distributed applications

Home Page:http://blockade.readthedocs.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Support environment variables in volume names

danielmai opened this issue · comments

For the volumes configuration I want to use shell environment variables within the config string when specifying the directory paths to mount.

I want to be able to do this:

volumes:
  "$GOPATH/bin": "/gobin"

This should pick up the environment variable $GOPATH and use that for bind-mounting the directory to the container. That's how it works in a Docker Compose file.

Instead, in blockade, not only does it not recognize and expand the environment variable, it also creates a directory called $GOPATH and a subdirectory $GOPATH/bin in the current working directory.

Ah, I just noticed that blockade does support environment variables.

https://github.com/worstcase/blockade/blob/master/blockade/config.py#L190

But it only accepts it with curly braces. ${GOPATH} works, but not $GOPATH. At least I can get it working now.

Yeah that is a good point, the env variable parsing is quite basic. I think it was a quick hack thrown in, but that'd be a good thing to improve. I'll keep this open as a reminder.