demo instance: https://net.forgeflux.org
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Reviewed-on: #175 |
||
---|---|---|
.reuse | ||
.sqlx | ||
config | ||
docs/third-party | ||
LICENSES | ||
migrations | ||
mod_plugins | ||
scripts | ||
sec | ||
src | ||
utils | ||
web_ui | ||
.dockerignore | ||
.env.docker-compose | ||
.env_sample | ||
.envrc | ||
.gitignore | ||
.woodpecker.yml | ||
Cargo.lock | ||
Cargo.toml | ||
devenv.lock | ||
devenv.nix | ||
devenv.yaml | ||
docker-compose.yml | ||
Dockerfile | ||
Makefile | ||
README.md | ||
renovate.json |
Development environment
Note: this section is WIP. Please open issues if they don't work. Thanks!
1. Prerequisites
2. Clone the Repo
git clone https://git.batsense.net/ForgeFlux/ForgeFlux.git
cd ForgeFlux
3. Set environment variables
cp .env_sample .env
Edit .env
for your setup:
4. Launch development dependency containers
make env.db
5. Build program
make
UI Development
All UI stuff is at ./web_ui.
UI Stack:
UI Workflow
- Create template in web_ui/templates/. Example
- Write Rust logic to render templates in web_ui/src/. Example.
- Write tests to render templates. Example.
- Inspect file created in step 3 in browser to inspect your work.
Federation Development
A local development environment is setup with two instances of ForgeFlux (this software). Currently, I use tmux to launch two instances on two separate panes.
1. Install local CA
make env.certs
2. Launch server 1
Uses settings in .env
and
config/default.toml.
make env.server.1
3. Launch server 2
Uses settings config/server2.toml and environment variables set directly in the Makefile rule.
make env.server.2
Funding
NLnet
2024 development is funded through the NGI0 Entrust Fund, via NLnet. Please see here for more details.