mirror of
https://github.com/hanzoai/bootnode.git
synced 2026-10-25 02:31:30 +00:00
- Add Explorer product page with branded block explorer deployment, contract verification, Etherscan-compatible API, and multi-chain support - Add MPC product page with deep Lux MPC integration: CGGMP21 (ECDSA), FROST (EdDSA), LSS resharing, 15+ chain support, threshold signing API - Update landing page with 6-product grid (Node, Data, Wallets, Explorer, MPC, Rollups) and 8 API cards including Explorer API and MPC Signing - Update navbar and command menu with Explorer and MPC products - Add Lux fleet management dashboard, observability, and services pages - Add AI chat component and unified navigation with org switcher - Add Kubernetes operator (Rust) for multi-chain node lifecycle management - Add Lux Helm charts with genesis configs for devnet/testnet/mainnet - Add docker-release.yml CI/CD pipeline for automated DOKS deployment - Add monitoring, network policies, web deployments, and ingress updates - Refactor API: fleet management, billing tracker, observability endpoints - Update brand config, API client, and infrastructure manifests
86 lines
2.2 KiB
YAML
86 lines
2.2 KiB
YAML
{{- $network := index .Values.networks .Values.network }}
|
|
{{- $namespace := $network.namespace }}
|
|
{{- $stakingPort := $network.stakingPort }}
|
|
{{- $httpPort := $network.httpPort }}
|
|
# Headless service for StatefulSet DNS resolution
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: luxd-headless
|
|
namespace: {{ $namespace }}
|
|
labels:
|
|
app: luxd
|
|
lux-network: {{ .Values.network }}
|
|
spec:
|
|
clusterIP: None
|
|
publishNotReadyAddresses: true
|
|
selector:
|
|
app: luxd
|
|
lux-network: {{ .Values.network }}
|
|
ports:
|
|
- name: http
|
|
port: {{ $httpPort }}
|
|
- name: staking
|
|
port: {{ $stakingPort }}
|
|
{{- if .Values.nodeServices.enabled }}
|
|
---
|
|
# Main LoadBalancer service (round-robin across all pods)
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: luxd
|
|
namespace: {{ $namespace }}
|
|
labels:
|
|
app: luxd
|
|
lux-network: {{ .Values.network }}
|
|
annotations:
|
|
service.beta.kubernetes.io/do-loadbalancer-name: "k8s-luxd-{{ .Values.network }}"
|
|
{{- with .Values.nodeServices.annotations }}
|
|
{{- toYaml . | nindent 4 }}
|
|
{{- end }}
|
|
spec:
|
|
type: {{ .Values.nodeServices.type }}
|
|
selector:
|
|
app: luxd
|
|
lux-network: {{ .Values.network }}
|
|
ports:
|
|
- name: http
|
|
port: {{ $httpPort }}
|
|
targetPort: {{ $httpPort }}
|
|
- name: staking
|
|
port: {{ $stakingPort }}
|
|
targetPort: {{ $stakingPort }}
|
|
# Individual LoadBalancer services per pod for stable external IPs
|
|
# CRITICAL for P2P: each validator needs its own public IP
|
|
{{- range $i := until (int .Values.replicas) }}
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: luxd-{{ $i }}
|
|
namespace: {{ $namespace }}
|
|
labels:
|
|
app: luxd
|
|
lux-network: {{ $.Values.network }}
|
|
pod-index: "{{ $i }}"
|
|
annotations:
|
|
service.beta.kubernetes.io/do-loadbalancer-name: "k8s-luxd-{{ $.Values.network }}-{{ $i }}"
|
|
{{- with $.Values.nodeServices.annotations }}
|
|
{{- toYaml . | nindent 4 }}
|
|
{{- end }}
|
|
spec:
|
|
type: {{ $.Values.nodeServices.type }}
|
|
selector:
|
|
app: luxd
|
|
lux-network: {{ $.Values.network }}
|
|
statefulset.kubernetes.io/pod-name: luxd-{{ $i }}
|
|
ports:
|
|
- name: http
|
|
port: {{ $httpPort }}
|
|
targetPort: {{ $httpPort }}
|
|
- name: staking
|
|
port: {{ $stakingPort }}
|
|
targetPort: {{ $stakingPort }}
|
|
{{- end }}
|
|
{{- end }}
|