Skip to content

Add dependentProjects field to devfile/DevWorkspace #1217

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

Merged
merged 2 commits into from
Oct 19, 2023
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
169 changes: 169 additions & 0 deletions crds/workspace.devfile.io_devworkspaces.v1beta1.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6801,6 +6801,98 @@ spec:
- name
type: object
type: array
dependentProjects:
description: Additional projects related to the main project in
the devfile, contianing names and sources locations
items:
oneOf:
- required:
- git
- required:
- zip
- required:
- custom
properties:
attributes:
description: Map of implementation-dependant free-form YAML
attributes.
type: object
x-kubernetes-preserve-unknown-fields: true
clonePath:
description: Path relative to the root of the projects to
which this project should be cloned into. This is a unix-style
relative path (i.e. uses forward slashes). The path is
invalid if it is absolute or tries to escape the project
root through the usage of '..'. If not specified, defaults
to the project name.
type: string
custom:
description: Project's Custom source
properties:
embeddedResource:
type: object
x-kubernetes-embedded-resource: true
x-kubernetes-preserve-unknown-fields: true
projectSourceClass:
type: string
required:
- embeddedResource
- projectSourceClass
type: object
git:
description: Project's Git source
properties:
checkoutFrom:
description: Defines from what the project should be
checked out. Required if there are more than one remote
configured
properties:
remote:
description: The remote name should be used as init.
Required if there are more than one remote configured
type: string
revision:
description: The revision to checkout from. Should
be branch name, tag or commit id. Default branch
is used if missing or specified revision is not
found.
type: string
type: object
remotes:
additionalProperties:
type: string
description: The remotes map which should be initialized
in the git project. Projects must have at least one
remote configured while StarterProjects & Image Component's
Git source can only have at most one remote configured.
type: object
required:
- remotes
type: object
name:
description: Project name
maxLength: 63
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
type: string
sourceType:
description: Type of project source
enum:
- Git
- Zip
- Custom
type: string
zip:
description: Project's Zip source
properties:
location:
description: Zip project's source location address.
Should be file path of the archive, e.g. file://$FILE_PATH
type: string
type: object
required:
- name
type: object
type: array
events:
description: Bindings of commands to events. Each command is referred-to
by its name.
Expand Down Expand Up @@ -8600,6 +8692,83 @@ spec:
- name
type: object
type: array
dependentProjects:
description: Overrides of dependentProjects encapsulated in
a parent devfile. Overriding is done according to K8S strategic
merge patch standard rules.
items:
oneOf:
- required:
- git
- required:
- zip
properties:
attributes:
description: Map of implementation-dependant free-form
YAML attributes.
type: object
x-kubernetes-preserve-unknown-fields: true
clonePath:
description: Path relative to the root of the projects
to which this project should be cloned into. This
is a unix-style relative path (i.e. uses forward slashes).
The path is invalid if it is absolute or tries to
escape the project root through the usage of '..'.
If not specified, defaults to the project name.
type: string
git:
description: Project's Git source
properties:
checkoutFrom:
description: Defines from what the project should
be checked out. Required if there are more than
one remote configured
properties:
remote:
description: The remote name should be used
as init. Required if there are more than one
remote configured
type: string
revision:
description: The revision to checkout from.
Should be branch name, tag or commit id. Default
branch is used if missing or specified revision
is not found.
type: string
type: object
remotes:
additionalProperties:
type: string
description: The remotes map which should be initialized
in the git project. Projects must have at least
one remote configured while StarterProjects &
Image Component's Git source can only have at
most one remote configured.
type: object
type: object
name:
description: Project name
maxLength: 63
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
type: string
sourceType:
description: Type of project source
enum:
- Git
- Zip
type: string
zip:
description: Project's Zip source
properties:
location:
description: Zip project's source location address.
Should be file path of the archive, e.g. file://$FILE_PATH
type: string
type: object
required:
- name
type: object
type: array
id:
description: Id in a registry that contains a Devfile yaml
file
Expand Down
169 changes: 169 additions & 0 deletions crds/workspace.devfile.io_devworkspaces.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6806,6 +6806,98 @@ spec:
- name
type: object
type: array
dependentProjects:
description: Additional projects related to the main project in
the devfile, contianing names and sources locations
items:
oneOf:
- required:
- git
- required:
- zip
- required:
- custom
properties:
attributes:
description: Map of implementation-dependant free-form YAML
attributes.
type: object
x-kubernetes-preserve-unknown-fields: true
clonePath:
description: Path relative to the root of the projects to
which this project should be cloned into. This is a unix-style
relative path (i.e. uses forward slashes). The path is
invalid if it is absolute or tries to escape the project
root through the usage of '..'. If not specified, defaults
to the project name.
type: string
custom:
description: Project's Custom source
properties:
embeddedResource:
type: object
x-kubernetes-embedded-resource: true
x-kubernetes-preserve-unknown-fields: true
projectSourceClass:
type: string
required:
- embeddedResource
- projectSourceClass
type: object
git:
description: Project's Git source
properties:
checkoutFrom:
description: Defines from what the project should be
checked out. Required if there are more than one remote
configured
properties:
remote:
description: The remote name should be used as init.
Required if there are more than one remote configured
type: string
revision:
description: The revision to checkout from. Should
be branch name, tag or commit id. Default branch
is used if missing or specified revision is not
found.
type: string
type: object
remotes:
additionalProperties:
type: string
description: The remotes map which should be initialized
in the git project. Projects must have at least one
remote configured while StarterProjects & Image Component's
Git source can only have at most one remote configured.
type: object
required:
- remotes
type: object
name:
description: Project name
maxLength: 63
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
type: string
sourceType:
description: Type of project source
enum:
- Git
- Zip
- Custom
type: string
zip:
description: Project's Zip source
properties:
location:
description: Zip project's source location address.
Should be file path of the archive, e.g. file://$FILE_PATH
type: string
type: object
required:
- name
type: object
type: array
events:
description: Bindings of commands to events. Each command is referred-to
by its name.
Expand Down Expand Up @@ -8605,6 +8697,83 @@ spec:
- name
type: object
type: array
dependentProjects:
description: Overrides of dependentProjects encapsulated in
a parent devfile. Overriding is done according to K8S strategic
merge patch standard rules.
items:
oneOf:
- required:
- git
- required:
- zip
properties:
attributes:
description: Map of implementation-dependant free-form
YAML attributes.
type: object
x-kubernetes-preserve-unknown-fields: true
clonePath:
description: Path relative to the root of the projects
to which this project should be cloned into. This
is a unix-style relative path (i.e. uses forward slashes).
The path is invalid if it is absolute or tries to
escape the project root through the usage of '..'.
If not specified, defaults to the project name.
type: string
git:
description: Project's Git source
properties:
checkoutFrom:
description: Defines from what the project should
be checked out. Required if there are more than
one remote configured
properties:
remote:
description: The remote name should be used
as init. Required if there are more than one
remote configured
type: string
revision:
description: The revision to checkout from.
Should be branch name, tag or commit id. Default
branch is used if missing or specified revision
is not found.
type: string
type: object
remotes:
additionalProperties:
type: string
description: The remotes map which should be initialized
in the git project. Projects must have at least
one remote configured while StarterProjects &
Image Component's Git source can only have at
most one remote configured.
type: object
type: object
name:
description: Project name
maxLength: 63
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
type: string
sourceType:
description: Type of project source
enum:
- Git
- Zip
type: string
zip:
description: Project's Zip source
properties:
location:
description: Zip project's source location address.
Should be file path of the archive, e.g. file://$FILE_PATH
type: string
type: object
required:
- name
type: object
type: array
id:
description: Id in a registry that contains a Devfile yaml
file
Expand Down
Loading