Management interface for the Recycled Cloud. https://meta.recycled.cloud
Find a file
2021-01-13 17:02:13 +01:00
config Patch Mailer for testing 2021-01-12 16:25:27 +01:00
lib Add release-specific ecto logic 2021-01-13 17:02:13 +01:00
priv Add minimal SSH key management 2020-12-23 12:51:05 +01:00
rel Initialize release files 2021-01-12 10:21:42 +01:00
test ldap test env: allow configuration of wait_for_ldap() 2021-01-13 08:37:55 +01:00
.build.yml Revamp CI: rebase on alpine, generate release 2021-01-13 09:18:30 +01:00
.formatter.exs Initial mix/phx project 2020-12-15 08:45:34 +01:00
.gitignore Initial mix/phx project 2020-12-15 08:45:34 +01:00
mix.exs Configure mix release, add release runtime configuration 2021-01-12 10:43:59 +01:00
mix.lock Add mailing capabilities with Bamboo, local dev LDAP conf 2021-01-12 10:06:05 +01:00
README.md Add correct + simple > efficient note to README 2020-12-22 14:21:57 +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.

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: