Skip to content

Element84/filmdrop-k8s-helm-charts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FilmDrop Kubernetes Helm Charts

This repository contains the packaging of FilmDrop helm charts with Kubernetes.

This FilmDrop repository manages the supporting infrastructure required to deploy the STAC Workflow Open Orchestration Platform (SWOOP). The helm charts in this repository are utilized via the FilmDrop Kubernetes Terraform Infrastructure Modules to deploy the FilmDrop resources on Kubernetes clusters.

Components

Local Path Provisioner

Local Path Provisioner provides a way for the Kubernetes users to utilize the local storage in each node. Based on the user configuration, the Local Path Provisioner will create hostPath based persistent volume on the node automatically. More information is available here.

MinIO

MinIO is an S3 compatible object storage for the usage of the SWOOP API, SWOOP Caboose, and SWOOP Conductor. More information is available here.

Postgres

PostgreSQL is an open source object-relational database system for the usage of the SWOOP API, SWOOP Caboose, and SWOOP Conductor. More information is available here.

STAC-FastAPI

Stac-FastAPI is a Python library for building a STAC compliant FastAPI application. It consists of a front-end FastAPI application that exposes a STAC catalog along with its Collections and Items, and a backend PostgreSQL database built using the PgSTAC framework (more information for which can be found here). The backend database stores provides functionality for STAC Filters and CQL2 search along with utilities to help manage indexing and partitioning of STAC Collections and Items. The Helm chart deploys the two components onto two separate pods that are each exposed using separate Kubernetes services. More information is available here.

SWOOP API

SWOOP is the STAC Workflow Open Orchestration Platform. It consists of a front-end FastAPI application that acts as an interface for clients to interact with the processing pipeline and state database. The helm chart for the swoop api will needa Postgres database and a Minio object storage that need to be installed separately. These Postgres database is intended to be used as the SWOOP state database, and Minio as the object storage for payload inputs and job result outputs. More information is available here.

SWOOP Bundle

SWOOP Bundle will install the followin the following components into a kubernetes cluster:

This helm chart is inteded to group all SWOOP components compatible with the same database schema version and it's related migration operations. More information is available here.

SWOOP Caboose

SWOOP Caboose is the SWOOP component that handles the end of a workflow. SWOOP Caboose also installs Argo Workflows as a dependency. More information is available here.

SWOOP Conductor

SWOOP Conductor is the SWOOP component that acts as an async executor application. More information is available here.

SWOOP DB Initialization

The swoop-db-init helm chart will initialize swoop-db with the creation of a SWOOP database and Roles for each SWOOP Component. More information is available here.

SWOOP DB Migration

The swoop-db-migration helm chart will migrate forward or backwards a schema version of the swoop-db in support of the SWOOP Components. More information is available here.

SWOOP Workflow Configuration

The workflow-config helm chart will deploy the SWOOP workflow configuration file and Argo Workflow template files (such as the mirror/copy-assets workflow) onto a K8s cluster. More information is available here.