User Tools

Site Tools


main:guides:guid_continuous_delivery_file_contents

This is an old revision of the document!


Guide for AppDB Virtual Appliance Continuous Delivery File Format


Continuous delivery file contains an object describing the current virtual appliance metadata.


Schema

The contents must be wrapped inside a appdb field.

Fields Type Constraints Mandatory Defaults Accepted Values
version text maximum 20 chars yes
exspireson number yes 12 3, 6, 9, 12 (note: value represent months)
notes text maximum 1000 chars yes
url text any valid http(s) url yes
arch text yes text value from archs api
os object yes
os family text yes text value from oses api
os name text yes text value from oses api
os version text maximum 60 chars yes
format text maximum 20 chars yes
hypervisor text yes text value from hypervisors api
cores object no
cores minimum number < =recommended no 1, 2, 4, 8, 16, 32
cores recommendednumber > =minimum no 1, 2, 4, 8, 16, 32
ram object no
ram minimum number ⇐recommended no 64MB, 128MB, 256MB, 512MB, 1GB, 2GB, 3GB, 4GB, 5GB, 6GB, 8GB, 10GB, 12GB, 14GB, 16GB, 24GB, 32GB
ram recommendednumber > =minimum no 64MB, 128MB, 256MB, 512MB, 1GB, 2GB, 3GB, 4GB, 5GB, 6GB, 8GB, 10GB, 12GB, 14GB, 16GB, 24GB, 32GB
network_traffic object[] no
network_traffic direction text no inbound, outbound
network_traffic protocols text no tcp, udp, icmp, ipsec
network_traffic port_range text format ”<port_from>:<port_to>” no eg “80:80”, “3000:3010”
accelerator object no
accelerator type text no GPU
accelerator minimum number < =recommended no 0 1, 2, 4, 8, 16, 32
accelerator recommendednumber > =minimum no 0 1, 2, 4, 8, 16, 32

Examples

Βelow are some examples with pseudo values in various formats.

Example 1: Basic configuration

XML File

<appdb>
  <version>1.0.0</version>
  <expireson>3</expireson>
  <notes>This version will expire in 3 months</notes>
  <url>https://mydomain.com/images/myvmimagefile.iso</url>
  <arch>x86_64</arch>
  <os>
    <family>Linux</family>
    <name>Fedora</name>
    <version>25</version>
  </os>
  <format>ISO</format>
  <hypervisor>Xen</hypervisor>
</appdb>

JSON File

{
  "appdb": {
    "version": "1.0.0",
    "expireson": 3,
    "notes": "This version will expire in 3 months",
    "url": "https://mydomain.com/images/myvmimagefile.iso",
    "arch": "x86_64",
    "os": {
      "family": "Linux",
      "name": "Fedora",
      "version": "25"
    },
    "format": "ISO",
    "hypervisor": "Xen"
  }
}

YAML File

---
appdb:
  version: 1.0.0
  expireson: 3
  notes: This version will expire in 3 months
  url: https://mydomain.com/images/myvmimagefile.iso
  arch: x86_64
  os:
    family: Linux
    name: Fedora
    version: '25'
  format: ISO
  hypervisor: Xen

Example 2: Extended configuration

XML File

<appdb>
  <version>1.0.0</version>
  <expireson>3</expireson>
  <notes>This version will expire in 3 months</notes>
  <url>https://mydomain.com/images/myvmimagefile.iso</url>
  <arch>x86_64</arch>
  <os>
    <family>Linux</family>
    <name>Fedora</name>
    <version>25</version>
  </os>
  <format>ISO</format>
  <hypervisor>Xen</hypervisor>
  <cores>
    <minimum>2</minimum>
    <recommended>4</recommended>
  </cores>
  <ram>
    <minimum>1GB</minimum>
    <recommended>4GB</recommended>
  </ram>
  <accelerator>
    <type>GPU</type>
    <minimum>1</minimum>
    <recommended>2</recommended>
  </accelerator>
  <network_traffic>
    <direction>inbound</direction>
    <protocols>TCP</protocols>
    <port_range>80:80</port_range>
  </network_traffic>
  <network_traffic>
    <direction>outbound</direction>
    <protocols>TCP</protocols>
    <port_range>80:80</port_range>
  </network_traffic>
</appdb>

JSON File

{
  "appdb": {
    "version": "1.0.0",
    "expireson": 3,
    "notes": "This version will expire in 3 months",
    "url": "https://mydomain.com/images/myvmimagefile.iso",
    "arch": "x86_64",
    "os": {
      "family": "Linux",
      "name": "Fedora",
      "version": "25"
    },
    "format": "ISO",
    "hypervisor": "Xen",
    "cores": {
      "minimum": 2,
      "recommended": 4
    },
    "ram": {
      "minimum": "1GB",
      "recommended": "4GB"
    },
    "accelerator": {
      "type": "GPU",
      "minimum": 1,
      "recommended": 2
    },
    "network_traffic": [
      {
        "direction": "inbound",
        "protocols": "TCP",
        "port_range": "80:80"
      },
      {
        "direction": "outbound",
        "protocols": "TCP",
        "port_range": "80:80"
      }
    ]
  }
}

YAML File

---
appdb:
  version: 1.0.0
  expireson: 3
  notes: This version will expire in 3 months
  url: https://mydomain.com/images/myvmimagefile.iso
  arch: x86_64
  os:
    family: Linux
    name: Fedora
    version: '25'
  format: ISO
  hypervisor: Xen
  cores:
    minimum: 2
    recommended: 4
  ram:
    minimum: 1GB
    recommended: 4GB
  accelerator:
    type: GPU
    minimum: 1
    recommended: 2
  network_traffic:
  - direction: inbound
    protocols: TCP
    port_range: 80:80
  - direction: outbound
    protocols: TCP
    port_range: 80:80
main/guides/guid_continuous_delivery_file_contents.1526302979.txt.gz · Last modified: 2018/05/14 13:02 by 95f48b0f5770dfea3f2652eb733ce711e99132a48ab3fefbe2ad073a6752078c@egi.eu