Skip to content

GeoServer Terraform IaC + OGC API - Features extension#760

Draft
jirhiker wants to merge 123 commits into
stagingfrom
geoserver-iac
Draft

GeoServer Terraform IaC + OGC API - Features extension#760
jirhiker wants to merge 123 commits into
stagingfrom
geoserver-iac

Conversation

@jirhiker

@jirhiker jirhiker commented Jul 6, 2026

Copy link
Copy Markdown
Member

What

Adds the GeoServer Terraform IaC (geoserver_iac/) on a dedicated branch and installs the OGC API - Features extension at VM startup.

Changes

  • geoserver_iac/ — Terraform for the GeoServer deployment (VM, instance group, HTTPS LB, firewall, service account, GCS bucket mounts). Isolated onto this branch (not a straight cherry-pick — the original commits were entangled with unrelated AEM/STAC work).
  • Extension install at startup — new configurable vars geoserver_stable_extensions / geoserver_community_extensions, plumbed through the templated startup script. When set, the OSGeo image installs them via INSTALL_EXTENSIONS=true.
  • ogcapi-features as a stable extension — the 2.28.0 artifact ships in the stable extensions folder, not community-latest, so the initial community config 404'd at boot. Fixed to STABLE_EXTENSIONS.

Verification

Applied to prod. VM recreated, extension downloaded + installed, endpoint live:

  • GET /geoserver/ogc/features/v1 → 200, valid landing JSON
  • LB frontend IP 34.54.118.81 unchanged; GCS-backed data dir survived the VM recreate

Known follow-ups (not in this PR)

  • /ogc/features/v1/collections currently errors: the PostGIS store Ocotillo/OcotilloDB (db ocotillo, :5432) times out from the recreated VM's new egress IP — needs the postgres allowlist/firewall updated for the new VM IP.
  • Ops agent logs PermissionDenied monitoring.timeSeries.create — VM service account missing roles/monitoring.metricWriter (cosmetic; GeoServer unaffected).

🤖 Generated with Claude Code

jirhiker and others added 30 commits June 18, 2025 11:11
WIP: This is a POC replacement for bureau geospatial databases
Numbers are limited to 10 digits.
This reduces the risk of catastrophic backtracking.
Bumps [alembic](https://github.com/sqlalchemy/alembic) from 1.16.1 to 1.16.2.
- [Release notes](https://github.com/sqlalchemy/alembic/releases)
- [Changelog](https://github.com/sqlalchemy/alembic/blob/main/CHANGES)
- [Commits](https://github.com/sqlalchemy/alembic/commits)

---
updated-dependencies:
- dependency-name: alembic
  dependency-version: 1.16.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [greenlet](https://github.com/python-greenlet/greenlet) from 3.2.2 to 3.2.3.
- [Changelog](https://github.com/python-greenlet/greenlet/blob/master/CHANGES.rst)
- [Commits](python-greenlet/greenlet@3.2.2...3.2.3)

---
updated-dependencies:
- dependency-name: greenlet
  dependency-version: 3.2.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
jirhiker and others added 28 commits July 2, 2025 00:00
Bumps [pillow](https://github.com/python-pillow/Pillow) from 11.2.1 to 11.3.0.
- [Release notes](https://github.com/python-pillow/Pillow/releases)
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)
- [Commits](python-pillow/Pillow@11.2.1...11.3.0)

---
updated-dependencies:
- dependency-name: pillow
  dependency-version: 11.3.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
…-11.3.0

Bump pillow from 11.2.1 to 11.3.0
…-1.16.2

Bump alembic from 1.16.1 to 1.16.2
…-0.115.14

Bump fastapi from 0.115.12 to 0.115.14
…-0.35.0

Bump uvicorn from 0.34.3 to 0.35.0
…-pagination-0.13.3

Bump fastapi-pagination from 0.13.2 to 0.13.3
…t-3.2.3

Bump greenlet from 3.2.2 to 3.2.3
…n permissions

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Isolate geoserver_iac Terraform files onto a dedicated branch.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Add configurable geoserver_community_extensions and
geoserver_stable_extensions vars, plumbed into the docker run so the
OSGeo image installs extensions via INSTALL_EXTENSIONS. Defaults to
ogcapi-features.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The ogcapi-features artifact ships in the stable extensions folder for
2.28.0, not community-latest, so COMMUNITY_EXTENSIONS 404'd at boot. Move
it to STABLE_EXTENSIONS.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@jirhiker
jirhiker changed the base branch from main to staging July 6, 2026 20:10
@jirhiker
jirhiker marked this pull request as draft July 6, 2026 20:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant