Logo Lanfrica

rhiza-research/kenya-forecasts

Domaine:

climate

Type de record:

software
Créateur:
rhi
Hôte:
Public file browser for KMSA forecast data in Google Cloud Storage # kenya-forecasts A public, read-only file browser over `gs://kenya-forecasting-data`, the bucket of Kenya Meteorological Service Authority forecast products. It is the place KMSA sends the public to download forecasts. No login, no upload, no delete. Live at . ## What this repo builds A container image on top of upstream Filestash (`machines/filestash@sha256:f24de790b8828f66807c9097e48add1e846ca0cd2d3a936b3c3e845024e4fe9a`; upstream ships only a rolling `latest`, hence the digest). The `Dockerfile` sits at the root and builds from the repo root. `app/` holds the runtime config; `app/plugin/` is the plugins directory, with one plugin per subdirectory. - `app/config.json` — the Filestash config with `__TOKEN__` placeholders for the four secrets, the public host, `S3_ENDPOINT` (defaulted by the entrypoint to the GCS XML API) and `S3_BUCKET` (a bare bucket name; the entrypoint adds the leading slash that roots the browse tree at the bucket). - `app/entrypoint.sh` — validates the five environment values, substitutes them into `/app/data/state/config/config.json`, installs the plugin zip into `/app/data/state/plugins/`, and execs Filestash. Both writes happen at runtime because `/app/data` is an emptyDir that masks whatever the image put there. Branding ships as a Filestash plugin, a self-contained artifact Filestash loads on its own. The build packs `app/plugin/branding/` verbatim into a flat `branding.zip` — the directory name, the zip name and the plugin name Filestash registers are all `branding`, since Filestash takes the plugin name from the zip's basename. Filestash discovers zips in `state/plugins/` at startup and registers the modules the manifest names. - `manifest.json` — `author`, `version` and three modules, `css`, `favicon` and `patch`. - `index.js` — builds the header, the pilot band, the links band and the footer, and marks the listing row named for the current date. Filestash serves it from inside the zip at `/assets/ /plugin/branding.zip/index.j …

Licenses