Barrack API Documentation
  1. vm
Barrack API Documentation
  • Platform Documentation
    • "Authentication & Access"
    • "Getting Started"
    • "Platform Documentation"
    • "Troubleshooting"
    • vm
      • "Advanced Configuration"
      • "Boot Source Configuration"
      • "GPU Configuration"
      • "Region Selection"
      • "SSH Key Configuration"
      • "VM States & Billing"
    • storage
      • "Managing Volumes"
      • "Storage Management"
    • ssh
      • "Creating SSH Keys"
      • "Importing SSH Keys"
      • "Managing SSH Keys"
    • security
      • "Attaching Firewalls to VMs"
      • "Firewall Management"
      • "Firewall Rules"
    • dashboard
      • "Dashboard Overview"
      • "VM Management"
    • backup
      • "Creating Snapshots"
      • "Custom Images"
      • "Managing Snapshots"
      • "Restoring Snapshots"
      • "Snapshots Management"
    • account
      • "Credits System"
      • "Account Management"
  • Balance
    • Get credit balance
      GET
  • GPU Stocks
    • Get GPU stock availability
      GET
  • GPU Specs
    • Get GPU specifications
      GET
  • Regions
    • List available regions
      GET
  • Pricing
    • Get pricing information
      GET
    • Get pricing information
      POST
  • Deploy Instance
    • Create a new instance
  • Instance management
    • List instances
    • Delete instance
    • Get instance billing
    • Hibernate instance
    • Reboot instance
    • Restore hibernated instance
    • Start instance
    • Stop instance
    • Toggle public IP for instance
    • Get instance details
    • Get hibernated instances count
    • Add instance security rule
    • Remove instance security rule
  • OS Images
    • List OS images
  • SSH Keys
    • List SSH keys
    • Create SSH key
    • Get SSH key
    • Delete SSH key
  • Scripts
    • List all startup scripts
    • Create a startup script
    • Get startup script details
    • Update a startup script
    • Delete a startup script
    • Delete multiple startup scripts
  • Firewalls
    • List firewalls
    • Get firewall details
    • Attach firewall to instances
    • Get firewalls attached to instance
    • Delete firewall
    • Remove firewall rule
    • Add firewall rule
    • Create firewall
    • Get supported protocols
    • List instances available for firewall attachment
    • List instances available for firewall attachment
  • Snapshots
    • List snapshots
    • Get snapshot billing
    • List Instance eligible for snapshot creation
    • Get snapshot details
    • Delete snapshot
    • Restore snapshot
    • Create snapshot
    • Create snapshot
    • Get snapshot billing
  • Images
    • List custom images
    • Get image details
    • Delete custom image
    • Create image from snapshot
    • Get snapshot-image relationship
    • Get snapshot-image relationship list
  • AI Chat
    • Chat with AI
    • Get AI usage summary
    • Get AI usage history
    • Get available AI models
  • Volumes
    • Attach volumes to instance
    • Detach volumes from instance
    • Clone volume
    • Resize volume
    • Get volume billing
    • List available volume types
    • List volumes
    • Create volume
    • Get volume details
    • Delete volume
  • Virtual Machines
    • Get firewalls attached to instance
    • Remove instance security rule
    • List Instance eligible for snapshot creation
  • Schemas
    • AITransaction
    • AddFirewallRuleRequest
    • AddFirewallRuleResponse
    • AddVMSecurityRuleResponse
    • AttachFirewallRequest
    • AggregatedBillingResponse
    • AttachFirewallResponse
    • AttachVolumesRequest
    • AttachVolumesResponse
    • AttachedFirewall
    • BatchSnapshotImageRelationshipResponse
    • Balance
    • Billing
    • ChatCompletionsRequest
    • ChatCompletionsResponse
    • CloneVolumeRequest
    • BillingRecord
    • CloneVolumeResponse
    • BillingSummary
    • CreateFirewallRequest
    • CreateFirewallResponse
    • CreateImageFromSnapshotRequest
    • CreateSSHKeyRequest
    • CreateScriptRequest
    • CreateSnapshotRequest
    • CreateSnapshotResponse
    • CreateSSHKeyResponse
    • CurrencyEnum
    • Data
    • CreditBalanceResponse
    • DeleteFirewallResponse
    • CreateVolumeRequest
    • DeleteSnapshotResponse
    • CreateVolumeResponse
    • DeleteVMResponse
    • DetachVolumesRequest
    • DetachVolumesResponse
    • DeploymentRequest
    • DirectionEnum
    • DeploymentResponse
    • EthertypeEnum
    • ErrorResponse
    • FirewallAttachment
    • DeleteVolumeResponse
    • DeleteSSHKeyResponse
    • FirewallEnvironment
    • FirewallResponse
    • FirewallRule
    • FirewallVM
    • GetBatchSnapshotImageRelationshipsRequest
    • GetFirewallDetailsResponse
    • GPUStockConfiguration
    • GPUSpec
    • GetHibernatedVMsResponse
    • GPUStockItem
    • GPUSpecsResponse
    • GetSupportedProtocolsResponse
    • GPUStocksResponse
    • GetVMAttachedFirewallsResponse
    • GetVolumeTypesResponse
    • HibernateVMResponse
    • HibernationBillingMetrics
    • ListFirewallsResponse
    • ListUserVMsResponse
    • ListVMsResponse
    • ModelsResponse
    • GetSSHKeysResponse
    • Pagination
    • PricingRequest
    • OSImage
    • PricingResponse
    • OSImagesResponse
    • Protocol
    • GpuCountEnum
    • ProtocolEnum
    • Image
    • GpuModelEnum
    • GetVolumeDetailsResponse
    • RebootVMResponse
    • ImageCreateResponse
    • RecentHibernation
    • ImageDeleteResponse
    • GetVolumesWithNextNameResponse
    • RemoveFirewallRuleResponse
    • ImageDetailResponse
    • RemoveVMSecurityRuleResponse
    • Region
    • ImageListResponse
    • ResizeVolumeRequest
    • RegionsResponse
    • Price
    • ResizeVolumeResponse
    • ResourceTypeEnum
    • RestoreSnapshotRequest
    • RestoreSnapshotResponse
    • RestoreVMResponse
    • Snapshot
    • SnapshotImageRelationshipResponse
    • Specs
    • StartVMResponse
    • StopVMResponse
    • TierEnum
    • UpdateScriptRequest
    • UsageHistoryResponse
    • UsageSummaryResponse
    • RegionEnum
    • UserVM
    • VMDetailsResponse
    • VMFlavor
    • VMImage
    • VMInstance
    • VMResponse
    • SpecsMetadata
    • VMSecurityRule
    • VMSecurityRuleRequest
    • VMStatus
    • VMVolumeAttachment
    • Script
    • VolumeTypeEnum
    • SSHKeyResponse
    • ScriptListResponse
    • ToggleVMPublicIPResponse
    • VolumeBillingRecord
    • VolumeBillingSummary
    • VolumeHourlyBillingResponse
    • VolumeResponse
  1. vm

