openshift/microshift

A small form factor OpenShift/Kubernetes optimized for edge computing

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 42 minutes ago
Added to GitGenius on October 25th, 2022
Created on April 26th, 2021
Open Issues & Pull Requests: 20 (+0)
Number of forks: 231
Total Stargazers: 840 (+0)
Total Subscribers: 29 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 7.7 days
Mean response time: 49.6 days
90th percentile: 150.8 days
Tracked items: 17

How this project is maintained

Around half of the issues opened in the past year never receive a reply. Only 6% of issues opened in the past year have been closed.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 1
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 88 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

  • tide/merge-blocker (3)
  • lifecycle/frozen (1)
  • lifecycle/rotten (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

MicroShift is a lightweight Kubernetes distribution built on OpenShift that targets edge computing and resource-constrained environments. Written primarily in Go, the project optimizes the full OpenShift/Kubernetes stack for small form factor deployments where traditional cloud-native infrastructure proves impractical. The repository serves as the primary development hub for MicroShift, with community builds and CI infrastructure managed there alongside comprehensive contributor documentation.

The core architecture packages a minimal OpenShift control plane and worker node into a single systemd service, embedding kube-apiserver, kube-controller-manager, kube-scheduler, kubelet, and OpenShift controllers as goroutines within one binary. Etcd runs as a separate managed process rather than being embedded. Infrastructure services including DNS, ingress routing, service certificate authority, OVN-Kubernetes CNI, and LVMS storage are deployed as workloads onto the cluster after the control plane initializes. Optional components such as OLM, Gateway API, cert-manager, and SR-IOV are delivered as separate RPM packages and auto-discovered through the manifest path system. MicroShift vendors OpenShift source code without modification, meaning each MicroShift release builds from identical content as the corresponding OpenShift release and follows the same versioning scheme.

The project's design explicitly addresses the operational and environmental challenges of edge deployment. MicroShift prioritizes frugal resource consumption across CPU, memory, network, and storage; tolerates severe networking constraints; enables secure, safe, and seamless updates without disrupting running workloads; and integrates cleanly with edge-optimized operating systems like RHEL for Edge. The distribution maintains a consistent development and management experience with standard OpenShift, allowing developers familiar with OpenShift to work with MicroShift without significant relearning. Beyond edge deployment, MicroShift serves use cases including Kubernetes application development on resource-constrained systems, scale testing, and provisioning of lightweight control planes.

Minimum system requirements are modest: x86_64 or aarch64 CPU architecture, Red Hat Enterprise Linux with Extended Update Support, 2 CPU cores, 2GB RAM, and 2GB free storage for MicroShift and container images. For production deployments, MicroShift runs on bare metal hardware or hypervisors certified for RHEL 9. The project maintains documentation for installation, configuration, and deployment across user and contributor folders, with additional resources available at microshift.io.

Common issue labels include tide/merge-blocker and lifecycle markers, suggesting active management of blocking issues and lifecycle tracking. The repository shares contributors with related projects including podman-desktop/podman-desktop, velero-io/velero, and vmware-tanzu/velero, indicating cross-project collaboration within the container and edge computing ecosystem.