summaryrefslogtreecommitdiff
path: root/Building Skypiea an OpenStack Dashboard.md
diff options
context:
space:
mode:
authorJasper Ras <jras@hostnet.nl>2025-06-21 11:11:59 +0200
committerJasper Ras <jras@hostnet.nl>2025-06-21 11:11:59 +0200
commitfbb81e5f2c5542d86ffbb0cb8e05ce2640ed65de (patch)
tree6c5951af8530f003b8e3311c62d75802052ba363 /Building Skypiea an OpenStack Dashboard.md
parent0d389e1d6c1aed4a92f82d9711f4564a12390fcd (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.md21
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