Skip to content

luxfi/devops

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

1,298 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Lux Ops

License

Operations toolkits for Lux Network nodes and infrastructure.

Overview

Lux Ops provides infrastructure automation for deploying and operating Lux Network nodes. Primary deployment target is Kubernetes with the lux-operator, with AWS deployment support available.

  • ๐Ÿฆ€ Written in Rust
  • โ˜ธ๏ธ Kubernetes-native with CRDs
  • โœ… Fully automates node provisioning
  • โœ… Fully automates custom network setups
  • โœ… Fully automates subnet/VM deployment
  • ๐Ÿ” Integrates with Lux MPC for key management
  • ๐Ÿ“Š Built-in metrics and monitoring

Components

Crate Description
lux-core Core library with types, config, and specifications
lux-operator Kubernetes operator for LuxNetwork/LuxSubnet CRDs
luxup Control plane CLI for deployments
luxd Agent daemon for cloud deployments
blizzard Load testing agent
blizzardup Load testing control plane
lux-faucet Devnet token distribution service
staking-key-downloader TLS key/cert downloader from S3
staking-signer-downloader BLS signer key downloader from S3

Quick Start

Kubernetes Deployment (Recommended)

# Build the operator
cargo build --release -p lux-operator

# Install CRDs
kubectl apply -f lux-operator/crds/

# Run the operator
./target/release/lux-operator \
    --namespace lux-network \
    --mpc-endpoint https://mpc.lux.network

Create a LuxNetwork resource:

apiVersion: lux.network/v1alpha1
kind: LuxNetwork
metadata:
  name: devnet
  namespace: lux-network
spec:
  networkId: 12345
  nodeCount: 5
  nodeConfig:
    httpPort: 9650
    stakingPort: 9651
  mpc:
    enabled: true
    endpoint: https://mpc.lux.network

AWS Deployment

# Generate default spec
./target/release/luxup default-spec \
    --target aws \
    --regions us-west-2 \
    --output lux-spec.yaml

# Apply deployment
./target/release/luxup apply --spec-file lux-spec.yaml

# Query endpoints
./target/release/luxup endpoints --spec-file lux-spec.yaml

Building

# Build all crates
cargo build --release

# Build specific crate
cargo build --release -p lux-operator

# Run tests
cargo test

Architecture

Kubernetes Operator

The lux-operator manages Lux Network deployments using Custom Resource Definitions:

  • LuxNetwork: Defines a complete network deployment
  • LuxSubnet: Defines subnet configurations

The operator reconciles desired state and manages:

  • Node pods and services
  • Key generation via Lux MPC
  • Network configuration
  • Metrics collection

AWS Deployment

For AWS deployments:

  • luxup runs on operator machine (control plane)
  • luxd agent runs on each EC2 instance
  • Keys managed via Lux MPC with S3 encrypted storage

Configuration

Environment Variables

Variable Description
LUX_NETWORK_ID Network ID for the deployment
LUX_MPC_ENDPOINT Lux MPC service endpoint
AWS_REGION AWS region for deployments
AWS_PROFILE AWS profile name

License

BSD 3-Clause License - see LICENSE for details.

Related Projects

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 7