@@ -37,7 +37,7 @@ dotenv.load_dotenv(os.path.join(os.path.dirname(__file__), ".env"))
3737
3838This is a first pass, will likely change.
3939
40- Put the ` dotenv.py ` file in the same folder on your server as the ` .env ` file and ` manage.py ` . Then you can add a config task to your local fabfile:
40+ Add a config task to your local fabfile, ` dotenv_path ` is the location of the absolute path of '.env' on the remote server.
4141```
4242from fabric.api import task, local, env
4343
@@ -59,7 +59,7 @@ Get all your remote config info with `fab config`
5959```
6060$ fab config
6161[...webfactional.com] Executing task 'config'
62- [...webfactional.com] run: python2.7 /home/me/webapps/myapp/myapp/ dotenv.py /home/me/webapps/myapp/myapp/.env
62+ [...webfactional.com] run: dotenv -f /home/me/webapps/myapp/myapp/.env
6363[...webfactional.com] out: DJANGO_DEBUG="true"
6464[...webfactional.com] out: DJANGO_ENV="test"
6565```
@@ -68,39 +68,38 @@ Set remote config variables with `fab config:set,[key],[value]`
6868```
6969$ fab config:set,hello,world
7070[...webfactional.com] Executing task 'config'
71- [...webfactional.com] run: python2.7 /home/me/webapps/myapp/myapp/ dotenv.py /home/me/webapps/myapp/myapp/.env set hello world
72- [...webfactional.com] out: hello: world
71+ [...webfactional.com] run: dotenv -f /home/me/webapps/myapp/myapp/.env set hello world
72+ [...webfactional.com] out: hello=" world"
7373```
7474
7575Get a single remote config variables with ` fab config:get,[key] `
7676```
77- $ fab config:get,hello,world
77+ $ fab config:get,hello
7878[...webfactional.com] Executing task 'config'
79- [...webfactional.com] run: python2.7 /home/me/webapps/myapp/myapp/dotenv.py /home/me/webapps/myapp/myapp/.env get hello
80- [...webfactional.com] out: hello
81- [...webfactional.com] out: world
79+ [...webfactional.com] run: dotenv -f /home/me/webapps/myapp/myapp/.env get hello
80+ [...webfactional.com] out: hello="world"
8281```
8382
8483Delete a remote config variables with ` fab config:unset,[key] `
8584```
8685$ fab config:unset,hello
8786[...webfactional.com] Executing task 'config'
88- [...webfactional.com] run: python2.7 /home/me/webapps/myapp/myapp/ dotenv.py /home/me/webapps/myapp/myapp/.env unset hello
87+ [...webfactional.com] run: dotenv -f /home/me/webapps/myapp/myapp/.env unset hello
8988[...webfactional.com] out: unset hello
9089```
9190
9291Thanks entirely to fabric and not one bit to this project, you can chain commands like so` fab config:set,[key1],[value1] config:set,[key2],[value2] `
9392```
9493$ fab config:set,hello,world config:set,foo,bar config:set,fizz,buzz
9594[...webfactional.com] Executing task 'config'
96- [...webfactional.com] run: python2.7 /home/me/webapps/myapp/myapp/ dotenv.py /home/me/webapps/myapp/myapp/.env set hello world
97- [...webfactional.com] out: hello: world
95+ [...webfactional.com] run: dotenv -f /home/me/webapps/myapp/myapp/.env set hello world
96+ [...webfactional.com] out: hello=" world"
9897[...webfactional.com] Executing task 'config'
99- [...webfactional.com] run: python2.7 /home/me/webapps/myapp/myapp/ dotenv.py /home/me/webapps/myapp/myapp/.env set foo bar
100- [...webfactional.com] out: foo: bar
98+ [...webfactional.com] run: dotenv -f /home/me/webapps/myapp/myapp/.env set foo bar
99+ [...webfactional.com] out: foo=" bar"
101100[...webfactional.com] Executing task 'config'
102- [...webfactional.com] run: python2.7 /home/me/webapps/myapp/myapp/ dotenv.py /home/me/webapps/myapp/myapp/.env set fizz buzz
103- [...webfactional.com] out: fizz: buzz
101+ [...webfactional.com] run: dotenv -f /home/me/webapps/myapp/myapp/.env set fizz buzz
102+ [...webfactional.com] out: fizz=" buzz"
104103```
105104
106105That's it. Webfaction, or whoever your non-paas host is, is now 1 facor closer to an easy 12 factor app.
0 commit comments