Skip to content

Commit 06b7da2

Browse files
authored
Merge pull request oam-dev#458 from resouer/dev
v0.3.0 pre release
2 parents bf4de2b + 0ad9b62 commit 06b7da2

File tree

3 files changed

+9
-10
lines changed

3 files changed

+9
-10
lines changed

3.component_model.md

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Components describe functional units that may be instantiated as part of a large
1010

1111
The role of a `ComponentDefinition` entity is to permit component providers to declare, in infrastructure-neutral format, the runtime characteristics of such unit of execution.
1212

13-
For example, each microservice in an application is described as a component. Note that `ComponentDefinition` itself is not an instance of that microservice, but a declaration of the configurable runtime characteristics of that microservice.
13+
For example, each microservice in an application is described as a component. Note that `ComponentDefinition` itself is *NOT* an instance of that microservice, but a declaration of the configurable attributes of that microservice. These configurable attributes should be expose as a list of parameters which allow the application team to set and instantiate this component later at deployment time.
1414

1515
In practice, a simple containerized workload, a Helm chart, or a cloud database may all be modeled as a component.
1616

@@ -49,16 +49,17 @@ Here are the attributes that provide top-level information about the component d
4949

5050
#### Schematic
5151

52-
The schematic section of component definition declares the schematic of a reusable and deployable unit that will composed an application in the later workflow.
52+
This section declares the schematic of a component that could be instantiated as part of an application in the later workflow.
53+
54+
The OAM specification has no opinion or enforcement on the schematic itself as long as a JSON schema equivalent parameter list is defined. Though in order to make the specification implementable, several built-in approaches (`cue`, `helm`, `kube`) are defined as part of the specification for now.
55+
56+
> Note: below sections may change in the future releases.
5357
5458
| Attribute | Type | Required | Default Value | Description |
5559
|-----------|------|----------|---------------|-------------|
5660
| `kube` | [Template](#template) | N | | A template with parameter list for certain [Kubernetes workload](https://kubernetes.io/docs/concepts/workloads/) resource as component. |
5761
| `cue` | [Template](#template) | N || A [CUE](https://github.com/cuelang/cue) module as component. |
5862
| `helm` | [Template](#template) | N || A [Helm](https://helm.sh) chart as component. |
59-
| `extension` | `unstructured` | N || A extension point for adding other approaches to provide schematic for component definition. |
60-
61-
The OAM specification has no opinion on the encapsulation tools to enable component definition schematic. Though in order to make the specification implementable, we currently introduced several built-in approaches (`cue`, `helm`, `kube`) as part of the specification.
6263

6364
```yaml
6465
kind: ComponentDefinition
@@ -110,8 +111,6 @@ kind: ComponentDefinition
110111
- "spec.template.spec.containers[0].image"
111112
```
112113
113-
Also, by leveraging the `extension` field, the implementation could have its own way to encapsulate a component and expose a parameter list for users to instantiate it. In future releases, we may introduce a structured extension point to enhance this field.
114-
115114
### Example
116115
117116
Below is a full example of CUE based component definition:

7.application.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ This section describes how applications are designed and deployed.
66
77
## Application
88

9-
The _Application_ entity defines which components will be instantiated once the application is deployed.
9+
The _Application_ entity defines a list of components that will be instantiated once the application is deployed.
1010

1111
Users will specify the final parametrization of each component and the traits that are applied to augment their functionality or alter their behavior. Additionally, a set of scopes grouping different subsets of components can be specified.
1212

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@ In Open Application Model, we propose an app-centric approach instead:
3131

3232
## Read the specification
3333

34-
| | Previous Stable Release | Latest Release | Working Draft |
34+
| | Previous Releases | Latest Release | Working Draft |
3535
| :----------------------------: | :-----------------: | :------------: |:--------------------------------: |
36-
| OAM Specification | [v0.1.0](https://github.com/oam-dev/spec/releases/tag/v0.1.0) | [v0.3.0](SPEC.md) | -- |
36+
| OAM Specification | [v0.1.0](https://github.com/oam-dev/spec/releases/tag/v0.1.0), [v0.2.1](https://github.com/oam-dev/spec/releases/tag/v0.2.1) | [v0.3.0](SPEC.md) | -- |
3737

3838
## See it in action
3939

0 commit comments

Comments
 (0)