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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
105
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
1 #!/usr/bin/env python2
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
2 # this script allow to call prosodyctl and get configuration variables from linked containers
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
3 import subprocess, SimpleXMLRPCServer, os
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
4
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
5 def prosodyctl(command, profile, pwd):
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
6 process = subprocess.Popen(["prosodyctl", command, profile], stdin=subprocess.PIPE)
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
7 if pwd:
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
8 process.communicate("%s\n%s" % (pwd,pwd))
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
9 return process.wait()
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
10
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
11 def getenv(variable):
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
12 assert variable in ("SAT_PUBSUB_SECRET", "SAT_SALUT_SECRET", "DOMAIN")
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
13 return os.getenv(variable)
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
14
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
15 server = SimpleXMLRPCServer.SimpleXMLRPCServer(("0.0.0.0", 9999))
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
16 server.register_function(prosodyctl, "prosodyctl")
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
17 server.register_function(getenv, "getenv")
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
18 server.serve_forever()