sddi-ckan-k8s
sddi-ckan-k8s copied to clipboard
Helm chart for Smart District Data Infrastructure enabled CKAN
SDDI CKAN for Kubernetes
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).
:zzz: TL;DR
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.
[!TIP] To try out
alpha
/beta
releases, add the--devel
option to thehelm install
command.
:book: Table of content
- :zzz: TL;DR
- :book: Table of content
- :package: Application stack
- :question: Getting started
- :grey_exclamation: Requirements
- :page_with_curl: Documentation
- :cloud: Managed Kubernetes services provisioning
- :rocket: Basic usage
-
:hammer_and_wrench: Contributing
-
Repository setup
- Build Chart documentation
-
Contributors
- Github contributors to this repo
-
Repository setup
-
:mortar_board: Research
- Publications
- Cite this repository
- :handshake: Thanks
- :memo: License
:package: Application stack
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
:question: Getting started
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
:grey_exclamation: Requirements
-
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.
-
:page_with_curl: Documentation
The chart is documented in the chart directory: charts/sddi-ckan
The documentation for internal dependencies is located in their folders too:
- ckan
- datapusher
- PostgreSQL/PostGIS
- Redis
- Solr
- certIssuer
External dependencies are documented here:
:cloud: Managed Kubernetes services provisioning
Examples on how to provision a managed Kubernetes service to deploy this Helm chart are available in the provisioning folder.
:rocket: Basic usage
-
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
:hammer_and_wrench: Contributing
Bug fixes, issue reports and contributions are greatly appreciated.
Repository setup
Build Chart documentation
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
Contributors
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
Github contributors to this repo
:mortar_board: Research
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.
Publications
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.
Cite this repository
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.
:handshake: Thanks
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 :raised_hands: for professional support with CKAN and CKAN extension development.
-
KEITARO for their CKAN Docker images and CKAN Helm chart that inspired this work.
:memo: License
This Helm chart is distributed under the Apache License 2.0. See LICENSE for more information.