Skip to content

zalf-rdm/geonode-k8s

Repository files navigation

Version: 1.2.3-alpha

Helm Chart for Geonode

Homepage: https://github.com/zalf-rdm/geonode-k8s

Geonode

Geonode is a geospatial content management system, a platform for the management and publication of geospatial data. It brings together mature and stable open-source software projects under a consistent and easy-to-use interface allowing non-specialized users to share data and create interactive maps.

You can find the Sourcecode and more information about geonode under:

Due to growing needs for high availability and scalability this repository aims at running Geonode with all required services in a cloud based manner. To due so we use Kubernetes (https://kubernetes.io/), a cloud management software, which runs on public and private clouds. As the Kubernetes echosystem can be confusing for people getting new to this field, there are packages for most services which are able to run on top of kubernetes. This packages are managed via helm (https://helm.sh/).

Geonode-k8s

This repository provides a helm chart for geonode including additional services as:

  • geoserver: source server for sharing geospatial data (https://geoserver.org/)
  • rabbitmq: message broker (scalable)
  • postgresql database: using zalando postgres-operator for distributed database for geonode and postgis db for geoserver (https://github.com/zalando/postgres-operator) (scalable)
  • memcached (optional): as django cache (scalable)
  • nginx: webserver to deliver static content (scalable)
  • pycsw: CSW interface (scalable) This helm chart provides the possibility to run most of the services redundant to increase performance on the one hand and increase fail safe on the other hand.

Documentation

To get an overview of the available configuration check out the values docs. If you want to run the helm chart first on a minikube cluster check out the minikube guide. Also check the minikube-values.yaml for basic configuration.

If you want to go straight for a production installation follow the installation guide.

Furhter docs you can find on readthedocs.

Install

Prerequisites

The chart will automatically install required dependencies, i.e. a RabbitMQ broker and a Postgres database with postgis extensions installed, and link them up. If you want to run an older geonode version with geonode-k8s check the release-to-version list.

Install chart dependencies

Update helm dependencies via:

helm repo add geonode https://zalf-rdm.github.io/geonode-k8s/
helm repo update

Override desired values in your own override file

Define your own values.yaml to configure your geonode installation. Use the docs to understand the parameters.

vi my-values.yaml

Install chart

helm upgrade --cleanup-on-fail   --install --namespace geonode --create-namespace --values my-values.yaml geonode charts/geonode

Delete Installation

helm delete --namespace geonode geonode geonode

Contribution

Create an Issue

You found a bug 🐞? You have an idea how to improve 💡? Feel free to create an issue!

Documentation

Ensure values.yaml documentation is up-to-date. The parameter documentation is generated via helm-docs. There is a pre-commit hook configuration so please ensure you install it into your local working copy via

pre-commit install
pre-commit install-hooks