Management interface for the Recycled Cloud. https://meta.recycled.cloud
Find a file
2021-02-11 14:34:40 +01:00
config Add initial Odoo integration (billing address) 2021-01-20 17:28:48 +01:00
lib Add initial OpenNebula XML-RPC Api Integration 2021-02-11 14:34:40 +01:00
priv Add initial OpenNebula XML-RPC Api Integration 2021-02-11 14:34:40 +01:00
rel Initialize release files 2021-01-12 10:21:42 +01:00
test Add captcha to registrations (fixes #9) 2021-02-03 10:12:23 +01:00
.build.yml Add credo linter 2021-02-08 15:26:00 +01:00
.formatter.exs Initial mix/phx project 2020-12-15 08:45:34 +01:00
.gitignore Import forgotten assets into repository 2021-01-13 18:26:41 +01:00
CHANGELOG.md Fix minor typo in captcha description, release v0.3.1 2021-02-03 13:56:00 +01:00
LICENSE.txt Set LICENSE to AGPLv3 (fixes #17) 2021-02-03 11:59:59 +01:00
mix.exs Add initial OpenNebula XML-RPC Api Integration 2021-02-11 14:34:40 +01:00
mix.lock Add credo linter 2021-02-08 15:26:00 +01:00
README.md Add credo linter 2021-02-08 15:26:00 +01:00
run-ci.sh Add run-ci.sh script, check test coverage in CI 2021-01-07 09:11:15 +01:00

Recycled Cloud Management Interface

builds.sr.ht status

This repository tracks the initial work for a web interface atop the recycled cloud. It is written in Elixir, making use of the Phoenix Web Framework.

Notes

  • This project is in its early phase: we're first making things correct and simple. We'll worry about efficiency later.
  • The (Phoenix) project has been initialized with the --no-webpack and --no-dashboard flags to avoid unnecessary clutter. We can add them back later if needed!
  • (sourcehut) CI is defined in .build.yml. It currently runs on my sr.ht account since we do not have our own instance (yet).
  • Authentication is based on José Valim and Aaron Renner's Phx.Gen.Auth, adapted for LDAP-backed authentication.
  • You can run the linter with mix credo.

Getting Started

You'll need Erlang/OTP and elixir installed on your system. It usually boils down to installing the elixir package of your distribution. Once done, you can:

  • Install dependencies with mix deps.get
  • Create and migrate your database with mix ecto.setup
    • You'll need PostgreSQL here. I (tfloure) usually run it in an isolated container with something along the lines of podman run --rm -it -e POSTGRES_HOST_AUTH_METHOD=trust --expose 5432 -p 5432:5432 postgres:latest.
  • Start Phoenix endpoint with mix phx.server (or iex -S mix phx.server, if you want a REPL).

Now you can visit localhost:4000 from your browser.

Useful Resources

Elixir Language:

Phoenix Web Framework: