This repository contains a Crossplane Composite Resource Definitions (XRDs) for managing Piraeus/Linbit Datastore on Kubernetes.
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.
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
installation.piraeus.livewyer.io
XRD to install Piraeus Operator or use your own custom installation method.providerconfig.yaml
for Helm provider.
kubectl apply -f examples/providerconfig.yaml
kubectl apply -f examples/install.yaml
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.yamlNOTE: From Kubernetes v1.20 volume snapshot feature is included in the Kubernetes release.
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
cluster.piraeus.livewyer.io
XRD:kubectl apply -f examples/cluster.yaml
examples/
folder contains sample configuration files for setting up Piraeus resources.rbac.yaml
is configured for managing Kubernetes storage classes and Piraeus resources.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.This project is licensed under the MIT License.