User Tools

Site Tools


main:guides:guid_continuous_delivery_file_contents

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

main:guides:guid_continuous_delivery_file_contents [2018/05/10 15:05]
7dec9e27b58a2d54a2a96a538813e805058cb792ed68e744a68d87708e39628c@egi.eu created
main:guides:guid_continuous_delivery_file_contents [2019/01/16 14:20] (current)
7dec9e27b58a2d54a2a96a538813e805058cb792ed68e744a68d87708e39628c@egi.eu
Line 1: Line 1:
 <fs 1.5em>​**Guide for AppDB Virtual Appliance Continuous Delivery File Format**</​fs>​ <fs 1.5em>​**Guide for AppDB Virtual Appliance Continuous Delivery File Format**</​fs>​
 ---- ----
-<fs 1.2em>​Continuous delivery file contains ​an object ​describing the current virtual appliance metadata. </fs>+<fs 1.2em>​Continuous delivery file contains ​information ​describing the current virtual appliance metadata. </fs>
 ---- ----
- +<​html><​p style="​border:​1px solid #aeaeae; background-color:​ #fff7d5; padding: 5px 10px;​line-height:​ 20px;"><​span style="​padding-right:​ 10px;​font-size:​ 18px;"><​b>​!</​b></​span><​span>​Currently only <​b>​JSON</​b>,​ <​b>​XML</​b>​ or <​b>​YAML</​b>​ formatted files are supported. See file structure examples in the <​i>"​Examples"</​i>​ section bellow.</​span></​p></​html>​ 
-====Schema====+=====Schema=====
 The contents must be wrapped inside a **appdb** field. The contents must be wrapped inside a **appdb** field.
