portafile.yaml Fields
source_template: required, no default; allowed values: alpine-3.17, centos-9-stream, opensuse-15.4, ubuntu-20.04.
name: optional, no default in YAML; pre-fills device name.
hostname: optional, no default in YAML; pre-fills hostname.
resources: optional object; any missing resource key falls back to defaults.
resources.disk_gib (alias disk): optional, default 3.
resources.ram_mib (alias ram): optional, default 1024.
resources.cpus (aliases cpu, cpu_share): optional, default 0.1.
project_paths: optional list of project folder paths to register (for example /workspace).
instructions or steps: optional list; supports string commands or objects using command/cmd/run.
expose_ports: optional list of ports to expose.
metadata: optional object for extra values.
Example
source_template: ubuntu-20.04
name: Demo Service
hostname: demo-service
resources:
disk_gib: 10
ram_mib: 2048
cpus: 0.5
project_paths:
- /workspace
- /workspace/demo-service
instructions:
- command: sudo apt-get update
- run: sudo apt-get install -y docker.io
expose_ports:
- 8080
metadata:
project: demo-service