diff options
author | Jasper Ras <jras@hostnet.nl> | 2025-06-21 11:11:59 +0200 |
---|---|---|
committer | Jasper Ras <jras@hostnet.nl> | 2025-06-21 11:11:59 +0200 |
commit | fbb81e5f2c5542d86ffbb0cb8e05ce2640ed65de (patch) | |
tree | 6c5951af8530f003b8e3311c62d75802052ba363 /Building Skypiea an OpenStack Dashboard.md | |
parent | 0d389e1d6c1aed4a92f82d9711f4564a12390fcd (diff) |
vault backup: 2025-06-21 11:11:59
Diffstat (limited to 'Building Skypiea an OpenStack Dashboard.md')
-rw-r--r-- | Building Skypiea an OpenStack Dashboard.md | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/Building Skypiea an OpenStack Dashboard.md b/Building Skypiea an OpenStack Dashboard.md new file mode 100644 index 0000000..a290653 --- /dev/null +++ b/Building Skypiea an OpenStack Dashboard.md @@ -0,0 +1,21 @@ +[[OpenStack]] + +--- + +### To JS Framework or not to JS Framework +I was in doubt whether or not to use a JavaScript framework. I conversed with Gemini about this. I gave the context that I was considering a JavaScript Framework or just using minimal JavaScript with HTML/CSS using HTMX and a Golang backend which I was leaning towards. +It confirmed my gut feeling that the latter, not using a full blown JavaScript framework, is the good option especially for learning. + +So my decision: use purely HTML/CSS with HTMX and a Golang backend that drives it. + +### Can I do real-time feedback? +Using SSE or WebSockets it is possible. HTMX supports this out-of-the box. We can listen for events from OpenStack and then push updates from the server to the client. +##### SSE or WebSockets? +SSE is useful when the traffic flows mostly from the server to the client. WebSockets is a full-duplex connection and thus more likely candidate when the client also converses with the server alot. +In our case I think **SSE** would be the best fit as the client mostly just listens. + +#### SSE +It works by exposing an endpoint of which the connection is kept alive by the backend when a client connects to it. It can then periodically send its events over this connection. +`Content-Type` header should be set by the server to: `text/event-stream`. +`Cache-Control` set to `no-cache`. **Not yet sure why. Let's investigate.** +`Connection` set to `keepalive`. This is to ensure the connection is kept open so we can send our events.
\ No newline at end of file |