Format - acieroid/newsome GitHub Wiki
Type de fichier
- un format qui permet de stocker des clés/valeurs imbriquées (JSON, sexps), ou
- un langage turing-complet pour permettre plus de flexibilité (lua, tinyscheme, python)
Catégories
Dépendences
- Nom des différents ports à installer
- Éventuellement indiquer l'OS
Exemple:
{"dependencies":
{"freebsd": ["lang/python2", "www/py-tornado", "textproc/py-pygments", "www/nginx"]}}
Fichiers
- Fichiers à copier tels quels dans l'arborescence
- Nécéssité de supporter des fichiers externes en plus de la description du service
Exemple:
{"files":
{"nginx.conf": "/usr/local/etc/nginx.conf"}}
Sources
- Un endroit où sont stockés les sources de l'application. Possibilité d'en indiquer plusieurs.
Exemple:
{"sources": ["http://github.com/acieroid/paste-py"]}
Compilation
- Commandes à lancer pour compiler
- $SOURCEDIR pointe vers le dossier où ont été téléchargés les sources
- pwd initialement mis à $SOURCEDIR
Exemple:
{"compilation": ["go build"]}
Services
- Services de l'OS à lancer
Exemple:
{"services": ["nginx"]}
Lancement
- Commande(s) à éxécuter pour lancer l'application
- pwd initialement mis a $SOURCEDIR
Exemple:
{"launch": ["python2 daemonize.py"]}
Ports
- Ports à rediriger, nommés pour plus de clarté.
Exemple:
{"ports": {"http": "8123"}}
Scripts
Scripts à lancer à certain moments (avant la compilation pour installer des deps, avant le lancement, etc.)
Exemple:
{"scripts":
{"before-compilation": ["go get github.com/kuroneko/gosqlite3"]}}