-Level 1         Level 2   ^ Type         ​^ Constraints ​                          ^ Mandatory ​ ^ Defaults ​ ^ Accepted Values ^ +Fields ​                     ​^^ Type        ^ Constraints ​                          ^ Mandatory ​ ^ Defaults ​ ^ Accepted Values ^ 
-|version ​         |           ​|text ​         |maximum 20 chars, not used before ​     ​|TRUE        ​|          |                  | +|version ​         |           ​|text ​         |maximum 20 chars                       ​|yes         |          |                  | 
-|exspireson ​      ​| ​          ​|number ​       |                                       |TRUE        ​|12        |3, 6, 9, 12 (**note**: ​represents ​months)| +|exspireson ​      ​| ​          ​|number ​       |                                       |yes         |12        |3, 6, 9, 12 (**note**: ​value represent ​months)| 
-|notes ​           |           ​|text ​         |maximum 1000 chars                     |TRUE        ​|          |                  | +|notes ​           |           ​|text ​         |maximum 1000 chars                     |yes         |          |                  | 
-|url              |           ​|text ​         |any valid http(s) url                  |TRUE        ​|          |                  | +|url              |           ​|text ​         |any valid http(s) url                  |yes         |          |                  | 
-|arch             ​| ​          ​|text ​         |                                       |TRUE        ​|          |text value from [[https://​appdb.egi.eu/​rest/​1.0/​applications/​archs|archs api]]| +|arch             ​| ​          ​|text ​         |                                       |yes         |          |text value from [[https://​appdb.egi.eu/​rest/​1.0/​applications/​archs|archs api]]| 
-|os               ​| ​          ​|object ​       |                                       |TRUE        ​|          |                  | +|os               ​| ​          ​|object ​       |                                       |yes         |          |                  | 
-|os               ​|family ​    ​|text ​         |                                       |TRUE        ​|          |text value from [[https://​appdb.egi.eu/​rest/​1.0/​applications/​oses|oses api]]| +|os               ​|family ​    ​|text ​         |                                       |yes         |          |text value from [[https://​appdb.egi.eu/​rest/​1.0/​applications/​oses|oses api]]| 
-|os               ​|name ​      ​|text ​         |                                       |TRUE        ​|          |text value from [[https://​appdb.egi.eu/​rest/​1.0/​applications/​oses|oses api]]| +|os               ​|name ​      ​|text ​         |                                       |yes         |          |text value from [[https://​appdb.egi.eu/​rest/​1.0/​applications/​oses|oses api]]| 
-|os               ​|version ​   |text          |maximum 60 chars                       |TRUE        ​|          |                  | +|os               ​|version ​   |text          |maximum 60 chars                       |yes         |          |                  | 
-|format ​          ​| ​          ​|text ​         |maximum 20 chars                       |TRUE        ​|          |                  | +|format ​          ​| ​          ​|text ​         |maximum 20 chars                       |yes         |          |                  | 
-|hypervisor ​      ​| ​          ​|text ​         |                                       |TRUE        ​|          |text value from [[https://​appdb.egi.eu/​rest/​1.0/​applications/​hypervisors|hypervisors api]]| +|hypervisor ​      ​| ​          ​|text ​         |                                       |yes         |          |text value from [[https://​appdb.egi.eu/​rest/​1.0/​applications/​hypervisors|hypervisors api]]| 
-|cores ​           |           ​|object ​       |                                       |FALSE       |          |                  | +|cores ​           |           ​|object ​       |                                       |no          ​|          |                  | 
-|cores ​           |minimum ​   |number ​       |< =recommended ​(if recommended is set) |FALSE       |          |1, 2, 4, 8, 16, 32| +|cores ​           |minimum ​   |number ​       |< =recommended ​                        ​|no          ​|          |1, 2, 4, 8, 16, 32| 
-|cores ​           |recommended|number ​       |> =minimum ​(if minimum is set)         |FALSE       |          |1, 2, 4, 8, 16, 32| +|cores ​           |recommended|number ​       |> =minimum ​                            ​|no          ​|          |1, 2, 4, 8, 16, 32| 
-|ram              |           ​|object ​       |                                       |FALSE       |          |                  | +|ram              |           ​|object ​       |                                       |no          ​|          |                  | 
-|ram              |minimum ​   |number ​       |< =recommended ​(if recommended is set) |FALSE       |          |64MB, 128MB, 256MB, 512MB, 1GB, 2GB, 3GB, 4GB, 5GB, 6GB, 8GB, 10GB, 12GB, 14GB, 16GB, 24GB, 32GB| +|ram              |minimum ​   |number ​       |<​=recommended ​                         |no          ​|          |64MB, 128MB, 256MB, 512MB, 1GB, 2GB, 3GB, 4GB, 5GB, 6GB, 8GB, 10GB, 12GB, 14GB, 16GB, 24GB, 32GB| 
-|ram              |recommended|number ​       |> =minimum ​(if minimum is set)         |FALSE       |          |64MB, 128MB, 256MB, 512MB, 1GB, 2GB, 3GB, 4GB, 5GB, 6GB, 8GB, 10GB, 12GB, 14GB, 16GB, 24GB, 32GB| +|ram              |recommended|number ​       |> =minimum ​                            ​|no          ​|          |64MB, 128MB, 256MB, 512MB, 1GB, 2GB, 3GB, 4GB, 5GB, 6GB, 8GB, 10GB, 12GB, 14GB, 16GB, 24GB, 32GB| 
-|network_traffic ​ |           ​|object[] ​     |                                       |FALSE       |          |                  | +|network_traffic ​ |           ​|object[] ​     |                                       |no          ​|          |                  | 
-|network_traffic ​ |direction ​ |text          |                                       |FALSE       |          |inbound, outbound | +|network_traffic ​ |direction ​ |text          |                                       |no          ​|          |inbound, outbound | 
-|network_traffic ​ |protocols ​ |text          |                                       |FALSE       |          |tcp, udp, icmp, ipsec| +|network_traffic ​ |protocols ​ |text          |                                       |no          ​|          |tcp, udp, icmp, ipsec| 
-|network_traffic ​ |port_range |text          |format "<​port_from>:<​port_to>" ​        |FALSE       |          |                  +|network_traffic ​ |port_range |text          |format "<​port_from>:<​port_to>" ​        |no          ​|          |eg "​80:​80",​ "​3000:​3010"​
-|accelerator ​     |           ​|object ​       |                                       |FALSE       |          |                  | +|accelerator ​     |           ​|object ​       |                                       |no          ​|          |                  | 
-|accelerator ​     |type       ​|text ​         |                                       |FALSE       |          |GPU               | +|accelerator ​     |type       ​|text ​         |                                       |no          ​|          |GPU               | 
-|accelerator ​     |minimum ​   |number ​       |< =recommended ​(if type is set)        ​|FALSE       |0         |1, 2, 4, 8, 16, 32| +|accelerator ​     |minimum ​   |number ​       |< =recommended ​                        ​|no          ​|0         |1, 2, 4, 8, 16, 32| 
-|accelerator ​     |recommended|number ​       |> =minimum ​(if type is set)            ​|FALSE       |0         |1, 2, 4, 8, 16, 32|+|accelerator ​     |recommended|number ​       |> =minimum ​                            ​|no          ​|0         |1, 2, 4, 8, 16, 32| 
 +=====Examples===== 
 +Βelow are some examples with pseudo values in various formats.
  
----- +====Example 1: Basic configuration==== 
-====Examples==== +The examples bellow contain all of the mandatory fields ​of a description file 
-Bellow is given a dummy example ​of a VA version ​description file in xmljson and yaml format+===XML File=== 
 +<​code ​xml
 +<​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>​ 
 +</​code>​ 
 + 
 + 
 +===JSON File=== 
 +<​code ​json
 +
 +  "​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"​ 
 +  } 
 +
 +</​code>​ 
 +===YAML File=== 
 +<​code ​yaml
 +--- 
 +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 
 +</​code>​
  
 +====Example 2: Extended configuration====
 +The examples bellow contain all of the mandatory and all of the optional fields of a descriptions file, such as number of cores, size of ram etc
 ===XML File=== ===XML File===
 <code xml> <code xml>
Line 130: Line 187:
   expireson: 3   expireson: 3
   notes: This version will expire in 3 months   notes: This version will expire in 3 months
-  url: https://www.iasa.gr/images/vmimagefile.iso+  url: https://mydomain.com/images/myvmimagefile.iso
   arch: x86_64   arch: x86_64
   os:   os:
main/guides/guid_continuous_delivery_file_contents.1525964741.txt.gz · Last modified: 2018/05/10 15:05 by 7dec9e27b58a2d54a2a96a538813e805058cb792ed68e744a68d87708e39628c@egi.eu