cluster-operator
by
openshift

Description: The cluster-operator repository is a deprecated OpenShift project that has been superseded by the Hive project.

View on GitHub ↗

Summary Information

Updated 49 minutes ago
Added to GitGenius on June 23rd, 2023
Created on December 5th, 2017
Open Issues & Pull Requests: 20 (+0)
Number of forks: 34
Total Stargazers: 52 (+0)
Total Subscribers: 101 (+0)

Issue Activity (beta)

Open issues: 4
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 2,941 days
Stale 30+ days: 4
Stale 90+ days: 4

Recent activity

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

Top labels

  • kind/feature (1)
  • test-coverage (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

The cluster-operator repository is a deprecated OpenShift project that has been superseded by the Hive project. Written in Go, it served as a Kubernetes operator for managing OpenShift cluster provisioning and lifecycle operations. The project is classified across multiple infrastructure automation domains including cluster management, container orchestration, self-healing systems, and platform engineering, reflecting its role in automating complex cluster operations at scale.

The repository implements controllers that manage cluster deployment and configuration through a declarative approach. Developers can interact with clusters by defining cluster resources and allowing the operator to reconcile the desired state. The system supports creating test clusters with customizable parameters like cluster name and namespace, and provides mechanisms to check provisioning status through standard Kubernetes describe commands. The operator uses a controller-manager pattern where individual controllers can be selectively enabled or disabled during development and deployment.

The project integrates heavily with Ansible for infrastructure provisioning and configuration management. It maintains a custom Ansible image that layers cluster-operator-specific playbooks and roles on top of upstream OpenShift Ansible v3.10 images. This layered approach allows the team to extend standard OpenShift Ansible functionality with cluster-operator-specific automation. The repository vendors Ansible roles using a tool called gogitit, allowing developers to access required roles without needing to manually run ansible-galaxy install commands.

Development setup requires multiple dependencies including Go, Docker, Ansible, and the OpenShift client tools. The project supports development on both Fedora and macOS systems, with Minishift recommended as the development environment for macOS users. Developers can deploy the cluster-operator to a running OpenShift cluster using Ansible playbooks, which automatically handle image compilation and registry management. For active controller development, the project supports running controllers locally against a remote cluster by disabling the in-cluster controller-manager and running a local binary instead.

The repository includes several utility tools bundled in the coutil binary, including an AWS actuator test utility for invoking cloud provider actions without a full cluster, Jenkins log extraction for debugging e2e test runs, a playbook mock utility for tracking Ansible invocations, and wait utilities for monitoring API service and cluster readiness. These utilities support both development workflows and operational debugging.

GitGenius activity data shows this repository shares contributors with openshift/installer, openshift/hypershift, and argoproj/argo-cd, indicating collaboration across the OpenShift ecosystem and integration with GitOps tooling. The project maintains clear separation between development and production deployments, with warnings about fake deployments used by default in development playbooks to prevent accidental resource provisioning. The codebase emphasizes local development velocity through incremental compilation and image pushing workflows that trigger immediate redeployment without requiring full playbook reruns.

cluster-operator
by
openshiftopenshift/cluster-operator

Repository Details

Fetching additional details & charts...