You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* 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>
Copy file name to clipboardExpand all lines: src/margo-api-reference/workload-api/application-package-api/application-description.linkml.yaml
+10-10Lines changed: 10 additions & 10 deletions
Original file line number
Diff line number
Diff line change
@@ -216,15 +216,15 @@ classes:
216
216
range: HelmComponent
217
217
rank: 20
218
218
219
-
DockerComposeDeploymentProfile:
219
+
ComposeDeploymentProfile:
220
220
is_a: DeploymentProfile
221
221
#rank: 66
222
222
slot_usage:
223
223
type:
224
-
equals_string: "docker-compose"
224
+
equals_string: "compose"
225
225
rank: 10
226
226
components:
227
-
range: DockerComposeComponent
227
+
range: ComposeComponent
228
228
rank: 20
229
229
230
230
Component:
@@ -251,7 +251,7 @@ classes:
251
251
is_a: Component
252
252
#rank: 73
253
253
254
-
DockerComposeComponent:
254
+
ComposeComponent:
255
255
is_a: Component
256
256
#rank: 76
257
257
@@ -276,7 +276,7 @@ classes:
276
276
rank: 40
277
277
range: string
278
278
packageLocation:
279
-
description: URL indicating the Docker Compose package's location.
279
+
description: URL indicating the Compose package's location.
280
280
rank: 50
281
281
range: string
282
282
keyLocation:
@@ -323,7 +323,7 @@ classes:
323
323
description: >-
324
324
The name of the parameter in the deployment configuration.
325
325
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.
327
327
rank: 10
328
328
range: string
329
329
required: true
@@ -561,15 +561,15 @@ slots:
561
561
description: >-
562
562
Indicates the components's deployment configuration.
563
563
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.
565
565
When installing the application on a device supporting the Kubernetes platform all `helm.v3` components,
566
566
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.
569
569
The device will install the components in the same order they are listed in the application description file.
Copy file name to clipboardExpand all lines: src/margo-api-reference/workload-api/application-package-api/resources/examples/valid/ApplicationDescription-002.yaml
@@ -74,17 +74,15 @@ The expected properties for the suppported deployment types are indicated below.
74
74
| 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.|
75
75
| 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. |
76
76
77
-
- Properties for `docker-compose` components
77
+
- Properties for `compose` components
78
78
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.
82
80
83
81
| Attribute | Type | Required? | Description |
84
82
| --- | --- | --- | --- |
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. |
86
84
| 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.|
88
86
| 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.|
Copy file name to clipboardExpand all lines: system-design/app-interoperability/local-registries.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,18 +1,18 @@
1
1
# Local Registries
2
2
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.
4
4
5
5
In terms of connectivity, we can thereby distinguish mainly between the following device categories:
6
6
7
7
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.
8
8
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.
9
9
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.
10
10
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.
12
12
13
13
To setup local registries, different configuration options exist:
14
14
15
-
## Option - Docker Registry Mirror on Kubernetes Level
15
+
## Option - Container Registry Mirror on Kubernetes Level
16
16
17
17
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:
18
18
@@ -28,7 +28,7 @@ configs:
28
28
password: "<password>"
29
29
```
30
30
31
-
## Option - Docker Registry as Pull-through Cache on Docker Level
31
+
## Option - Container Registry as Pull-through Cache on Docker Level
32
32
33
33
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`:
Copy file name to clipboardExpand all lines: system-design/app-interoperability/workload-orch-to-app-reg-interaction.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,7 +17,7 @@ Then, the [application package](./application-package-definition.md) is ready to
17
17
> **Note**
18
18
> The specifics of the installation process are still under discussion: this could be for example a GitOps based approach.
19
19
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.
21
21
22
22
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.
Copy file name to clipboardExpand all lines: system-design/margo-api-reference/workload-api/application-package-api/application-description.md
+7-9Lines changed: 7 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -71,7 +71,7 @@ Represents a deployment configuration for the application. <br>
71
71
72
72
| Attribute | Type | Required? | Description |
73
73
| --- | --- | --- | --- |
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.|
75
75
| components |[]Component | Y | Component element indicating the components to deploy when installing the application. See the [Component](#component-attributes) section below.|
76
76
77
77
@@ -96,17 +96,15 @@ The expected properties for the suppported deployment types are indicated below.
96
96
| 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.|
97
97
| 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. |
98
98
99
-
- Properties for `docker-compose` components
99
+
- Properties for `compose` components
100
100
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.
104
102
105
103
| Attribute | Type | Required? | Description |
106
104
| --- | --- | --- | --- |
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. |
108
106
| 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.|
110
108
| 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.|
111
109
112
110
## Defining configurable application parameters
@@ -130,7 +128,7 @@ Specifies where the parameter applies in the deployment. <br>
130
128
131
129
| Attribute | Type | Required? | Description |
132
130
| --- | --- | --- | --- |
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.|
134
132
| 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.|
0 commit comments