feat(cluster): Add cluster setupMode (manual|hetzner|aws|digitalocean) with conditional Hetzner auto-provisioning; UI and dashboard improvements; dependency upgrades

This commit is contained in:
2025-09-05 16:07:46 +00:00
parent 330797ab1a
commit eefaa55e13
13 changed files with 392 additions and 314 deletions

View File

@@ -68,6 +68,18 @@ export class CloudlyViewClusters extends DeesElement {
.description=${'a descriptive name for the cluster'}
.value=${''}
></dees-input-text>
<dees-input-dropdown
.key=${'setupMode'}
.label=${'Setup Mode'}
.description=${'How the cluster infrastructure should be managed'}
.options=${[
{option: 'manual', key: 'manual', description: 'Manual Setup - Add your own servers manually'},
{option: 'hetzner', key: 'hetzner', description: 'Hetzner Cloud - Auto-provision servers on Hetzner'},
{option: 'aws', key: 'aws', description: 'AWS - Auto-provision on Amazon Web Services (coming soon)', disabled: true},
{option: 'digitalocean', key: 'digitalocean', description: 'DigitalOcean - Auto-provision on DigitalOcean (coming soon)', disabled: true}
]}
.selectedOption=${'manual'}
></dees-input-dropdown>
</dees-form>
`,
menuOptions: [
@@ -76,6 +88,7 @@ export class CloudlyViewClusters extends DeesElement {
action: async (modalArg) => {
const data: {
clusterName: string;
setupMode: 'manual' | 'hetzner' | 'aws' | 'digitalocean';
} = (await modalArg.shadowRoot
.querySelector('dees-form')
.collectFormData()) as any;