Refactor CloudComponent to remove Talos version handling and update labels for clarity; streamline cluster configuration management.
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user