related-skills: cncf-argo, cncf-aws-eks, cncf-azure-aks, cncf-azure-resource-manager
Artifact Hub in Cloud-Native Engineering
Category: artifact
Status: Active
Stars: 1,900
Last Updated: 2026-04-22
Primary Language: Go
Documentation: https://artifacthub.io/
Purpose and Use Cases
Artifact Hub is a web-based application that enables users to find, install, and publish Helm charts, Falco rules, OPA policies, and other Kubernetes artifacts from multiple sources.
What Problem Does It Solve?
The fragmentation of artifact repositories across different projects and organizations. It provides a unified interface for discovering, verifying, and managing Kubernetes artifacts from multiple sources including Helm, Falco, OPA, and more.
When to Use This Project
Use Artifact Hub when you need to discover Helm charts, Falco rules, OPA policies, or other Kubernetes artifacts from multiple repositories. Ideal for organizations with multiple artifact sources or teams looking for curated, trusted content.
Key Use Cases
- Helm Chart Discovery: Browse and search Helm charts from multiple repositories
- Falco Rules Management: Discover and share Falco security rules
- OPA Policy Repository: Find and share Open Policy Agent policies
- Artifact Publishing: Publish your own artifacts to Artifact Hub
- Multi-Source Search: Search across all repositories with a single query
- Trusted Content: Verified publishers and trusted content
- Organization Management: Team-based artifact management
Architecture Design Patterns
Core Components
- Web UI: React-based interface for artifact discovery
- API Server: REST API for programmatic access
- Database: PostgreSQL for metadata storage
- Search Service: Elasticsearch/Elasticsearch for artifact search
- Webhook Handler: Process repository updates
- Repository Agent: Background jobs for repository synchronization
- Authentication Service: OAuth2 and OpenID Connect support
Component Interactions
- User → Web UI: Browse and search artifacts
- Web UI → API Server: API requests for data
- API Server → Database: Query artifact metadata
- API Server → Search Service: Search queries
- Repository Agent → Repositories: Fetch artifact manifests
- Webhook Handler → Repository Agent: Trigger synchronization
- Authentication Service → API Server: Token validation
Data Flow Patterns
- Repository Addition: Repository configured → Agent fetches manifests → Metadata stored in DB → Search index updated
- Artifact Search: User query → Search index → Results from DB → API response
- Publishing Flow: Artifact submitted → Validation → Metadata extraction → Stored in DB → Search index updated
- Synchronization: Scheduled job → Repository check → Changes detected → Update DB and search index
Design Principles
- Multi-tenancy: Support for multiple organizations and users
- Extensible Format: Support for Helm, Falco, OPA, and custom artifact types
- Verification: Artifact signature verification and publisher verification
- Search-First: Optimized search experience across all artifacts
- Open Standard: Support for community standards and formats
- High Availability: Distributed architecture for reliability
Integration Approaches
Integration with Other CNCF Projects
- Helm: Chart repository integration and publishing
- Falco: Security rules discovery and management
- OPA: Policy repository and management
- Kubernetes: Artifact deployment and management
- Notary Project: Artifact signing and verification
- SPIFFE/SPIRE: Identity and authentication
- OpenTelemetry: Tracing and observability
API Patterns
- REST API: Full CRUD operations for artifacts
- GraphQL API: Flexible data querying
- Search API: Full-text search across artifacts
- Webhook API: Repository event notifications
Configuration Patterns
- Repository Configuration: Add and configure repositories
- Search Filters: Query parameters for artifact search
- Authentication: OAuth2 and API token authentication
- Organization Settings: Team and permission configuration
Extension Mechanisms
- Custom Formats: Support for additional artifact formats
- Repository Types: Custom repository implementations
- Webhook Handlers: Custom event processing
- Authentication Providers: OAuth2 providers
Common Pitfalls and How to Avoid Them
Configuration Issues
- Repository URLs: Incorrect or inaccessible repository URLs
- Authentication: Missing or invalid credentials for private repositories
- Search Index: Search service connectivity issues
- Database Size: Database growth management
- Webhook Configuration: Incorrect webhook registration
Performance Issues
- Search Latency: Slow search queries on large repositories
- Repository Synchronization: Long sync times for large repositories
- Database Performance: Query optimization
- Caching: Missing or stale cache entries
Operational Challenges
- Repository Cleanup: Removing unused or deprecated repositories
- Artifact Verification: Signature verification failures
- Multi-Tenancy: Isolation between organizations
- Backup and Recovery: Database and search index backup
Security Pitfalls
- Artifact Signing: Not verifying signed artifacts
- Repository Trust: Publishing to untrusted repositories
- Access Control: Overly permissive permissions
- Secret Scanning: Secrets in artifact descriptions
Coding Practices
Idiomatic Configuration
- Repository YAML: Declarative repository configuration
- Search Filters: Query parameter patterns
- Authentication: OAuth2 flow configuration
- Organization Structure: Team and permission management
API Usage Patterns
- Artifact Search: Search API usage with filters
- Repository Management: Add, update, remove repositories
- Artifact Publishing: Submit artifacts to repository
- Artifact Download: Download artifacts programmatically
Observability Best Practices
- Metrics: Prometheus metrics for API and search performance
- Logging: Structured logging for debugging
- Tracing: Distributed tracing with Jaeger
- Health Checks: Service health monitoring
Development Workflow
- Local Development: Docker Compose for development environment
- Testing: Unit, integration, and e2e tests
- CI/CD: Automated testing and deployment
- Tools: Go, React, Docker, Helm
Fundamentals
Essential Concepts
- Repository: Source of artifacts (Helm, Falco, OPA)
- Artifact: Collection of manifests, rules, or policies
- Package: Versioned artifact distribution
- Publisher: Entity that publishes artifacts
- Organization: Team-based artifact management
- Subscription: Follow repositories for updates
Terminology Glossary
- Artifact Hub: The platform for artifact discovery
- Repository: Source of artifacts
- Package: Versioned artifact
- Publisher: Artifact publisher
- Organization: Team structure
- Subscription: Follow repositories
- Verification: Artifact signature verification
Data Models and Types
- Repository: Repository configuration and metadata
- Artifact: Artifact definition and metadata
- Package: Package version and details
- Publisher: Publisher information
- Organization: Organization configuration
- Subscription: Subscription configuration
Lifecycle Management
- Repository Lifecycle: Add → Sync → Search → Update
- Artifact Lifecycle: Submit → Validate → Store → Publish
- Package Lifecycle: Version → Release → Update → Deprecate
State Management
- Repository State: Sync status and metadata
- Artifact State: Search index and database
- Search Index: Full-text search index
- Package State: Version history and metadata
Scaling and Deployment Patterns
Horizontal Scaling
- Web UI Scaling: Multiple React instances
- API Server Scaling: Multiple API server instances
- Search Service Scaling: Elasticsearch cluster scaling
- Database Scaling: PostgreSQL read replicas
- Repository Agent Scaling: Multiple agents for parallel processing
High Availability
- Web UI HA: Multiple instances behind load balancer
- API Server HA: Multiple API servers
- Database HA: PostgreSQL HA with streaming replication
- Search HA: Elasticsearch cluster
- Service Discovery: Kubernetes service discovery
Production Deployments
- Docker Deployment: Containerized services
- Kubernetes Deployment: Native Kubernetes manifests
- Helm Chart: Artifact Hub Helm chart for deployment
- Authentication: OAuth2, SSO, or basic auth
- SSL/TLS: HTTPS termination
- Monitoring: Prometheus and Grafana
Upgrade Strategies
- Database Migration: Schema updates
- Search Index Rebuild: Rebuild search index after upgrade
- Repository Re-sync: Re-sync repositories after upgrade
- Rolling Update: Zero-downtime deployment
Resource Management
- CPU/Memory Limits: Appropriate resource requests
- Database Storage: PostgreSQL storage management
- Search Storage: Elasticsearch cluster storage
- Network: Inter-service communication
Additional Resources
Troubleshooting
Common Issues
Deployment Failures
- Check pod logs for errors
- Verify configuration values
- Ensure network connectivity
Performance Issues
- Monitor resource usage
- Adjust resource limits
- Check for bottlenecks
Configuration Errors
- Validate YAML syntax
- Check required fields
- Verify environment-specific settings
Integration Problems
- Verify API compatibility
- Check dependency versions
- Review integration documentation
Getting Help
- Check official documentation
- Search GitHub issues
- Join community channels
- Review logs and metrics
Content generated automatically. Verify against official documentation before production use.
Examples
Basic Configuration
# Basic configuration example
apiVersion: v1
kind: ConfigMap
metadata:
name: {{project_name}}-config
namespace: default
data:
# Configuration goes here
config.yaml: |
# Base configuration
# Add your settings here
Kubernetes Deployment
# Kubernetes deployment for {{project_name}}
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{project_name}}
namespace: default
spec:
replicas: 1
selector:
matchLabels:
app: {{project_name}}
template:
metadata:
labels:
app: {{project_name}}
spec:
containers:
- name: {{project_name}}
image: {{project_name}}:latest
ports:
- containerPort: 8080
resources:
limits:
memory: "128Mi"
cpu: "500m"
Kubernetes Service
# Kubernetes service for {{project_name}}
apiVersion: v1
kind: Service
metadata:
name: {{project_name}}
namespace: default
spec:
selector:
app: {{project_name}}
ports:
- protocol: TCP
port: 80
targetPort: 8080
type: ClusterIP
When to Use
Use this skill when:
- Integrating a CNCF project into Kubernetes infrastructure — You need to configure, deploy, or troubleshoot a cloud-native tool within a cluster
- Designing cloud-native architecture — You are selecting and integrating CNCF tools to solve specific infrastructure challenges
- Resolving operational issues — A CNCF component is misbehaving, underperforming, or needs configuration changes
Core Workflow
Assess Requirements — Understand the use case, scale, integration needs, and existing infrastructure. Checkpoint: Document requirements, constraints, and success criteria.
Design Architecture — Plan component interactions, data flow, and deployment strategy using cloud-native best practices. Checkpoint: Verify the architecture addresses all requirements and follows CNCF conventions.
Implement & Configure — Create manifests, configurations, and deployment scripts. Include resource limits, health checks, and observability hooks. Checkpoint: Validate all YAML against schema and test in a staging environment.
Deploy & Monitor — Apply manifests to the cluster, verify component health, and confirm observability is working. Checkpoint: Confirm all pods/services are running, probes passing, and metrics/alerts configured.
Constraints
MUST DO
- Include at least one complete working YAML manifest example
- Note when content is auto-generated vs. manually verified
- Reference relevant CNCF project documentation
MUST NOT DO
- Deploy manifests without testing in a staging environment first
- Use deprecated API versions (e.g., apps/v1beta1)
- Omit resource limits and requests in Kubernetes manifests
1---2name: artifact-hub3description: "Provides Artifact Hub in Cloud-Native Engineering - Repository for Kubernetes Helm, Falco, OPA, and more"4license: MIT5---678910 related-skills: cncf-argo, cncf-aws-eks, cncf-azure-aks, cncf-azure-resource-manager11# Artifact Hub in Cloud-Native Engineering1213**Category:** artifact 14**Status:** Active 15**Stars:** 1,900 16**Last Updated:** 2026-04-22 17**Primary Language:** Go 18**Documentation:** [https://artifacthub.io/](https://artifacthub.io/) 1920---2122## Purpose and Use Cases2324Artifact Hub is a web-based application that enables users to find, install, and publish Helm charts, Falco rules, OPA policies, and other Kubernetes artifacts from multiple sources.2526### What Problem Does It Solve?2728The fragmentation of artifact repositories across different projects and organizations. It provides a unified interface for discovering, verifying, and managing Kubernetes artifacts from multiple sources including Helm, Falco, OPA, and more.2930### When to Use This Project3132Use Artifact Hub when you need to discover Helm charts, Falco rules, OPA policies, or other Kubernetes artifacts from multiple repositories. Ideal for organizations with multiple artifact sources or teams looking for curated, trusted content.3334### Key Use Cases353637- **Helm Chart Discovery**: Browse and search Helm charts from multiple repositories38- **Falco Rules Management**: Discover and share Falco security rules39- **OPA Policy Repository**: Find and share Open Policy Agent policies40- **Artifact Publishing**: Publish your own artifacts to Artifact Hub41- **Multi-Source Search**: Search across all repositories with a single query42- **Trusted Content**: Verified publishers and trusted content43- **Organization Management**: Team-based artifact management444546---4748## Architecture Design Patterns4950### Core Components5152- **Web UI**: React-based interface for artifact discovery53- **API Server**: REST API for programmatic access54- **Database**: PostgreSQL for metadata storage55- **Search Service**: Elasticsearch/Elasticsearch for artifact search56- **Webhook Handler**: Process repository updates57- **Repository Agent**: Background jobs for repository synchronization58- **Authentication Service**: OAuth2 and OpenID Connect support5960### Component Interactions61621. **User → Web UI**: Browse and search artifacts632. **Web UI → API Server**: API requests for data643. **API Server → Database**: Query artifact metadata654. **API Server → Search Service**: Search queries665. **Repository Agent → Repositories**: Fetch artifact manifests676. **Webhook Handler → Repository Agent**: Trigger synchronization687. **Authentication Service → API Server**: Token validation6970### Data Flow Patterns71721. **Repository Addition**: Repository configured → Agent fetches manifests → Metadata stored in DB → Search index updated732. **Artifact Search**: User query → Search index → Results from DB → API response743. **Publishing Flow**: Artifact submitted → Validation → Metadata extraction → Stored in DB → Search index updated754. **Synchronization**: Scheduled job → Repository check → Changes detected → Update DB and search index7677### Design Principles7879- **Multi-tenancy**: Support for multiple organizations and users80- **Extensible Format**: Support for Helm, Falco, OPA, and custom artifact types81- **Verification**: Artifact signature verification and publisher verification82- **Search-First**: Optimized search experience across all artifacts83- **Open Standard**: Support for community standards and formats84- **High Availability**: Distributed architecture for reliability8586---8788## Integration Approaches8990### Integration with Other CNCF Projects9192- **Helm**: Chart repository integration and publishing93- **Falco**: Security rules discovery and management94- **OPA**: Policy repository and management95- **Kubernetes**: Artifact deployment and management96- **Notary Project**: Artifact signing and verification97- **SPIFFE/SPIRE**: Identity and authentication98- **OpenTelemetry**: Tracing and observability99100### API Patterns101102- **REST API**: Full CRUD operations for artifacts103- **GraphQL API**: Flexible data querying104- **Search API**: Full-text search across artifacts105- **Webhook API**: Repository event notifications106107### Configuration Patterns108109- **Repository Configuration**: Add and configure repositories110- **Search Filters**: Query parameters for artifact search111- **Authentication**: OAuth2 and API token authentication112- **Organization Settings**: Team and permission configuration113114### Extension Mechanisms115116- **Custom Formats**: Support for additional artifact formats117- **Repository Types**: Custom repository implementations118- **Webhook Handlers**: Custom event processing119- **Authentication Providers**: OAuth2 providers120121---122123## Common Pitfalls and How to Avoid Them124125### Configuration Issues126127- **Repository URLs**: Incorrect or inaccessible repository URLs128- **Authentication**: Missing or invalid credentials for private repositories129- **Search Index**: Search service connectivity issues130- **Database Size**: Database growth management131- **Webhook Configuration**: Incorrect webhook registration132133### Performance Issues134135- **Search Latency**: Slow search queries on large repositories136- **Repository Synchronization**: Long sync times for large repositories137- **Database Performance**: Query optimization138- **Caching**: Missing or stale cache entries139140### Operational Challenges141142- **Repository Cleanup**: Removing unused or deprecated repositories143- **Artifact Verification**: Signature verification failures144- **Multi-Tenancy**: Isolation between organizations145- **Backup and Recovery**: Database and search index backup146147### Security Pitfalls148149- **Artifact Signing**: Not verifying signed artifacts150- **Repository Trust**: Publishing to untrusted repositories151- **Access Control**: Overly permissive permissions152- **Secret Scanning**: Secrets in artifact descriptions153154---155156## Coding Practices157158### Idiomatic Configuration159160- **Repository YAML**: Declarative repository configuration161- **Search Filters**: Query parameter patterns162- **Authentication**: OAuth2 flow configuration163- **Organization Structure**: Team and permission management164165### API Usage Patterns166167- **Artifact Search**: Search API usage with filters168- **Repository Management**: Add, update, remove repositories169- **Artifact Publishing**: Submit artifacts to repository170- **Artifact Download**: Download artifacts programmatically171172### Observability Best Practices173174- **Metrics**: Prometheus metrics for API and search performance175- **Logging**: Structured logging for debugging176- **Tracing**: Distributed tracing with Jaeger177- **Health Checks**: Service health monitoring178179### Development Workflow180181- **Local Development**: Docker Compose for development environment182- **Testing**: Unit, integration, and e2e tests183- **CI/CD**: Automated testing and deployment184- **Tools**: Go, React, Docker, Helm185186---187188## Fundamentals189190### Essential Concepts191192- **Repository**: Source of artifacts (Helm, Falco, OPA)193- **Artifact**: Collection of manifests, rules, or policies194- **Package**: Versioned artifact distribution195- **Publisher**: Entity that publishes artifacts196- **Organization**: Team-based artifact management197- **Subscription**: Follow repositories for updates198199### Terminology Glossary200201- **Artifact Hub**: The platform for artifact discovery202- **Repository**: Source of artifacts203- **Package**: Versioned artifact204- **Publisher**: Artifact publisher205- **Organization**: Team structure206- **Subscription**: Follow repositories207- **Verification**: Artifact signature verification208209### Data Models and Types210211- **Repository**: Repository configuration and metadata212- **Artifact**: Artifact definition and metadata213- **Package**: Package version and details214- **Publisher**: Publisher information215- **Organization**: Organization configuration216- **Subscription**: Subscription configuration217218### Lifecycle Management219220- **Repository Lifecycle**: Add → Sync → Search → Update221- **Artifact Lifecycle**: Submit → Validate → Store → Publish222- **Package Lifecycle**: Version → Release → Update → Deprecate223224### State Management225226- **Repository State**: Sync status and metadata227- **Artifact State**: Search index and database228- **Search Index**: Full-text search index229- **Package State**: Version history and metadata230231---232233## Scaling and Deployment Patterns234235### Horizontal Scaling236237- **Web UI Scaling**: Multiple React instances238- **API Server Scaling**: Multiple API server instances239- **Search Service Scaling**: Elasticsearch cluster scaling240- **Database Scaling**: PostgreSQL read replicas241- **Repository Agent Scaling**: Multiple agents for parallel processing242243### High Availability244245- **Web UI HA**: Multiple instances behind load balancer246- **API Server HA**: Multiple API servers247- **Database HA**: PostgreSQL HA with streaming replication248- **Search HA**: Elasticsearch cluster249- **Service Discovery**: Kubernetes service discovery250251### Production Deployments252253- **Docker Deployment**: Containerized services254- **Kubernetes Deployment**: Native Kubernetes manifests255- **Helm Chart**: Artifact Hub Helm chart for deployment256- **Authentication**: OAuth2, SSO, or basic auth257- **SSL/TLS**: HTTPS termination258- **Monitoring**: Prometheus and Grafana259260### Upgrade Strategies261262- **Database Migration**: Schema updates263- **Search Index Rebuild**: Rebuild search index after upgrade264- **Repository Re-sync**: Re-sync repositories after upgrade265- **Rolling Update**: Zero-downtime deployment266267### Resource Management268269- **CPU/Memory Limits**: Appropriate resource requests270- **Database Storage**: PostgreSQL storage management271- **Search Storage**: Elasticsearch cluster storage272- **Network**: Inter-service communication273274---275276## Additional Resources277278- **Official Documentation:** [https://artifacthub.io/docs/](https://artifacthub.io/docs/)279- **GitHub Repository:** [github.com/artifacthub/hub](https://github.com/artifacthub/hub)280- **CNCF Project Page:** [cncf.io/projects/artifact-hub/](https://www.cncf.io/projects/artifact-hub/)281- **Community:** Check the GitHub repository for community channels282- **Versioning:** Refer to project's release notes for version-specific features283284---285286## Troubleshooting287288### Common Issues2892901. **Deployment Failures**291 - Check pod logs for errors292 - Verify configuration values293 - Ensure network connectivity2942952. **Performance Issues**296 - Monitor resource usage297 - Adjust resource limits298 - Check for bottlenecks2993003. **Configuration Errors**301 - Validate YAML syntax302 - Check required fields303 - Verify environment-specific settings3043054. **Integration Problems**306 - Verify API compatibility307 - Check dependency versions308 - Review integration documentation309310### Getting Help311312- Check official documentation313- Search GitHub issues314- Join community channels315- Review logs and metrics316*Content generated automatically. Verify against official documentation before production use.*317318## Examples319320### Basic Configuration321322323```yaml324# Basic configuration example325apiVersion: v1326kind: ConfigMap327metadata:328 name: {{project_name}}-config329 namespace: default330data:331 # Configuration goes here332 config.yaml: |333 # Base configuration334 # Add your settings here335```336337### Kubernetes Deployment338339340```yaml341# Kubernetes deployment for {{project_name}}342apiVersion: apps/v1343kind: Deployment344metadata:345 name: {{project_name}}346 namespace: default347spec:348 replicas: 1349 selector:350 matchLabels:351 app: {{project_name}}352 template:353 metadata:354 labels:355 app: {{project_name}}356 spec:357 containers:358 - name: {{project_name}}359 image: {{project_name}}:latest360 ports:361 - containerPort: 8080362 resources:363 limits:364 memory: "128Mi"365 cpu: "500m"366```367368### Kubernetes Service369370371```yaml372# Kubernetes service for {{project_name}}373apiVersion: v1374kind: Service375metadata:376 name: {{project_name}}377 namespace: default378spec:379 selector:380 app: {{project_name}}381 ports:382 - protocol: TCP383 port: 80384 targetPort: 8080385 type: ClusterIP386```387388---389390## When to Use391392Use this skill when:393394- **Integrating a CNCF project into Kubernetes infrastructure** — You need to configure, deploy, or troubleshoot a cloud-native tool within a cluster395- **Designing cloud-native architecture** — You are selecting and integrating CNCF tools to solve specific infrastructure challenges396- **Resolving operational issues** — A CNCF component is misbehaving, underperforming, or needs configuration changes397---398399## Core Workflow4004011. **Assess Requirements** — Understand the use case, scale, integration needs, and existing infrastructure. **Checkpoint:** Document requirements, constraints, and success criteria.4024032. **Design Architecture** — Plan component interactions, data flow, and deployment strategy using cloud-native best practices. **Checkpoint:** Verify the architecture addresses all requirements and follows CNCF conventions.4044053. **Implement & Configure** — Create manifests, configurations, and deployment scripts. Include resource limits, health checks, and observability hooks. **Checkpoint:** Validate all YAML against schema and test in a staging environment.4064074. **Deploy & Monitor** — Apply manifests to the cluster, verify component health, and confirm observability is working. **Checkpoint:** Confirm all pods/services are running, probes passing, and metrics/alerts configured.408409---410411## Constraints412413### MUST DO414- Include at least one complete working YAML manifest example415- Note when content is auto-generated vs. manually verified416- Reference relevant CNCF project documentation417418### MUST NOT DO419- Deploy manifests without testing in a staging environment first420- Use deprecated API versions (e.g., apps/v1beta1)421- Omit resource limits and requests in Kubernetes manifests