.. Yuneta documentation master file, created by sphinx-quickstart on Wed Oct 21 16:25:43 2015. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. ==================== Otra documentación 2 ==================== .. warning:: This documentation is not completely updated! Yuneta ====== .. image:: _static/yuneta.png :scale: 50 % What is Yuneta? =============== Yuneta_ is a C development framework. Internal features: * asynchronous I/O, based in libuv_ library. * structured data, based in `ASN.1`_ standard. * json_ data, based in jansson_ library. * finite state machine, based in ginsfsm_ library. * communication between yunos by json_ messages. Yuneta goal is **create** daemons or cli's, also called *yunos*. Yuneta also give you a platform for **deploy** and **operation** of *yunos*. Yuneta_ allows you to organize the *yunos* in **realms** of *yunos*. A *yuno* can be a standalone program, ie, a utility, or can be a collaborator program, ie, a service, living in a realm sharing the world with others *yunos*. *Realms* of *yunos* can be easily cloned, even running realms with all his persistent data. .. _ginsfsm: https://github.com/gobj-ecosistema/ginsfsm .. _ASN.1: https://es.wikipedia.org/wiki/ASN.1 .. _json: http://www.json.org/ Dependencies ------------ * `http parser`_ * pcre2_ * unwind_ * libuv_ * jansson_ * `gobj ecosistema`_ * `Yuneta C core`_ .. _http parser: http://github.com/joyent/http-parser .. _pcre2: http://www.pcre.org .. _unwind: http://www.nongnu.org/libunwind .. _libuv: http://libuv.org .. _jansson: http://www.digip.org/jansson .. _gobj ecosistema: https://github.com/gobj-ecosistema .. _Yuneta C core: https://github.com/yuneta Development Realm ================= **Factory of Yunos** - ``/yuneta/development`` Shared group directory for development. Include the Yuneta source code and your projects. Development Realm Organization ------------------------------ - /yuneta/development It's a linux shared group (drwxrwsr-x). All files and directories have write permission for all members of group. The group name is and must be *yuneta*. The propietary of directories and files can be any member of the group. The directories in */yuneta/development* are: /bin Development utilities, like ``yuno-skeleton``. /skeletons Skeletons for yuno projects and gclass source code. /gclass_child /gclass_simple /gclass_timer /yuno_simple /yuno_user ... /output The product of Yuneta_ framework: includes, libraries and *yunos*. /agent binaries of agent and scripts to install as service. /bin binaries of external libraries. /include include files. /lib library files. /man generated by external libraries. /share generated by external libraries. /yunos binary files. /projects Your Yuneta_ projects. /yuneta The source code of Yuneta: /^gobj-ecosistema-v2 gobj-ecosistema source code. /^yuneta-v2 / Yuneta_ source code. /^yunos some yunos supplied by Yuneta_. Yuneta Realm ============ **Deploy and Operation of Yunos** Yuneta Realm Organization ------------------------- - /yuneta It's a linux shared group (drwxrwsr-x). All files and directories have write permission for all members of group. The group name is and must be *yuneta*. The propietary of directories and files can be any member of the group. /agent **non-persistent**. ``yuneta_agent`` yuneta agent. `yuneta_agent.json` yuneta agent configuration. /service Utilities to install the yuneta_agent service:: - install-yuneta-service.sh - remove-yuneta-service.sh - yuneta_agent /bin **non-persistent**. ``yuneta`` command line interface. StandAlone *yunos*. Utilities of deploy and operation. /public **non-persistent**. Public files. /realms **non-persistent**. /domain /bin Scripts to run the yunos. /data Data valid while realm live. /temp Temporal data files. Can be delete in a machine restart. /logs Log files. /repos **persistent**. Local repository of *yuno*'s binaries and *yuno*'s configurations. /store **persistent**. Home of *agent.db*. /backup Backup of databases in json format files. /service Databases of yuno's services.