Skip to content

devfile/api

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

Adds a GitHub workflow for managing stale & rotten issues and PRs. 

Issues & PRs are marked stale after 90 days of inactivity. After 60 further days, they are marked as rotten and closed.
1df96d2

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
September 28, 2021 11:06
June 10, 2022 17:52
June 10, 2022 17:52

Kube-native API for cloud development workspaces specification

Apache License Contribute

Sources for this API are defined in Go code, starting from the devworkspace_types.go source file

From these Go sources, several files are generated:

  • A Kubernetes Custom Resource Definition(CRD) with an embedded OpenApi schema,
  • json schemas (in the schemas folder) generated from the above CRD, to specify the syntax of:
    • the DevWorkspace CRD itself;
    • the DevWorkspaceTemplate CRD (a devworkspace content, without runtime information);
    • the Devfile 2.0.0 format, which is generated from the DevWorkspace API.

Generated files are created by a build script (see section How to build).

Devfile 2.0.0 file format

A Subset of this DevWorkspace API defines a structure (workspace template content), which is also at the core of the Devfile 2.0 format specification. For more information about this, please look into the Devfile support README

The generated documentation of the Devfile 2.0 format, based on its json schema, is available here.

Typescript model is build on each commit of main branch and available as an NPM package.

Release

Release details and process are found in Devfile Release

How to build

In order to build the CRD and the various schemas, you don't need to install any pre-requisite apart from docker. In the root directory, just run the following command:

bash ./docker-run.sh ./build.sh

Typescript model

Typescript model is generated based on JSON Schema with help of https://github.com/kubernetes-client/gen. To generate them locally run:

bash ./build/typescript-model/generate.sh

Specification status

This work is still in an early stage of specification, and the related API and schemas are still a draft proposal.

Quickly open and test ?

In order to test existing or new Devfile 2.0 or DevWorkspace sample files in a self-service Che workspace (hosted on che.openshift.io), just click on the button below:

Contribute

As soon as the devworkspace is opened, you should be able to:

  • open the yaml files in the following folders:
    • samples/
    • devfile-support/samples
  • have yaml language support (completion and documentation) based on the current Json schemas.

Contributing

Please see our contributing.md.

License

Apache License 2.0, see LICENSE for details.