CKAN Pilot is a brand-new command-line interface (CLI) tool for CKAN. It simplifies the creation, configuration and management of CKAN projects. It removes the complexity of setting up local CKAN instances and streamlines the developer experience.

CKAN Pilot is open-source, Docker-based and very easy to use.

How It Started

Keitaro has a strong background with CKAN, the open-source data management system. We have helped many clients over the years, creating numerous data portals with significant customizations. As core CKAN contributors, we manage an open repository of Dockerized CKAN images. We’ve also developed and maintain over 20 custom CKAN extensions that enhance CKAN’s features and usability.

Over the years, we’ve identified many areas in the development pipeline that could be improved. That’s how we started experimenting with an in-house command-line interface (CLI) tool for CKAN, which can:

  • Quickly initialize CKAN instances
  • Smoothly manage CKAN extensions
  • Easily change CKAN configuration
  • Introduce a default catalog of CKAN extensions
  • Simplify local development
  • Leverage cloud-native technologies and services
  • Incorporate current CI/CD best practices
  • Modernize working with CKAN

This new approach to managing CKAN made perfect sense — it was so convenient! Setting up local CKAN instances was a breeze, adding and configuring extensions — a delight! Updating configuration options — simple and predictable. Hot reload? Not a problem. We managed to decrease the development time from hours to minutes!

As we made progress, we realized that this new way of working with CKAN could substantially benefit the community.

Architecture

In a nutshell, every CKAN Pilot project comes as a self-contained, version-controlled package with multiple moving parts. We have CKAN itself, all of the necessary services and a bunch of workers, all residing with a Docker image, set up through a Docker Compose.

This structure allows for running one on many CKAN instances on the same machine, each with their own set of extensions and configuration options. Extensions can be added from a catalog or any Git-based repository. There’s nothing special about configuring Solr, PostgreSQL or Redis in the containers. You can do it in the usual way of working with CKAN in a dockerized environment.

What’s special about this architecture is that it has almost everything you need to start using CKAN, without virtually any configuration.

Setting up a new local CKAN instance is as easy as running ckan-pilot init <project_dir> in your terminal of choice.

Contributions

Community contributions are more than welcome! We believe that CKAN Pilot is the technology for next generation data portals powered by CKAN. We are very excited for what’s to come and we invite you to join us.

CKAN Pilot is published under the Apache 2.0 license and the source code is available on GitHub.

Author avatar

About Goce Mitevski

Chief Technology Officer at Keitaro

How may we help you with ?

By submitting this form you agree to Keitaro using your personal data in accordance with the General Data Protection Regulation. You can unsubscribe at any time. For information about our privacy practices, please visit our Privacy Policy page.