Changes

Modularisation

355 bytes added, 15:24, 5 January 2015
/* schema */
* '''api''': REST Application Programming Interface.
* '''cli''': A command Line Interface, which uses the REST API to read or write data.
* '''docs''': The self-service module documentation.
* '''helpers''': Helper scripts and programmes, like notifications (quota, backup failed, rsnapshot, ...).
* '''prov-<SERVICE>-<TYPE>''': Scripts and programmes to provision services.
/api # REST Application Programming Interface.
/cli # A command Line Interface, which uses the REST API to read or write data.
/docs # The self-service module documentation.
/examples # Example scripts for proof of concept and similar scripts.
/helpers # Helper scripts and programmes, like notifications (quota, backup failed, rsnapshot, ...).
/provisioning # Scripts and programmes to provision services.
/schema # Description, validation specification and documentation of the REST API.
/web # Ajax based web interface.
/LICENSE # The license the self-service module is released under.
/README.md # A simple readme file containing an overview and how to install as the absolute minimum.
</pre>
* A simple readme file containing an overview and how to install as the absolute minimum.
* Structure according to best practice of the programming language or framework (a separation of configuration and code would be nice).
* Tests A test directory (Unit-Tests, Test-Cases, Test-Data, ...).
* Documentation.
 
=== schema ===
The following shows how a '''schema''' directory structure could look like.
<pre>
/schema # Description, validation specification and documentation of the REST API.
/schema/core.schema.json # Every module has a master file, which includes all json files (the name is derived from the Git Repo module name)
/schema/base.schema.json # Type definitions.
/schema/reseller.schema.json # Per resource on file.
/schema/people.schema.json #
/schema/README.md # Information how the schema file(s) can be used and how the documentation can be extracted.
</pre>
=== helpers ===
</pre>
=== provisioning schema ===The following shows how a '''provisioningschema''' directory structure could look like.<pre>/schema # Description, validation specification and documentation of the REST API./schema/core.schema.json # Every module has a master file, which includes all json files (the name is derived from the Git Repo module name)/schema/base.schema.json # Type definitions./schema/reseller.schema.json # Per resource on file./schema/people.schema.json # /schema/README.md # Information how the schema file(s) can be used and how the documentation can be extracted.</pre> === prov-<SERVICE>-<TYPE> ===The following shows how a '''prov-<SERVICE>-<TYPE>''' directory structure could look like. The following example is done with '''prov-backup-rsnapshot'''.
<pre>
/prov-backup-rsnapshot # Scripts and programmes to provision services.
SLB, editor, reviewer
3,368
edits