Skip to content

Instantly share code, notes, and snippets.

@thenrich
Last active March 25, 2022 21:05
Show Gist options
  • Save thenrich/dcb3be4c7d23237fff17af6f2090a250 to your computer and use it in GitHub Desktop.
Save thenrich/dcb3be4c7d23237fff17af6f2090a250 to your computer and use it in GitHub Desktop.
apiVersion: workspace.devfile.io/v1alpha2
kind: DevWorkspaceTemplate
metadata:
name: theia-ide-rlang-hello-world
spec:
commands:
- id: init-container-command
apply:
component: remote-runtime-injector
events:
preStart:
- init-container-command
components:
- name: theia-ide
container:
image: >-
quay.io/eclipse/che-theia@sha256:b7fa7d1c279973c083b47e88f4bd0969a0eaf914b3db7f1de40c0d88fe3dfd7a
env:
- name: THEIA_PLUGINS
value: local-dir:///plugins
- name: HOSTED_PLUGIN_HOSTNAME
value: 0.0.0.0
- name: HOSTED_PLUGIN_PORT
value: '3130'
- name: THEIA_HOST
value: 127.0.0.1
volumeMounts:
- name: plugins
path: /plugins
- name: theia-local
path: /home/theia/.theia
mountSources: true
memoryLimit: 512M
cpuLimit: 1500m
cpuRequest: 100m
endpoints:
- name: theia
attributes:
type: main
cookiesAuthEnabled: true
discoverable: false
urlRewriteSupported: true
targetPort: 3100
exposure: public
secure: false
protocol: https
- name: webviews
attributes:
type: webview
cookiesAuthEnabled: true
discoverable: false
unique: true
urlRewriteSupported: true
targetPort: 3100
exposure: public
secure: false
protocol: https
- name: mini-browser
attributes:
type: mini-browser
cookiesAuthEnabled: true
discoverable: false
unique: true
urlRewriteSupported: true
targetPort: 3100
exposure: public
secure: false
protocol: https
- name: theia-dev
attributes:
type: ide-dev
discoverable: false
urlRewriteSupported: true
targetPort: 3130
exposure: public
protocol: http
- name: theia-redirect-1
attributes:
discoverable: false
urlRewriteSupported: true
targetPort: 13131
exposure: public
protocol: http
- name: theia-redirect-2
attributes:
discoverable: false
urlRewriteSupported: true
targetPort: 13132
exposure: public
protocol: http
- name: theia-redirect-3
attributes:
discoverable: false
urlRewriteSupported: true
targetPort: 13133
exposure: public
protocol: http
- name: terminal
attributes:
type: collocated-terminal
discoverable: false
cookiesAuthEnabled: true
urlRewriteSupported: true
targetPort: 3333
exposure: public
secure: false
protocol: wss
attributes:
app.kubernetes.io/component: che-theia
app.kubernetes.io/part-of: che-theia.eclipse.org
- name: plugins
volume: {}
- name: theia-local
volume: {}
- name: che-machine-exec
container:
image: >-
quay.io/eclipse/che-machine-exec@sha256:579dfdc642a84b115bf3f9000cb5bda3407f57dff580fac997b774d176d99af6
command:
- /go/bin/che-machine-exec
- '--url'
- 127.0.0.1:3333
attributes:
app.kubernetes.io/component: machine-exec
app.kubernetes.io/part-of: che-theia.eclipse.org
- name: remote-runtime-injector
container:
image: >-
quay.io/eclipse/che-theia-endpoint-runtime-binary@sha256:f3e2c0fc71a599d24d2487a6809ac154a89191b3b9064a28b362c217021adbf1
env:
- name: PLUGIN_REMOTE_ENDPOINT_EXECUTABLE
value: /remote-endpoint/plugin-remote-endpoint
- name: REMOTE_ENDPOINT_VOLUME_NAME
value: remote-endpoint
volumeMounts:
- name: plugins
path: /plugins
- name: remote-endpoint
path: /remote-endpoint
attributes:
app.kubernetes.io/component: remote-runtime-injector
app.kubernetes.io/part-of: che-theia.eclipse.org
- name: remote-endpoint
volume:
ephemeral: true
---
apiVersion: workspace.devfile.io/v1alpha2
kind: DevWorkspace
metadata:
name: rlang-hello-world
spec:
started: true
template:
components:
- name: tools
container:
image: 503372020484.dkr.ecr.us-gov-west-1.amazonaws.com/mcte/che-rlang-base:v0.1.0
volumeMounts:
- path: /remote-endpoint
name: remote-endpoint
- path: /plugins
name: plugins
memoryLimit: 512Mi
mountSources: true
env:
- name: PLUGIN_REMOTE_ENDPOINT_EXECUTABLE
value: /remote-endpoint/plugin-remote-endpoint
- name: THEIA_PLUGINS
value: local-dir:///plugins/sidecars/tools
args:
- sh
- '-c'
- ${PLUGIN_REMOTE_ENDPOINT_EXECUTABLE}
attributes:
che-theia.eclipse.org/vscode-extensions:
- >-
https://github.com/REditorSupport/vscode-R/releases/download/v2.4.0/r-2.4.0.vsix
app.kubernetes.io/name: tools
- name: theia-ide-rlang-hello-world
plugin:
kubernetes:
name: theia-ide-rlang-hello-world
commands:
- id: run-application
exec:
label: Run application
component: tools
workingDir: ${PROJECT_SOURCE}
commandLine: RServer ./R/helloworld-R.R
group:
kind: run
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment