ladici - The LADI Continuous Integration software
Go to file
Nedko Arnaudov 9781b523d3 README.adoc: Add Live-demo section 2023-12-01 20:56:19 +02:00
GNUmakefile README.adoc: add more info; Generate index.html from README 2023-12-01 11:50:50 +02:00
README-docinfo-header.html README.adoc: Improve outlook; add keywords and title 2023-12-01 20:29:58 +02:00
README-docinfo.html README.adoc: add more info; Generate index.html from README 2023-12-01 11:50:50 +02:00
README.adoc README.adoc: Add Live-demo section 2023-12-01 20:56:19 +02:00
http_server.lua http_server.lua: create() now accepts optional port and host 2023-12-01 19:16:49 +02:00
hub.lua basic http server; make it work with lua 5.1, 5.4 and luajit 2.1.0-beta3 2023-11-22 22:42:41 +02:00
irc.lua basic http server; make it work with lua 5.1, 5.4 and luajit 2.1.0-beta3 2023-11-22 22:42:41 +02:00
irc_client.lua basic http server; make it work with lua 5.1, 5.4 and luajit 2.1.0-beta3 2023-11-22 22:42:41 +02:00
irc_server.lua basic http server; make it work with lua 5.1, 5.4 and luajit 2.1.0-beta3 2023-11-22 22:42:41 +02:00
ladici ladici: HTTP-serve a plain/html instead of plain/text 2023-12-01 20:02:29 +02:00
ladici-fengari.html ladici-fengari: Move the main lua script from the html to ladici-fengari.lua 2023-12-01 18:47:02 +02:00
ladici-fengari.lua ladici-fengari: Move the main lua script from the html to ladici-fengari.lua 2023-12-01 18:47:02 +02:00
locations.lua basic http server; make it work with lua 5.1, 5.4 and luajit 2.1.0-beta3 2023-11-22 22:42:41 +02:00
misc.lua basic http server; make it work with lua 5.1, 5.4 and luajit 2.1.0-beta3 2023-11-22 22:42:41 +02:00
protocols.lua basic http server; make it work with lua 5.1, 5.4 and luajit 2.1.0-beta3 2023-11-22 22:42:41 +02:00
remotes.lua basic http server; make it work with lua 5.1, 5.4 and luajit 2.1.0-beta3 2023-11-22 22:42:41 +02:00

README.adoc

Note
WORK IN PROGRESS
This is Work In Progress.

Goals

  • Minimal dependencies

    • lua

    • luasocket

    • fengari (optional, for the client-side scripting frontend)

  • IRC based LPC/RPC

  • no database. Use lua files for configuration. Use filesystem symlinks & hardlinks where a simple filesystem tree is not enough.

Concepts

  • ladici HQ - the central machine/node

  • ladici factory - a machine/node (can be the HQ one) where lanes are hosted

  • ladici lane - a chain or DAG of rules & commands to be executed by ladici factories

In simplest case, ladici deployment consists of single machine/node running ladici. The process running HQ can also run a factory and is pre-configured so with one that runs lane to create tarballs from sources.

Usage

Running "./ladici hq" from source checkout will start the HQ node. By default HQ node comes with a HTTP server listening at 127.0.0.1:8010 for read-only HTML server-side scripting generated view.

To run the client-side scripting in WWW browser with JavaScript:

  • Obtain a copy of "fengary-web.js". fengary-web-0.1.4 can be downloaded from https://github.com/fengari-lua/fengari-web/releases/download/v0.1.4/fengari-web.js

  • Copy fengari-web.js to the same directory that will serve ladici-fengari.html and ladici-fengari.lua

  • Setup web server to serve static content of the directory where ladici-fengari.html and ladici-fengari.lua and fengari-web.js reside and make ladici-fengari.html the default document.

Configuring

Example of configuring the ladici http server to bind at 127.0.3.2 instead of 127.0.0.1

~/.ladici

For simple setups the above works good with /etc/hosts line like:

/etc/hosts

Live demo