From 8d434908b2753b5876ae9fa96fd64c5c6142bde8 Mon Sep 17 00:00:00 2001 From: Maysun J Faisal Date: Wed, 30 Mar 2022 14:29:12 -0400 Subject: [PATCH 1/5] Add apply command authoring page Signed-off-by: Maysun J Faisal --- .../attachments/api-reference/next/index.html | 19 +++++++++- docs/modules/user-guide/nav.adoc | 1 + .../adding-apply-commands-to-a-devfile.adoc | 6 +++ ...assembly_adding-commands-to-a-devfile.adoc | 1 + ...oc_adding-apply-commands-to-a-devfile.adoc | 37 +++++++++++++++++++ 5 files changed, 62 insertions(+), 2 deletions(-) create mode 100644 docs/modules/user-guide/pages/adding-apply-commands-to-a-devfile.adoc create mode 100644 docs/modules/user-guide/partials/proc_adding-apply-commands-to-a-devfile.adoc diff --git a/docs/modules/user-guide/attachments/api-reference/next/index.html b/docs/modules/user-guide/attachments/api-reference/next/index.html index 1ea47b46..7128b69d 100644 --- a/docs/modules/user-guide/attachments/api-reference/next/index.html +++ b/docs/modules/user-guide/attachments/api-reference/next/index.html @@ -1327,7 +1327,7 @@

Devfile schema - Version 2.2.0-alpha

-

Path of source directory to establish build context. Defaults to ${PROJECT_ROOT} in the container

+

Path of source directory to establish build context. Defaults to ${PROJECT_SOURCE} in the container

@@ -3734,7 +3734,7 @@

Devfile schema - Version 2.2.0-alpha

-

Path of source directory to establish build context. Defaults to ${PROJECT_ROOT} in the container

+

Path of source directory to establish build context. Defaults to ${PROJECT_SOURCE} in the container

@@ -4787,6 +4787,21 @@

Devfile schema - Version 2.2.0-alpha

