Sybren A. Stüvel
d153db4280
Work in progress on using UPnP/SSDP to make the Worker find its Manager
...
Due to the way SSDP works, Flamenco Manager needs to know its own URL,
where the Workers can reach it. These URLs are now found, and since there
can be multiple (like IPv6 + IPv4) they are all sent in a SSDP
notification as ;-separated strings.
2022-03-04 17:44:04 +01:00
Sybren A. Stüvel
656a495652
Manager: clean shutdown on Ctrl+C
2022-03-04 14:34:40 +01:00
Sybren A. Stüvel
eaeea38e3f
Worker: remove -manager URL
CLI argument
...
This CLI arg isn't actually used by the subsequent code, so better to not
have it for now.
2022-03-03 11:33:22 +01:00
Sybren A. Stüvel
20fd3228ba
Worker: better logging configuration
...
Always show startup notification at INFO level, regardless of configured
level. Replace `-verbose` with `-quiet`, add `-trace`.
2022-03-03 11:32:57 +01:00
Sybren A. Stüvel
954babd914
Manager: redirect web root to Swagger UI
...
Temporarily redirect the index page to the Swagger UI, so that at least
you can see something other than a "404 Not Found" error.
2022-03-01 20:49:11 +01:00
Sybren A. Stüvel
47e36c927c
Change package URL to the blender.org repository
2022-03-01 20:45:09 +01:00
Sybren A. Stüvel
e70a44a146
Manager: switch from PostgreSQL to SQLite
...
This includes a modified copy of the Gorm SQLite backend, adjusted to use
https://modernc.org/sqlite instead.
2022-03-01 18:50:31 +01:00
Sybren A. Stüvel
ba5585461b
Cleanup: fix 'vet' warning from socketio-poc
2022-02-28 13:01:52 +01:00
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
Sybren A. Stüvel
3d854078ba
Manager: integrate task state machine into API implementation
2022-02-25 16:30:27 +01:00
Sybren A. Stüvel
2a1f5a0df4
Worker: buffer task updates when Manager offline
...
Queue task updates in an SQLite database when the Manager is
unreachable, periodically checking whether they can be flushed.
2022-02-22 19:05:33 +01:00
Sybren A. Stüvel
e9a94eecae
Worker: add CLI runner interface and move test/mock code around a bit
2022-02-22 12:35:43 +01:00
Sybren A. Stüvel
b1b73de4ee
Manager: Actually load config, and use in a few places
2022-02-21 19:02:07 +01:00
Sybren A. Stüvel
30fd4e52b0
Log GOOS and GOARCH on startup
2022-02-21 19:01:43 +01:00
Sybren A. Stüvel
12481a47e7
Start of configuration/settings framework, including variable replacement
2022-02-21 18:09:45 +01:00
Sybren A. Stüvel
6bd1a86337
Start of DB initialisation functions
...
Not properly working yet
2022-02-21 15:25:56 +01:00
Sybren A. Stüvel
bb53cc1e4a
Task log storage service
2022-02-18 18:19:35 +01:00
Sybren A. Stüvel
0ab8151a92
Move code out of main.go and add better check for OpenAPI paths
2022-02-17 13:58:10 +01:00
Sybren A. Stüvel
66c052d9fd
Move worker config, sign-on, and registration code into worker package
...
This makes the `main.go` file simpler, and not depend on any other files
in the `main` package. For some reason, the debugger really likes this.
2022-02-17 13:58:10 +01:00
Sybren A. Stüvel
dfd55914b2
Worker: keep trying to sign on until we have an answer from the Manager
2022-02-15 11:46:00 +01:00
Sybren A. Stüvel
beda64d7c0
Clean up authentication routine
2022-02-15 11:29:48 +01:00
Sybren A. Stüvel
50088b4c94
Save worker info on sign-on (not just on registration)
2022-02-15 10:57:29 +01:00
Sybren A. Stüvel
22f2084e89
Unit tests for 'echo' and 'sleep' commands
2022-02-14 14:47:41 +01:00
Sybren A. Stüvel
61164252da
Cleanup: remove unused code
2022-02-11 16:51:55 +01:00
Sybren A. Stüvel
cf8ba835aa
Added framework for task & command execution
2022-02-11 16:51:28 +01:00
Sybren A. Stüvel
96023932da
SocketIO based chat client as PoC for backend/frontend communication
...
The chat client itself is just a throwaway project. The SocketIO system
will be used to send realtime updates about jobs, tasks, and workers to
the web frontend.
2022-02-11 14:47:26 +01:00
Sybren A. Stüvel
be89349632
Very basic non-functional framework for a task runner
...
Also has some login/logout functionality for storing stuff in the DB.
2022-01-31 16:05:27 +01:00
Sybren A. Stüvel
d3071146da
Better logging of worker info
2022-01-31 15:35:57 +01:00
Sybren A. Stüvel
d880f7e7f0
Worker authentication is working
2022-01-31 15:27:13 +01:00
Sybren A. Stüvel
7c14b2648d
Much more of the Worker life cycle implemented
2022-01-31 15:02:05 +01:00
Sybren A. Stüvel
c501899185
Ported lots of stuff from gitlab.com/dr.sybren/flamenco-worker-go
...
Much isn't working though.
2022-01-28 17:02:50 +01:00
Sybren A. Stüvel
860ad168a6
Remove GORM PoC; it's used in Flamenco Manager now anyway
2022-01-25 17:27:44 +01:00
Sybren A. Stüvel
0f8bacd2e5
Store compiled jobs with GORM in PostgreSQL
2022-01-24 18:07:12 +01:00
Sybren A. Stüvel
2a4bf1c60f
Toying around with GORM and PostgreSQL
2022-01-24 16:59:48 +01:00
Sybren A. Stüvel
b446b02739
Change package URL
...
Change package URL from `gitlab.com/blender/flamenco-goja-test` to
`gitlab.com/blender/flamenco-ng-poc` so that it matches the actual URL
on Gitlab.
2022-01-24 14:28:00 +01:00
Sybren A. Stüvel
0629728ce9
Add frame chunker and make unit test for simple blender render succeed
2022-01-13 16:32:08 +01:00
Sybren A. Stüvel
f0ae7d33e9
Connect API, job compiler, and persistence layer
2022-01-11 18:07:34 +01:00
Sybren A. Stüvel
0c9c99806b
Start of database interface
...
Contains a dummy migration because the migrate package will error out if
it cannot find any migration files.
2022-01-11 18:07:34 +01:00
Sybren A. Stüvel
d0fafb5063
Make the GET /api/jobs/types
endpoint work
2022-01-10 17:45:20 +01:00
Sybren A. Stüvel
7728c072ae
Add copyright notices
...
No functional changes.
2022-01-10 17:45:13 +01:00
Sybren A. Stüvel
f43673aaa7
Move the API implementation to the internal package
...
The server implementation is private, not something that's suitable for
reuse.
2022-01-10 17:45:13 +01:00
Sybren A. Stüvel
30c04f4ddb
Worker: set user agent string
2022-01-10 17:45:13 +01:00
Sybren A. Stüvel
082e2e69d6
Add authentication to worker
2022-01-10 17:45:13 +01:00
Sybren A. Stüvel
ad75b5c705
Cleanup: Move some files around
...
No functional changes
2022-01-10 17:45:13 +01:00
Sybren A. Stüvel
b512b399d6
Cleanup: remove no longer valid comment
2022-01-10 17:45:13 +01:00
Sybren A. Stüvel
3e771cb7b7
Basic HTTP auth for workers implemented
...
Still a dummy, but at least it works with the OpenAPI 3
auth specification.
2022-01-10 17:45:13 +01:00
Sybren A. Stüvel
a8ada28a41
Hook up Zerolog to Echo
2022-01-10 17:45:13 +01:00
Sybren A. Stüvel
949ff08b0e
Switch from Gin to Echo framework
2022-01-10 17:45:13 +01:00
Sybren A. Stüvel
f1399ca929
Move cmd/flamenco-poc to cmd/flamenco-manager-poc
2022-01-10 17:45:13 +01:00
Sybren A. Stüvel
f2d289ef77
Remove OapiRequestValidator
...
It's not working properly.
2022-01-10 17:45:13 +01:00