Resource Catalogue Deployment Guide⚓︎
The Resource Catalogue is a standards-based Earth Observation (EO) metadata catalogue that supports OGC CSW, OGC API - Records, STAC, and OpenSearch. It leverages pycsw, an open-source OGC-compliant metadata catalog server, to manage and serve EO data. This guide provides step-by-step instructions to deploy the Resource Catalogue within your Kubernetes cluster.
Table of Contents⚓︎
Introduction⚓︎
The Resource Catalogue is a key component of the EOEPCA+ecosystem, enabling users to aggregate, manage, and retrieve EO metadata from multiple sources. By adhering to open standards, it ensures discoverability and interoperability, facilitating integration with existing systems and enhancing scalability.
Key Features⚓︎
- Metadata Management: Aggregate and retrieve EO metadata efficiently.
- Standards Compliance: Supports OGC CSW, OGC API - Records, STAC, and OpenSearch.
- Discoverability: Advanced search capabilities to locate EO data.
- Scalability: Built on pycsw for flexible and scalable deployments.
- Security: Integrates with Keycloak for authentication and authorization, and Gatekeeper for resource protection.
Interfaces⚓︎
The Resource Catalogue provides the following interfaces:
- OGC CSW 2.0.2 (OGC Reference Implementation)
- OGC CSW 3.0.0 (OGC Reference Implementation)
- OGC API - Records - Part 1: Core (Early Implementation)
- STAC API 1.0.0 (Listed in STAC API Servers)
- OpenSearch with OGC EO, Geo, and Time extensions
Prerequisites⚓︎
Before deploying the Resource Catalogue, ensure you have the following:
Component | Requirement | Documentation Link |
---|---|---|
Kubernetes | Cluster (tested on v1.28) | Installation Guide |
Helm | Version 3.5 or newer | Installation Guide |
kubectl | Configured for cluster access | Installation Guide |
Ingress | Properly installed | Installation Guide |
Cert Manager | Properly installed | Installation Guide |
Clone the Deployment Guide Repository:
git clone -b 2.0-beta https://github.com/EOEPCA/deployment-guide
cd deployment-guide/scripts/resource-catalogue
Validate your environment:
Run the validation script to ensure all prerequisites are met:
Deployment Steps⚓︎
- Run the Configuration Script
Configuration Parameters
During the script execution, you will be prompted to provide:
INGRESS_HOST
: Base domain for ingress hosts.- Example:
example.com
- Example:
CLUSTER_ISSUER
: Cert-manager Cluster Issuer for TLS certificates.- Example:
letsencrypt-prod
- Example:
STORAGE_CLASS
: Storage class for persistent volumes.- Example:
managed-nfs-storage-retain
- Example:
Important Notes:
- If you choose not to use
cert-manager
, you will need to create the TLS secrets manually before deploying. - The required TLS secret names are:
resource-catalogue-tls
- For instructions on creating TLS secrets manually, please refer to the Manual TLS Certificate Management section in the TLS Certificate Management Guide.
- Deploy the Resource Catalogue Using Helm
helm install resource-catalogue rm-resource-catalogue \
--values generated-values.yaml \
--version 1.4.0 \
--repo https://eoepca.github.io/helm-charts \
--namespace resource-catalogue \
--create-namespace
Validation and Operation⚓︎
Automated Validation:
Further Validation:
- Check Kubernetes Resources:
- Access the Resource Catalogue:
Open a web browser and navigate to: https://resource-catalogue.<your-domain>/
- Test API Endpoints:
You can test the API using curl
:
Uninstallation⚓︎
To uninstall the Resource Catalogue and clean up associated resources:
Additional Cleanup:
- Delete any Persistent Volume Claims (PVCs) if used: