mirror of
https://github.com/datahaven-xyz/datahaven
synced 2026-05-24 01:38:32 +00:00
This PR enhances the Helm-based deployment system with several key improvements organized into the following areas: ## New Features ### Ingress Management - **Ingress per replica**: Added `ingress-per-replica` chart template that automatically generates an ingress for each node replica, exposing individual pod instances - **Traefik integration**: Added chart values to deploy Traefik as the ingress controller for local K8s clusters, enabling proper ingress testing (requires adding names to `/etc/hosts`) ### Solochain Support - **New relay chart**: Added dedicated Helm chart for Solochain relay deployment - **CLI integration**: Updated DataHaven CLI to deploy both Execution and Solochain relayers ## Configuration Improvements ### Environment Structure - **Modular configs**: Refactored environmental configurations from single `values.yaml` files into separate component-specific overrides for better organization ### Node Configuration - **Base config updates**: Improved base configurations for bootnode and validator nodes - **Network protocol**: Reverted from litep2p back to libp2p to resolve node communication issues on Stagenet - **Archive node routing**: In Stagenet, relayers now connect to the bootnode (configured as archive node) instead of validator nodes ## Storage & Deployment ### Persistent Storage - **Relayer database**: Added support for persistent volumes to store relayer databases instead of using ephemeral storage ### Deployment Scripts - **Documentation cleanup**: Removed obsolete test deploy.sh script and updated the deployment README with clearer instructions These changes provide a more robust, scalable, and maintainable deployment system for DataHaven infrastructure. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added support for deploying new relayer types: Solochain and Execution relayers, with dedicated configuration and secret management. * Introduced per-replica ingress configuration for node deployments, allowing each replica to have its own ingress resource and hostname. * Added persistent storage options for relay data, configurable via storage path, class, and size. * Added new deployment configuration files for local and stagenet environments, including Traefik ingress controller setup. * Introduced a new relay category, "Solochain Relayers," for standalone chain operations and cross-chain communication. * **Improvements** * Updated deployment configurations to use container-specific environment YAML files for more granular control. * Enhanced relay and node configurations with new flags and backend options, including dynamic peer ID generation and automatic bootnode discovery. * Updated relayer endpoints to consistently use the bootnode for connections. * Refined relay configuration files for improved structure, clarity, and endpoint management. * **Bug Fixes** * Corrected deployment logic to reference the correct environment-specific configuration files during Helm deployments. * **Documentation** * Simplified and updated deployment documentation to focus on CLI-based deployment, removing outdated manual instructions and adding a concise overview of components and relayer types. * **Chores** * Removed deprecated deployment scripts and outdated configuration files to streamline the deployment process. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Claude <noreply@anthropic.com>
31 lines
673 B
YAML
31 lines
673 B
YAML
# Install Traefik as ingress controller into local k8S cluster
|
|
# helm repo add traefik https://traefik.github.io/charts
|
|
# helm repo update
|
|
# helm install traefik --values ./deploy/environments/local/traefik.yaml traefik/traefik -n kube-system
|
|
|
|
# Enable the Kubernetes CRD provider
|
|
providers:
|
|
kubernetesIngress:
|
|
enabled: true
|
|
kubernetesCRD:
|
|
enabled: true
|
|
|
|
# Enable the web entrypoint on port 80
|
|
entryPoints:
|
|
web:
|
|
address: ":80"
|
|
|
|
# Expose the Traefik dashboard (optional)
|
|
api:
|
|
dashboard: true
|
|
insecure: true
|
|
|
|
# Service configuration
|
|
service:
|
|
type: NodePort
|
|
ports:
|
|
web:
|
|
nodePort: 30080
|
|
dashboard:
|
|
port: 8080
|
|
nodePort: 30081
|