Operations toolkits for Lux Network nodes and infrastructure.
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
| 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 |
# 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.networkCreate 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# 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# Build all crates
cargo build --release
# Build specific crate
cargo build --release -p lux-operator
# Run tests
cargo testThe 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
For AWS deployments:
luxupruns on operator machine (control plane)luxdagent runs on each EC2 instance- Keys managed via Lux MPC with S3 encrypted storage
| 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 |
BSD 3-Clause License - see LICENSE for details.
- luxd - Lux Network node implementation
- lux-cli - Command line interface
- lux-wallet - Wallet SDK