Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/devfile/devworkspace-operator
https://github.com/devfile/devworkspace-operator
Last synced: 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/devfile/devworkspace-operator
- Owner: devfile
- License: apache-2.0
- Created: 2019-03-11T18:58:06.000Z (almost 6 years ago)
- Default Branch: main
- Last Pushed: 2024-08-14T08:54:00.000Z (6 months ago)
- Last Synced: 2024-08-14T22:48:27.570Z (6 months ago)
- Language: Go
- Size: 25.9 MB
- Stars: 60
- Watchers: 19
- Forks: 53
- Open Issues: 75
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# DevWorkspace Operator
[](https://codecov.io/gh/devfile/devworkspace-operator)
[](https://www.bestpractices.dev/projects/8258)
[](https://securityscorecards.dev/viewer/?uri=github.com/devfile/devworkspace-operator)DevWorkspace operator repository that contains the controller for the DevWorkspace Custom Resource. The Kubernetes API of the DevWorkspace is defined in the https://github.com/devfile/api repository.
## What is the DevWorkspace Operator?
A [Kubernetes Operator](https://kubernetes.io/docs/concepts/extend-kubernetes/operator/) to run **fast**, **repeatable**
and **scalable** Cloud Development Environments.[Install it](#devworkspace-operator-installation) and apply a DevWorkspace to create a Cloud Development Environment:
Get the Cloud Development Environment URI:
Open the IDE:
| Visual Studio Code | JetBrains IntelliJ |
| ------------- | ------------- |
|  |  |## Example
Here is a sample `DevWorkspace` to provision a Cloud Development Environment for the project
[github.com/l0rd/outyet](https://github.com/l0rd/outyet) with Visual Studio Code as the editor and
`quay.io/devfile/universal-developer-image:ubi8-latest` as the development tooling container image.
#### DevWorkspace Template
The Template section of a `DevWorkspace` is actually [a Devfile](https://devfile.io/docs/2.3.0/what-is-a-devfile): the
`spec.template` schema matches the [Devfile schema](https://devfile.io/docs/2.3.0/devfile-schema). :warning: A few
`Devfile` APIs are
[not supported yet](https://github.com/devfile/devworkspace-operator/blob/main/docs/unsupported-devfile-api.adoc).#### DevWorkspace Contributions
Contributions are extra `Templates` that are added on top of the main `DevWorkspaceTemplate`. Contributions are used to
inject editors such as Visual Studio Code and JetBrains. Contributions are defined as Devfile or DevWorkspace Templates.
Examples are the
[Visual Studio Code devfile](https://eclipse-che.github.io/che-plugin-registry/main/v3/plugins/che-incubator/che-code/latest/devfile.yaml)
and the
[JetBrains IntelliJ devfile](https://eclipse-che.github.io/che-plugin-registry/main/v3/plugins/che-incubator/che-idea/latest/devfile.yaml).#### Additional configuration
DevWorkspaces can be further configured through DevWorkspace `attributes`, `labels` and `annotations`. For a list of all
options available, see [additional documentation](docs/additional-configuration.adoc).## DevWorkspace Operator Installation
This section describes how to install the Operator on a cluster using the
[Operator Lifecycle Manager (OLM)](https://olm.operatorframework.io). The file [CONTRIBUTING.md](CONTRIBUTING.md) has
instructions to install the Operator, using the `Makefile`, without requiring OLM.#### Installing the Operator Lifecycle Manager
The Operator Framework website has
[general instructions to install OLM in your cluster](https://olm.operatorframework.io/docs/getting-started/#installing-olm-in-your-cluster).
On [Minikube](https://minikube.sigs.k8s.io/), OLM is available as
[an addon](https://minikube.sigs.k8s.io/docs/commands/addons/).
OLM is pre-installed on OpenShift.#### Adding the DevWorkspace Operator catalog source
If the DevWorkspace Operator is not already available amongst the `PackageManifests` (use command
`kubectl get packagemanifest -n olm | grep devworkspace` to check it) you should add a `CatalogSource` in the
cluster:```bash
kubectl apply -f - <