"Boot Source Configuration"

Select from available boot source options to configure how your virtual machine will start and what operating system it will run.
Choose the boot source that best fits your deployment needs:
OS Images
Pre-configured operating systems optimized for GPU workloads
Ubuntu with CUDA pre-installed
Docker variants available
Optimized for AI/ML workloads
Ready to use immediately
Volumes
Boot from existing storage volume (authenticated users only)
Custom OS configurations
Persistent between deployments
Pre-installed software preserved
Minimum 100GB required
Custom Images
Use your own saved VM images (authenticated users only)
Created from your snapshots
Standardized environments
Team collaboration
Version-controlled deployments

OS Images#

Pre-configured operating systems optimized for GPU workloads and machine learning applications.

Available OS Images#

Ubuntu 22.04 LTS
Ubuntu 20.04 LTS
Latest Long-term Support Release
Ubuntu Server 22.04 LTS R550 CUDA 12.4
NVIDIA Driver: R550 (latest stable)
CUDA Version: 12.4
Python: 3.10.x pre-installed
Package Manager: APT with GPU-optimized repositories
Best For: Latest AI frameworks, new projects
Ubuntu Server 22.04 LTS R550 CUDA 12.4 with Docker
All features above plus:
Docker: Latest Docker Engine pre-installed
Docker Compose: Ready for container workflows
NVIDIA Container Toolkit: GPU support in containers
Best For: Containerized AI/ML workloads

