]> Cypherpunks.ru repositories - nncp.git/blobdiff - doc/cfg/dir.texi
nncp-cfgdir
[nncp.git] / doc / cfg / dir.texi
diff --git a/doc/cfg/dir.texi b/doc/cfg/dir.texi
new file mode 100644 (file)
index 0000000..8297925
--- /dev/null
@@ -0,0 +1,107 @@
+@node Configuration directory
+@section Configuration directory
+
+Optionally you can convert configuration file to the directory layout
+with @ref{nncp-cfgdir} command. And vice versa too, of course loosing
+the comment lines. Directory layout can looks like that:
+
+@example
+nncp-cfg-dir
+├── areas
+│   ├── home
+│   │   ├── id
+│   │   ├── incoming
+│   │   ├── prv
+│   │   ├── pub
+│   │   └── subs
+│   └── homero
+│       ├── id
+│       ├── exec
+│       │   └── sendmail
+│       ├── prv
+│       ├── pub
+│       └── allow-unknown
+├── log
+├── mcd-listen
+├── neigh
+│   ├── beta
+│   │   ├── exchpub
+│   │   ├── exec
+│   │   │   └── sendmail
+│   │   ├── id
+│   │   ├── incoming
+│   │   ├── noisepub
+│   │   ├── signpub
+│   │   └── via
+│   ├── gw
+│   │   ├── addrs
+│   │   │   ├── lan
+│   │   │   └── main
+│   │   ├── calls
+│   │   │   ├── 0
+│   │   │   │   ├── autotoss
+│   │   │   │   ├── cron
+│   │   │   │   ├── nice
+│   │   │   │   └── rxrate
+│   │   │   ├── 1
+│   │   │   │   ├── addr
+│   │   │   │   ├── autotoss
+│   │   │   │   ├── cron
+│   │   │   │   └── onlinedeadline
+│   │   │   └── 2
+│   │   │       ├── addr
+│   │   │       ├── autotoss
+│   │   │       ├── cron
+│   │   │       └── onlinedeadline
+│   │   ├── exchpub
+│   │   ├── exec
+│   │   │   └── sendmail
+│   │   ├── freq
+│   │   │   └── chunked
+│   │   ├── id
+│   │   ├── incoming
+│   │   ├── noisepub
+│   │   └── signpub
+│   └── self
+│       ├── exchpub
+│       ├── exec
+│       │   ├── appender
+│       │   ├── sendmail
+│       │   └── slow
+│       ├── freq
+│       │   └── path
+│       ├── id
+│       ├── incoming
+│       ├── noisepub
+│       └── signpub
+├── notify
+│   ├── file
+│   │   ├── from
+│   │   └── to
+│   └── freq
+│       ├── from
+│       └── to
+├── self
+│   ├── exchprv
+│   ├── exchpub
+│   ├── id
+│   ├── noiseprv
+│   ├── noisepub
+│   ├── signprv
+│   └── signpub
+└── spool
+@end example
+
+Your @option{-cfg} and @env{$NNCPCFG} could point to that directory,
+instead of @file{.hjson} file. It will be transparently converted to
+internal JSON representation. However it can not be encrypted with the
+@ref{nncp-cfgenc}.
+
+That layout should be much more machine friendly and scriptable. Each
+string parameters is stored as a single line plain text file. String
+arrays are newline-separated plain text files. Dictionaries are
+transformed to the subdirectories. Its structure should be
+self-describing. True booleans are stored as an empty flag-file
+existence (their absence equals to false). All names starting with "."
+are skipped. All files ending with @file{prv} are created with 600
+permissions, instead of the default 666.