Commit Graph

57 Commits (eb5810929299056cdbd411e2b2e1e500b7a5a9e4)

Author SHA1 Message Date
absc 3280596836 Skeleton for the storage bootstrap.
We want to automate this, for example, when deploying in a docker
container.

A bunch of static files will be loaded into the storage, in order
to be served to the clients.
2024-07-23 23:15:36 +02:00
absc 65d6e5fa05 File committed as error. 2024-07-23 22:59:39 +02:00
absc 1f243b16d3 Import the initial dudeswave code.
At this point it handles only GETs, giving back plain text
responses in case of errors.

The intention is to also produce some static pages for those,
where the CSS we will chose applies.

Other APIs will be managed through their respective handlers,
whose routes will be setup before this one.
2024-07-23 22:52:57 +02:00
absc 14e6c3cc94 Import the storage application.
This is a small abstraction layer on top of mnesia. It simplifies
table management and addition of replicas and nodes.

Some things to add in the near future:

	* Removing nodes from a mnesia cluster is not supported.
	* Observability and event handling is missing.

While it's possible to perform the aformentioned functions with
the mnesia own APIs, adding some simplifications for day to day
management may be a good idea.

However, the library is already used in another project and it's
good enough for an initial use. It will be extended if and when
required.
2024-07-23 22:09:08 +02:00
absc 4aa09346d7 Import ranch.
Ranch is the listener used by cowboy to handle HTTP connections.

URL: https://github.com/ninenines/ranch
2024-07-23 22:07:38 +02:00
absc 9fdf706bcb Import cowboy.
Cowboy is a complete and light erlang webserver, used to serve
the dudeswave blog.

URL: https://github.com/ninenines/cowboy
2024-07-23 22:06:21 +02:00
absc 8ebac63dac Import cowlib.
Cowlib is the base library used by ranch and cowboy, respectively
the listener and the webserver used in the dudeswave stack.

URL: https://github.com/ninenines/cowlib
2024-07-23 22:04:25 +02:00