Barrack API Documentation
  1. Advanced Configurations
Barrack API Documentation
  • Platform Documentation
    • Getting Started
    • Authentication & Access
    • Account Management
    • API Keys
    • GPU Models
    • Regions
    • Instance
      • OS Images
      • Bootsource Management
      • Deploy Instance
      • Instance Management
      • Hibernation
      • View Instances
    • SSH Keys
      • Add SSH Keys
      • Manage SSH Keys
    • Volumes
      • Overview
      • Create Volume
      • List and View Volumes
      • Attach Volumes
      • Detach Volumes
      • Clone Volumes
      • Resize Volume
      • Delete Volume
    • Advanced Configurations
      • Network And Security
      • Cloudinit Script
      • Startup Script
    • Firewall
      • Manage Firewall
      • Rules and Attachment
    • Snapshot
      • Overview
      • Manage Snapshots
      • Restore Snapshots
    • Custom Images
      • Overview
      • Create and Manage Images
    • dashboard
      • "Dashboard Overview"
      • "VM Management"
    • AI Chat
      • AI Chat
  • 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
    • Get instance details
    • Get instance billing
    • Start instance
    • Stop instance
    • Reboot instance
    • Hibernate instance
    • Restore hibernated instance
    • Toggle public IP for instance
    • Add instance security rule
    • Remove instance security rule
    • Delete instance
  • OS Images
    • List OS images
  • SSH Keys
    • List SSH keys
    • Get SSH key
    • Create SSH key
    • Delete SSH key
  • Volumes
    • List volumes
    • Create volume
    • Get volume details
    • Delete volume
    • Resize volume
    • Clone volume
    • Attach volumes to instance
    • Detach volumes from instance
    • List available volume types
    • Get volume billing
  • Firewalls
    • List firewalls
    • Get firewall details
    • Get supported protocols
    • Get firewalls attached to instance
    • List instances available for firewall attachment
    • Create firewall
    • Delete firewall
    • Add firewall rule
    • Remove firewall rule
    • Attach firewall to instances
  • Scripts
    • List all startup scripts
    • Get startup script details
    • Create a startup script
    • Update a startup script
    • Delete a startup script
    • Delete multiple startup scripts
  • Snapshots
    • List snapshots
    • Get snapshot details
    • List Instance eligible for snapshot creation
    • Get snapshot billing
    • Create snapshot
    • Delete snapshot
    • Restore snapshot
  • Images
    • List custom images
    • Get image details
    • Create image from snapshot
    • Delete custom image
    • Get snapshot-image relationship
    • Get snapshot-image relationship list
  • AI Chat
    • Get available AI models
    • Chat with AI
    • Get AI usage summary
    • Get AI usage history
  • 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. Advanced Configurations

Cloudinit Script

Cloud-Init Scripts#

Cloud-init provides one-time instance initialization for Legacy tier (CANADA-1) deployments. Unlike Startup Scripts which are reusable libraries, cloud-init scripts are single-use and configured per deployment.

Availability#

Region: CANADA-1
Tier: Legacy

Key Differences: Cloud-Init vs Startup Scripts#

FeatureCloud-Init (Legacy)Startup Scripts (Advanced)
RegionsCANADA-1 onlyFinland-1/2/3, Iceland-1
ReusabilitySingle-use, configured per deploymentReusable library, select from saved scripts
Script TypesBash or Cloud-ConfigAny shell script
StorageNot saved after deploymentSaved in your account
ManagementNo editing after deploymentCreate, edit, delete anytime

Script Types#

Bash Script#

Shell script that executes during first boot.
Format:
Requirements:
Must start with #!/bin/bash on first line
Executes with root privileges
Maximum 16KB

Cloud-Config#

YAML-based configuration for cloud-init.
Format:
Requirements:
Must start with #cloud-config on first line
Uses cloud-init YAML syntax
Maximum 16KB

Common Use Cases#

Cloud-init scripts typically handle:
Install packages (nginx, docker, monitoring tools)
Create users and configure SSH access
Modify system files and service configurations
Run one-time setup commands
Package Installation:
User Configuration:

Requirements#

Size: Maximum 16KB (16,384 bytes)
Header: Required shebang (#!/bin/bash) or cloud-config header (#cloud-config) on first line
Execution: Runs once during instance first boot with root privileges
Format: YAML must use spaces for indentation, not tabs

Using Cloud-Init Scripts#

1
Open Script Editor
Deploy Instance → Advanced Configuration → "Add Cloud-Init Script"
2
Select Script Type
Click "Bash Script" or "Cloud-Config" button
3
Write Script
Enter your initialization commands (max 16KB)
4
Save
Click save - editor shows character count at bottom
5
Deploy Instance
Script executes automatically during first boot
Size Indicator:
Bottom of editor displays current character count and maximum limit (16,384 characters / 16KB).

Execution Details#

Timing: Runs during instance first boot only
Privileges: Root access
Persistence: Not saved for reuse (single deployment only)
Optional: Cloud-init scripts are not required for deployment
Common Errors

Support#

Email Support
Technical assistance with cloud-init: [email protected]
Deploy Instance
Complete deployment guide with configuration options
Previous
Network And Security
Next
Startup Script
Built with