Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updates in anticipation of cnab-core-1.1.0 #388

Merged
merged 1 commit into from
Sep 28, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion 000-index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ weight: 001

# CNAB Specifications

1. [Cloud Native Application Bundle Core 1.0.0 (CNAB1)](100-CNAB.md)
1. [Cloud Native Application Bundle Core 1.1.0 (CNAB1)](100-CNAB.md)
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Q: Does CNAB1 need to change?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would prefer if we have CNAB mean the latest CNAB release of the version (i.e.: In this case, CNAB1 means CNAB 1.1.0) as I think that usually this is what people mean when they say version . If one wants to be more specific, they can do so by specifying the minor and patch versions as well.

If we choose to do this, we may need to clarify our process versioning.

- [The bundle.json File](101-bundle-json.md)
- [The Invocation Image Format](102-invocation-image.md)
- [The Bundle Runtime](103-bundle-runtime.md)
Expand Down
2 changes: 1 addition & 1 deletion 100-CNAB.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: CNAB Core
weight: 100
---

# Cloud Native Application Bundle Core 1.0.0 (CNAB1)
# Cloud Native Application Bundle Core 1.1.0 (CNAB1)
*[Final Approval, Published](901-process.md), Sept. 2019*


Expand Down
12 changes: 6 additions & 6 deletions 101-bundle-json.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ The `bundle.json` file is a representation of bundle metadata. It MUST be repres

A `bundle.json` is broken down into the following categories of information:

- The schema version of the bundle, as a string with a `v` prefix. This schema is to be referenced as `v1` or `v1.0.0`
- The schema version of the bundle, as a string with a `v` prefix. This schema is to be referenced as `v1` or `v1.1.0`
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wasn't sure if all of these v1.0.0 references should be updated to v1.1.0 or not?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While the schema has not changed, it is versioned with the core of the spec so I think it should match that (i.e.: 1.1.0).

