Skip to main content
ChatCLI publishes its Helm charts to ArtifactHub, the official public package registry for the Cloud Native ecosystem. This allows anyone to discover, install, and keep the charts up to date directly from the ArtifactHub catalog or via the Helm CLI.

Available Charts

ChatCLI Server

Multi-provider LLM gRPC gateway with agent mode, K8s watcher, MCP, and AIOps. OCI Registry: oci://ghcr.io/diillson/charts/chatcli

ChatCLI Operator

Kubernetes operator for autonomous incident detection, AI analysis, and automated remediation. OCI Registry: oci://ghcr.io/diillson/charts/chatcli-operator

How the Integration Works

The ArtifactHub integration is fully automated and based on three pillars:

1. Repository Files (artifacthub/)

In the artifacthub/ directory there are two separate files, one per chart, that register the repositories on ArtifactHub: artifacthub/chatcli-repo.yml
artifacthub/chatcli-operator-repo.yml
These files are pushed to the OCI registry via ORAS with the MIME type application/vnd.cncf.artifacthub.repository-metadata.layer.v1.yaml, allowing ArtifactHub to automatically discover and index the charts.
Each chart has a unique repositoryID and its own metadata file. ArtifactHub reads these OCI artifacts to automatically sync repository metadata.

2. Chart Annotations (Chart.yaml)

Each chart’s Chart.yaml contains ArtifactHub-specific annotations that enrich the package page in the catalog:

Available Annotations

3. Publishing Pipeline (GitHub Actions)

Publishing is fully automated via GitHub Actions in the 3-publish-release.yml workflow. On each release:
1

Release trigger

A push to the main branch triggers Release Please, which automatically creates a release PR and, once merged, generates the GitHub Release with the version tag.
2

Automatic versioning

The pipeline updates the version in both Chart.yaml files:
3

Changelog injection

The scripts/generate-artifacthub-changelog.sh script extracts changes from CHANGELOG.md and injects them as artifacthub.io/changes annotations into the Chart.yaml files, with structured types (added, fixed, changed, etc.) and PR links.
4

Packaging

Charts are packaged with helm package:
5

Push to OCI registry

Packages are pushed to the GitHub Container Registry:
6

Cosign signing

Both charts are signed with Cosign using keyless OIDC, ensuring artifact integrity and provenance:
7

ArtifactHub metadata push via ORAS

Repository files are pushed as OCI artifacts with ArtifactHub-specific MIME types, enabling automatic discovery:
8

ArtifactHub sync

ArtifactHub detects the metadata in the OCI registry and automatically indexes the new chart versions in the catalog.

Documented CRDs

Both charts declare 17 Custom Resource Definitions in the annotations, which are automatically displayed on the ArtifactHub page:
CRDs are shared between the server and operator charts. If both are installed in the same cluster, the CRDs from whichever chart was installed first will be used.

Installation via ArtifactHub

ChatCLI Server

ChatCLI Operator

From Source

Using an Existing Secret


Upgrade and Removal

Upgrade to Latest Version

--reset-then-reuse-values (Helm 3.14+) starts from the new chart’s defaults and re-applies your previous overrides. Plain --reuse-values skips the defaults of keys added by newer chart versions and can fail the render; with an older Helm, pass your values file (-f my-values.yaml) instead. Before upgrading the operator across several releases, read Upgrade and uninstall: what rolls, what the Instance status shows during the rollout, and the releases that need action first. For the server chart, see Upgrade, rollback, uninstall.
CRDs are updated on every upgrade. Both charts run a pre-install,pre-upgrade hook Job that applies every CRD in the chart with kubectl apply --server-side before the new controller rolls out. Helm itself never updates crds/ after the first install, and a controller running against an older schema has its new fields dropped and its new enum values rejected. Turn the hook off (--set crdUpgrade.enabled=false) only when you manage the CRDs out of band, and then apply the new chart’s crds/ yourself before upgrading; the operator chart’s install notes print the commands.

Uninstall

Delete your Instance resources before removing the operator: the operator removes their finalizer, and an Instance deleted after it is gone stays Terminating (see Uninstall).
CRDs are not automatically removed by Helm. To remove them manually:

Chart Structure

Helm charts are located in deploy/helm/ in the repository:

Differences Between Charts


Chart Security

Both charts follow Kubernetes security best practices:

Non-Root

Containers run as non-root user (UID 1000) with runAsNonRoot: true.

Read-Only Filesystem

readOnlyRootFilesystem: true — only mounted volumes are writable.

Capabilities Dropped

All Linux capabilities are dropped with drop: ["ALL"].

Seccomp

RuntimeDefault seccomp profile enabled by default.

Requirements

  • Kubernetes: 1.30+
  • Helm: 3.8+ (OCI registry support), Helm 4 included
  • LLM Provider: A credential for at least one supported provider (an API key, IAM for Bedrock, or a local Ollama)

Next Steps

Docker & K8s Deploy

Complete deployment guide with Docker, Compose, and Helm.

K8s Operator

AIOps operator details with 17 CRDs.

AIOps Platform

Overview of the intelligent operations platform.