Refactor CloudComponent to remove Talos version handling and update labels for clarity; streamline cluster configuration management.

This commit is contained in:
2026-02-01 11:09:32 +00:00
parent 0d4fb41e7e
commit 2d65569a28
2 changed files with 5 additions and 48 deletions

View File

@@ -1,18 +1,9 @@
server:
port: 5055
host: 0.0.0.0
cloud:
domain: wildcloud.local
internalDomain: cluster.local
dns:
ip: 192.168.8.50
router:
ip: 192.168.8.1
dhcpRange: 192.168.8.100,192.168.8.200
dnsmasq:
ip: 192.168.8.50
interface: eth0
cluster:
endpointIp: 192.168.8.60
nodes:
talos:
version: v1.8.0

View File

@@ -18,9 +18,6 @@ interface ClusterConfig {
control: {
vip: string;
};
talos: {
version: string;
};
};
}
@@ -168,25 +165,13 @@ export function CloudComponent() {
setClusterFormValues(prev => {
if (!prev) return prev;
// Handle nested paths like "nodes.talos.version" or "nodes.control.vip"
// Handle nested paths like "nodes.control.vip"
const keys = path.split('.');
if (keys.length === 1) {
return { ...prev, [keys[0]]: value };
}
if (keys.length === 3 && keys[0] === 'nodes') {
if (keys[1] === 'talos') {
return {
...prev,
nodes: {
...prev.nodes,
talos: {
...prev.nodes.talos,
[keys[2]]: value,
},
},
};
}
if (keys[1] === 'control') {
return {
...prev,
@@ -449,7 +434,7 @@ export function CloudComponent() {
{editingCluster ? (
<div className="space-y-3">
<div>
<Label htmlFor="endpoint-ip-edit">Cluster Endpoint IP</Label>
<Label htmlFor="endpoint-ip-edit">Cluster Control Endpoint IP</Label>
<Input
id="endpoint-ip-edit"
value={clusterFormValues.nodes.control.vip}
@@ -474,19 +459,6 @@ export function CloudComponent() {
Prefix for auto-generated node hostnames (e.g., "mycluster-control-1")
</p>
</div>
<div>
<Label htmlFor="talos-version-edit">Talos Version</Label>
<Input
id="talos-version-edit"
value={clusterFormValues.nodes.talos.version}
onChange={(e) => updateClusterFormValue('nodes.talos.version', e.target.value)}
placeholder="v1.8.0"
className="mt-1"
/>
<p className="text-xs text-muted-foreground mt-1">
Talos Linux version for cluster nodes
</p>
</div>
<div className="flex gap-2">
<Button size="sm" onClick={handleClusterSave} disabled={isUpdating}>
{isUpdating ? (
@@ -510,7 +482,7 @@ export function CloudComponent() {
) : (
<div className="space-y-3">
<div>
<Label>Cluster Endpoint IP</Label>
<Label>Cluster Control Endpoint IP (VIP)</Label>
<div className="mt-1 p-2 bg-muted rounded-md font-mono text-sm">
{clusterFormValues.nodes.control.vip}
</div>
@@ -521,12 +493,6 @@ export function CloudComponent() {
{clusterFormValues.hostnamePrefix || '(none)'}
</div>
</div>
<div>
<Label>Talos Version</Label>
<div className="mt-1 p-2 bg-muted rounded-md font-mono text-sm">
{clusterFormValues.nodes.talos.version}
</div>
</div>
</div>
)}
</Card>