SQACE Logo

VM Provisioning SaaS

Multi-tenant VM management platform

Login

Register

Resource Limits:

â€ĸ Max 3 VMs per tenant

â€ĸ Max 3 CPUs per tenant

â€ĸ Max 8 GB RAM per tenant

{{ authError }}

🚀 VM Provisioning SaaS

Welcome, {{ currentUser ? currentUser.username : '' }} ({{ currentUser.tenant.name }})(Admin)

Tenants

No Tenants Yet

Create your first tenant to get started, or wait for users to self-register.

{{ tenant.name }}

{{ tenant.email }}

{{ tenant.status }}
Max VMs: {{ tenant.quota_max_vms }}
Max CPUs: {{ tenant.quota_max_cpus }}
Max Memory: {{ tenant.quota_max_memory_gb }} GB

Instances

📋 Status Log

{{ log.time }} {{ log.message }}
Hostname (BASE) Status Tag IP Ports Resources Actions
{{ instance.hostname }}
{{ instance.template }}
{{ instance.status }} {{ instance.tag || 'nightly' }} {{ instance.ip_address || '-' }}
APP: {{ instance.ports.APP }}
REST: {{ instance.ports.REST }}
-
{{ instance.config.vm_cpus || 4 }} vCPU
{{ (instance.config.vm_mem || 16384) / 1024 }} GB

Recent Jobs

Job ID Tenant ID Instance Type Status Created Actions
{{ job.id.substring(0, 8) }} {{ job.tenant_id ? job.tenant_id.substring(0, 8) : '-' }} {{ job.hostname || '-' }} {{ job.job_type }} {{ job.status }} {{ new Date(job.created_at).toLocaleString() }}

VM Templates

{{ template.name }}

{{ template.description }}

CPUs: {{ template.default_config.vm_cpus }}
Memory: {{ (template.default_config.vm_mem / 1024) || 16 }} GB
Tag: {{ template.default_config.TAG }}

Create New Tenant

Reset Password

Passwords do not match

Create New Instance

Full hostname will be: {{ currentUser.tenant ? currentUser.tenant.name : 'company' }}.{{ newInstance.hostname || 'instance' }}.{{ domain }}

Examples: nightly, stable, v1.2.3

When enabled, allocates ADMIN_PORT_LOGIN and ADMIN_PORT_APP from the port pool

Auto-allocated:

  • ✓ Unique IP address
  • ✓ Unique ports (LOGIN, APP, REST, GRAFANA, DOCU)
  • ✓ Secure passwords for all databases

Instance Details

General

BASE_HOSTNAME: {{ selectedInstance.hostname }}
VM Name: {{ selectedInstance.config.vm_name || selectedInstance.hostname }}
IP Address: {{ selectedInstance.ip_address }}
Status: {{ selectedInstance.status }}
Template: {{ selectedInstance.template }}
Workspace: {{ selectedInstance.workspace_dir }}

Resources

CPUs: {{ selectedInstance.config.vm_cpus }}
Memory: {{ selectedInstance.config.vm_mem }} MB
Box: {{ selectedInstance.config.vm_box }}
Type: {{ selectedInstance.config.vm_type }}

Allocated Ports

LOGIN: {{ selectedInstance.ports.LOGIN }}
APP: {{ selectedInstance.ports.APP }}
REST: {{ selectedInstance.ports.REST }}
GRAFANA: {{ selectedInstance.ports.GRAFANA }}
DOCU: {{ selectedInstance.ports.DOCU }}
ADMIN_LOGIN: {{ selectedInstance.ports.ADMIN_LOGIN }}
ADMIN_APP: {{ selectedInstance.ports.ADMIN_APP }}
Use Admin Port: {{ selectedInstance.config.use_admin_port ? '✓ Yes' : '✗ No' }}

Podman Container Status

Loading...
{{ selectedInstance.podmanStatus }}
Click "Refresh Status" to load container information from the VM.

Container Logs

Loading...
{{ containerLogs }}
Select a container and click "Load Logs" to view logs.

Credentials (Vault)

🔒 Passwords are securely stored in the vault and auto-generated per instance.

Retrieve via API: GET /api/v1/instances/{{selectedInstance.id}}/secrets

Job Logs

Job ID: {{ selectedJob.id }}
Type: {{ selectedJob.job_type }}
Status: {{ selectedJob.status }}
{{ selectedJob.logs || 'No logs available' }}
Error: {{ selectedJob.error }}