osdc-harbor

Configure and troubleshoot Harbor pull-through caching for IPv6-only EKS Kubernetes clusters.

17|14|Updated Jun 15, 2023
One-click install
npx skills add https://github.com/pytorch/ci-infra --skill osdc-harbor
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: osdc-harbor
Source: https://github.com/pytorch/ci-infra/tree/main/osdc/.claude/skills/osdc-harbor
Command: npx skills add https://github.com/pytorch/ci-infra --skill osdc-harbor

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps operators safely configure, deploy, troubleshoot, and maintain Harbor as an always-on pull-through cache for IPv6-only Kubernetes clusters, avoiding image-pull failures, Helm misconfiguration, scheduling issues, and storage corruption.

Core Features & Use Cases

  • Harbor Configuration: Manage Helm values, NodePort exposure, per-component image overrides, tolerations, affinity, secrets, replicas, and PodDisruptionBudgets.
  • Image Mirroring: Configure bootstrap image mirroring, Harbor proxy-cache projects, containerd registry routing, and internally built image pushes.
  • Operations and Recovery: Diagnose cache corruption and manifest failures, run Harbor garbage collection, restart registry components, and preserve the required S3 storage model.
  • Use Case: When pods across a cluster enter ImagePullBackOff because Harbor returns manifest unknown errors, use the documented diagnosis and recovery workflow to identify storage inconsistencies, run a dry-run garbage collection, perform the cleanup, and restart the registry.

Quick Start

Use the osdc-harbor skill to review a Harbor deployment change for IPv6 compatibility, Helm value-path errors, scheduling problems, and image-mirroring regressions.

Frequently Asked Questions about osdc-harbor

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I fix Harbor pull-through cache manifest unknown errors causing ImagePullBackOff in Kubernetes?

To fix Harbor pull-through cache manifest unknown errors causing ImagePullBackOff, diagnose storage inconsistencies, run a dry-run garbage collection, perform the cleanup, and restart the registry components. This workflow resolves cache corruption and restores image pulling.

How do I configure Harbor Helm values for containerd registry mirroring on IPv6-only EKS clusters?

Configure Harbor Helm values for containerd registry mirroring on IPv6-only EKS by validating chart-specific value paths, setting NodePort exposure, applying node reachability checks, and defining taint tolerations. This ensures correct registry routing and component scheduling.

Why should I disable S3 lifecycle expiration on registry storage backing Harbor?

You must disable S3 lifecycle expiration on registry storage backing Harbor because the Harbor storage model requires manual garbage collection. S3 lifecycle rules can delete unmanaged layers, causing manifest failures and corrupting the pull-through cache.

Can I use Harbor proxy-cache projects to mirror bootstrap images in a Kubernetes cluster?

Yes, you can use Harbor proxy-cache projects to mirror bootstrap images in a Kubernetes cluster. This involves configuring bootstrap image mirroring alongside containerd registry routing and internally built image pushes to maintain reliable caching.

What is the best way to troubleshoot Harbor scheduling issues and Helm misconfigurations?

The best way to troubleshoot Harbor scheduling issues and Helm misconfigurations is to review deployment changes for Helm value-path errors, validate taint tolerations, check IAM and secret handling, and apply deployment retries to ensure proper component scheduling.

When do I need to run Harbor garbage collection, and how does the dry-run process work?

You need to run Harbor garbage collection when diagnosing cache corruption or manifest failures. The dry-run process identifies storage inconsistencies without deleting data, allowing you to verify the cleanup scope before performing the actual garbage collection and registry restart.