Skip to content
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
42 changes: 42 additions & 0 deletions public/assets/workshops/lab-conda-environment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
apiVersion: training.educates.dev/v1beta1
kind: Workshop
metadata:
name: lab-conda-environment
spec:
description: Overview of working on Python applications.
duration: 30m
session:
applications:
editor:
enabled: true
files:
enabled: true
terminal:
enabled: true
layout: split
dashboards:
- name: JupyterLab
url: $(ingress_protocol)://$(session_namespace)-jupyterlab.$(ingress_domain)/
env:
- name: ENABLE_JUPYTERLAB
value: "true"
ingresses:
- name: jupyterlab
port: 8888
namespaces:
security:
token:
enabled: false
resources:
memory: 1Gi
storage: 5Gi
title: Conda Environment
version: 1.0.0
workshop:
files:
- image:
url: ghcr.io/educates/labs-educates-showcase/lab-conda-environment-files:1.0.0
includePaths:
- /resources/**
- /workshop/**
image: conda-environment:*
159 changes: 159 additions & 0 deletions public/assets/workshops/lab-cookie-consent.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,159 @@
apiVersion: training.educates.dev/v1beta1
kind: Workshop
metadata:
name: lab-cookie-consent
spec:
description: Overview of embedding cookie consent.
environment:
images:
registries:
- content:
- destination: educates
prefix: /educates/educates-extension-packages/educates
stripPrefix: true
onDemand: true
urls:
- https://ghcr.io
objects:
- apiVersion: v1
kind: ServiceAccount
metadata:
name: kapp-installer
- apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: kapp-installer-$(workshop_namespace)
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: kapp-installer
namespace: $(workshop_namespace)
session:
applications:
editor:
enabled: true
files:
enabled: true
terminal:
enabled: true
layout: split
dashboards:
- name: Docs
url: https://docs.educates.dev/
namespaces:
budget: x-large
security:
policy: baseline
token:
enabled: false
objects:
- apiVersion: v1
kind: Secret
metadata:
name: $(session_name)-admin-vcluster-values
namespace: $(workshop_namespace)
stringData:
values.yaml: |
vcluster:
image: rancher/k3s:v1.29.0-k3s1
syncer:
extraArgs:
- --tls-san=admin-vcluster.$(session_namespace).svc.$(cluster_domain)
- --out-kube-config-server=https://admin-vcluster.$(session_namespace).svc.$(cluster_domain)
- --kube-config-context-name=admin
mapServices:
fromHost:
- from: $(workshop_namespace)/registry-$(session_name)
to: default/registry
- from: $(workshop_namespace)/localhost-$(session_name)
to: default/loopback
sync:
ingresses:
enabled: true
exportKubeConfig:
context: "admin"
- apiVersion: kappctrl.k14s.io/v1alpha1
kind: App
metadata:
name: $(session_name)-admin-vcluster-package
namespace: $(workshop_namespace)
spec:
deploy:
- kapp:
rawOptions:
- --app-changes-max-to-keep=5
fetch:
- helmChart:
name: vcluster
repository:
url: https://charts.loft.sh
version: 0.19.9
noopDelete: true
serviceAccountName: kapp-installer
syncPeriod: 720h
template:
- helmTemplate:
name: admin-vcluster
namespace: $(session_namespace)
valuesFrom:
- secretRef:
name: $(session_name)-admin-vcluster-values
- ytt:
inline:
paths:
overlays.yaml: |
#@ load("@ytt:data", "data")
#@ load("@ytt:overlay", "overlay")
#@overlay/match by=overlay.all, expects="1+"
---
metadata:
#@overlay/match missing_ok=True
ownerReferences:
- apiVersion: training.educates.dev/v1beta1
kind: WorkshopSession
blockOwnerDeletion: true
controller: true
name: $(session_name)
uid: $(workshop_session_uid)
- apiVersion: secrets.educates.dev/v1beta1
kind: SecretCopier
metadata:
name: $(session_name)-kubeconfig
spec:
rules:
- sourceSecret:
name: vc-admin-vcluster
namespace: $(session_namespace)
targetNamespaces:
nameSelector:
matchNames:
- $(workshop_namespace)
targetSecret:
name: $(session_name)-kubeconfig
volumeMounts:
- mountPath: /opt/kubeconfig
name: admin-vcluster-kubeconfig
volumes:
- name: admin-vcluster-kubeconfig
secret:
secretName: $(session_name)-kubeconfig
title: Cookie Consent
version: 1.0.0
workshop:
files:
- image:
url: ghcr.io/educates/labs-educates-showcase/lab-cookie-consent-files:1.0.0
includePaths:
- /resources/**
- /workshop/**
- /exercises/**
- /README.md
packages:
- files:
- image:
url: $(oci_image_cache)/educates:v3.3.2
path: .
name: educates
31 changes: 31 additions & 0 deletions public/assets/workshops/lab-docker-runtime.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
apiVersion: training.educates.dev/v1beta1
kind: Workshop
metadata:
name: lab-docker-runtime
spec:
description: Overview of running Docker in Educates
duration: 30m
session:
applications:
console:
enabled: true
docker:
enabled: true
files:
enabled: true
registry:
enabled: true
terminal:
enabled: true
layout: split
namespaces:
budget: medium
title: Docker Runtime
version: 1.0.0
workshop:
files:
- image:
url: ghcr.io/educates/labs-educates-showcase/lab-docker-runtime-files:1.0.0
includePaths:
- /resources/**
- /workshop/**
29 changes: 29 additions & 0 deletions public/assets/workshops/lab-examiner-scripts.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
apiVersion: training.educates.dev/v1beta1
kind: Workshop
metadata:
name: lab-examiner-scripts
spec:
description: Overview of using self check examinations.
duration: 30m
session:
applications:
examiner:
enabled: true
files:
enabled: true
terminal:
enabled: true
layout: split
namespaces:
budget: medium
security:
policy: baseline
title: Examiner Scripts
version: 1.0.0
workshop:
files:
- image:
url: ghcr.io/educates/labs-educates-showcase/lab-examiner-scripts-files:1.0.0
includePaths:
- /resources/**
- /workshop/**
38 changes: 38 additions & 0 deletions public/assets/workshops/lab-extension-packages.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
apiVersion: training.educates.dev/v1beta1
kind: Workshop
metadata:
name: lab-extension-packages
spec:
description: Overview of adding additional extension packages.
duration: 30m
session:
applications:
editor:
enabled: true
files:
enabled: true
terminal:
enabled: true
layout: split
namespaces:
budget: medium
title: Extension Packages
version: 1.0.0
workshop:
files:
- image:
url: ghcr.io/educates/labs-educates-showcase/lab-extension-packages-files:1.0.0
includePaths:
- /resources/**
- /workshop/**
packages:
- files:
- image:
url: ghcr.io/educates/educates-extension-packages/educates:v3.3.2
path: .
name: educates
- files:
- image:
url: ghcr.io/educates/educates-extension-packages/vscode-java-tools-oci-overlay:v0.29.2
path: .
name: spring-academy-vscode-tools-via-overlay
27 changes: 27 additions & 0 deletions public/assets/workshops/lab-git-repositories.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
apiVersion: training.educates.dev/v1beta1
kind: Workshop
metadata:
name: lab-git-repositories
spec:
description: Overview of using local hosted Git repositories.
duration: 30m
session:
applications:
files:
enabled: true
git:
enabled: true
terminal:
enabled: true
layout: split
namespaces:
budget: medium
title: Git Repositories
version: 1.0.0
workshop:
files:
- image:
url: ghcr.io/educates/labs-educates-showcase/lab-git-repositories-files:1.0.0
includePaths:
- /resources/**
- /workshop/**
32 changes: 32 additions & 0 deletions public/assets/workshops/lab-ingress-proxy.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
apiVersion: training.educates.dev/v1beta1
kind: Workshop
metadata:
name: lab-ingress-proxy
spec:
description: Overview of adding ingresses for local processes.
duration: 30m
session:
applications:
files:
enabled: true
terminal:
enabled: true
layout: split
dashboards:
- name: application
url: $(ingress_protocol)://application-$(session_namespace).$(ingress_domain)/
ingresses:
- name: application
port: 8001
namespaces:
budget: medium
title: Ingress Proxy
version: 1.0.0
workshop:
files:
- image:
url: ghcr.io/educates/labs-educates-showcase/lab-ingress-proxy-files:1.0.0
includePaths:
- /exercises/**
- /resources/**
- /workshop/**
27 changes: 27 additions & 0 deletions public/assets/workshops/lab-integrated-editor.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
apiVersion: training.educates.dev/v1beta1
kind: Workshop
metadata:
name: lab-integrated-editor
spec:
description: Overview of integrated VS Code editor.
duration: 30m
session:
applications:
editor:
enabled: true
files:
enabled: true
terminal:
enabled: true
layout: split
namespaces:
budget: medium
title: Integrated Editor
version: 1.0.0
workshop:
files:
- image:
url: ghcr.io/educates/labs-educates-showcase/lab-integrated-editor-files:1.0.0
includePaths:
- /resources/**
- /workshop/**
Loading