+
+
+
+ version: + + string + + + , must match ^(latest)|(([1-9])\.([0-9]+)\.([0-9]+)(\-[0-9a-z-]+(\.[0-9a-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?)$ +
+
+

Specific stack/sample version to pull the parent devfile from, when using id in the parent reference. To specify version, id must be defined and used as the import reference source. version can be either a specific stack version, or latest. If no version specified, default version will be used.

+ +
+
diff --git a/docs/modules/user-guide/nav.adoc b/docs/modules/user-guide/nav.adoc index e6998fad..76df1975 100644 --- a/docs/modules/user-guide/nav.adoc +++ b/docs/modules/user-guide/nav.adoc @@ -10,6 +10,7 @@ **** xref:adding-a-command-section-to-a-devfile.adoc[] **** xref:adding-a-command-group-to-a-devfile.adoc[] **** xref:adding-exec-commands-to-a-devfile.adoc[] +**** xref:adding-apply-commands-to-a-devfile.adoc[] **** xref:adding-composite-commands-to-a-devfile.adoc[] *** xref:adding-components-to-a-devfile.adoc[] **** xref:adding-a-kubernetes-or-openshift-component-to-a-devfile.adoc[] diff --git a/docs/modules/user-guide/pages/adding-apply-commands-to-a-devfile.adoc b/docs/modules/user-guide/pages/adding-apply-commands-to-a-devfile.adoc new file mode 100644 index 00000000..f7a84839 --- /dev/null +++ b/docs/modules/user-guide/pages/adding-apply-commands-to-a-devfile.adoc @@ -0,0 +1,6 @@ +:description: Adding apply commands to a devfile +:navtitle: Adding apply commands to a devfile +:keywords: command, devfile + + +include::partial$proc_adding-apply-commands-to-a-devfile.adoc[] diff --git a/docs/modules/user-guide/partials/assembly_adding-commands-to-a-devfile.adoc b/docs/modules/user-guide/partials/assembly_adding-commands-to-a-devfile.adoc index 0ed120bf..df183c9a 100644 --- a/docs/modules/user-guide/partials/assembly_adding-commands-to-a-devfile.adoc +++ b/docs/modules/user-guide/partials/assembly_adding-commands-to-a-devfile.adoc @@ -16,6 +16,7 @@ You can use a devfile to specify commands to run in a workspace. Every command c * xref:adding-a-command-section-to-a-devfile.adoc[] * xref:adding-a-command-group-to-a-devfile.adoc[] * xref:adding-exec-commands-to-a-devfile.adoc[] +* xref:adding-apply-commands-to-a-devfile.adoc[] * xref:adding-composite-commands-to-a-devfile.adoc[] [role="_additional-resources"] diff --git a/docs/modules/user-guide/partials/proc_adding-apply-commands-to-a-devfile.adoc b/docs/modules/user-guide/partials/proc_adding-apply-commands-to-a-devfile.adoc new file mode 100644 index 00000000..b6e3b7ba --- /dev/null +++ b/docs/modules/user-guide/partials/proc_adding-apply-commands-to-a-devfile.adoc @@ -0,0 +1,37 @@ +[id="proc_adding-apply-commands-to-a-devfile_{context}"] += Adding apply commands to a devfile +[role="_abstract"] + +Use the the `apply` command to apply a given component definition, usually a `kubernetes`, `openshift` or an `image` component. Apply commands are also typically bound to `preStart` and `postStop` events. + +. Define the `apply` command to apply a given component. In the following example, two apply commands reference an `image` component and a `kubernetes` component to build a docker image and to apply the deployment YAML for an outerloop scenario. ++ +[source,yaml] +---- +components: + - name: outerloop-build + image: + imageName: python-image:latest + dockerfile: + uri: docker/Dockerfile + buildContext: . + rootRequired: false + - name: outerloop-deploy + kubernetes: + uri: outerloop-deploy.yaml +commands: + - id: build-image + apply: + component: outerloop-build + - id: deployk8s + apply: + component: outerloop-deploy + - id: deploy + composite: + commands: + - build-image + - deployk8s + group: + kind: deploy + isDefault: true +---- From 11f90ad57981f955c38dde1c6b8a574fe15d11e6 Mon Sep 17 00:00:00 2001 From: Maysun J Faisal Date: Wed, 30 Mar 2022 15:24:16 -0400 Subject: [PATCH 2/5] Update to 2.2.0, add deploy kind, add event to nav Signed-off-by: Maysun J Faisal --- .../partials/assembly_authoring-devfiles.adoc | 3 +- ...c_adding-a-command-group-to-a-devfile.adoc | 44 +++++++++++++++++++ ...ng-a-container-component-to-a-devfile.adoc | 4 +- .../proc_adding-a-name-to-a-devfile.adoc | 2 +- ...dding-a-volume-component-to-a-devfile.adoc | 4 +- ...oc_adding-apply-commands-to-a-devfile.adoc | 11 +++++ .../proc_adding-attributes-to-a-devfile.adoc | 2 +- ...dding-composite-commands-to-a-devfile.adoc | 2 +- ...roc_adding-exec-commands-to-a-devfile.adoc | 2 +- .../proc_adding-projects-to-a-devfile.adoc | 6 +-- ...oc_adding-schema-version-to-a-devfile.adoc | 2 +- .../partials/proc_defining-endpoints.adoc | 4 +- .../proc_defining-environment-variables.adoc | 2 +- .../proc_defining-kubernetes-resources.adoc | 2 +- .../proc_migrating-schema-version.adoc | 4 +- ...ring-to-a-parent-devfile-in-a-devfile.adoc | 6 +-- .../proc_specifying-persistent-storage.adoc | 2 +- 17 files changed, 78 insertions(+), 24 deletions(-) diff --git a/docs/modules/user-guide/partials/assembly_authoring-devfiles.adoc b/docs/modules/user-guide/partials/assembly_authoring-devfiles.adoc index 2feb666d..69870626 100644 --- a/docs/modules/user-guide/partials/assembly_authoring-devfiles.adoc +++ b/docs/modules/user-guide/partials/assembly_authoring-devfiles.adoc @@ -14,14 +14,13 @@ endif::[] [role="_abstract"] A devfile is a `yaml` file. After you include it in your local environment, the devfile provides ways to automate your processes. Tools like `odo` run the devfile and apply its guidelines to your environment. You can configure the devfile based on your unique development needs. See the following documents to help you author a devfile based on your development needs: -* xref:adding-schema-version-to-a-devfile.adoc[] -* xref:adding-a-name-to-a-devfile.adoc[] * xref:adding-schema-version-to-a-devfile.adoc[] * xref:adding-a-name-to-a-devfile.adoc[] * xref:adding-projects-to-a-devfile.adoc[] * xref:adding-commands-to-a-devfile.adoc[] * xref:adding-components-to-a-devfile.adoc[] * xref:adding-attributes-to-a-devfile.adoc[] +* xref:adding-event-bindings.adoc[] * xref:referring-to-a-parent-devfile-in-a-devfile.adoc[] // [role="_additional-resources"] diff --git a/docs/modules/user-guide/partials/proc_adding-a-command-group-to-a-devfile.adoc b/docs/modules/user-guide/partials/proc_adding-a-command-group-to-a-devfile.adoc index 324fdbcc..e72f94a6 100644 --- a/docs/modules/user-guide/partials/proc_adding-a-command-group-to-a-devfile.adoc +++ b/docs/modules/user-guide/partials/proc_adding-a-command-group-to-a-devfile.adoc @@ -19,6 +19,7 @@ Create command groups to help automate your devfile. * `run` * `test` * `debug` +* `deploy` + . At most, there can only be one default command for each group kind. Set the default command by specifying a `true` value for `isDefault`. + @@ -54,3 +55,46 @@ commands: kind: build isDefault: true ---- ++ +. Use the `deploy` kind to reference a deploy command for an outerloop scenario. ++ +[source,yaml] +---- +schemaVersion: 2.2.0 +metadata: + name: python + version: 1.0.0 + provider: Red Hat + supportUrl: https://github.com/devfile-samples/devfile-support#support-information + attributes: + alpha.dockerimage-port: 8081 +parent: + id: python + registryUrl: "https://registry.devfile.io" +components: + - name: outerloop-build + image: + imageName: python-image:latest + dockerfile: + uri: docker/Dockerfile + buildContext: . + rootRequired: false + - name: outerloop-deploy + kubernetes: + uri: outerloop-deploy.yaml +commands: + - id: build-image + apply: + component: outerloop-build + - id: deployk8s + apply: + component: outerloop-deploy + - id: deploy + composite: + commands: + - build-image + - deployk8s + group: + kind: deploy + isDefault: true +---- diff --git a/docs/modules/user-guide/partials/proc_adding-a-container-component-to-a-devfile.adoc b/docs/modules/user-guide/partials/proc_adding-a-container-component-to-a-devfile.adoc index 6fe65e7d..a07f52cd 100644 --- a/docs/modules/user-guide/partials/proc_adding-a-container-component-to-a-devfile.adoc +++ b/docs/modules/user-guide/partials/proc_adding-a-container-component-to-a-devfile.adoc @@ -46,7 +46,7 @@ A devfile can contain one or more components of the `container` type. The `compo .A minimal `container` component [source,yaml] ---- -schemaVersion: 2.1.0 +schemaVersion: 2.2.0 metadata: name: mydevfile components: @@ -67,7 +67,7 @@ For the `container` component to have access to the project sources, you must se + [source,yaml] ---- -schemaVersion: 2.1.0 +schemaVersion: 2.2.0 metadata: name: mydevfile components: diff --git a/docs/modules/user-guide/partials/proc_adding-a-name-to-a-devfile.adoc b/docs/modules/user-guide/partials/proc_adding-a-name-to-a-devfile.adoc index fc4ada20..6f682b0c 100644 --- a/docs/modules/user-guide/partials/proc_adding-a-name-to-a-devfile.adoc +++ b/docs/modules/user-guide/partials/proc_adding-a-name-to-a-devfile.adoc @@ -31,7 +31,7 @@ Adding a name to a devfile is mandatory. Use the `name` attribute to define the [source,yaml] ---- -schemaVersion: 2.1.0 +schemaVersion: 2.2.0 metadata: name: devfile-sample version: 2.0.0 diff --git a/docs/modules/user-guide/partials/proc_adding-a-volume-component-to-a-devfile.adoc b/docs/modules/user-guide/partials/proc_adding-a-volume-component-to-a-devfile.adoc index c92fc592..7ca269ef 100644 --- a/docs/modules/user-guide/partials/proc_adding-a-volume-component-to-a-devfile.adoc +++ b/docs/modules/user-guide/partials/proc_adding-a-volume-component-to-a-devfile.adoc @@ -18,7 +18,7 @@ You can use a `volume` component to share files among container components and c [source,yaml] ---- -schemaVersion: 2.1.0 +schemaVersion: 2.2.0 metadata: name: mydevfile components: @@ -33,7 +33,7 @@ components: [source,yaml] ---- -schemaVersion: 2.1.0 +schemaVersion: 2.2.0 metadata: name: mydevfile components: diff --git a/docs/modules/user-guide/partials/proc_adding-apply-commands-to-a-devfile.adoc b/docs/modules/user-guide/partials/proc_adding-apply-commands-to-a-devfile.adoc index b6e3b7ba..4077f5da 100644 --- a/docs/modules/user-guide/partials/proc_adding-apply-commands-to-a-devfile.adoc +++ b/docs/modules/user-guide/partials/proc_adding-apply-commands-to-a-devfile.adoc @@ -8,6 +8,17 @@ Use the the `apply` command to apply a given component definition, usually a `ku + [source,yaml] ---- +schemaVersion: 2.2.0 +metadata: + name: python + version: 1.0.0 + provider: Red Hat + supportUrl: https://github.com/devfile-samples/devfile-support#support-information + attributes: + alpha.dockerimage-port: 8081 +parent: + id: python + registryUrl: "https://registry.devfile.io" components: - name: outerloop-build image: diff --git a/docs/modules/user-guide/partials/proc_adding-attributes-to-a-devfile.adoc b/docs/modules/user-guide/partials/proc_adding-attributes-to-a-devfile.adoc index 3ec3fce2..c9c90ba1 100644 --- a/docs/modules/user-guide/partials/proc_adding-attributes-to-a-devfile.adoc +++ b/docs/modules/user-guide/partials/proc_adding-attributes-to-a-devfile.adoc @@ -27,7 +27,7 @@ When no editor is specified, a default editor is provided. To represent this use ==== [source,yaml] ---- -schemaVersion: 2.1.0 +schemaVersion: 2.2.0 metadata: name: petclinic-dev-environment attributes: diff --git a/docs/modules/user-guide/partials/proc_adding-composite-commands-to-a-devfile.adoc b/docs/modules/user-guide/partials/proc_adding-composite-commands-to-a-devfile.adoc index c3748754..f6d10dee 100644 --- a/docs/modules/user-guide/partials/proc_adding-composite-commands-to-a-devfile.adoc +++ b/docs/modules/user-guide/partials/proc_adding-composite-commands-to-a-devfile.adoc @@ -18,7 +18,7 @@ Connect multiple commands together by defining a composite command. + [source,yaml] ---- -schemaVersion: 2.1.0 +schemaVersion: 2.2.0 metadata: name: mydevfile projects: diff --git a/docs/modules/user-guide/partials/proc_adding-exec-commands-to-a-devfile.adoc b/docs/modules/user-guide/partials/proc_adding-exec-commands-to-a-devfile.adoc index 068a5ac7..2f2107ed 100644 --- a/docs/modules/user-guide/partials/proc_adding-exec-commands-to-a-devfile.adoc +++ b/docs/modules/user-guide/partials/proc_adding-exec-commands-to-a-devfile.adoc @@ -11,7 +11,7 @@ Use the the `exec` command to automate the container actions. + [source,yaml] ---- -schemaVersion: 2.1.0 +schemaVersion: 2.2.0 metadata: name: mydevfile projects: diff --git a/docs/modules/user-guide/partials/proc_adding-projects-to-a-devfile.adoc b/docs/modules/user-guide/partials/proc_adding-projects-to-a-devfile.adoc index 8b66cfc0..880e1ec4 100644 --- a/docs/modules/user-guide/partials/proc_adding-projects-to-a-devfile.adoc +++ b/docs/modules/user-guide/partials/proc_adding-projects-to-a-devfile.adoc @@ -68,7 +68,7 @@ This section describes how to add one or more projects to a devfile. Each starte ==== [source,yaml] ---- -schemaVersion: 2.1.0 +schemaVersion: 2.2.0 metadata: name: petclinic-dev-environment version: 1.0.0 @@ -86,7 +86,7 @@ projects: ==== [source,yaml] ---- -schemaVersion: 2.1.0 +schemaVersion: 2.2.0 metadata: name: example-devfile version: 1.0.0 @@ -143,7 +143,7 @@ source: ==== [source,yaml] ---- -schemaVersion: 2.1.0 +schemaVersion: 2.2.0 metadata: name: my-project-dev version: 2.0.0 diff --git a/docs/modules/user-guide/partials/proc_adding-schema-version-to-a-devfile.adoc b/docs/modules/user-guide/partials/proc_adding-schema-version-to-a-devfile.adoc index 38dfec33..7744de88 100644 --- a/docs/modules/user-guide/partials/proc_adding-schema-version-to-a-devfile.adoc +++ b/docs/modules/user-guide/partials/proc_adding-schema-version-to-a-devfile.adoc @@ -24,7 +24,7 @@ The `schemaVersion` attribute is mandatory in a devfile. See the following table ---- v2.1 --- -schemaVersion: 2.1.0 +schemaVersion: 2.2.0 metadata: name: devfile-sample version: 2.1.0 diff --git a/docs/modules/user-guide/partials/proc_defining-endpoints.adoc b/docs/modules/user-guide/partials/proc_defining-endpoints.adoc index d3e20d92..bf00614b 100644 --- a/docs/modules/user-guide/partials/proc_defining-endpoints.adoc +++ b/docs/modules/user-guide/partials/proc_defining-endpoints.adoc @@ -12,7 +12,7 @@ This section describes how to define endpoints and specify their properties. ==== [source,yaml] ---- -schemaVersion: 2.1.0 +schemaVersion: 2.2.0 metadata: name: mydevfile projects: @@ -71,7 +71,7 @@ WARNING: Listening on any other interface than the local loopback poses a securi [source,yaml] ---- -schemaVersion: 2.1.0 +schemaVersion: 2.2.0 metadata: name: mydevfile components: diff --git a/docs/modules/user-guide/partials/proc_defining-environment-variables.adoc b/docs/modules/user-guide/partials/proc_defining-environment-variables.adoc index c788002c..667c80fb 100644 --- a/docs/modules/user-guide/partials/proc_defining-environment-variables.adoc +++ b/docs/modules/user-guide/partials/proc_defining-environment-variables.adoc @@ -12,7 +12,7 @@ Environment variables are supported by the `container` component and the `exec` ==== [source,yaml] ---- -schemaVersion: 2.1.0 +schemaVersion: 2.2.0 metadata: name: mydevfile components: diff --git a/docs/modules/user-guide/partials/proc_defining-kubernetes-resources.adoc b/docs/modules/user-guide/partials/proc_defining-kubernetes-resources.adoc index 126d4307..bd95a0bf 100644 --- a/docs/modules/user-guide/partials/proc_defining-kubernetes-resources.adoc +++ b/docs/modules/user-guide/partials/proc_defining-kubernetes-resources.adoc @@ -30,7 +30,7 @@ The following component references a file that is relative to the location of th [source,yaml] ---- -schemaVersion: 2.1.0 +schemaVersion: 2.2.0 metadata: name: mydevfile projects: diff --git a/docs/modules/user-guide/partials/proc_migrating-schema-version.adoc b/docs/modules/user-guide/partials/proc_migrating-schema-version.adoc index 0ccc6187..3dac4cf6 100644 --- a/docs/modules/user-guide/partials/proc_migrating-schema-version.adoc +++ b/docs/modules/user-guide/partials/proc_migrating-schema-version.adoc @@ -6,7 +6,7 @@ This section describes how to migrate the existing schema version to a v2.x devf .Procedure -. To migrate a schema version from a v1.x devfile to a v2.x devfile, replace `apiVersion: 1.0.0` with `schemaVersion: 2.1.0`: +. To migrate a schema version from a v1.x devfile to a v2.x devfile, replace `apiVersion: 1.0.0` with `schemaVersion: 2.2.0`: + [cols="1a,1a"] |==== @@ -24,7 +24,7 @@ metadata: ---- v2.0 --- -schemaVersion: 2.1.0 +schemaVersion: 2.2.0 metadata: name: devfile-sample ---- diff --git a/docs/modules/user-guide/partials/proc_referring-to-a-parent-devfile-in-a-devfile.adoc b/docs/modules/user-guide/partials/proc_referring-to-a-parent-devfile-in-a-devfile.adoc index 8c654bff..d8b53bcf 100644 --- a/docs/modules/user-guide/partials/proc_referring-to-a-parent-devfile-in-a-devfile.adoc +++ b/docs/modules/user-guide/partials/proc_referring-to-a-parent-devfile-in-a-devfile.adoc @@ -25,7 +25,7 @@ Using the `id` when published in a registry. [source,yaml] ---- -schemaVersion: 2.1.0 +schemaVersion: 2.2.0 metadata: name: my-project-dev parent: @@ -40,7 +40,7 @@ Using the URI when published on a static HTTP server, such as GitHub Gist or Pas [source,yaml] ---- -schemaVersion: 2.1.0 +schemaVersion: 2.2.0 metadata: name: my-project-dev parent: @@ -54,7 +54,7 @@ Using a Kubernetes resource name and namespace if it has been deployed on a Kube [source,yaml] ---- -schemaVersion: 2.1.0 +schemaVersion: 2.2.0 metadata: name: my-project-dev parent: diff --git a/docs/modules/user-guide/partials/proc_specifying-persistent-storage.adoc b/docs/modules/user-guide/partials/proc_specifying-persistent-storage.adoc index d307dee2..f03d2a07 100644 --- a/docs/modules/user-guide/partials/proc_specifying-persistent-storage.adoc +++ b/docs/modules/user-guide/partials/proc_specifying-persistent-storage.adoc @@ -12,7 +12,7 @@ Use a `container` component to specify the volumes to be mounted on specific loc ==== [source,yaml] ---- -schemaVersion: 2.1.0 +schemaVersion: 2.2.0 metadata: name: mydevfile components: From f71242621840c9c7d205479ccd27c77fd362ada5 Mon Sep 17 00:00:00 2001 From: Stephanie Date: Wed, 30 Mar 2022 15:46:22 -0400 Subject: [PATCH 3/5] update kubernetes component to include deployByDefault information, update container component on sprcifying a volumeMount, update parent id reference with version specified Signed-off-by: Stephanie --- .gitignore | 1 + ...ng-a-container-component-to-a-devfile.adoc | 24 +++++++++++++++++-- ...s-or-openshift-component-to-a-devfile.adoc | 4 +++- ...ring-to-a-parent-devfile-in-a-devfile.adoc | 3 ++- 4 files changed, 28 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 2da35b77..4ec95bc7 100644 --- a/.gitignore +++ b/.gitignore @@ -15,6 +15,7 @@ .DS_Store .vale.ini .yarnrc +.idea/ /build/ /out/ /node_modules/ diff --git a/docs/modules/user-guide/partials/proc_adding-a-container-component-to-a-devfile.adoc b/docs/modules/user-guide/partials/proc_adding-a-container-component-to-a-devfile.adoc index a07f52cd..79e004fc 100644 --- a/docs/modules/user-guide/partials/proc_adding-a-container-component-to-a-devfile.adoc +++ b/docs/modules/user-guide/partials/proc_adding-a-container-component-to-a-devfile.adoc @@ -46,7 +46,7 @@ A devfile can contain one or more components of the `container` type. The `compo .A minimal `container` component [source,yaml] ---- -schemaVersion: 2.2.0 +schemaVersion: 2.1.0 metadata: name: mydevfile components: @@ -67,7 +67,7 @@ For the `container` component to have access to the project sources, you must se + [source,yaml] ---- -schemaVersion: 2.2.0 +schemaVersion: 2.1.0 metadata: name: mydevfile components: @@ -81,6 +81,26 @@ components: + The sources are mounted on a location stored in the `PROJECTS_ROOT` environment variable that is made available in the running container of the image. This location defaults to `/projects`. If `sourceMapping` is defined in the container, it overrides the `PROJECT_ROOT` value and mounts the source to the path defined by `sourceMapping`. +. Specify a volume ++ +For the `container` component to have a shared volume. You must define a volume component in the devfile, and reference the volume using `volumeMount` in container component. For more information on volume component, see xref:adding-a-volume-component-to-a-devfile.adoc[] ++ +[source,yaml] +---- +components: + - name: mycontainer + container: + image: java11-maven:next + memoryLimit: 768Mi + mountSources: true + volumeMounts: + - name: m2 + path: /home/user/.m2 + - name: m2 + volume: + size: 1Gi +---- + . Container Entrypoint + Use the `command` attribute of the `container` type to modify the `entrypoint` command of the container created from the image. The availability of the `sleep` command and the support for the `infinity` argument depend on the base image used in the particular images. diff --git a/docs/modules/user-guide/partials/proc_adding-a-kubernetes-or-openshift-component-to-a-devfile.adoc b/docs/modules/user-guide/partials/proc_adding-a-kubernetes-or-openshift-component-to-a-devfile.adoc index 2fea82f0..de3f8e66 100644 --- a/docs/modules/user-guide/partials/proc_adding-a-kubernetes-or-openshift-component-to-a-devfile.adoc +++ b/docs/modules/user-guide/partials/proc_adding-a-kubernetes-or-openshift-component-to-a-devfile.adoc @@ -52,5 +52,7 @@ You can add either a `kubernetes` or `openshift` component to a devfile. + . Specify the endpoint through the endpoint property with `kubernetes` or `openshift` components. -. Associate `kubernetes` or `openshift` components with `Apply` commands. If you do not associate `Apply` commands, they are assumed to be applied at start up. +. By default `kubernetes` or `openshift` components are not going to be deployed. Specify `deployByDefault=true` if you want to apply the component at start up. + +. Associate `kubernetes` or `openshift` components with `Apply` commands wth `deploy` command group kind. If the `kubernetes` or `openshift` component uses an image built by an image component defined in the devfile, you can create a composite `deploy` command to build the image and deploy the Kubernetes or openshift component. For more information on `deploy` commands, see xref:adding-a-command-group-to-a-devfile.adoc[] + diff --git a/docs/modules/user-guide/partials/proc_referring-to-a-parent-devfile-in-a-devfile.adoc b/docs/modules/user-guide/partials/proc_referring-to-a-parent-devfile-in-a-devfile.adoc index d8b53bcf..f0de056d 100644 --- a/docs/modules/user-guide/partials/proc_referring-to-a-parent-devfile-in-a-devfile.adoc +++ b/docs/modules/user-guide/partials/proc_referring-to-a-parent-devfile-in-a-devfile.adoc @@ -21,7 +21,7 @@ You can refer to a parent devfile in three different ways: + .Parent referred by registry ==== -Using the `id` when published in a registry. +Using the `id` when published in a registry. Provide the `registryUrl` as well as `version`. `version` can be either the stack version string, or `latest`. If no `version` is provided, the default version for the stack will be used. [source,yaml] ---- @@ -31,6 +31,7 @@ metadata: parent: id: redhat/nodejs registryUrl: https://devfile-registry.io/ + version: 1.2.0 ---- ==== + From e45111e7fe312b1892a2f87cd2bb7f2a7c0c7af6 Mon Sep 17 00:00:00 2001 From: Maysun J Faisal Date: Wed, 30 Mar 2022 16:45:10 -0400 Subject: [PATCH 4/5] Add image component authoring doc Signed-off-by: Maysun J Faisal --- docs/modules/user-guide/nav.adoc | 1 + ...adding-a-image-component-to-a-devfile.adoc | 6 ++ ...adding-a-image-component-to-a-devfile.adoc | 71 +++++++++++++++++++ .../proc_adding-components-to-a-devfile.adoc | 1 + 4 files changed, 79 insertions(+) create mode 100644 docs/modules/user-guide/pages/adding-a-image-component-to-a-devfile.adoc create mode 100644 docs/modules/user-guide/partials/proc_adding-a-image-component-to-a-devfile.adoc diff --git a/docs/modules/user-guide/nav.adoc b/docs/modules/user-guide/nav.adoc index 76df1975..1d2dad66 100644 --- a/docs/modules/user-guide/nav.adoc +++ b/docs/modules/user-guide/nav.adoc @@ -15,6 +15,7 @@ *** xref:adding-components-to-a-devfile.adoc[] **** xref:adding-a-kubernetes-or-openshift-component-to-a-devfile.adoc[] **** xref:adding-a-container-component-to-a-devfile.adoc[] +**** xref:adding-a-image-component-to-a-devfile.adoc[] **** xref:adding-a-volume-component-to-a-devfile.adoc[] **** xref:specifying-persistent-storage.adoc[] **** xref:limiting-resources-usage.adoc[] diff --git a/docs/modules/user-guide/pages/adding-a-image-component-to-a-devfile.adoc b/docs/modules/user-guide/pages/adding-a-image-component-to-a-devfile.adoc new file mode 100644 index 00000000..6babf6a1 --- /dev/null +++ b/docs/modules/user-guide/pages/adding-a-image-component-to-a-devfile.adoc @@ -0,0 +1,6 @@ +:description: Adding an image component to a devfile +:navtitle: Adding an image component +:keywords: authoring, stack, components +:page-aliases: + +include::partial$proc_adding-a-image-component-to-a-devfile.adoc[] diff --git a/docs/modules/user-guide/partials/proc_adding-a-image-component-to-a-devfile.adoc b/docs/modules/user-guide/partials/proc_adding-a-image-component-to-a-devfile.adoc new file mode 100644 index 00000000..698d0558 --- /dev/null +++ b/docs/modules/user-guide/partials/proc_adding-a-image-component-to-a-devfile.adoc @@ -0,0 +1,71 @@ +[id="proc_adding-a-image-component-to-a-devfile_{context}"] += Adding an image component to a devfile + +[role="_abstract"] +You can add an `image` component to a devfile. + +.Prerequisites + +* xref:adding-schema-version-to-a-devfile.adoc[] +* xref:adding-a-name-to-a-devfile.adoc[] +* xref:adding-components-to-a-devfile.adoc[] + +.Procedure + +. Define a component using the type `image`. ++ +Specify the location of the Dockerfile using the `uri` property. Specify arguments to be passed during the build with `args`. `buildContext` is the path of source directory to establish build context. If `rootRequired` is set to true, a privileged builder pod is required. The built container will be stored in the image provided by `imageName`. ++ +.An `image` component +[source,yaml] +---- +components: + - name: outerloop-build + image: + imageName: python-image:latest + autoBuild: true + dockerfile: + uri: docker/Dockerfile + args: + - "MY_ENV=/home/path" + buildContext: . + rootRequired: false +---- ++ +Alternatively, specify `git` and `devfileRegistry` as the image source. ++ +When specifying `git`, `fileLocation` refers to the location of the Dockerfile in the git repository. Specify the `remotes` for the git repository and a `checkoutFrom` to indicate which `revision` to check the source from. ++ +.An `image` component with git source +[source,yaml] +---- +components: + - name: outerloop-build + image: + imageName: python-image:latest + dockerfile: + git: + fileLocation: "uri/Dockerfile" + checkoutFrom: + revision: "main" + remote: "origin" + remotes: + "origin": "https://github.com/myorg/myrepo" + buildContext: . +---- ++ +When specifying `devfileRegistry`, `id` refers to the Id in a devfile registry that contains a Dockerfile. `registryUrl` refers to the Devfile Registry URL to pull the Dockerfile from ++ +.An `image` component with devfileRegistry source +[source,yaml] +---- +components: + - name: outerloop-build + image: + imageName: python-image:latest + dockerfile: + devfileRegistry: + id: python + registryUrl: myregistry.devfile.com + buildContext: . +---- diff --git a/docs/modules/user-guide/partials/proc_adding-components-to-a-devfile.adoc b/docs/modules/user-guide/partials/proc_adding-components-to-a-devfile.adoc index 9c0a9f63..f20bc6a4 100644 --- a/docs/modules/user-guide/partials/proc_adding-components-to-a-devfile.adoc +++ b/docs/modules/user-guide/partials/proc_adding-components-to-a-devfile.adoc @@ -140,6 +140,7 @@ Each component in a single devfile must have a unique name and use one of the ob . xref:adding-a-kubernetes-or-openshift-component-to-a-devfile.adoc[] . xref:adding-a-container-component-to-a-devfile.adoc[] . xref:adding-a-volume-component-to-a-devfile.adoc[] +. xref:adding-a-image-component-to-a-devfile.adoc[] . xref:specifying-persistent-storage.adoc[] . xref:limiting-resources-usage.adoc[] . xref:defining-environment-variables.adoc[] From ccab270bfe4c29d2ac341589a7accb93edc222cf Mon Sep 17 00:00:00 2001 From: Maysun J Faisal Date: Wed, 30 Mar 2022 16:54:33 -0400 Subject: [PATCH 5/5] Update caption for image component Signed-off-by: Maysun J Faisal --- .../partials/proc_adding-a-command-group-to-a-devfile.adoc | 2 +- .../proc_adding-a-container-component-to-a-devfile.adoc | 4 ++-- .../proc_adding-a-image-component-to-a-devfile.adoc | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/modules/user-guide/partials/proc_adding-a-command-group-to-a-devfile.adoc b/docs/modules/user-guide/partials/proc_adding-a-command-group-to-a-devfile.adoc index e72f94a6..7fb68848 100644 --- a/docs/modules/user-guide/partials/proc_adding-a-command-group-to-a-devfile.adoc +++ b/docs/modules/user-guide/partials/proc_adding-a-command-group-to-a-devfile.adoc @@ -25,7 +25,7 @@ Create command groups to help automate your devfile. + [source,yaml] ---- -schemaVersion: 2.1.0 +schemaVersion: 2.2.0 metadata: name: mydevfile projects: diff --git a/docs/modules/user-guide/partials/proc_adding-a-container-component-to-a-devfile.adoc b/docs/modules/user-guide/partials/proc_adding-a-container-component-to-a-devfile.adoc index 79e004fc..3dcca21f 100644 --- a/docs/modules/user-guide/partials/proc_adding-a-container-component-to-a-devfile.adoc +++ b/docs/modules/user-guide/partials/proc_adding-a-container-component-to-a-devfile.adoc @@ -46,7 +46,7 @@ A devfile can contain one or more components of the `container` type. The `compo .A minimal `container` component [source,yaml] ---- -schemaVersion: 2.1.0 +schemaVersion: 2.2.0 metadata: name: mydevfile components: @@ -67,7 +67,7 @@ For the `container` component to have access to the project sources, you must se + [source,yaml] ---- -schemaVersion: 2.1.0 +schemaVersion: 2.2.0 metadata: name: mydevfile components: diff --git a/docs/modules/user-guide/partials/proc_adding-a-image-component-to-a-devfile.adoc b/docs/modules/user-guide/partials/proc_adding-a-image-component-to-a-devfile.adoc index 698d0558..a4fa7d4d 100644 --- a/docs/modules/user-guide/partials/proc_adding-a-image-component-to-a-devfile.adoc +++ b/docs/modules/user-guide/partials/proc_adding-a-image-component-to-a-devfile.adoc @@ -16,7 +16,7 @@ You can add an `image` component to a devfile. + Specify the location of the Dockerfile using the `uri` property. Specify arguments to be passed during the build with `args`. `buildContext` is the path of source directory to establish build context. If `rootRequired` is set to true, a privileged builder pod is required. The built container will be stored in the image provided by `imageName`. + -.An `image` component +.An `image` dockerfile component [source,yaml] ---- components: @@ -36,7 +36,7 @@ Alternatively, specify `git` and `devfileRegistry` as the image source. + When specifying `git`, `fileLocation` refers to the location of the Dockerfile in the git repository. Specify the `remotes` for the git repository and a `checkoutFrom` to indicate which `revision` to check the source from. + -.An `image` component with git source +.An `image` dockerfile component with git source [source,yaml] ---- components: @@ -56,7 +56,7 @@ components: + When specifying `devfileRegistry`, `id` refers to the Id in a devfile registry that contains a Dockerfile. `registryUrl` refers to the Devfile Registry URL to pull the Dockerfile from + -.An `image` component with devfileRegistry source +.An `image` dockerfile component with devfileRegistry source [source,yaml] ---- components: