The CLI install layer for the Score community provisioners ecosystem.
Replace 140-character raw GitHub URLs with a single install command.
# Before score-hub:
score-k8s init --provisioners \
https://raw.githubusercontent.com/score-spec/community-provisioners/refs/heads/main/dapr-pubsub/score-k8s/10-redis-dapr-pubsub.provisioners.yaml
# After score-hub:
score-hub install dapr-pubsub --variant redisscore-hub is to community-provisioners what Krew is to kubectl plugins.
# 1. Install score-hub
go install github.com/ShantKhatri/score-hub-cli@latest
# 2. Search for provisioners
score-hub search
# 3. Get details on a provisioner
score-hub info dapr-pubsub
# 4. Install into your Score project
cd my-score-project
score-hub install dapr-pubsub --variant redis
# 5. Use normally with score-k8s
score-k8s generate score.yamlSearch for provisioners by name, category, or keyword. If no query is provided, all available provisioners are grouped by category.
score-hub search # list all provisioners grouped by category
score-hub search dapr # search by name
score-hub search messaging # search by category
score-hub search --platform k8s # filter by platform
score-hub search --json # JSON outputShow detailed information about a provisioner including variants, prerequisites, and install commands.
score-hub info dapr-pubsub
score-hub info route --json
score-hub info llm-modelInstall a provisioner into your Score project directory.
score-hub install dapr-pubsub --variant redis
score-hub install dapr-pubsub --variant redis --platform k8s
score-hub install dapr-pubsub@1.0.0 --variant redis
score-hub install environment --yes # skip confirmationFlags:
--variant— Select a specific variant (required if multiple exist)--platform— Override platform detection (k8s or compose)--yes— Skip confirmation prompts--no-verify— Skip checksum verification (not recommended)--dir— Override install directory
List installed provisioners in the current project.
score-hub list
score-hub list --jsonscore-hub automatically detects your Score platform in this priority:
--platformflagSCORE_HUB_PLATFORMenvironment variable~/.score-hub/config.yamlplatform setting.score-k8s/directory in current directory.score-compose/directory in current directoryscore-k8sbinary in PATHscore-composebinary in PATH
score-hub creates a .score-hub.lock file tracking installed provisioners with version pins and checksums. Commit this to source control for reproducible provisioner installs.
Optional config at ~/.score-hub/config.yaml:
apiVersion: score-hub/v1alpha1
registry: https://raw.githubusercontent.com/score-hub/index/main/index.yaml
platform: auto # k8s | compose | auto
cache:
ttl: 1h
dir: ~/.score-hub/cache/--platform string Score platform: k8s or compose (default: auto-detect)
--json Output in JSON format
--no-cache Skip local index cache, fetch fresh
--verbose Verbose output
--registry string Override registry URL
| Name | Category | Platforms | Variants |
|---|---|---|---|
| dapr-pubsub | messaging | k8s, compose | rabbitmq, redis |
| dapr-state-store | messaging | k8s, compose | redis |
| dapr-subscription | messaging | k8s, compose | default |
| dns | networking | k8s, compose | codespace, url |
| environment | configuration | k8s, compose | default |
| gcp-pubsub-emulator | messaging | compose | default |
| horizontal-pod-autoscaler | compute | k8s, compose | default |
| llm-model | llm | compose | dmr, dmr-openai, dmr-curl-cmd, dmr-curl-service, dmr-service-provider, ollama |
| redis | storage | k8s | helm-template, helm-upgrade |
| route | networking | k8s | ingress, ingress-netpol, gateway-httproute, gateway-httproute-netpol |
| service | networking | k8s, compose | default, microcks, microcks-cli, netpol |
score-hub uses a Resolver interface abstraction that decouples CLI commands from the data backend. v0.1 ships with a GitHub-backed resolver. The architecture supports future backends (local filesystem, HTTP API, private registries).
score-hub CLI → Resolver Interface → GitHub (community-provisioners)
git clone https://github.com/ShantKhatri/score-hub-cli.git
cd cli
make buildWhen provisioners are updated in the upstream repository, the checksums in score-hub must be synced to ensure verification passes. We provide a utility script to do this automatically:
# Print a diff report of any upstream changes
go run scripts/sync_checksums.go
# Auto-update the index.yaml file in place
go run scripts/sync_checksums.go --updateSee CONTRIBUTING.md for details on how to contribute.
Apache License 2.0. See LICENSE for details.