Helm chart for a SDDI
enabled CKAN catalog
Report bug
·
Request feature
This chart deploys a self contained CKAN data catalog with all of its dependencies. CKAN is extended to support the Smart District Data Infrastructure (SDDI).
Deploy a basic SDDI-CKAN setup in a Kubernetes cluster with
ingress-nginx
and
cert-manager
pre-installed and a
FQDN
(e.g. www.my-sddi-ckan.de
) pointing to your Ingress controller.
helm repo add sddi-ckan "https://tum-gis.github.io/sddi-ckan-k8s"
helm repo update
helm install ckan sddi-ckan/sddi-ckan \
--atomic --wait -n ckan --create-namespace \
--set 'global.ingress.domains={www.my-sddi-ckan.de}' \
--set 'ckan.siteUrl=https://www.my-sddi-ckan.de' \
--set '[email protected]'
After the Helm deployment has finished, your SDDI CKAN instance is available
at the FQDN you specified.
The default username and password are: admin: changeMe
.
Instructions for local testing with e.g. minikube
or Docker Desktop
are available in the examples section.
- 💤 TL;DR
- 📖 Table of content
- 📦 Application stack
- ❓ Getting started
- ❕ Requirements
- 📃 Documentation
- ☁️ Managed Kubernetes services provisioning
- 🚀 Basic usage
- 🛠️ Contributing
- 🎓 Research
- 🤝 Thanks
- 📝 License
The following applications can be deployed with the Helm chart in this repository.
- CKAN
- World leading open source data management system
- PostgreSQL with PostGIS
spatial extension
- Open source database with powerful support for spatial data
- Apache Solr
- Open source search, navigation, and indexing engine
- Redis
- Open source in-memory database
- CKAN Datapusher
- A standalone web service that pushes data files from a CKAN site resources into its DataStore
- NGINX Ingress Controller
- Route traffic to the applications of the stack
- Optional dependency, usually not required
- cert-manager
- Automatic SSL certificate issuing from e.g. Let's Encrypt
- Optional dependency, usually not required
To get this up an running in seconds, check out the examples. You will find examples for:
- Basic example for a local cluster using Docker Desktop
- Basic example for a local cluster using
minikube
-
Kubernetes cluster with Kubernetes
>= v1.23.0
-
For testing 2 -3 nodes with 2-4 CPUs and 4-8 GiB RAM will be sufficient
-
Persistent storage using a suitable StorageClass, usually a default for managed Kubernetes clusters.
-
The chart is documented in the chart directory: charts/sddi-ckan
The documentation for internal dependencies is located in their folders too:
External dependencies are documented here:
Examples on how to provision a managed Kubernetes service to deploy this Helm chart are available in the provisioning folder.
-
Get a fully-qualified domain name (FQDN) and configure it to point to the public IP address of the LoadBalancer service of your Nginx ingress controller.
-
Add and update Helm repo
helm repo add sddi-ckan https://tum-gis.github.io/sddi-ckan-k8s helm repo update
-
Create a configuration file according to your needs:
my-values.yml
-
Install the stack
helm install ckan sddi-ckan/sddi-ckan \ -n ckan --create-namespace \ --atomic --wait \ --values my-values.yml
Bug fixes, issue reports and contributions are greatly appreciated.
The documentation of this chart is located in this repository in the
charts/sddi-ckan folder and consists of Markdown files,
that are generated using
norwoodj/helm-docs.
To keep the documentation in sync with the source files, it is recommended
to use pre-commit
to automatically
update the docs with every commit.
To setup pre-commit
to automatically update the documentation before each
commit, follow the steps described in norwoodj/helm-docs: Usage and use the .pre-commit-config.yaml
in this repo.
To update the Markdown documentation manually using Docker run this from the repo root.
docker run --rm -u $(id -u) --name helm-docs \
--volume "$PWD/charts/sddi-ckan:/helm-docs" \
jnorwood/helm-docs:latest
Marija Knezevic and Bruno Willenborg at Technical University of Munich, Chair of Geoinformatics realized the current SDDI CKAN Docker images and Helm chart and updated the CKAN SDDI extensions (ckanext-grouphierarchy, ckanext-relation) initially implemented by Mandana Moshrefzadeh and Wolfgang Deigele.
The core concepts, documentation, and initial implementation for SDDI were realized at Technical University of Munich, Chair of Geoinformatics by:
- Mandana Moshrefzadeh: Landeshauptstadt München, Kommunalreferat – GeodatenService
- Prof. Thomas H. Kolbe: Technical University of Munich, Chair of Geoinformatics
- Dr. Andreas Donaubauer: Technical University of Munich, Chair of Geoinformatics
- Marija Knezevic: Technical University of Munich, Chair of Geoinformatics
- Bruno Willenborg: Technical University of Munich, Chair of Geoinformatics
- Kanishk Chaturvedi, Software AG
- Son H. Nguyen, Technical University of Munich, Chair of Geoinformatics
- Wolfgang Deigele, ESRI Deutschland
An overview of the Smart District Data Infrastructure (SDDI) Project is available at the Chair of Geoinformatics, Technical University of Munich homepage in english and german.
The full list of SDDI related publications is available here. Some key publications are listed below:
-
Knezevic et al. (2022): Managing Urban Digital Twins with an Extended Catalog Service, Proceedings of the 7th International Smart Data and Smart Cities (SDSC) Conference 2022, ISPRS Annals of Photogrammetry, Remote Sensing and Spatial Information Sciences, PDF download / DOI.
-
Deigele, W. et al. (2021): Leitfaden – Geobasierter Digitaler Zwilling nach der SDDI-Methode, Ed.: Bayern Innovativ, ZD.B – Themenplattform Smart Cities and Regions.
-
Gackstetter, D. et al. (2021): Smart Rural Areas Data Infrastructure (SRADI) – an information logistics framework for digital agriculture based on open standards, 41. GIL-Jahrestagung 2021 - Fokus: Informations- und Kommunikationstechnologie in kritischen Zeiten, Gesellschaft für Informatik e.V. (GI), PDF download / DOI.
-
Kolbe, T. H. et al. (2020): The Data Integration Challenge in Smart City Projects, Chair of Geoinformatics, Technical University of Munich, PDF download / DOI.
-
Moshrefzadeh, M. et al. (2020): Towards a Distributed Digital Twin of the Agricultural Landscape, Journal of Digital Landscape Architecture (5), PDF download / DOI.
-
Moshrefzadeh, M. et al. (2017): Integrating and Managing the Information for Smart Sustainable Districts - The Smart District Data Infrastructure (SDDI), In: Kolbe, Thomas H.; Bill, Ralf; Donaubauer, Andreas (Hrsg.): Geoinformationssysteme 2017 – Beiträge zur 4. Münchner GI-Runde. . Wichmann Verlag, PDF download / DOI.
-
Moshrefzadeh, M. and T.H. Kolbe (2016): Smart Data Infrastructure for Smart and Sustainable Cities, DDSS 2016, PDF download / DOI.
To cite this repository, please use the DOI provided by Zenodo. If you want to reference a specific release version of the software, click the badge and navigate to the desired version on the page.
We would like to thank following institutions and persons for their contributions to the SDDI concepts, tools, documentations, education, and funding:
-
ZD.B-Themenplattform Smart Cities and Regions: Willi Steincke at Bayern Innovativ GmbH und Lutz Morich, for funding and supporting the SDDI development for several years.
-
Bayerisches Staatsministerium für Digitales for funding the project TwinBy and Stefan Bobinger for many contributions to SDDI concepts and documentation.
-
Digital Twin Munich / Digitaler Zwilling München, Connected Urban Twins (CUT) research project, SAVeNoW research project, eit Climate-KIC (SDDI research project) for funding the work on SDDI concepts and implementation.
-
Tome Petrovski 🙌 for professional support with CKAN and CKAN extension development.
-
KEITARO for their CKAN Docker images and CKAN Helm chart that inspired this work.
This Helm chart is distributed under the Apache License 2.0. See LICENSE for more information.