135 lines
4.7 KiB
Text
135 lines
4.7 KiB
Text
let _concerns_lib = import "schemas/lib/concerns.ncl" in
|
|
let _context_lib = import "schemas/catalog/context.ncl" in
|
|
|
|
{
|
|
FleetDaemon = {
|
|
context | _context_lib.ComponentContext | optional,
|
|
|
|
name | String,
|
|
version | String,
|
|
image_ref | String,
|
|
mode | [| 'taskserv, 'cluster, 'container |] | default = 'cluster,
|
|
|
|
deployment | {
|
|
kind | [| 'kube_workload, 'taskserv |] | default = 'kube_workload,
|
|
target_cluster | { workspace | String, cluster_name | String },
|
|
namespace | String | default = "fleet-system",
|
|
replicas | Number | default = 1,
|
|
service | {
|
|
port | Number | default = 19012,
|
|
tls_secret_ref | String | default = "fleet-daemon-tls",
|
|
# 0 = ClusterIP only; non-zero = NodePort with this port number.
|
|
# The install script derives the Service type from this field.
|
|
channel_nodeport | Number | default = 0,
|
|
} | default = {},
|
|
resources | {
|
|
requests | { cpu | String, memory | String },
|
|
limits | { cpu | String, memory | String },
|
|
} | default = {
|
|
requests = { cpu = "100m", memory = "128Mi" },
|
|
limits = { cpu = "500m", memory = "512Mi" },
|
|
},
|
|
},
|
|
|
|
nats | {
|
|
url | String,
|
|
subject_prefix | String,
|
|
nkey_creds_ref | String,
|
|
},
|
|
|
|
fleets | Array String | default = [],
|
|
|
|
node | {
|
|
id | String,
|
|
ip | String,
|
|
pool_id | String | default = "default",
|
|
arch | String | default = "amd64",
|
|
tier | String | default = "standard",
|
|
cpu | Number,
|
|
ram_gb | Number,
|
|
disk_gb | Number,
|
|
buildkit_port | Number | default = 1234,
|
|
buildkit_probe_enabled | Bool | default = true,
|
|
},
|
|
|
|
access_policy | {
|
|
claims_accepted_from | Array String,
|
|
max_concurrent_claims_per_workspace | Array { workspace | String, quota | Number } | default = [],
|
|
priority_order | Array String | default = [],
|
|
},
|
|
|
|
tick_interval_seconds | Number | default = 30,
|
|
|
|
snapshot | {
|
|
interval_seconds | Number | default = 300,
|
|
retain_seconds | Number | default = 86400,
|
|
local_path | String | default = "/var/lib/fleet-snapshots",
|
|
pvc_size | String | default = "5Gi",
|
|
pvc_storage_class | String | default = "local-path",
|
|
upload_schedule | String | default = "*/30 * * * *",
|
|
upload_image | String | default = "ghcr.io/oras-project/oras:v1.3.0",
|
|
upload_registry | String | default = "daoreg.librecloud.online/libre-forge/fleet-state",
|
|
upload_artifact_type | String | default = "application/vnd.libre-forge.fleet-state.v1+json",
|
|
} | default = {},
|
|
|
|
pki | {
|
|
enabled | Bool | default = true,
|
|
ca_duration | String | default = "43800h",
|
|
ca_renew_before | String | default = "720h",
|
|
ca_parent_issuer | String | default = "buildkit-selfsigned-issuer",
|
|
ca_common_name | String | default = "Libre Daoshi Fleet CA",
|
|
cert_duration | String | default = "2160h",
|
|
cert_renew_before | String | default = "360h",
|
|
} | default = {},
|
|
|
|
netpol | {
|
|
enabled | Bool | default = true,
|
|
operator_ingress_cidrs | Array String | default = ["10.200.0.0/24"],
|
|
cluster_internal_cidrs | Array String | default = ["10.0.0.0/16"],
|
|
external_egress_https | Bool | default = true,
|
|
nats_namespace | String | default = "core-service",
|
|
} | default = {},
|
|
|
|
l2_announcement | {
|
|
enabled | Bool | default = false,
|
|
interfaces | Array String | default = ["enp7s0"],
|
|
} | default = {},
|
|
|
|
prometheus_rule | {
|
|
enabled | Bool | default = true,
|
|
selector | String | default = "kube-prometheus",
|
|
} | default = {},
|
|
|
|
sops | {
|
|
age_key_secret_ref | String,
|
|
},
|
|
|
|
requires | {
|
|
storage | { size | String, persistent | Bool } | optional,
|
|
ports | Array {
|
|
port | Number,
|
|
protocol | String | default = "TCP",
|
|
exposure | [| 'public, 'private, 'internal |] | default = 'internal,
|
|
} | default = [],
|
|
credentials | Array String | default = [],
|
|
} | default = {},
|
|
|
|
provides | {
|
|
service | String | optional,
|
|
port | Number | optional,
|
|
protocol | String | optional,
|
|
} | default = {},
|
|
|
|
operations | {
|
|
install | Bool | default = true,
|
|
update | Bool | default = true,
|
|
delete | Bool | default = true,
|
|
health | Bool | default = true,
|
|
restart | Bool | default = true,
|
|
} | default = {},
|
|
|
|
concerns | _concerns_lib.ServiceConcerns | optional,
|
|
|
|
..
|
|
},
|
|
}
|