Skip to main content

Documentation Index

Fetch the complete documentation index at: https://ryvn.ai/docs/llms.txt

Use this file to discover all available pages before exploring further.

Helm Chart services deploy Kubernetes applications using Helm. Charts package multiple Kubernetes resources together and provide templating for complex deployments.

Build from source

Package a Helm chart from your GitHub repository. Charts are stored on Ryvn’s Registry.
# yaml-language-server: $schema=https://api.ryvn.app/v1/schemas/resources.json
kind: Service
metadata:
  name: app
spec:
  type: helm-chart
  repo: acme/monorepo
  build:
    chartPath: charts/app

Use public charts

Deploy public Helm charts from chart repositories.
kind: Service
metadata:
  name: grafana
spec:
  type: helm-chart
  repo: https://grafana.github.io/helm-charts
  chart: grafana

Use private charts

Deploy Helm charts from private registries. First, connect your private registry through Settings in the Ryvn Dashboard, then reference it by name.
kind: Service
metadata:
  name: app
spec:
  type: helm-chart
  repo: oci://ghcr.io/acme/charts
  chart: app
  registry: acme-ghcr     # registry name on ryvn

Properties

name

string — required Service identifier. Must be lowercase, alphanumeric with hyphens only.
name: grafana

labels

object — optional Key-value labels for grouping and filtering services. Use labels to organize services by team, tier, or any other dimension. Constraints:
  • Maximum 50 labels per service
  • Keys must start with an alphanumeric character and contain only alphanumerics, dots, hyphens, and underscores
  • Keys and values are each limited to 63 characters
metadata:
  name: grafana
  labels:
    team: observability
    tier: infrastructure

type

string — required Must be helm-chart.
type: helm-chart

repo

string — required GitHub repository (owner/repo) when packaging from source, or chart repository URL when using public charts.
# For packaging from source
repo: acme/charts

# For public charts
repo: https://grafana.github.io/helm-charts

chart

string — conditional Chart name in the repository. Required for public charts. If not specified when building from source, defaults to service name.
chart: grafana

registry

string — optional Registry name for storing built charts. Defaults to Ryvn’s built-in registry when building from source.
registry: my-private-registry

promotionPipeline

string — optional Name of promotion pipeline to follow for automated release promotion.
promotionPipeline: main-pipeline

maintenanceWindow

string — optional Maintenance window for this service. Automated deployments will only occur during specified intervals.
maintenanceWindow: overnight

build.chartPath

string — required Path to directory containing Chart.yaml, relative to repository root. Required when building from source.
build:
  chartPath: charts/app

build.branches

array — optional List of branches that trigger helm chart builds and releases on push. Each entry has a name and optional args (build arguments specific to that branch). When configured, pushing to any listed branch packages and releases the chart automatically. Installations can then track a specific branch using the branch field. Only applies when building from a GitHub repository, not when using public or private chart registries. Compatible with promotionPipeline, but a branch release channel can only appear once in a pipeline.
build:
  chartPath: charts/app
  branches:
    - name: main
    - name: staging

Examples

Multiple charts:
# frontend.service.yaml
# yaml-language-server: $schema=https://api.ryvn.app/v1/schemas/resources.json
kind: Service
metadata:
  name: frontend
spec:
  type: helm-chart
  repo: acme/monorepo
  build:
    chartPath: charts/frontend

# backend.service.yaml
# yaml-language-server: $schema=https://api.ryvn.app/v1/schemas/resources.json
kind: Service
metadata:
  name: backend
spec:
  type: helm-chart
  repo: acme/monorepo
  build:
    chartPath: charts/backend
With promotion pipeline:
# yaml-language-server: $schema=https://api.ryvn.app/v1/schemas/resources.json
kind: Service
metadata:
  name: app
spec:
  type: helm-chart
  repo: acme/charts
  promotionPipeline: product-team-pipeline
  build:
    chartPath: charts/app