Mercurial > sat_docs
annotate docker/prosody/scripts/container_server @ 105:b69056368901
docker: images optimisation:
- reduced the number of layers by grouping many instructions
- moved stuff which don't change a lot at the beginning, and hg/apt at the end
- scripts are not now in scripts/ subdirectories
- prosody.cfg.lua is added using ADD instead of getting it online
- .hg/dirstate is copied in base (backend) and libervia, so mercurial revision is known
- removed lot of useless WORKDIR instruction, they are replaced by "cd" inside RUN instructions
- cleaning (apt-clean, rm) is done on the same instruction as the one than generate the data, to avoid useless data in layers
author | Goffi <goffi@goffi.org> |
---|---|
date | Sun, 28 Feb 2016 02:01:20 +0100 |
parents | |
children | 14b29b9e06bb |
rev | line source |
---|---|
105 | 1 #!/usr/bin/env python2 |
2 # this script allow to call prosodyctl and get configuration variables from linked containers | |
3 import subprocess, SimpleXMLRPCServer, os | |
4 | |
5 def prosodyctl(command, profile, pwd): | |
6 process = subprocess.Popen(["prosodyctl", command, profile], stdin=subprocess.PIPE) | |
7 if pwd: | |
8 process.communicate("%s\n%s" % (pwd,pwd)) | |
9 return process.wait() | |
10 | |
11 def getenv(variable): | |
12 assert variable in ("SAT_PUBSUB_SECRET", "SAT_SALUT_SECRET", "DOMAIN") | |
13 return os.getenv(variable) | |
14 | |
15 server = SimpleXMLRPCServer.SimpleXMLRPCServer(("0.0.0.0", 9999)) | |
16 server.register_function(prosodyctl, "prosodyctl") | |
17 server.register_function(getenv, "getenv") | |
18 server.serve_forever() |