diff --git a/spec/0.0.1-alpha/README.md b/spec/0.0.1-alpha/README.md
deleted file mode 100644
index 3c2ea91..0000000
--- a/spec/0.0.1-alpha/README.md
+++ /dev/null
@@ -1,325 +0,0 @@
-# Container Application Specification
-
-**NOTE**: This is a proof-of-concept effort that is expected to change dramatically.
-
-#### Version 0.0.1-alpha
-
-The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC 2119](http://www.ietf.org/rfc/rfc2119.txt).
-
-The Container Application Specification is licensed under [GNU Free Documentation License Version 1.3, 3 November 2008](https://www.gnu.org/copyleft/fdl.html).
-
-## Introduction
-
-The Container Application specification is a project to describe 'an Application' that is composed of a set of dependent Container Applications (containerapp). The Container Application specification defines a set of files required to describe such a containerapp. These files can then be used by other tools to deploy a containerapp. Developers may use other tools to generate most of the required containerapp files. Additional utilities can also take advantage of the resulting files, such as testing tools.
-
-### Versioning
-
-Within this specification we follow [the semantic versioning pattern](http://semver.org/spec/v2.0.0.html).
-
-## Revision History
-
-Version | Date | Notes
---- | --- | ---
-0.0.1-alpha | 2015-mm-dd | TBD
-v1-alpha | 2015-04-10 | reversioned to 0.0.1-alpha
-
-
-## Specification
-
-### Format
-
-The files describing a containerapp in accordance with the Container Application Specification are represented using [YAML 1.2](http://www.yaml.org/spec/1.2/spec.html) or [JSON](http://json.org/).
-
-All field names in the specification are **case sensitive**.
-
-By convention, the containerapp definition file is named `Nulecule`. The Nulecule is the primary file defining the containerapp and it's relationship to dependencies.
-
-### Data Types
-
-Primitive data types in the Container Application Specification are based on the types supported by the [JSON-Schema Draft 4](http://json-schema.org/latest/json-schema-core.html#anchor8).
-
-The formats defined by the Container Application Specification are:
-
-Common Name | [`type`](#dataTypeType) | [`format`](#dataTypeFormat) | Comments
------------ | ------ | -------- | --------
-integer | `integer` | `int32` | signed 64 bits
-float | `number` | `float` |
-string | `string` | |
-byte | `string` | `byte` |
-boolean | `boolean` | |
-date | `string` | `date` | As defined by `full-date` - [RFC3339](http://xml2rfc.ietf.org/public/rfc/html/rfc3339.html#anchor14)
-dateTime | `string` | `date-time` | As defined by `date-time` - [RFC3339](http://xml2rfc.ietf.org/public/rfc/html/rfc3339.html#anchor14)
-password | `string` | `password` | Used to hint UIs the input needs to be obscured.
-URL | `URL` | `URL` | As defined by `URL` - [RFC3986 Section 1.1.3](https://tools.ietf.org/html/rfc3986#section-1.1.3)
-
-### Terminology
-
-Container Application
-
-Provider
-
-
-### Schema
-
-#### Container Application Object
-
-This is the root object for the specification.
-
-##### Fields
-
-Field Name | Type | Description
----|:---:|---
-id | `string` | **Required.** The machine readable id of the Container Application.
-specversion | `string` | **Required.** The semantic version string of the Container Application Specification used to describe the app. The value MUST be `"0.0.1-alpha"`.
-metadata | [ [MetadataObject](#metadataObject) ] | **Optional** An object holding optional metadata related to the Container Application, this may include license information or human readable information.
-graph | [ [GraphObject](#graphObject) ] | **Required.** A list of depending containerapps. Strings may either match a local sub directory or another containerapp-spec compliant containerapp image that can be pulled via a provider.
-requirements | [ [RequirementsObject](#requirementsObject) ] | **Optional** A list of requirements of this containerapp.
-
-
-#### Metadata Object
-
-Metadata for the Container Application.
-
-##### Fields
-
-Field Name | Type | Description
----|:---:|---
-name | `string` | **Optional** A human readable name of the containerapp.
-appversion | `string` | **Optional** The semantic version string of the Container Application.
-description | `string` | **Optional** A human readable description of the Container Application. This may contain information for the deployer of the containerapp.
-license | [License Object](#licenseObject) | **Optional** The license information for the containerapp.
-arbitrary_data | `string` | **Optional** Arbitrary `key: value` pair(s) of metadata. May contain nested objects.
-
-##### Metadata Object Example:
-
-```yaml
-name: myapp
-appversion: 1.0.0
-description: description of myapp
-foo: bar
-othermetadata:
- foo: bar
- files: file://path/to/local/file
-```
-
-```js
-{
- "name": "myapp",
- "appversion": "1.0.0",
- "description": "description of myapp",
- "foo": "bar",
- "othermetadata": {
- "foo": "bar",
- "files": "file://path/to/local/file"
- }
-}
-```
-
-#### License Object
-
-License information for the Container Application.
-
-##### Fields
-
-Field Name | Type | Description
----|:---:|---
-name | `string` | **Required.** The human readable license name used for the Container Application, no format imposed.
-url | `string` | **Optional** A URL to the license used for the API. MUST be in the format of a URL.
-
-##### License Object Example:
-
-
-```yaml
-name: Apache 2.0
-url: http://www.apache.org/licenses/LICENSE-2.0.html
-```
-```js
-{
- "name": "GNU GPL, Version 3",
- "url": "https://www.gnu.org/copyleft/gpl.html"
-}
-```
-
-
-#### Graph Object
-
-The graph is a list of items (containerapps) the Container Application depends on.
-
-##### Fields of a Graph Item Object
-
-Field Name | Type | Description
----|:---:|---
-source | `URL` | **Optional** Source location of the Container Application, the source MUST be specified by a valid URL. If source is present, all other fields SHALL be ignored.
-params | [ [ParamsObject](#paramsObject) ] | **Optional** A list of [ParamsObject](#paramsObject) that contain provider specific information. If params is present, source field SHALL be ignored.
-artifacts | [ [ArtifactsObject](#artifactsObject) ] | **Optional** A list of [ArtifactsObject](#artifactsObject) that contain providr specific information. If artifacts is present, source field SHALL be ignored.
-
-##### Graph Item Object Example:
-
-```yaml
----
-atomicapp-zabbix-mongodb:
- source: uri://registry.devops.example.com
- # if no "artifacts" is specified, than it is an external Atomicapp to be pulled
- # and installed from the specified source
-```
-
-```js
-{
- "atomicapp-zabbix-mongodb": {
- "source": "uri://registry.devops.example.com"
- }
-}
-```
-
-#### Parameters Object
-
-A set of Parameters the containerapp requires, has set some defaults for or needs user input.
-
-##### Fields
-
-Field Name | Type | Description
----|:---:|---
-description | `string` | **Required.** A human readable description of the parameter.
-constraints | [ConstraintObject](#constraintObject) | **Optional** An optional definition of constraints to the parameter.
-default | `string` | **Optional** An optional default value for the parameter.
-
-##### Parameters Object Example:
-
-```yaml
-description: mongoDB Admin password
-constraints:
- - allowed_pattern: "[A-Z0-9]+"
- description: Must consist of characters and numbers only.
-```
-```js
-{
- "description": "mongoDB Admin password",
- "constraints": [
- {
- "allowed_pattern": "[A-Z0-9]+",
- "description": "Must consist of characters and numbers only."
- }
- ]
-}
-```
-
-#### Constraint Object
-
-Constraints to the parameter.
-
-##### Fields
-
-Field Name | Type | Description
----|:---:|---
-allowed_pattern | `string` | **Required.** A regexp declaring the allowed pattern.
-description | `string` | **Required.** A human readable description of the parameter.
-
-
-
-#### Requirements Object
-
-The list of requirements of the Container Application. It may be [Storage Requirement Objects](#storageRequirementsObject) (for a persistent Volume).
-
-
-#### Storage Requirements Object
-
-This describes a requirement for persistent, read-only or read-write storage that should be available to the containerapp on runtime. The name of this object MUST be `"persistentVolume"`.
-
-##### Fields of Storage Requirement
-
-Field Name | Type | Description
----|:---:|---
-name | `string` | **Required.** A name associated with the storage requirement.
-accessModes | `string` | **Required.** May be `"ReadWrite"` or `"ReadOnly"`.
-size | `integer` | **Required.** Size of required the storage.
-
-##### Storage Requirement Example:
-
-```yaml
----
-- persistentVolume:
- name: "var-lib-mongodb-data"
- accessMode: "ReadWrite"
- size: 4 # GB by default
-```
-```js
- {
- "persistentVolume": {
- "name": "var-lib-mongodb-data",
- "accessMode": "ReadWrite",
- "size": 4
- }
- }
-```
-
-
-#### Artifacts Object
-
-The Artifacts Object describes a list of provider specific artifact items. These artifact items will be used during installation of the containerapp to deploy it to the provider. Each artifact item is a `URL`.
-
-##### Artifacts Example:
-
-```yaml
----
-artifacts: # list of files to be processed by the provider selected at install-time
- atomicplatform:
- - file://relative/path/pod.json.tmpl
- - https://git.devops.example.com
- openshift:
- - file://routes.json
- - inherit:
- - atomicplatform
-```
-```js
-{
- "artifacts": {
- "atomicplatform": [
- "file://relative/path/pod.json.tmpl",
- "https://git.devops.example.com"
- ],
- "openshift": [
- "file://routes.json",
- {
- "inherit": [
- "atomicplatform"
- ]
- }
- ]
- }
-}
-```
-
-
-## Directory Layout
-
-```
-├── Nulecule
-├── Dockerfile
-├──
-│ ├── ...
-│ └──
-└── README.md
-```
-
-* `Nulecule`: Container Application definition
-* `Dockerfile`: standard packaging for this containerapp
-* ``: directories of provider-specific files referenced in a containerapp definition file
- * `PROVIDER_FILES`: provider-specific files necessary for deploying to provider
-* `README.md`: information for deploying this application
-
-
-## README.md
-
-The README.md is the human-readable document. It describes the containerapp in enough detail so an operator can make parameterization and other deployment decisions.
-
-NOTE: This is optional. It is possible for some applications to be "self-describing" through well-written descriptions and input validation.
-
-
-## Conventions
-
-A few conventions are used in the context of Container Applications.
-
-### Parameters for Providers
-
-Each provider in the [ArtifactsObject](#artifactsObject) of the [GraphObject](#graphObject) may correspond to a containerapp level [ParamsObject](#paramsObject).
-
diff --git a/spec/0.0.1-alpha/examples/atomicapp-mongodb-24/Dockerfile b/spec/0.0.1-alpha/examples/atomicapp-mongodb-24/Dockerfile
deleted file mode 100644
index 7666e3d..0000000
--- a/spec/0.0.1-alpha/examples/atomicapp-mongodb-24/Dockerfile
+++ /dev/null
@@ -1,3 +0,0 @@
-FROM scratch
-
-ADD / /application-entity/
diff --git a/spec/0.0.1-alpha/examples/atomicapp-mongodb-24/Nulecule b/spec/0.0.1-alpha/examples/atomicapp-mongodb-24/Nulecule
deleted file mode 100644
index aad31b9..0000000
--- a/spec/0.0.1-alpha/examples/atomicapp-mongodb-24/Nulecule
+++ /dev/null
@@ -1,62 +0,0 @@
----
-specversion: 0.0.1-alpha
-# 0.0.1-alpha requires:
-# - Docker 1.6 or later
-# - OpenShift3 0.4 or later
-# - Atomic Host 7.1.1 or later
-id: Atomicapp-mongoDB
-metadata:
- name: Atomicapp mongoDB
- appversion: 2.4
- description: This is a mongoDB 2.4 Atomicapp
- license:
- name: GNU AFFERO GENERAL PUBLIC LICENSE, Version 3
- url: https://www.gnu.org/licenses/agpl-3.0.html
-graph:
- atomicapp-zabbix-mongodb:
- source: uri://registry.devops.example.com
- # if no artifacts is specified, than it is an external Atomicapp to be pulled
- # and installed from the specified source
- atomicapp-backupagent-mongodb:
- params:
- frequency:
- description: How often shall the backup be performed?
- default: daily
- retentiontime:
- description: For how long shall backups be kept?
- default: 60 # days
- confidential:
- description: Does this backup container confidential data?
- default: true
- artifacts: # list of files to be processed by the provider selected on install-time
- atomicplatform:
- - file://relative/path/pod.json.tmpl
- - https://git.devops.example.com
- openshift:
- - file://routes.json
- - inherit:
- - atomicplatform
- docker:
- - file://systemd/mongodb-service.tmpl
- atomichost:
- - file://pod.json.tmpl
- - file://service.json.tmpl
-requirements:
- persistentVolume:
- name: "var-lib-mongodb-data"
- accessMode: "ReadWrite"
- size: 4 # GB by default
-params:
- mongodb_admin_password:
- description: mongoDB administrator password
- constraints:
- - allowed_pattern: "[a-zA-Z0-9]+"
- description: Must consist of characters and numbers only.
- openshift:
- labels:
- - eu-west-1
- - eu-west-1a
- - qe
- atomichost:
- labels:
- - devel
diff --git a/spec/0.0.1-alpha/examples/atomicapp-mongodb-24/README.md b/spec/0.0.1-alpha/examples/atomicapp-mongodb-24/README.md
deleted file mode 100644
index 48c057c..0000000
--- a/spec/0.0.1-alpha/examples/atomicapp-mongodb-24/README.md
+++ /dev/null
@@ -1,4 +0,0 @@
-This is an mongoDB 2.4 Atomicapp!
-
-required parameters:
- mongodb_admin_password
diff --git a/spec/0.0.1-alpha/examples/atomicapp-mongodb-24/kubernetes/database_rc.json b/spec/0.0.1-alpha/examples/atomicapp-mongodb-24/kubernetes/database_rc.json
deleted file mode 100644
index 2c1cb87..0000000
--- a/spec/0.0.1-alpha/examples/atomicapp-mongodb-24/kubernetes/database_rc.json
+++ /dev/null
@@ -1,44 +0,0 @@
-{
- "id": "database",
- "kind": "ReplicationController",
- "apiVersion": "v1beta1",
- "desiredState": {
- "replicas": 1,
- "replicaSelector": {"name": "database"},
- "podTemplate": {
- "desiredState": {
- "manifest": {
- "containers": [
- {
- "env": [
- {
- "name": "MYSQL_USER",
- "value": "${MYSQL_USER}"
- },
- {
- "name": "MYSQL_PASSWORD",
- "value": "${MYSQL_PASSWORD}"
- },
- {
- "name": "MYSQL_DATABASE",
- "value": "${MYSQL_DATABASE}"
- }
- ],
- "image": "openshift/mysql-55-centos7",
- "name": "ruby-helloworld-database",
- "ports": [
- {
- "containerPort": 3306
- }
- ]
- }
- ],
- "version": "v1beta1"
- }
- },
- "labels": {
- "name": "database"
- }
- }
- }
-}
diff --git a/spec/0.0.1-alpha/examples/atomicapp-mongodb-24/kubernetes/database_service.json b/spec/0.0.1-alpha/examples/atomicapp-mongodb-24/kubernetes/database_service.json
deleted file mode 100644
index b3ee5f8..0000000
--- a/spec/0.0.1-alpha/examples/atomicapp-mongodb-24/kubernetes/database_service.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "apiVersion": "v1beta1",
- "containerPort": 3306,
- "id": "database",
- "kind": "Service",
- "port": 5434,
- "selector": {
- "name": "database"
- }
-}
diff --git a/spec/0.0.1-alpha/examples/atomicapp-mongodb-24/kubernetes/frontend_rc.json b/spec/0.0.1-alpha/examples/atomicapp-mongodb-24/kubernetes/frontend_rc.json
deleted file mode 100644
index 09566c4..0000000
--- a/spec/0.0.1-alpha/examples/atomicapp-mongodb-24/kubernetes/frontend_rc.json
+++ /dev/null
@@ -1,52 +0,0 @@
-{
- "id": "frontend",
- "kind": "ReplicationController",
- "apiVersion": "v1beta1",
- "desiredState": {
- "replicas": 1,
- "replicaSelector": {"name": "frontend"},
- "podTemplate": {
- "desiredState": {
- "manifest": {
- "containers": [
- {
- "env": [
- {
- "name": "ADMIN_USERNAME",
- "value": "${ADMIN_USERNAME}"
- },
- {
- "name": "ADMIN_PASSWORD",
- "value": "${ADMIN_PASSWORD}"
- },
- {
- "name": "MYSQL_USER",
- "value": "${MYSQL_USER}"
- },
- {
- "name": "MYSQL_PASSWORD",
- "value": "${MYSQL_PASSWORD}"
- },
- {
- "name": "MYSQL_DATABASE",
- "value": "${MYSQL_DATABASE}"
- }
- ],
- "image": "origin-ruby-sample",
- "name": "ruby-helloworld",
- "ports": [
- {
- "containerPort": 8080
- }
- ]
- }
- ],
- "version": "v1beta1"
- }
- },
- "labels": {
- "name": "frontend"
- }
- }
- }
-}
diff --git a/spec/0.0.1-alpha/examples/atomicapp-mongodb-24/kubernetes/frontend_service.json b/spec/0.0.1-alpha/examples/atomicapp-mongodb-24/kubernetes/frontend_service.json
deleted file mode 100644
index baf00d8..0000000
--- a/spec/0.0.1-alpha/examples/atomicapp-mongodb-24/kubernetes/frontend_service.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "apiVersion": "v1beta1",
- "containerPort": 8080,
- "id": "frontend",
- "kind": "Service",
- "port": 5432,
- "selector": {
- "name": "frontend"
- }
-}
diff --git a/spec/0.0.1-alpha/examples/atomicapp-mongodb-24/openshift/route.json b/spec/0.0.1-alpha/examples/atomicapp-mongodb-24/openshift/route.json
deleted file mode 100644
index d587d99..0000000
--- a/spec/0.0.1-alpha/examples/atomicapp-mongodb-24/openshift/route.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "apiVersion": "v1beta1",
- "host": "${HOSTNAME}",
- "id": "sample-app-secure",
- "kind": "Route",
- "metadata": {
- "name": "route-edge"
- },
- "serviceName": "frontend",
- "tls": {
- "caCertificate": "-----BEGIN CERTIFICATE-----\\nMIIEFzCCAv+gAwIBAgIJALK1iUpF2VQLMA0GCSqGSIb3DQEBBQUAMIGhMQswCQYD\\nVQQGEwJVUzELMAkGA1UECAwCU0MxFTATBgNVBAcMDERlZmF1bHQgQ2l0eTEcMBoG\\nA1UECgwTRGVmYXVsdCBDb21wYW55IEx0ZDEQMA4GA1UECwwHVGVzdCBDQTEaMBgG\\nA1UEAwwRd3d3LmV4YW1wbGVjYS5jb20xIjAgBgkqhkiG9w0BCQEWE2V4YW1wbGVA\\nZXhhbXBsZS5jb20wHhcNMTUwMTEyMTQxNTAxWhcNMjUwMTA5MTQxNTAxWjCBoTEL\\nMAkGA1UEBhMCVVMxCzAJBgNVBAgMAlNDMRUwEwYDVQQHDAxEZWZhdWx0IENpdHkx\\nHDAaBgNVBAoME0RlZmF1bHQgQ29tcGFueSBMdGQxEDAOBgNVBAsMB1Rlc3QgQ0Ex\\nGjAYBgNVBAMMEXd3dy5leGFtcGxlY2EuY29tMSIwIAYJKoZIhvcNAQkBFhNleGFt\\ncGxlQGV4YW1wbGUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA\\nw2rK1J2NMtQj0KDug7g7HRKl5jbf0QMkMKyTU1fBtZ0cCzvsF4CqV11LK4BSVWaK\\nrzkaXe99IVJnH8KdOlDl5Dh/+cJ3xdkClSyeUT4zgb6CCBqg78ePp+nN11JKuJlV\\nIG1qdJpB1J5O/kCLsGcTf7RS74MtqMFo96446Zvt7YaBhWPz6gDaO/TUzfrNcGLA\\nEfHVXkvVWqb3gqXUztZyVex/gtP9FXQ7gxTvJml7UkmT0VAFjtZnCqmFxpLZFZ15\\n+qP9O7Q2MpsGUO/4vDAuYrKBeg1ZdPSi8gwqUP2qWsGd9MIWRv3thI2903BczDc7\\nr8WaIbm37vYZAS9G56E4+wIDAQABo1AwTjAdBgNVHQ4EFgQUugLrSJshOBk5TSsU\\nANs4+SmJUGwwHwYDVR0jBBgwFoAUugLrSJshOBk5TSsUANs4+SmJUGwwDAYDVR0T\\nBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaMJ33zAMV4korHo5aPfayV3uHoYZ\\n1ChzP3eSsF+FjoscpoNSKs91ZXZF6LquzoNezbfiihK4PYqgwVD2+O0/Ty7UjN4S\\nqzFKVR4OS/6lCJ8YncxoFpTntbvjgojf1DEataKFUN196PAANc3yz8cWHF4uvjPv\\nWkgFqbIjb+7D1YgglNyovXkRDlRZl0LD1OQ0ZWhd4Ge1qx8mmmanoBeYZ9+DgpFC\\nj9tQAbS867yeOryNe7sEOIpXAAqK/DTu0hB6+ySsDfMo4piXCc2aA/eI2DCuw08e\\nw17Dz9WnupZjVdwTKzDhFgJZMLDqn37HQnT6EemLFqbcR0VPEnfyhDtZIQ==\\n-----END CERTIFICATE-----",
-"certificate": "-----BEGIN CERTIFICATE-----\\nMIIDIjCCAgqgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBoTELMAkGA1UEBhMCVVMx\\nCzAJBgNVBAgMAlNDMRUwEwYDVQQHDAxEZWZhdWx0IENpdHkxHDAaBgNVBAoME0Rl\\nZmF1bHQgQ29tcGFueSBMdGQxEDAOBgNVBAsMB1Rlc3QgQ0ExGjAYBgNVBAMMEXd3\\ndy5leGFtcGxlY2EuY29tMSIwIAYJKoZIhvcNAQkBFhNleGFtcGxlQGV4YW1wbGUu\\nY29tMB4XDTE1MDExMjE0MTk0MVoXDTE2MDExMjE0MTk0MVowfDEYMBYGA1UEAwwP\\nd3d3LmV4YW1wbGUuY29tMQswCQYDVQQIDAJTQzELMAkGA1UEBhMCVVMxIjAgBgkq\\nhkiG9w0BCQEWE2V4YW1wbGVAZXhhbXBsZS5jb20xEDAOBgNVBAoMB0V4YW1wbGUx\\nEDAOBgNVBAsMB0V4YW1wbGUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMrv\\ngu6ZTTefNN7jjiZbS/xvQjyXjYMN7oVXv76jbX8gjMOmg9m0xoVZZFAE4XyQDuCm\\n47VRx5Qrf/YLXmB2VtCFvB0AhXr5zSeWzPwaAPrjA4ebG+LUo24ziS8KqNxrFs1M\\nmNrQUgZyQC6XIe1JHXc9t+JlL5UZyZQC1IfaJulDAgMBAAGjDTALMAkGA1UdEwQC\\nMAAwDQYJKoZIhvcNAQEFBQADggEBAFCi7ZlkMnESvzlZCvv82Pq6S46AAOTPXdFd\\nTMvrh12E1sdVALF1P1oYFJzG1EiZ5ezOx88fEDTW+Lxb9anw5/KJzwtWcfsupf1m\\nV7J0D3qKzw5C1wjzYHh9/Pz7B1D0KthQRATQCfNf8s6bbFLaw/dmiIUhHLtIH5Qc\\nyfrejTZbOSP77z8NOWir+BWWgIDDB2//3AkDIQvT20vmkZRhkqSdT7et4NmXOX/j\\njhPti4b2Fie0LeuvgaOdKjCpQQNrYthZHXeVlOLRhMTSk3qUczenkKTOhvP7IS9q\\n+Dzv5hqgSfvMG392KWh5f8xXfJNs4W5KLbZyl901MeReiLrPH3w=\\n-----END CERTIFICATE-----",
-"key": "-----BEGIN PRIVATE KEY-----\\nMIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBAMrvgu6ZTTefNN7j\\njiZbS/xvQjyXjYMN7oVXv76jbX8gjMOmg9m0xoVZZFAE4XyQDuCm47VRx5Qrf/YL\\nXmB2VtCFvB0AhXr5zSeWzPwaAPrjA4ebG+LUo24ziS8KqNxrFs1MmNrQUgZyQC6X\\nIe1JHXc9t+JlL5UZyZQC1IfaJulDAgMBAAECgYEAnxOjEj/vrLNLMZE1Q9H7PZVF\\nWdP/JQVNvQ7tCpZ3ZdjxHwkvf//aQnuxS5yX2Rnf37BS/TZu+TIkK4373CfHomSx\\nUTAn2FsLmOJljupgGcoeLx5K5nu7B7rY5L1NHvdpxZ4YjeISrRtEPvRakllENU5y\\ngJE8c2eQOx08ZSRE4TkCQQD7dws2/FldqwdjJucYijsJVuUdoTqxP8gWL6bB251q\\nelP2/a6W2elqOcWId28560jG9ZS3cuKvnmu/4LG88vZFAkEAzphrH3673oTsHN+d\\nuBd5uyrlnGjWjuiMKv2TPITZcWBjB8nJDSvLneHF59MYwejNNEof2tRjgFSdImFH\\nmi995wJBAMtPjW6wiqRz0i41VuT9ZgwACJBzOdvzQJfHgSD9qgFb1CU/J/hpSRIM\\nkYvrXK9MbvQFvG6x4VuyT1W8mpe1LK0CQAo8VPpffhFdRpF7psXLK/XQ/0VLkG3O\\nKburipLyBg/u9ZkaL0Ley5zL5dFBjTV2Qkx367Ic2b0u9AYTCcgi2DsCQQD3zZ7B\\nv7BOm7MkylKokY2MduFFXU0Bxg6pfZ7q3rvg8gqhUFbaMStPRYg6myiDiW/JfLhF\\nTcFT4touIo7oriFJ\\n-----END PRIVATE KEY-----",
-"termination": "edge"
- }
-}
diff --git a/spec/0.0.1-alpha/examples/template/Nulecule b/spec/0.0.1-alpha/examples/template/Nulecule
deleted file mode 100644
index 3944793..0000000
--- a/spec/0.0.1-alpha/examples/template/Nulecule
+++ /dev/null
@@ -1,39 +0,0 @@
----
-id: 191131-abcd
-specversion: 0.0.1-alpha
-
-metadata:
- name: my app
- appversion: v1.0.0
- description: some application
- license:
- name: Apache 2.0
- url: www.example.com/license
-
-graph:
- somedb:
- source: docker://registry.example.com/some/database
-
- mycode:
- params:
- username:
- description: username
- constraints:
- - allowed_pattern: "[A-Z0-9]+"
- description: Must consist of characters and numbers only.
- password:
- description: passphrase
- artifacts:
- provider1:
- - file://providers/pod.json
- - file://providers/service.json
- provider2:
- - file://providers/file.json
- - inherit:
- - provider1
-
-requirements:
-- persistentVolume:
- name: "var-lib-data"
- accessMode: "ReadWrite"
- size: 4
diff --git a/spec/0.0.1-alpha/graph.json b/spec/0.0.1-alpha/graph.json
deleted file mode 100644
index 17d5789..0000000
--- a/spec/0.0.1-alpha/graph.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-04/schema#",
-
- "title": "Graph",
- "description": "A list of depending containerapps. Strings may either match a local sub directory or another containerapp-spec compliant containerapp image that can be pulled via a provider.",
- "type": "object",
- "additionalProperties" : {
- "$ref": "#/definitions/component"
- },
-
- "definitions": {
- "component": {
- "description": "ID of a component",
- "type": "object",
- "properties": {
- "source": {
- "description": "Source location of the Container Application, the source MUST be specified by a valid URL. If source is present, all other fields SHALL be ignored.",
- "type": "string",
- "default": "null"
- },
- "params": {
- "description": "A list of ParamsObject that contain provider specific information. If params is present, source field SHALL be ignored.",
- "type": "object",
- "additionalProperties": {
- "$ref": "file:param.json"
- }
- },
- "artifacts": {
- "description": "A list of ArtifactsObject that contain provider specific information. If artifacts is present, source field SHALL be ignored.",
- "type": "object",
- "additionalProperties": {
- "$ref": "file:provider.json"
- }
- }
- }
- }
- }
-}
diff --git a/spec/0.0.1-alpha/license.json b/spec/0.0.1-alpha/license.json
deleted file mode 100644
index 715961d..0000000
--- a/spec/0.0.1-alpha/license.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-04/schema#",
-
- "title": "License",
- "description": "License information for the Container Application.",
- "type": "object",
- "required": [ "name" ],
- "properties": {
- "name": {
- "description": "The human readable license name used for the Container Application, no format imposed.",
- "type": "string",
- "value": "null"
- },
- "url": {
- "description": "A URL to the license used for the API. MUST be in the format of a URL.",
- "type": "string",
- "value": "null"
- }
- }
-}
diff --git a/spec/0.0.1-alpha/metadata.json b/spec/0.0.1-alpha/metadata.json
deleted file mode 100644
index d234035..0000000
--- a/spec/0.0.1-alpha/metadata.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-04/schema#",
-
- "title": "Metadata",
- "description": "An object holding optional metadata related to the Container Application, this may include license information or human readable information.",
- "type": "object",
- "properties": {
- "name": {
- "description": "A human readable name of the containerapp.",
- "type": "string",
- "default": "null"
- },
- "appversion": {
- "description": "The semantic version string of the Container Application.",
- "type": "string",
- "default": "null"
- },
- "description": {
- "description": "A human readable description of the Container Application. This may contain information for the deployer of the containerapp.",
- "type": "string",
- "default": "null"
- },
- "license": {
- "$ref": "file:license.json"
- }
- }
-}
diff --git a/spec/0.0.1-alpha/param.json b/spec/0.0.1-alpha/param.json
deleted file mode 100644
index 6040593..0000000
--- a/spec/0.0.1-alpha/param.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-04/schema#",
-
- "title": "Parameter",
- "description": "Name of the parameter as used in artifacts",
- "type": "object",
- "required": [ "description" ],
- "properties": {
- "description": {
- "description": "A human readable description of the parameter.",
- "type": "string",
- "default": "null"
- },
- "constraints": {
- "$ref": "file:constraint.json"
- },
- "default": {
- "description": "An optional default value for the parameter.",
- "type": "string",
- "default": "null"
- }
- }
-}
diff --git a/spec/0.0.1-alpha/provider.json b/spec/0.0.1-alpha/provider.json
deleted file mode 100644
index c1f1174..0000000
--- a/spec/0.0.1-alpha/provider.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-04/schema#",
-
- "title": "Provider",
- "description": "Name of the provider",
- "type": "array",
- "items": {
- "oneOf": [ { "$ref": "#/definitions/path" }, { "$ref": "#/definitions/inheritance" } ]
- },
-
- "definitions": {
- "path": {
- "description": "Path to the artifact",
- "type": "string",
- "value": "null"
- },
- "inheritance": {
- "type": "object",
- "properties": {
- "inherit": {
- "name": "inherit",
- "description": "List of components whose artifacts will be added to the list of artifacts for the provider.",
- "type": "array"
- }
- }
- }
- }
-}
diff --git a/spec/0.0.1-alpha/requirements/persistentvolume.json b/spec/0.0.1-alpha/requirements/persistentvolume.json
deleted file mode 100644
index 1e6d47a..0000000
--- a/spec/0.0.1-alpha/requirements/persistentvolume.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-04/schema#",
-
- "title": "PersistentVolume",
- "description": "This describes a requirement for persistent, read-only or read-write storage that should be available to the containerapp on runtime. The name of this object MUST be 'persistentVolume'",
- "type": "object",
- "properties": {
- "persistentVolume": {
- "type": "object",
- "required": [ "name", "accessMode", "size" ],
- "properties": {
- "name": {
- "description": "A name associated with the storage requirement.",
- "type": "string",
- "value": "null"
- },
- "accessMode": {
- "description": "Access mode in which the persitent volume will be available",
- "type": "string",
- "enum": [
- "ReadWrite",
- "ReadOnly"
- ]
- },
- "size": {
- "description": "Size of the required storage.",
- "type": "number",
- "minimum": 0
- }
- }
- }
- },
- "additionalProperties": false
-}
diff --git a/spec/0.0.1-alpha/schema.json b/spec/0.0.1-alpha/schema.json
deleted file mode 100644
index 95ceefb..0000000
--- a/spec/0.0.1-alpha/schema.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-04/schema#",
-
- "title": "Schema",
- "version": "0.0.1-alpha",
- "description": "The Container Application specification is a project to describe 'an Application' that is composed of a set of dependent Container Applications (containerapp). The Container Application specification defines a set of files required to describe such a containerapp. These files can then be used by other tools to deploy a containerapp. Developers may use other tools to generate most of the required containerapp files. Additional utilities can also take advantage of the resulting files, such as testing tools.",
- "required": [ "id", "specversion", "graph" ],
- "properties": {
- "id": {
- "description": "The machine readable id of the Container Application.",
- "type": "string",
- "default": "null"
- },
- "specversion": {
- "description": "The semantic version string of the Container Application Specification used to describe the app. The value MUST be '0.0.1-alpha'.",
- "type": "string",
- "default": "0.0.1-alpha"
- },
- "metadata": {
- "$ref": "file:metadata.json"
- },
- "graph": {
- "$ref": "file:graph.json"
- },
- "requirements": {
- "$ref": "file:requirement.json"
- }
- }
-}
diff --git a/spec/0.0.2/constraint.json b/spec/0.0.2/constraint.json
deleted file mode 100644
index 6d7f747..0000000
--- a/spec/0.0.2/constraint.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-04/schema#",
-
- "title": "Constraint",
- "description": "Constraint to the parameter.",
- "type": "array",
- "items": {
- "type": "object",
- "required": [ "allowed_pattern", "description" ],
- "properties": {
- "allowed_pattern": {
- "description": "A regular expression pattern.",
- "type": "string",
- "default": "null"
- },
- "description": {
- "description": "A human readable description of the constraint.",
- "type": "string",
- "default": "null"
- }
- }
- }
-}
diff --git a/spec/0.0.2/examples/template/artifacts/provider1/pod.json b/spec/0.0.2/examples/template/artifacts/provider1/pod.json
deleted file mode 100644
index e69de29..0000000
diff --git a/spec/0.0.2/examples/template/artifacts/provider1/service.json b/spec/0.0.2/examples/template/artifacts/provider1/service.json
deleted file mode 100644
index e69de29..0000000
diff --git a/spec/0.0.2/examples/template/artifacts/provider2/file.json b/spec/0.0.2/examples/template/artifacts/provider2/file.json
deleted file mode 100644
index e69de29..0000000
diff --git a/spec/0.0.2/requirement.json b/spec/0.0.2/requirement.json
deleted file mode 100644
index fa97fe3..0000000
--- a/spec/0.0.2/requirement.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-04/schema#",
-
- "title": "Requirements",
- "description": "Requirement objects",
- "type": "array",
- "items": {
- "oneOf": [
- { "$ref": "file:requirements/persistentvolume.json" }
- ]
- }
-}
diff --git a/spec/0.0.2/README.md b/spec/README.md
similarity index 100%
rename from spec/0.0.2/README.md
rename to spec/README.md
diff --git a/spec/0.0.1-alpha/constraint.json b/spec/constraint.json
similarity index 100%
rename from spec/0.0.1-alpha/constraint.json
rename to spec/constraint.json
diff --git a/spec/0.0.2/examples/template/Dockerfile b/spec/examples/template/Dockerfile
similarity index 100%
rename from spec/0.0.2/examples/template/Dockerfile
rename to spec/examples/template/Dockerfile
diff --git a/spec/0.0.2/examples/template/Nulecule b/spec/examples/template/Nulecule
similarity index 100%
rename from spec/0.0.2/examples/template/Nulecule
rename to spec/examples/template/Nulecule
diff --git a/spec/0.0.1-alpha/examples/template/providers/pod.json b/spec/examples/template/artifacts/provider1/pod.json
similarity index 100%
rename from spec/0.0.1-alpha/examples/template/providers/pod.json
rename to spec/examples/template/artifacts/provider1/pod.json
diff --git a/spec/0.0.1-alpha/examples/template/providers/service.json b/spec/examples/template/artifacts/provider1/service.json
similarity index 100%
rename from spec/0.0.1-alpha/examples/template/providers/service.json
rename to spec/examples/template/artifacts/provider1/service.json
diff --git a/spec/0.0.1-alpha/examples/template/providers/file.json b/spec/examples/template/artifacts/provider2/file.json
similarity index 100%
rename from spec/0.0.1-alpha/examples/template/providers/file.json
rename to spec/examples/template/artifacts/provider2/file.json
diff --git a/spec/0.0.2/files b/spec/files
similarity index 100%
rename from spec/0.0.2/files
rename to spec/files
diff --git a/spec/0.0.2/graph.json b/spec/graph.json
similarity index 100%
rename from spec/0.0.2/graph.json
rename to spec/graph.json
diff --git a/spec/0.0.2/license.json b/spec/license.json
similarity index 100%
rename from spec/0.0.2/license.json
rename to spec/license.json
diff --git a/spec/0.0.2/metadata.json b/spec/metadata.json
similarity index 100%
rename from spec/0.0.2/metadata.json
rename to spec/metadata.json
diff --git a/spec/0.0.2/param.json b/spec/param.json
similarity index 100%
rename from spec/0.0.2/param.json
rename to spec/param.json
diff --git a/spec/0.0.2/provider.json b/spec/provider.json
similarity index 100%
rename from spec/0.0.2/provider.json
rename to spec/provider.json
diff --git a/spec/0.0.1-alpha/requirement.json b/spec/requirement.json
similarity index 100%
rename from spec/0.0.1-alpha/requirement.json
rename to spec/requirement.json
diff --git a/spec/0.0.2/requirements/persistentvolume.json b/spec/requirements/persistentvolume.json
similarity index 100%
rename from spec/0.0.2/requirements/persistentvolume.json
rename to spec/requirements/persistentvolume.json
diff --git a/spec/0.0.2/schema.json b/spec/schema.json
similarity index 100%
rename from spec/0.0.2/schema.json
rename to spec/schema.json