- The top-level package information (`name` and `version`)
- `name`: The bundle name, including namespacing. The namespace can have one or more elements separated by a dot (e.g. `acme.tunnels.wordpress`). The left most element of the namespace is the most general moving toward more specific elements on the right.
- `version`: Semantic version of the bundle
Expand Down Expand Up @@ -123,7 +123,7 @@ The following is an example of a `bundle.json` for a bundled distributed as a _t
}
}
},
"schemaVersion":"v1.0.0",
"schemaVersion":"v1.1.0",
"version":"0.1.2"
}
```
Expand All @@ -134,7 +134,7 @@ The canonical JSON version of the above is:

<!-- prettier-ignore -->
```json
{"credentials":{"hostkey":{"env":"HOST_KEY","path":"/etc/hostkey.txt"}},"custom":{"com.example.backup-preferences":{"frequency":"daily"},"com.example.duffle-bag":{"icon":"https://example.com/icon.png","iconType":"PNG"}},"definitions":{"http_port":{"default":80,"maximum":10240,"minimum":10,"type":"integer"},"port":{"maximum":65535,"minimum":1024,"type":"integer"},"string":{"type":"string"},"x509Certificate":{"contentEncoding":"base64","contentMediaType":"application/x-x509-user-cert","type":"string","writeOnly":true}},"description":"An example 'thin' helloworld Cloud-Native Application Bundle","images":{"my-microservice":{"contentDigest":"sha256:aaaaaaaaaaaa...","description":"my microservice","image":"example/microservice:1.2.3"}},"invocationImages":[{"contentDigest":"sha256:aaaaaaa...","image":"example/helloworld:0.1.0","imageType":"docker"}],"maintainers":[{"email":"[email protected]","name":"Matt Butcher","url":"https://example.com"}],"name":"helloworld","outputs":{"clientCert":{"definition":"x509Certificate","path":"/cnab/app/outputs/clientCert"},"hostName":{"applyTo":["install"],"definition":"string","description":"the hostname produced installing the bundle","path":"/cnab/app/outputs/hostname"},"port":{"definition":"port","path":"/cnab/app/outputs/port"}},"parameters":{"backend_port":{"definition":"http_port","description":"The port that the back-end will listen on","destination":{"env":"BACKEND_PORT"}}},"schemaVersion":"v1.0.0","version":"0.1.2"}
{"credentials":{"hostkey":{"env":"HOST_KEY","path":"/etc/hostkey.txt"}},"custom":{"com.example.backup-preferences":{"frequency":"daily"},"com.example.duffle-bag":{"icon":"https://example.com/icon.png","iconType":"PNG"}},"definitions":{"http_port":{"default":80,"maximum":10240,"minimum":10,"type":"integer"},"port":{"maximum":65535,"minimum":1024,"type":"integer"},"string":{"type":"string"},"x509Certificate":{"contentEncoding":"base64","contentMediaType":"application/x-x509-user-cert","type":"string","writeOnly":true}},"description":"An example 'thin' helloworld Cloud-Native Application Bundle","images":{"my-microservice":{"contentDigest":"sha256:aaaaaaaaaaaa...","description":"my microservice","image":"example/microservice:1.2.3"}},"invocationImages":[{"contentDigest":"sha256:aaaaaaa...","image":"example/helloworld:0.1.0","imageType":"docker"}],"maintainers":[{"email":"[email protected]","name":"Matt Butcher","url":"https://example.com"}],"name":"helloworld","outputs":{"clientCert":{"definition":"x509Certificate","path":"/cnab/app/outputs/clientCert"},"hostName":{"applyTo":["install"],"definition":"string","description":"the hostname produced installing the bundle","path":"/cnab/app/outputs/hostname"},"port":{"definition":"port","path":"/cnab/app/outputs/port"}},"parameters":{"backend_port":{"definition":"http_port","description":"The port that the back-end will listen on","destination":{"env":"BACKEND_PORT"}}},"schemaVersion":"v1.1.0","version":"0.1.2"}
```

What follows is an example of a thick bundle. Notice how the `invocationImage` and `images` fields reference the underlying docker image manifest (`application/vnd.docker.distribution.manifest.v2+json`), which in turn references the underlying images:
Expand Down Expand Up @@ -230,7 +230,7 @@ What follows is an example of a thick bundle. Notice how the `invocationImage` a
}
}
},
"schemaVersion":"v1.0.0",
"schemaVersion":"v1.1.0",
"version":"1.0.0"
}

Expand Down Expand Up @@ -268,7 +268,7 @@ The schema version must reference the version of the schema used for this docume
- `CR` indicates that the document references a candidate recommendation. Stability is not assured.
- No suffix indicates that the document references a release of the specification, and is considered stable.

The current schema version is `v1.0.0`, which is considered stable.
The current schema version is `v1.1.0`, which is considered stable.

## Name and Version: Identifying Metadata

Expand Down Expand Up @@ -937,7 +937,7 @@ A runtime MUST check that it supports any required extensions before performing
"requiredExtensions":[
"io.cnab.dependencies"
],
"schemaVersion":"v1.0.0",
"schemaVersion":"v1.1.0",
"version":"0.1.2"
}
```
Expand Down
7 changes: 4 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,16 @@

Cloud Native Application Bundles (CNAB) are a package format specification that describes a technology for bundling, installing, and managing distributed applications, that are by design, cloud agnostic.

## CNAB Core 1.0 (Final)
## CNAB Core 1.1.0 (Final)

The CNAB Working Group with the joint approval of the Executive Directors has approved the CNAB Core 1.0 specification for publication. CNAB Core 1.0 is complete.
The CNAB Working Group with the joint approval of the Executive Directors has approved the CNAB Core 1.1.0 specification for publication. CNAB Core 1.1.0 is complete.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should I have added an additional section rather than amending this one?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think amending here makes sense. We don't want to pollute the README over time with a release history.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agree


For more information on the approval process, see [the process documentation](901-process.md). Further changes to CNAB Core will be considered for CNAB Core 1.1.
For more information on the approval process, see [the process documentation](901-process.md). Further changes to CNAB Core will be considered for CNAB Core 1.2.

### Branch/Tag Structure

- [master](https://github.com/cnabio/cnab-spec) is the current working draft of all specs
- [cnab-core-1.1.0](https://github.com/cnabio/cnab-spec/tree/cnab-core-1.1.0) is the CNAB Core 1.1.0 final draft
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This tag is yet to be created; the intention is to cut the tag after this PR is approved, merged and included in the forthcoming cnab-core-1.1.0-ga branch. Ref ordering in #387

- [cnab-core-1.0.1](https://github.com/cnabio/cnab-spec/tree/cnab-core-1.0.1) is the CNAB Core 1.0.1 final draft
- [cnab-core-1.0](https://github.com/cnabio/cnab-spec/tree/cnab-core-1.0) is the CNAB Core 1.0.0 final draft
- [cnab-security-1.0.0](https://github.com/cnabio/cnab-spec/tree/cnab-security-1.0.0) is the CNAB Security 1.0.0 final draft
Expand Down