online-archivist
by
openshift

Description: The OpenShift Online Archivist is a Go-based application designed to monitor the capacity of OpenShift clusters and automatically archive dormant or least...

View on GitHub ↗

Summary Information

Updated 1 hour ago
Added to GitGenius on June 23rd, 2023
Created on August 3rd, 2017
Open Issues & Pull Requests: 0 (+0)
Number of forks: 5
Total Stargazers: 5 (+0)
Total Subscribers: 252 (+0)

Issue Activity (beta)

Open issues: 0
New in 7 days: 0
Closed in 7 days: 0
Avg open age: N/A days
Stale 30+ days: 0
Stale 90+ days: 0

Recent activity

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

Top labels

No label distribution available yet.

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

The OpenShift Online Archivist is a Go-based application designed to monitor the capacity of OpenShift clusters and automatically archive dormant or least active projects to free up resources. It integrates with Heptio Ark, a separate backup and restore system that handles the actual archival and unarchival operations for specific namespaces, including all associated cluster resources and persistent volume snapshots. The project includes Ansible roles for deploying both the Archivist and Ark applications together, streamlining the setup process for teams managing OpenShift infrastructure.

The application implements a cluster monitoring loop that continuously tracks project activity and submits archival requests to Ark for projects identified as dormant. According to the repository's current status documentation, the monitoring loop is functional and successfully communicating with Ark. The codebase also includes a working implementation for exporting and importing cluster objects, providing foundational infrastructure for the archival workflow. However, several critical features remain under development, including S3 upload functionality, unarchival capabilities, and the archival reconciliation loop that would ensure consistency between the Archivist's decisions and Ark's actual state.

The unarchival feature, when completed, will initially support restoring projects only to their original cluster and namespace. The developers have planned for future enhancements to support unarchiving to different clusters or namespaces, with provisions to reserve project names while they remain archived. The roadmap also indicates intentions to implement namespace reservation for specific users, adding multi-tenancy capabilities to the system.

Development setup requires Go 1.7 and follows standard Go project structure conventions, with the repository expected to be checked out in the GOPATH. The project includes both unit tests and integration tests that launch an internal OpenShift master and etcd instance for testing purposes. Compilation and local execution work with existing OpenShift credentials, making it compatible with development environments like minishift and oc cluster up, particularly when running as system:admin.

Deployment to production OpenShift clusters is facilitated through Ansible playbooks that build the application from source directly within OpenShift. The deployment process requires creating an Ansible inventory matching the standard openshift-ansible format and configuring variables in the ansible/vars directory before running the deployment playbook. Until the API for unarchival is fully implemented, manual unarchival can be performed by executing into the running Ark pod and using Ark's command-line tools to trigger restore operations based on backup labels.

The repository is classified across multiple archival and digital preservation domains, reflecting its role in data management and content preservation within cloud infrastructure. Its primary focus on monitoring, capacity management, and automated archival positions it as a specialized tool for OpenShift operators managing large clusters with numerous projects requiring lifecycle management and resource optimization.

online-archivist
by
openshiftopenshift/online-archivist

Repository Details

Fetching additional details & charts...