preparing new 3rd pve node #30

Merged
kasun merged 4 commits from add-3rd-proxmox-node into main 2026-07-28 22:28:11 +02:00
Showing only changes of commit ddf3ff9717 - Show all commits
+27 -21
View File
@@ -47,6 +47,12 @@ const pveEsprimoProvider = new proxmox.Provider("pve-esprimo", {
insecure: true,
});
const pveNodes = {
"pve-b550": { nodeName: "pve", isoStore: "pve-local-ext1", dataStore: "local-lvm" },
"pve-optiplex": { nodeName: "pve-bckp", isoStore: "local", dataStore: "local" },
"pve-esprimo": { nodeName: "pve", isoStore: "local", dataStore: "local-lvm" },
} as const;
// ---------------------------------------------------------------------------
// Providers — PfSense
// ---------------------------------------------------------------------------
@@ -77,8 +83,8 @@ const ubuntuNobleUrl =
const ubuntuImagePve = new proxmox.download.File(
"ubuntu-noble-pve",
{
nodeName: "pve",
datastoreId: "pve-local-ext1",
nodeName: pveNodes["pve-b550"].nodeName,
datastoreId: pveNodes["pve-b550"].isoStore,
contentType: "import",
fileName: "noble-server-cloudimg-amd64.qcow2",
url: ubuntuNobleUrl,
@@ -91,8 +97,8 @@ const ubuntuImagePve = new proxmox.download.File(
const ubuntuImagePveBckp = new proxmox.download.File(
"ubuntu-noble-pve-bckp",
{
nodeName: "pve-bckp",
datastoreId: "local",
nodeName: pveNodes["pve-optiplex"].nodeName,
datastoreId: pveNodes["pve-optiplex"].isoStore,
contentType: "import",
fileName: "noble-server-cloudimg-amd64.qcow2",
url: ubuntuNobleUrl,
@@ -105,8 +111,8 @@ const ubuntuImagePveBckp = new proxmox.download.File(
const ubuntuImagePveEsprimo = new proxmox.download.File(
"ubuntu-noble-pve-esprimo",
{
nodeName: "pve",
datastoreId: "local",
nodeName: pveNodes["pve-esprimo"].nodeName,
datastoreId: pveNodes["pve-esprimo"].isoStore,
contentType: "import",
fileName: "noble-server-cloudimg-amd64.qcow2",
url: ubuntuNobleUrl,
@@ -152,7 +158,7 @@ const pveTemplate = new proxmox.VmLegacy(
disks: [
{
interface: "scsi0",
datastoreId: "local-lvm",
datastoreId: pveNodes["pve-b550"].dataStore,
importFrom: pulumi.interpolate`${ubuntuImagePve.datastoreId}:import/${ubuntuImagePve.fileName}`,
size: 10,
ssd: true,
@@ -172,7 +178,7 @@ const pveBckpTemplate = new proxmox.VmLegacy(
disks: [
{
interface: "scsi0",
datastoreId: "local",
datastoreId: pveNodes["pve-optiplex"].dataStore,
importFrom: pulumi.interpolate`${ubuntuImagePveBckp.datastoreId}:import/${ubuntuImagePveBckp.fileName}`,
size: 10,
ssd: true,
@@ -192,7 +198,7 @@ const pveEsprimoTemplate = new proxmox.VmLegacy(
disks: [
{
interface: "scsi0",
datastoreId: "local",
datastoreId: pveNodes["pve-esprimo"].dataStore,
importFrom: pulumi.interpolate`${ubuntuImagePveEsprimo.datastoreId}:import/${ubuntuImagePveEsprimo.fileName}`,
size: 10,
ssd: true,
@@ -225,57 +231,57 @@ const nodeConfigs: NodeConfig[] = [
{
name: "k3s-master-1",
role: "master",
nodeName: "pve",
nodeName: pveNodes["pve-b550"].nodeName,
provider: pveProvider,
template: pveTemplate,
diskDatastore: "local-lvm",
diskDatastore: pveNodes["pve-b550"].dataStore,
ip: master1Ip,
},
{
name: "k3s-master-2",
role: "master",
nodeName: "pve",
nodeName: pveNodes["pve-esprimo"].nodeName,
provider: pveEsprimoProvider,
template: pveTemplate,
diskDatastore: "local-lvm",
diskDatastore: pveNodes["pve-esprimo"].dataStore,
ip: master2Ip,
},
{
name: "k3s-worker-1",
role: "worker",
nodeName: "pve",
nodeName: pveNodes["pve-b550"].nodeName,
provider: pveProvider,
template: pveTemplate,
diskDatastore: "local-lvm",
diskDatastore: pveNodes["pve-b550"].dataStore,
ip: worker1Ip,
longhornDiskSize: 50,
},
{
name: "k3s-master-3",
role: "master",
nodeName: "pve-bckp",
nodeName: pveNodes["pve-optiplex"].nodeName,
provider: pveBckpProvider,
template: pveBckpTemplate,
diskDatastore: "local",
diskDatastore: pveNodes["pve-optiplex"].dataStore,
ip: master3Ip,
},
{
name: "k3s-worker-2",
role: "worker",
nodeName: "pve-bckp",
nodeName: pveNodes["pve-optiplex"].nodeName,
provider: pveBckpProvider,
template: pveBckpTemplate,
diskDatastore: "local",
diskDatastore: pveNodes["pve-optiplex"].dataStore,
ip: worker2Ip,
longhornDiskSize: 50,
},
{
name: "k3s-worker-3",
role: "worker",
nodeName: "pve",
nodeName: pveNodes["pve-esprimo"].nodeName,
provider: pveEsprimoProvider,
template: pveEsprimoTemplate,
diskDatastore: "local",
diskDatastore: pveNodes["pve-esprimo"].dataStore,
ip: worker3Ip,
longhornDiskSize: 50,
},