Community
configuration-piraeus
By livewyer-ops
Last changed 10 months ago
Compatibility
Crossplane (2.0+)
Upbound Crossplane (UXP) (2.0+)
Languages
Source Code

Notice something off about this package? Help us keep the marketplace safe and trustworthy by reporting inappropriate content or behavior.

Report this package
Overview
Crossplane Configuration to deploy and manage Piraeus/Linbit datastore on Kubernetes.

Crossplane Configuration for Piraeus/Linbit

This repository contains a Crossplane Composite Resource Definitions (XRDs) for managing Piraeus/Linbit Datastore on Kubernetes.

Overview

This Crossplane configuration defines Compositions and Composite Resource Definitions (XRDs) for provisioning and managing Piraeus/Linbit LinstorCluster, LinstorNodeConnection, LinstorSatelliteConfiguration and StorageClass in Kubernetes using Crossplane.

Installation

You can install the configuration package directly from the Upbound registry:

crossplane xpkg install configuration xpkg.upbound.io/livewyer-ops/configuration-piraeus:v0.0.2 configuration-piraeus

Or apply Kubernetes manifest:

apiVersion: pkg.crossplane.io/v1
kind: Configuration
metadata:
  name: configuration-piraeus
spec:
  package: xpkg.upbound.io/livewyer-ops/configuration-piraeus:v0.0.2

Usage

  1. Install Crossplane on your Kubernetes cluster.
  2. Optional: Use builtin installation.piraeus.livewyer.io XRD to install Piraeus Operator or use your own custom installation method.
  • Set up provider credentials using providerconfig.yaml for Helm provider.
    kubectl apply -f examples/providerconfig.yaml
    kubectl apply -f examples/install.yaml
  1. Optional: Install Snapshot Controller if you wish to take snapshots of Piraeus volumes. You can use your own custom installation method or use the example provided in examples/install.yaml

NOTE: From Kubernetes v1.20 volume snapshot feature is included in the Kubernetes release.

  1. Setup RBAC: Add additional ClusterRole and ClusterRoleBinding required to manage Piraeus piraeus.io resources.

NOTE: Default Crossplane Service Account doesn't come with RBAC permissions to manage Piraeus resources.

kubectl apply -f examples/rbac.yaml
  1. Setup Piraeus Cluster using cluster.piraeus.livewyer.io XRD:
kubectl apply -f examples/cluster.yaml

Examples

  • The examples/ folder contains sample configuration files for setting up Piraeus resources.
  • Ensure rbac.yaml is configured for managing Kubernetes storage classes and Piraeus resources.

Caveats

  • cluster.piraeus.livewyer.io resource currently cannot detect readiness of its sub-resources, due to the sub-resources (StorageClasses, VolumeSnapshotClasses and LinstorClusters/LinstorNodeConnections/LinstorSatelliteConfigurations) do not have status condition type: Ready, status: True fields.

License

This project is licensed under the MIT License.

Discover the building blocks for your internal cloud platform.
© 2026 Upbound, Inc.
Solutions
Learn
Company
Community
More