annotate docker/prosody/scripts/container_server @ 138:274af514a5cf

flatpak: reworked packages + made a building script: a new `build_manifest.py` script can now be used to generate flatpak manifests for every frontend of SàT. The manifest can be used both for development versions and stable ones. Templates files (in the form `_tmp_<app-id>.json`) are used to set building instructions. A common runtime specific to SàT has been abandoned following a discussion on the official mailing list. A small wrapper is now used to launch backend automatically if it's not found. Desktop and app metadata have been added for Cagou. Jp and Primitivus don't have appdata and desktop files yet.
author Goffi <goffi@goffi.org>
date Sat, 22 Jun 2019 15:59:07 +0200
parents 14b29b9e06bb
children
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):
114
14b29b9e06bb docker (prosody): fixed prosodyctl call in container_server: it was not using absolute path, so it was calling /usr/local/bin/prosodyctl instead of /usr/bin/prosodyctl, resulting in a loop
Goffi <goffi@goffi.org>
parents: 105
diff changeset
6 process = subprocess.Popen(["/usr/bin/prosodyctl", command, profile], stdin=subprocess.PIPE)
105
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()