diff options
author | Igor Pashev <pashev.igor@gmail.com> | 2017-05-01 21:45:41 +0300 |
---|---|---|
committer | Igor Pashev <pashev.igor@gmail.com> | 2017-05-01 21:53:39 +0300 |
commit | 668f6fd8ccc598bfa76710d28e8bbb37923eafa9 (patch) | |
tree | 59894d1d8378ae3c3d62798f206f9d05408057e5 /README.md | |
parent | 4ceda6b82adc41bae62e9dd5cedce7bab2952852 (diff) | |
download | nixsap-668f6fd8ccc598bfa76710d28e8bbb37923eafa9.tar.gz |
Updated README
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 34 |
1 files changed, 31 insertions, 3 deletions
@@ -26,7 +26,10 @@ For example: modules/pkgs/writeXML.nix => pkgs.writeXML modules/pkgs/rdsdump/default.nix => pkgs.rdsdump -You can use this technics in your own projects. +You can use this technics in your own projects. You can take out any modules +or packages and put them into your project with your modifications without +maintaning a fork of Nixsap. When taking modules you have to change the +`nixsap` namespace to something different to avoid conflicts. Automatic unix user id @@ -68,9 +71,34 @@ parameters or extract them from configuration files and automatically build their keyrings. +Multi-instance applications +--------------------------- -Ideas -===== +For most [applications](./modules/apps) it is possible to run multiple +instances of them on the same machine. Each instance may have its own +home directory and user. For example `jenkins-foo` with home directory +`/jenkins/foo` and user `jenkins-foo`. Not all applications allow that +purely for historical reasons, and this will be fixed eventually. + + + + +Design +====== + + +Static analysis +--------------- + +There are a handful of tools used thoughout the applications to ensure +correctness at build time: `writeBashScript`, `writeXML`, `writePHPFile`. +`writeBashScript` uses [shellcheck](https://www.shellcheck.net/). `writeXML` +runs [xmllint](http://xmlsoft.org/xmllint.html). `writePHPFile` relies on +PHP's built-in syntax checker. + +The objective it to do static analysis and linting for every single file +_at build time_. What is wanted: configuration files for Nginx, Icinga; +MySQL and PostgreSQL scripts, etc. Parametrization |