diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 81c4390..ef0d661 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -57,3 +57,13 @@ jobs: tags: | pcic/chyp-server:${{ github.ref_name }} ${{ github.ref_name == 'main' && 'pcic/chyp-server:latest' || '' }} + + - name: Build and Publish Varnish + uses: docker/build-push-action@v4 + with: + context: . + file: docker/varnish/Dockerfile + push: true + tags: | + pcic/chyp-varnish:${{ github.ref_name }} + ${{ github.ref_name == 'main' && 'pcic/chyp-varnish:latest' || '' }} diff --git a/README.md b/README.md index cc81fbd..d103756 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ Commands should be run from within the `app` folder. - Vector tiles used to display over 100k lakes and river segments across British Columbia - Lakes and rivers shown in blue, highlighted in red when selected. - Hover to dynamically highlight features. -- Selecting a feature open the **Data Download Panel** and provides a link to download the GeoJSON for the feature. +- Selecting a feature opens the **Data Download Panel** and provides links to download GeoJSON for the selected feature or its complete upstream/downstream network. ### BC Freshwater Atlas Lake & River Search @@ -80,6 +80,9 @@ A BBox instance running at the same host is assumed by InteractionLayer.jsx and The project includes GitHub Actions workflows for Docker image publishing. Docker images for the app, data import, and BBOX server are automatically built and published upon branch pushes and tagged releases. +Docker Swarm deployments must use the repository's explicit readiness gates; +See [Swarm startup readiness](docs/swarm-readiness.md) for the required stack configuration and rollout procedure. + ## API Integration The app connects to the PCIC Hydromosaic API for: @@ -95,7 +98,10 @@ BC Geographic Warehouse (BCGW) [Public Map Server](https://delivery.maps.gov.bc. ## Environment Variables -- `REACT_APP_BC_BASE_MAP_TILES_URL`: Base map tile URL (defaults to PCIC swarm server) +- `REACT_APP_BC_BASE_MAP_TILES_URL`: Base map tile URL (defaults to the + production PNG tiles on `services.pacificclimate.org`). The app container + reads this variable when it starts, so non-production deployments can use a + different tile server and format without rebuilding the image. ## Docker Images @@ -105,6 +111,7 @@ The following images are published to Docker Hub: - `pcic/chyp-data-import`: Data import utilities - `pcic/chyp-postgis`: PostGIS database - `pcic/chyp-server`: BBOX tile server +- `pcic/chyp-varnish`: BBOX tile cache with an upstream readiness check ## Requirements diff --git a/app/index.html b/app/index.html index e7c06a7..c16818a 100644 --- a/app/index.html +++ b/app/index.html @@ -3,11 +3,14 @@
- + - +