Go to file
Sybren A. Stüvel 194422d9fa Remove -poc suffix from Manager and Worker
The code is mature enough to no longer be a proof-of-concept.
2022-02-28 13:01:13 +01:00
cmd Remove -poc suffix from Manager and Worker 2022-02-28 13:01:13 +01:00
internal Cleanup: refactor updateJobAfterTaskStatusChange() 2022-02-28 12:50:34 +01:00
pkg/api Start of a task/job state machine 2022-02-24 16:42:38 +01:00
web SocketIO based chat client as PoC for backend/frontend communication 2022-02-11 14:47:26 +01:00
.gitignore Remove -poc suffix from Manager and Worker 2022-02-28 13:01:13 +01:00
.gitlab-ci.yml Configure SAST in .gitlab-ci.yml, creating this file if it does not already exist 2022-01-03 18:50:58 +00:00
CONFIG_DESIGN.md Partial design doc for configuration handling 2022-02-21 19:47:52 +01:00
debug-job-echo.sh Debugging: add simple render job script 2022-02-21 19:58:29 +01:00
debug-job-render.sh Debug job: render to writable target 2022-02-22 13:56:22 +01:00
FEATURES.md Update FEATURES.md 2022-02-28 12:09:07 +01:00
go.mod Worker: buffer task updates when Manager offline 2022-02-22 19:05:33 +01:00
go.sum Worker: buffer task updates when Manager offline 2022-02-22 19:05:33 +01:00
LICENSE Add make with-deps target to install dependencies and build the apps 2022-01-24 14:27:25 +01:00
Makefile Remove -poc suffix from Manager and Worker 2022-02-28 13:01:13 +01:00
README.md Update install instructions for Windows 2022-02-21 15:24:39 +01:00

Flamenco PoC

This repository contains a proof of concept of a next-generation Flamenco implementation.

Building

  1. Install Go 1.18 or newer and Node 16 (see below)
  2. Set the environment variable GOPATH to where you want Go to put its packages. Defaults to $HOME/go if not set. Run go env GOPATH if you're not sure.
  3. Ensure $GOPATH/bin is included in your $PATH environment variable.
  4. Magically build the web frontend (still under development, no concrete steps documentable quite yet)
  5. Run make with-deps to install build-time dependencies and build the application. Subsequent builds can just run make without arguments.

You should now have two executables: flamenco-manager-poc and flamenco-worker-poc.

Node / Web UI

The web UI is built with Vue, Bootstrap, and Socket.IO for communication with the backend.

NodeJS is used to collect all of those and build the frontend files. It's recommended to install Node v16 via Snap:

sudo snap install node --classic --channel=16

This also gives you the Yarn package manager, which can be used to install web dependencies and build the frontend files.

Swagger UI

Flamenco Manager has a SwaggerUI interface at http://localhost:8080/api/swagger-ui/

Flamenco Manager DB development machine setup.

Install PostgreSQL, then run:

sudo -u postgres createuser -D -P flamenco  # give it the password 'flamenco'
sudo -u postgres createdb -O flamenco -E utf8 flamenco
sudo -u postgres createdb -O flamenco -E utf8 flamenco-test
echo "alter schema public owner to flamenco;" | sudo -u postgres psql flamenco-test

Windows

On Windows, add C:\Program Files\PostgreSQL\14\bin to your PATH environment variable. Replace 14 with the version of PostgreSQL you're using. Then run:

createuser -U postgres -D -P flamenco  # give it the password 'flamenco'
createdb -U postgres -O flamenco -E utf8 flamenco
createdb -U postgres -O flamenco -E utf8 flamenco-test
psql -c "alter schema public owner to flamenco" flamenco-test postgres

When it asks "Enter password for new role:", give the password "flamenco" When it asks "Password:", give the password for the postgres admin user (you chose this during installation of PostgreSQL).

If you're like me, and you use Git Bash, prefix the commands with winpty.