noobaa-operator
by
noobaa

Description: Operator for NooBaa - object data service for hybrid and multi cloud environments :cloud: :wrench:

View on GitHub ↗

Summary Information

Updated 2 hours ago
Added to GitGenius on April 7th, 2021
Created on July 2nd, 2019
Open Issues & Pull Requests: 135 (+0)
Number of forks: 119
Total Stargazers: 122 (+0)
Total Subscribers: 15 (+0)

Issue Activity (beta)

Open issues: 29
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 464 days
Stale 30+ days: 29
Stale 90+ days: 26

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • High Priority (1)
  • NS-FS (1)
  • Request Validation (1)
  • bug (1)
  • enhancement (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Repository Insights (GitGenius)

Median issue/PR response: 1.2 hours
Mean response time: 47.3 days
90th percentile: 153.0 days
Tracked items: 30

Most active contributors

Detailed Description

The NooBaa Operator is a Kubernetes operator written in Go that manages NooBaa, an object data service designed for hybrid and multi-cloud environments. The operator implements the Kubernetes Operator pattern by watching for NooBaa custom resources and reconciling them to maintain the desired state of the system. It serves as a controller that continuously monitors the cluster state and makes necessary adjustments to move the current state toward the desired configuration.

NooBaa itself functions as a highly customizable data gateway for objects, providing data services including caching, tiering, mirroring, deduplication, encryption, and compression across diverse storage resources. These resources can include cloud providers like Amazon S3, Google Cloud Storage, Azure Blob Storage, IBM Cloud Object Storage, S3-compatible systems, filesystems through NSFS, and persistent volume pools. The operator enables NooBaa to expose an S3-compatible object store service to clients both inside and outside the Kubernetes cluster while managing storage resources from multiple sources with flexible placement policies.

The operator's reconciliation process is structured in distinct phases. The system reconciler follows a four-phase approach: verification checks the validity of the custom resource including NooBaa image and address configuration; creation provisions necessary resources such as secrets and services; connection populates service statuses for management and S3 interfaces while initializing client connections; and configuration creates default backing stores, bucket classes, and other default resources. This phased approach ensures systematic and reliable deployment of NooBaa systems.

The repository provides multiple custom resource definitions for managing different aspects of NooBaa deployments. NooBaaSystem represents a single NooBaa installation with its sub-resources. BackingStore defines storage targets for deduplicated and compressed data chunks. NamespaceStore specifies storage targets for plain data access. BucketClass applies policies to bucket classes defining data placement rules. Additional resources include Account for managing credentials and access, with bucket provisioning available through both the deprecated OBC Provisioner and the newer COSI Provisioner standards.

The operator includes a command-line interface that simplifies management tasks for both manual operations and scripting. The CLI supports installation on various Kubernetes distributions including local clusters like Minikube and Rancher Desktop, with options to allocate minimal resources for development environments. Documentation is extensive, covering NooBaa terminology, S3 API compatibility, AWS API compatibility, and detailed CRD specifications.

According to GitGenius activity tracking, the repository shows a median issue and pull request response latency of 1.2 hours across sampled items, though mean latency is significantly higher at 1135.3 hours, indicating variable response times. The most active contributors tracked include liranmauda with 12 events, nimrod-becker with 8 events, and guymguym with 6 events. The repository maintains connections with related projects through overlapping contributors, including opendatahub-io/notebooks, noobaa/noobaa-core, and projectdiscovery/nuclei. Active issue labels include NS-FS, bug, and High Priority classifications, reflecting the project's focus on filesystem support, stability, and critical issues.

noobaa-operator
by
noobaanoobaa/noobaa-operator

Repository Details

Fetching additional details & charts...