elchi-client

command module
v1.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 26, 2026 License: MIT Imports: 4 Imported by: 0

README ΒΆ

Elchi Client

Elchi Client is an enterprise-level network management client that connects to remote servers via gRPC protocol to manage FRR routing, network configuration, service deployment, and monitoring operations.

πŸš€ Key Features

  • Secure gRPC Communication: TLS-enabled client-server communication
  • FRR (Free Range Routing) Management: BGP neighbor and route policy management
  • Network Configuration: Netplan interface and route management
  • Service Deployment: Systemd service control and monitoring
  • Circuit Breaker Pattern: Automatic reconnection and failure recovery
  • Performance Optimized: Load balancer and proxy workload optimizations

πŸ“‹ Requirements

  • Operating System: Ubuntu 24.04 LTS (minimum)
  • Go: 1.21 or higher (for development)
  • System: Root privileges for installation
  • Network: Internet access for dependencies

πŸ”§ Installation

# Download and run bootstrap script
curl -fsSL https://raw.githubusercontent.com/CloudNativeWorks/elchi-client/main/elchi-install.sh | sudo bash

# For BGP/FRR support
curl -fsSL https://raw.githubusercontent.com/CloudNativeWorks/elchi-client/main/elchi-install.sh | sudo bash -s -- --enable-bgp

βš™οΈ Configuration

Configuration File (/etc/elchi/config.yaml)
server:
  host: "backend.elchi.io"
  port: 443
  tls: true
  insecure_skip_verify: true # Set to false when using trusted TLS certificates
  token: "your-authentication-token"
  timeout: "30s"

logging:
  level: "info"
  format: "json"
  modules:
    client: "info"
    grpc: "info"
    frr: "info"
    network: "debug"

client:
  name: "production-client-01"
  cloud: "my-cloud"
  bgp: false

πŸš€ Usage

Start Client Service
# Start as systemd service (recommended)
sudo systemctl start elchi-client
sudo systemctl enable elchi-client

# Check status
sudo systemctl status elchi-client

# View logs
sudo journalctl -u elchi-client -f

πŸ› Troubleshooting

Common Issues

Connection Failed

# Check network connectivity
ping backend.elchi.io
telnet backend.elchi.io 443

# Verify TLS configuration
openssl s_client -connect backend.elchi.io:443
Log Analysis

Enable debug logging to investigate issues:

# Edit config.yaml
logging:
  level: "debug"
  modules:
    client: "debug"
    grpc: "debug"

# Or use environment variable
ELCHI_LOGGING_LEVEL=debug systemctl restart elchi-client

πŸ“ž Support

πŸ”„ Updates

The client automatically downloads the latest binary during bootstrap. For manual updates:

# Download latest release
curl -fsSL https://github.com/CloudNativeWorks/elchi-client/releases/latest/download/elchi-client -o /etc/elchi/bin/elchi-client
chmod 755 /etc/elchi/bin/elchi-client

# Restart service
sudo systemctl restart elchi-client

Documentation ΒΆ

The Go Gopher

There is no documentation for this package.

Directories ΒΆ

Path Synopsis
internal
operations/shield
Package shield reconciles elchi-shield's watched config directory on the edge host to a control-plane-supplied desired state.
Package shield reconciles elchi-shield's watched config directory on the edge host to a control-plane-supplied desired state.
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL