XiVO Package File Structure
Package naming
Let’s assume we want to organise the files for xivo-confd.
Git repo name:
xivo-confdBinary file name:
xivo-confdPython package name:
xivo_confd
xivo-confd
|-- bin
| `-- xivo-confd
|-- contribs
| `-- docker
| |-- ...
| `-- prod
| `-- ...
|-- debian
| `-- ...
|-- Dockerfile
|-- docs
| `-- ...
|-- etc
| `-- ...
|-- integration-tests
| `-- ...
|-- LICENSE
|-- README.md
|-- requirements.txt
|-- setup.cfg
|-- setup.py
|-- test-requirements.txt
|-- .travis.yml
`-- xivo_confd
`-- ...
Sources
etc/Contains default configuration files.
docs/Contains technical documentation for this package: API doc, architecture doc, diagrams, … Should be in RST format using Sphinx.
bin/Contains the binaries. Not applicable for pure libraries.
integration-tests/Contains the tests bigger than unit-tests. Tests should be runnable simply, e.g.
nosetests integration-tests.README.mdRead me in markdown (Github flavor).
LICENSELicense (GPLv3)
.travis.ymlTravis CI configuration file
Python
Standard files:
setup.py
setup.cfg
requirements.txt
test-requirements.txt
xivo_confd/ (the main sources)
Debian
debian/Contains the Debian packaging files (
control,rules, …)
Docker
DockerfileUsed to build a docker image for a working production version
contribs/docker/prod/Contains the files necessary for running xivo-confd inside a production Docker image
contribs/docker/other/Contains the Dockerfile and other files to run xivo-confd inside Docker with specific configuration
File naming
PID file:
/var/run/xivo-confd/xivo-confd.pidWSGI socket file:
/var/run/xivo-confd/xivo-confd.sockConfig file:
/etc/xivo-confd/config.ymlLog file:
/var/log/xivo-confd.logStatic data files:
/usr/share/xivo-confdStorage data files:
/var/lib/xivo-confd