Skip to content

Commit f8268f2

Browse files
Removing 'Docker' from 'Compose' (#80)
* removing 'Docker' from 'Compose' Signed-off-by: Arne Broering <arne.broering@siemens.com> * Removing 'Docker' from 'Compose' - fixes Signed-off-by: Arne Broering <arne.broering@siemens.com> --------- Signed-off-by: Arne Broering <arne.broering@siemens.com>
1 parent c914a93 commit f8268f2

File tree

10 files changed

+40
-44
lines changed

10 files changed

+40
-44
lines changed

src/margo-api-reference/workload-api/application-package-api/application-description.linkml.yaml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -216,15 +216,15 @@ classes:
216216
range: HelmComponent
217217
rank: 20
218218

219-
DockerComposeDeploymentProfile:
219+
ComposeDeploymentProfile:
220220
is_a: DeploymentProfile
221221
#rank: 66
222222
slot_usage:
223223
type:
224-
equals_string: "docker-compose"
224+
equals_string: "compose"
225225
rank: 10
226226
components:
227-
range: DockerComposeComponent
227+
range: ComposeComponent
228228
rank: 20
229229

230230
Component:
@@ -251,7 +251,7 @@ classes:
251251
is_a: Component
252252
#rank: 73
253253

254-
DockerComposeComponent:
254+
ComposeComponent:
255255
is_a: Component
256256
#rank: 76
257257

@@ -276,7 +276,7 @@ classes:
276276
rank: 40
277277
range: string
278278
packageLocation:
279-
description: URL indicating the Docker Compose package's location.
279+
description: URL indicating the Compose package's location.
280280
rank: 50
281281
range: string
282282
keyLocation:
@@ -323,7 +323,7 @@ classes:
323323
description: >-
324324
The name of the parameter in the deployment configuration.
325325
For Helm deployments, this is the dot notation for the matching element in the `values.yaml` file. This follows the same naming convention you would use with the `--set` command line argument with the `helm install` command.
326-
For docker-compose deployments, this is the name of the environment variable to set.
326+
For compose deployments, this is the name of the environment variable to set.
327327
rank: 10
328328
range: string
329329
required: true
@@ -561,15 +561,15 @@ slots:
561561
description: >-
562562
Indicates the components's deployment configuration.
563563
The values are `helm.v3` to indicate the component's package format is Helm version 3
564-
and `docker-compose` to indicate the component's package format is Docker Compose.
564+
and `compose` to indicate the component's package format is a Compose file.
565565
When installing the application on a device supporting the Kubernetes platform all `helm.v3` components,
566566
and only `helm.v3` components, will be provided to the device in same order they are listed in the application description file.
567-
When installing the application on a device supporting docker-compose all `docker-compose` components,
568-
and only `docker-compose` components, will be provided to the device in the same order they are listed in the application description file.
567+
When installing the application on a device supporting Compose all `compose` components,
568+
and only `compose` components, will be provided to the device in the same order they are listed in the application description file.
569569
The device will install the components in the same order they are listed in the application description file.
570570
range: string
571571
required: true
572-
pattern: ^(helm\.v3|docker-compose)$
572+
pattern: ^(helm\.v3|compose)$
573573
rank: 10
574574

575575
components:

src/margo-api-reference/workload-api/application-package-api/resources/examples/valid/ApplicationDescription-002.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ deploymentProfiles:
3434
repository: oci://northstarida.azurecr.io/charts/northstarida-digitron-orchestrator
3535
revision: 1.0.9
3636
wait: true
37-
- type: docker-compose
37+
- type: compose
3838
components:
3939
- name: digitron-orchestrator-docker
4040
properties:

src/margo-api-reference/workload-api/application-package-api/resources/index.md.jinja2

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ The application description has the purpose of presenting the application, e.g.,
3333
{% endfor -%}
3434

3535
{% for c in gen.all_class_objects()|sort(attribute='rank') %}
36-
{%- if c.name != "ApplicationDescription" and not c.name.startswith("ComponentProperties") and not c.name.startswith("Helm") and not c.name.startswith("DockerCompose") %}
36+
{%- if c.name != "ApplicationDescription" and not c.name.startswith("ComponentProperties") and not c.name.startswith("Helm") and not c.name.startswith("Compose") %}
3737

3838
{# if c is a subclass of any: #}
3939

@@ -74,17 +74,15 @@ The expected properties for the suppported deployment types are indicated below.
7474
| wait | bool | N | If `True`, indicates the device MUST wait until the helm chart has finished installing before installing the next helm chart. The default is `True`. The Workload Orchestration Agent MUST support `True` and MAY support `False`. Only applies if multiple `helm.v3` components are provided.|
7575
| timeout | string | N | The time to wait for the component's installation to complete. If the installation does not completed before the timeout occurs the installation process fails. The format is "##m##s" indicating the total number of minutes and seconds to wait. |
7676

77-
- Properties for `docker-compose` components
77+
- Properties for `compose` components
7878

79-
> **Investigation Needed**: We need to have more discussion about how docker-compose should be handled and what is required here.
80-
> We also need to determine if there is a version of docker-compose that needs to be specified. The docker compose schema [version has been
81-
> deprecated](https://github.com/compose-spec/compose-spec/blob/master/spec.md#version-and-name-top-level-elements) so it's not clear what we would even use for this if we wanted to.
79+
> **Investigation Needed**: We need to have more discussion about how Compose should be handled and what is required here.
8280

8381
| Attribute | Type | Required? | Description |
8482
| --- | --- | --- | --- |
85-
| packageLocation | string | Y | The URL indicating the Docker Compose package's location. |
83+
| packageLocation | string | Y | The URL indicating the Compose package's location. |
8684
| keyLocation | string | N | The public key used to validated the digitally signed package. It is highly recommend to digitally sign the package. When signing the package PGP MUST be used.|
87-
| wait | bool | N | If `True`, indicates the device MUST wait until the Docker Compose file has finished starting up before starting the next Docker Compose file. The default is `True`. The Workload Orchestration Agent MUST support `True` and MAY support `False`. Only applies if multiple `docker-compose` components are provided.|
85+
| wait | bool | N | If `True`, indicates the device MUST wait until the Compose file has finished starting up before starting the next Compose file. The default is `True`. The Workload Orchestration Agent MUST support `True` and MAY support `False`. Only applies if multiple `compose` components are provided.|
8886
| timeout | string | N | The time to wait for the component's installation to complete. If the installation does not completed before the timeout occurs the installation process fails. The format is "##m##s" indicating the total number of minutes and seconds to wait.|
8987

9088
## Defining configurable application parameters

src/margo-api-reference/workload-api/desired-state-api/desired-state.linkml.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -128,15 +128,15 @@ classes:
128128
range: HelmComponent
129129
rank: 20
130130

131-
DockerComposeDeploymentProfile:
131+
ComposeDeploymentProfile:
132132
is_a: DeploymentProfile
133133
rank: 40
134134
slot_usage:
135135
type:
136-
equals_string: "docker-compose"
136+
equals_string: "compose"
137137
rank: 10
138138
components:
139-
range: DockerComposeComponent
139+
range: ComposeComponent
140140
rank: 20
141141

142142
Component:
@@ -162,7 +162,7 @@ classes:
162162
is_a: Component
163163
rank: 50
164164

165-
DockerComposeComponent:
165+
ComposeComponent:
166166
is_a: Component
167167
rank: 50
168168

@@ -213,7 +213,7 @@ classes:
213213

214214
slots:
215215
type:
216-
description: The type of deployment profile (e.g., helm.v3, docker-compose).
216+
description: The type of deployment profile (e.g., helm.v3, compose).
217217
range: string
218218
required: true
219219
rank: 10

src/margo-api-reference/workload-api/desired-state-api/resources/examples/valid/DesiredState-002.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ metadata:
88
namespace: margo-poc
99
spec:
1010
deploymentProfile:
11-
type: docker-compose
11+
type: compose
1212
components:
1313
- name: digitron-orchestrator-docker
1414
properties:

system-design/app-interoperability/local-registries.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
# Local Registries
22

3-
This section investigates options for configuring the usage of local Docker (or Helm Chart) registries. The goal of configuring such local registries is to avoid the reliance on public, Internet-accessible registries. The reasons for not using such public registries are mainly twofold: (1) publicly hosted Docker images or Helm charts could become unavailable at some point, as the owner decides to take the Docker images or Helm charts off the public registry, (2) Internet connectivity may not be available to the device and hence public registries are not reachable, or (3) end-users want to host their own registries so they can do security scans and validate the packages.
3+
This section investigates options for configuring the usage of local OCI-based container (or Helm Chart) registries. The goal of configuring such local registries is to avoid the reliance on public, Internet-accessible registries. The reasons for not using such public registries are mainly twofold: (1) publicly hosted container images or Helm charts could become unavailable at some point, as the owner decides to take the container images or Helm charts off the public registry, (2) Internet connectivity may not be available to the device and hence public registries are not reachable, or (3) end-users want to host their own registries so they can do security scans and validate the packages.
44

55
In terms of connectivity, we can thereby distinguish mainly between the following device categories:
66

77
1. **Fully connected device**, which means a device is deployed in the field (e.g., a factory shop floor) and has access to the Internet.
88
2. **Locally connected device**, i.e., the device has connectivity to a local network (e.g., factory- or enterprise-wide) and a local repository can be made reachable.
99
3. **Air-gapped device**, i.e., the device generally is not connected and must be configured by accessing it directly (via USB, Bluetooth, or a direct network link, e.g., via Ethernet cable, or similar) for example via a technician’s laptop.
1010

11-
Local registries for Docker images and Helm Charts can be used for all 3 categories of devices. In case of **fully connected devices**, although the device could reach the Internet, a local registry can still be useful, e.g., as a cache for remote registries to save on bandwidth or to have Docker images and Helm Carts reliably available. In case of **locally connected devices**, a local registry is required to enable the WOA to install margo applications on the device, as the device/WOA does not have Internet access. Thereby, the local registry can be setup as a _pull-through cache_ where data (e.g., Docker images) are cached locally when they are first retrieved from a remote source and subsequent requests for the same data are served from the local cache rather than fetching it again from the remote source. In case of **air-gapped devices**, a local registry has to be accessible on the technician's laptop (or other directly connected device), which performs the application installation process.
11+
Local registries for container images and Helm Charts can be used for all 3 categories of devices. In case of **fully connected devices**, although the device could reach the Internet, a local registry can still be useful, e.g., as a cache for remote registries to save on bandwidth or to have container images and Helm Carts reliably available. In case of **locally connected devices**, a local registry is required to enable the WOA to install margo applications on the device, as the device/WOA does not have Internet access. Thereby, the local registry can be setup as a _pull-through cache_ where data (e.g., container images) are cached locally when they are first retrieved from a remote source and subsequent requests for the same data are served from the local cache rather than fetching it again from the remote source. In case of **air-gapped devices**, a local registry has to be accessible on the technician's laptop (or other directly connected device), which performs the application installation process.
1212

1313
To setup local registries, different configuration options exist:
1414

15-
## Option - Docker Registry Mirror on Kubernetes Level
15+
## Option - Container Registry Mirror on Kubernetes Level
1616

1717
Kubernetes supports the configuration of registry mirrors. How this is configured depends on the distribution and the underlying container runtime. Distributions that utilize **containerd** as runtime (e.g., k3s or microk8s) allow the definition of mirrors in a configuration file. For example, in k3s the file `/etc/rancher/k3s/registries.yaml` can be used to set up a mirror for each device's Kubernetes environment:
1818

@@ -28,7 +28,7 @@ configs:
2828
password: "<password>"
2929
```
3030

31-
## Option - Docker Registry as Pull-through Cache on Docker Level
31+
## Option - Container Registry as Pull-through Cache on Docker Level
3232

3333
To configure a pull-through cache in Docker for the container registry, a Docker Registry can be setup that acts as caching proxy for a remote Docker registry. Such a Docker Registry container can be defined using the following `config.yml`:
3434

system-design/app-interoperability/workload-orch-to-app-reg-interaction.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ Then, the [application package](./application-package-definition.md) is ready to
1717
> **Note**
1818
> The specifics of the installation process are still under discussion: this could be for example a GitOps based approach.
1919
20-
During this process the containers referenced in the application manifest ([Helm Chart](https://helm.sh/docs/) or [Docker Compose](https://github.com/compose-spec/compose-spec/blob/master/03-compose-file.md)) are retrieved from container/Helm registries.
20+
During this process the containers referenced in the application manifest ([Helm Chart](https://helm.sh/docs/) or [Compose](https://github.com/compose-spec/compose-spec/blob/master/03-compose-file.md)) are retrieved from container/Helm registries.
2121

2222
At a minimum, a Margo-compliant WOS SHALL provide a way for an end user to manually setup a connection between the WOS and an application registry. This is required so as not to prohibit an end user for being able to install any Margo-compliant application they wish; including applications developed by the end user.
2323

system-design/margo-api-reference/workload-api/application-package-api/application-description.md

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ Represents a deployment configuration for the application. <br>
7171

7272
| Attribute | Type | Required? | Description |
7373
| --- | --- | --- | --- |
74-
| type | string | Y | Indicates the components's deployment configuration. The values are `helm.v3` to indicate the component's package format is Helm version 3 and `docker-compose` to indicate the component's package format is Docker Compose. When installing the application on a device supporting the Kubernetes platform all `helm.v3` components, and only `helm.v3` components, will be provided to the device in same order they are listed in the application description file. When installing the application on a device supporting docker-compose all `docker-compose` components, and only `docker-compose` components, will be provided to the device in the same order they are listed in the application description file. The device will install the components in the same order they are listed in the application description file.|
74+
| type | string | Y | Indicates the component's deployment configuration. The values are `helm.v3` to indicate the component's package format is Helm version 3 and `compose` to indicate the component's package format is a Compose file. When installing the application on a device supporting the Kubernetes platform, all `helm.v3` components, and only `helm.v3` components, will be provided to the device in the same order they are listed in the application description file. When installing the application on a device supporting Compose, all `compose` components, and only `compose` components, will be provided to the device in the same order they are listed in the application description file. The device will install the components in the same order they are listed in the application description file.|
7575
| components | []Component | Y | Component element indicating the components to deploy when installing the application. See the [Component](#component-attributes) section below.|
7676

7777

@@ -96,17 +96,15 @@ The expected properties for the suppported deployment types are indicated below.
9696
| wait | bool | N | If `True`, indicates the device MUST wait until the helm chart has finished installing before installing the next helm chart. The default is `True`. The Workload Orchestration Agent MUST support `True` and MAY support `False`. Only applies if multiple `helm.v3` components are provided.|
9797
| timeout | string | N | The time to wait for the component's installation to complete. If the installation does not completed before the timeout occurs the installation process fails. The format is "##m##s" indicating the total number of minutes and seconds to wait. |
9898

99-
- Properties for `docker-compose` components
99+
- Properties for `compose` components
100100

101-
> **Investigation Needed**: We need to have more discussion about how docker-compose should be handled and what is required here.
102-
> We also need to determine if there is a version of docker-compose that needs to be specified. The docker compose schema [version has been
103-
> deprecated](https://github.com/compose-spec/compose-spec/blob/master/spec.md#version-and-name-top-level-elements) so it's not clear what we would even use for this if we wanted to.
101+
> **Investigation Needed**: We need to have more discussion about how Compose should be handled and what is required here.
104102
105103
| Attribute | Type | Required? | Description |
106104
| --- | --- | --- | --- |
107-
| packageLocation | string | Y | The URL indicating the Docker Compose package's location. |
105+
| packageLocation | string | Y | The URL indicating the Compose package's location. |
108106
| keyLocation | string | N | The public key used to validated the digitally signed package. It is highly recommend to digitally sign the package. When signing the package PGP MUST be used.|
109-
| wait | bool | N | If `True`, indicates the device MUST wait until the Docker Compose file has finished starting up before starting the next Docker Compose file. The default is `True`. The Workload Orchestration Agent MUST support `True` and MAY support `False`. Only applies if multiple `docker-compose` components are provided.|
107+
| wait | bool | N | If `True`, indicates the device MUST wait until the Compose file has finished starting up before starting the next Compose file. The default is `True`. The Workload Orchestration Agent MUST support `True` and MAY support `False`. Only applies if multiple `compose` components are provided.|
110108
| timeout | string | N | The time to wait for the component's installation to complete. If the installation does not completed before the timeout occurs the installation process fails. The format is "##m##s" indicating the total number of minutes and seconds to wait.|
111109

112110
## Defining configurable application parameters
@@ -130,7 +128,7 @@ Specifies where the parameter applies in the deployment. <br>
130128

131129
| Attribute | Type | Required? | Description |
132130
| --- | --- | --- | --- |
133-
| pointer | string | Y | The name of the parameter in the deployment configuration. For Helm deployments, this is the dot notation for the matching element in the `values.yaml` file. This follows the same naming convention you would use with the `--set` command line argument with the `helm install` command. For docker-compose deployments, this is the name of the environment variable to set.|
131+
| pointer | string | Y | The name of the parameter in the deployment configuration. For Helm deployments, this is the dot notation for the matching element in the `values.yaml` file. This follows the same naming convention you would use with the `--set` command line argument with the `helm install` command. For compose deployments, this is the name of the environment variable to set.|
134132
| components | []string | Y | Indicates which deployment profile [component](#component-attributes the parameter target applies to. The component name specified here MUST match a component name in the [deployment profiles](#deploymentprofile-attributes) section.|
135133

136134

@@ -335,7 +333,7 @@ deploymentProfiles:
335333
repository: oci://northstarida.azurecr.io/charts/northstarida-digitron-orchestrator
336334
revision: 1.0.9
337335
wait: true
338-
- type: docker-compose
336+
- type: compose
339337
components:
340338
- name: digitron-orchestrator-docker
341339
properties:

0 commit comments

Comments
 (0)