setup: fix provider pre-selection and ip detection

This commit is contained in:
Girish Ramakrishnan
2025-09-07 13:01:51 +02:00
parent 0a1870d862
commit 904994ae24
+23 -1
View File
@@ -129,11 +129,33 @@ function onCopyToClipboard(value) {
onMounted(async () => {
const search = decodeURIComponent(window.location.search).slice(1).split('&').map(function (item) { return item.split('='); }).reduce(function (o, k) { o[k[0]] = k[1]; return o; }, {});
const [error, result] = await provisionModel.status();
let [error, result] = await provisionModel.status();
if (error) return console.error(error);
if (redirectIfNeeded(result, 'setup')) return; // redirected to some other view...
if (result.setup.active) return waitForDnsSetup();
formError.value.generic = result.setup.errorMessage; // show any previous error
if (result.provider === 'digitalocean' || result.provider === 'digitalocean-mp') {
provider.value = 'digitalocean';
} else if (result.provider === 'linode' || result.provider === 'linode-oneclick' || result.provider === 'linode-stackscript') {
provider.value = 'linode';
} else if (result.provider === 'vultr' || result.provider === 'vultr-mp') {
provider.value = 'vultr';
} else if (result.provider === 'gce') {
provider.value = 'gcdns';
} else if (result.provider === 'ami') {
// aws marketplace made a policy change that they one cannot provide route53 IAM credentials
provider.value = 'wildcard';
}
[error, result] = await provisionModel.detectIp();
if (error) return console.error(error); // detectIp is not supposed to error
ipv4Provider.value = result.ipv4 ? 'generic' : 'noop';
ipv6Provider.value = result.ipv6 ? 'generic' : 'noop';
instanceId.value = search.instanceId;
setupToken.value = search.setupToken;