view 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
line wrap: on
line source

#!/usr/bin/env python2
# this script allow to call prosodyctl and get configuration variables from linked containers
import subprocess, SimpleXMLRPCServer, os

def prosodyctl(command, profile, pwd):
    process = subprocess.Popen(["prosodyctl", command, profile], stdin=subprocess.PIPE)
    if pwd:
        process.communicate("%s\n%s" % (pwd,pwd))
    return process.wait()

def getenv(variable):
    assert variable in ("SAT_PUBSUB_SECRET", "SAT_SALUT_SECRET", "DOMAIN")
    return os.getenv(variable)

server = SimpleXMLRPCServer.SimpleXMLRPCServer(("0.0.0.0", 9999))
server.register_function(prosodyctl, "prosodyctl")
server.register_function(getenv, "getenv")
server.serve_forever()