Skip to main content
An installation is a running instance of a service deployed within a specific environment. While services define deployment templates, installations represent the actual workloads executing in Kubernetes clusters with environment-specific configuration applied. Each installation maintains its own state including resource allocations, environment variables, networking policies, and scaling parameters. This separation enables consistent service behavior across development, staging, and production environments while allowing necessary customization for specific deployment contexts.

Deployment behavior

Installations use rolling deployment strategies to minimize service disruption during updates. When deploying a new release, the system creates new replicas while maintaining existing ones, gradually shifting traffic as health checks pass. Failed deployments automatically maintain existing replicas to ensure zero downtime. The Ryvn agent coordinates with Kubernetes controllers to manage the deployment process, handling traffic routing, health monitoring, and failure recovery. Deployment strategies can be configured per installation based on application requirements: rolling updates for zero-downtime deployments, recreate strategies for stateful applications, or blue-green deployments for instant traffic switching.

Configuration management

Installation configuration follows a hierarchical inheritance model where installation-specific settings override environment defaults, which override service defaults. This enables consistent behavior while allowing environment-specific customization.
Each installation inherits base configuration from its service definition while applying environment-specific overrides. Environment variables, resource limits, and networking policies can be customized per installation without modifying the underlying service template.Configuration changes trigger rolling updates to apply new settings across all replicas. The system validates configuration before applying changes to prevent deployment failures from invalid settings or resource constraints.
Sensitive configuration data is managed through encrypted Kubernetes Secrets with automatic rotation capabilities. Secrets can be mounted as environment variables or files within containers, with access control enforced at the installation level.External secret management systems integrate through custom controllers that synchronize credentials from external vaults. This enables centralized credential management while maintaining secure access patterns within the cluster.

Release management

Installations subscribe to release channels that control automatic deployment behavior. Each installation can subscribe to specific channels like development, staging, or production, with new releases automatically deploying based on channel policies.

Versioning

Pin holds an installation’s current release against release-channel updates without starting a deployment. If no running release has been reported, the hold uses the target release. Both CLI pin forms create no task and accept no version input:
To select a release, ryvn command enforce-deploy --version X pins X and starts an asynchronous deployment task. The hold persists after deployment.
Unpin removes a hold created by pin or enforce-deploy and allows release-channel reconciliation. It does not roll back a deployment:

Operational capabilities

Installations support comprehensive lifecycle management through the Ryvn dashboard, CLI tools, and API integrations. Key operational capabilities include: Configuration Updates: Environment variables, resource limits, and networking policies can be modified with zero-downtime rolling updates that maintain service availability during changes. Scaling Management: Replica counts adjust based on demand through manual scaling or automatic policies. Resource allocation changes coordinate with cluster autoscaling to ensure adequate capacity. Release Management: Deploy new versions, rollback to previous releases, hold the current release with pin, or select a release with enforce-deploy. Health Monitoring: Continuous monitoring aggregates pod-level health checks, resource utilization metrics, and application-specific indicators with automated alerting for failures or threshold violations. Troubleshooting: Access aggregated logs across all replicas, examine resource consumption patterns, and diagnose deployment issues through centralized observability tools. For specific operational procedures, see our guides on scaling configuration, rollback operations, and health check configuration.