الملفات

3.6 KiB

Publishing this SIEM Dashboard to Ghaymah Storage Block

Path A: publishing to object/bucket-style storage (most likely case)

1. Regenerate fresh data before publishing

Run the analyzer one last time so siem_report.json and data.js are current:

cd siem_project
python3 siem_analyzer.py

2. Collect exactly what needs to go live

Only the dashboard/ folder needs to be published — the Python script and raw logs/ are your local tooling, not part of the served site:

dashboard/
├── index.html
├── style.css
├── script.js
├── siem_report.json
└── data.js

(You can optionally publish logs/ and siem_analyzer.py alongside it too if the exam wants the whole repo visible — just make sure index.html ends up at the bucket's root so it's served as the default page.)

3. Create the storage block / bucket

In the Ghaymah console (or deploy.ghaymah.systems):

  1. Log in and find Storage in the main navigation.
  2. Create a new storage block — give it a unique name (e.g. siem-dashboard-<yourname>), and pick a region close to you/your grader.
  3. If there's a public access / static website hosting toggle, enable it — object storage buckets are private by default on most platforms, and a private bucket will just return "Access Denied" in a browser.
  4. If it asks for an index document, set it to index.html.

4. Upload the files

Most storage-block consoles support drag-and-drop upload in the browser — upload the 5 files from dashboard/ (keep them at the bucket's root, not inside a subfolder, so relative paths like href="style.css" still resolve).

If Ghaymah instead exposes an S3-compatible API (common for smaller/regional clouds — check their docs for an endpoint URL, access key, and secret key), you can upload with the standard AWS CLI pointed at their endpoint instead of the console:

aws s3 cp ./dashboard s3://siem-dashboard-<yourname> \
  --recursive \
  --endpoint-url https://<ghaymah-storage-endpoint>

(Only use this if their docs confirm an S3-compatible endpoint and give you access/secret keys — don't guess the endpoint URL.)

5. Get the public URL and verify

The console should show a public URL after upload (something like https://<bucket-name>.<region>.ghaymah.systems/ or a platform-generated domain). Open it and confirm:

  • The stat cards, radar, and alert table all render (not a blank page — that usually means style.css/script.js/data.js didn't upload to the same folder as index.html).
  • The alert table search/filter and row-expand still work.

6. (Optional) Custom domain

If Ghaymah supports attaching a custom domain/CNAME to a storage block, that's normally: add a CNAME record at your DNS provider pointing your subdomain at the bucket's platform domain, then add that domain in the bucket's settings and wait for it to verify (and, if offered, request/attach an SSL certificate).


Alternate path: if "Storage Block" means a disk volume

If Ghaymah's "Storage Block" is closer to AWS EBS (a virtual disk you attach to a VM rather than something with its own public URL), the flow is instead:

  1. Provision a small compute instance (VM) on Ghaymah.
  2. Create and attach a storage block/volume to it, then mount it (mkfs, mount — same as any Linux block device).
  3. Copy dashboard/ onto that mounted volume (scp, git clone, etc.).
  4. Serve it from the VM:
    cd /mnt/<your-volume>/dashboard
    python3 -m http.server 80
    # or install nginx and point its document root at this folder
    
  5. Open the VM's public IP (or attach a domain to it) to verify.