CluPilotCloud/app/Provisioning/Steps/Host/ConfigureProxmox.php

34 lines
910 B
PHP

<?php
namespace App\Provisioning\Steps\Host;
use App\Models\ProvisioningRun;
use App\Provisioning\StepResult;
use App\Services\Ssh\RemoteShell;
/**
* Baseline Proxmox configuration after the kernel switch: ensure the default
* bridge exists and drop the enterprise repo. Idempotent and best-effort.
*/
class ConfigureProxmox extends HostStep
{
public function __construct(private RemoteShell $shell) {}
public function key(): string
{
return 'configure_proxmox';
}
public function execute(ProvisioningRun $run): StepResult
{
$host = $this->host($run);
$this->keyLogin($this->shell, $host);
// Most PVE installs create vmbr0; record its absence for real-host follow-up.
$this->shell->run('ip link show vmbr0');
$this->shell->run('rm -f /etc/apt/sources.list.d/pve-enterprise.list');
return StepResult::advance();
}
}