OS Image Features#

All OS images include:
GPU Optimization
Development Tools
AI/ML Libraries
System Configuration

Image Selection Guidelines#

Choose Ubuntu 22.04
When You Need:
Latest software versions
Newest CUDA features
Modern Python 3.10+
Latest container support
New project development
Choose Ubuntu 20.04
When You Need:
Proven stability
Legacy software compatibility
Production environments
Extended support lifecycle
Conservative update approach

Bootable Volumes#

Boot from an existing storage volume that contains a complete operating system and your custom configurations.

Volume Requirements#

Creating Bootable Volumes#

1
Create Volume
Navigate to Volumes and create a new volume:
Enable "Make Bootable" option
Select an OS image for initialization
Size must be at least 100GB
Choose the same region as your planned VM
2
Customize OS
Deploy a VM using the bootable volume:
Install required software and tools
Configure system settings
Set up applications and services
Create user accounts and permissions
3
Create Snapshot
Take a snapshot of the configured volume:
Ensures you have a backup of your configuration
Allows creating multiple identical volumes
Enables version control of your environment
4
Use for Deployment
Use the bootable volume for new VM deployments:
Select volume as boot source during deployment
Enjoy instant access to pre-configured environment
Consistent setup across multiple VMs

Bootable Volume Benefits#

Persistent Configurations
Rapid Deployment
Team Standardization
Version Control

Custom Images#

Use your own saved VM images created from snapshots for standardized deployments.

Image Creation Process#

1
Configure Source VM
Set up a VM with your desired configuration:
Install and configure all required software
Set up user accounts and permissions
Configure system settings and optimizations
Test all functionality thoroughly
2
Create Snapshot
Take a snapshot of the configured VM:
Navigate to Snapshots
Select your configured VM
Enable "Create as Image" option
Provide descriptive name and documentation
3
Verify Image
Test the custom image:
Deploy a new VM using the custom image
Verify all configurations are preserved
Test application functionality
Validate performance characteristics
4
Use for Production
Deploy production VMs using the custom image:
Consistent environments across deployments
Faster deployment times
Reduced configuration errors
Standardized production environments

Custom Image Advantages#

Environment Consistency
Standardized Deployments
Identical software versions across VMs
Consistent configuration settings
Predictable performance characteristics
Reduced deployment variability
Operational Efficiency
Streamlined Operations
Faster VM deployment times
Reduced manual configuration
Lower risk of configuration errors
Simplified troubleshooting

Image Management Best Practices#

Naming Conventions
Version Control
Documentation
Testing Strategy

Boot Source Selection Guide#

Decision Matrix#

Quick Start
Custom Environment
Standardized Deployment
OS Images
Choose When:
Starting a new project
Need immediate GPU-ready environment
Want latest drivers and software
Prefer standard configurations
Best For: Development, experimentation, proof of concepts

Regional Considerations#

Cross-Region Deployment#

If you need to deploy across multiple regions:
1
Plan Multi-Region Strategy
Identify which boot sources you need in each region
Plan for image/volume replication needs
Consider regional compliance requirements
2
Create Regional Resources
Create bootable volumes in each target region
Generate custom images in required regions
Test deployment procedures in each region
3
Maintain Consistency
Keep images synchronized across regions
Document regional differences
Test cross-region compatibility

Performance Considerations#

Boot Time Optimization#

OS Images
Fastest Boot Times
Optimized for quick startup
Minimal additional configuration
Standard driver initialization
Ready for immediate use
Custom Sources
Configuration-Dependent
Boot time depends on customizations
Complex setups may increase boot time
Pre-installed software adds to startup
Consider startup script optimization

Storage Performance#

OS Image Performance
Volume Performance
Image Performance

Security Considerations#

Boot Source Security#

Security Validation#

1
Verify Source Integrity
Use only trusted OS images
Validate custom image sources
Check bootable volume history
Verify no unauthorized modifications
2
Apply Security Updates
Update OS images regularly
Maintain custom images with security patches
Update bootable volumes periodically
Monitor security advisories
3
Configure Security
Apply appropriate security configurations
Configure firewalls and access controls
Set up monitoring and logging
Implement intrusion detection
Previous
"Advanced Configuration"
Next
"GPU Configuration"
Built with