photoncloud-monorepo/k8shost/crates/k8shost-server/src/config.rs
centra 3eeb303dcb feat: Batch commit for T039.S3 deployment
Includes all pending changes needed for nixos-anywhere:
- fiberlb: L7 policy, rule, certificate types
- deployer: New service for cluster management
- nix-nos: Generic network modules
- Various service updates and fixes

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-13 04:34:51 +09:00

104 lines
2.3 KiB
Rust

use serde::{Deserialize, Serialize};
use std::net::SocketAddr;
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct ServerConfig {
pub addr: SocketAddr,
/// HTTP REST API listen address
#[serde(default = "default_http_addr")]
pub http_addr: SocketAddr,
pub log_level: String,
}
fn default_http_addr() -> SocketAddr {
"127.0.0.1:8085".parse().unwrap()
}
impl Default for ServerConfig {
fn default() -> Self {
Self {
addr: "[::]:6443".parse().unwrap(),
http_addr: default_http_addr(),
log_level: "info".to_string(),
}
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct FlareDbConfig {
pub pd_addr: Option<String>,
pub direct_addr: Option<String>,
}
impl Default for FlareDbConfig {
fn default() -> Self {
Self {
pd_addr: Some("127.0.0.1:2379".to_string()),
direct_addr: None,
}
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct IamConfig {
pub server_addr: String,
}
impl Default for IamConfig {
fn default() -> Self {
Self {
server_addr: "http://127.0.0.1:50051".to_string(),
}
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct FiberLbConfig {
pub server_addr: String,
}
impl Default for FiberLbConfig {
fn default() -> Self {
Self {
server_addr: "http://127.0.0.1:50082".to_string(),
}
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct FlashDnsConfig {
pub server_addr: String,
}
impl Default for FlashDnsConfig {
fn default() -> Self {
Self {
server_addr: "http://127.0.0.1:50053".to_string(),
}
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct PrismNetConfig {
pub server_addr: String,
}
impl Default for PrismNetConfig {
fn default() -> Self {
Self {
server_addr: "http://127.0.0.1:50090".to_string(),
}
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[derive(Default)]
pub struct Config {
pub server: ServerConfig,
pub flaredb: FlareDbConfig,
pub iam: IamConfig,
pub fiberlb: FiberLbConfig,
pub flashdns: FlashDnsConfig,
pub prismnet: PrismNetConfig,
}