diff --git a/CLAUDE.md b/CLAUDE.md index 876852b5..a2c6665c 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -338,14 +338,8 @@ streamspace/ │ │ ├── database-init.yaml # PostgreSQL initialization │ │ └── ingress.yaml # Traefik ingress configuration │ │ -│ ├── templates/ # Application template manifests (22 pre-built) -│ │ ├── browsers/ # Firefox, Chromium, Brave, LibreWolf (4) -│ │ ├── development/ # VS Code, GitHub Desktop, etc. (3) -│ │ ├── productivity/ # LibreOffice, Calligra, etc. (3) -│ │ ├── design/ # GIMP, Krita, Inkscape, Blender, etc. (5) -│ │ ├── media/ # Audacity, Kdenlive, etc. (2) -│ │ ├── gaming/ # DuckStation, Dolphin, etc. (2) -│ │ └── webtop/ # Desktop environments (3) +│ ├── templates/ # Minimal bundled templates (1-2 defaults) +│ │ └── browsers/ # Firefox only (minimal default) │ │ │ └── monitoring/ # Observability stack │ ├── servicemonitor.yaml # Prometheus ServiceMonitor @@ -401,10 +395,11 @@ streamspace/ - **`manifests/`**: All Kubernetes YAML manifests, organized by purpose - `crds/`: Custom Resource Definitions for Sessions and Templates - `config/`: Platform deployment configurations - - `templates/`: Pre-built application templates + - `templates/`: **Minimal bundled templates** (1-2 defaults for offline/air-gapped use) - `monitoring/`: Prometheus and Grafana configurations - **`chart/`**: Helm chart for easy deployment and configuration management + - Includes repository sync configuration for external templates and plugins - **`docs/`**: Comprehensive technical documentation - Architecture diagrams and data flows @@ -421,12 +416,33 @@ streamspace/ - Authentication and session management - Plugin system backend - WebSocket proxy for VNC connections + - **Repository sync** for external templates and plugins - **`ui/`**: React web UI with TypeScript - User dashboard for session management - Admin panel for platform administration - Plugin catalog and management UI +### External Repositories + +StreamSpace uses separate repositories for templates and plugins to enable: +- Independent versioning and releases +- Community contributions without main repo access +- Flexible deployment (online/offline modes) +- Multiple repository sources + +**Template Repository**: [streamspace-templates](https://github.com/JoshuaAFerguson/streamspace-templates) +- 22+ official application templates +- Organized by category (browsers, development, design, etc.) +- Auto-synced by API backend (configurable interval) +- Catalog metadata for discovery + +**Plugin Repository**: [streamspace-plugins](https://github.com/JoshuaAFerguson/streamspace-plugins) +- Official and community plugins +- Extension points for platform functionality +- Auto-discovery via catalog +- Optional auto-install on deployment + --- ## 🛠 Key Technologies diff --git a/README.md b/README.md index b836c29e..8f4607bc 100644 --- a/README.md +++ b/README.md @@ -290,30 +290,43 @@ Admin panel: `https://streamspace.example.com/admin` ## 📱 Available Applications -StreamSpace includes **200+ pre-configured templates** from LinuxServer.io: +StreamSpace provides **200+ pre-configured templates** via the [streamspace-templates](https://github.com/JoshuaAFerguson/streamspace-templates) repository: -### Web Browsers (5) -Firefox, Chromium, Chrome, Brave, LibreWolf +### Web Browsers +Firefox, Chromium, Brave, LibreWolf -### Development (10+) -VS Code, GitHub Desktop, GitQlient, Gitea, JupyterLab +### Development +VS Code, GitHub Desktop, GitQlient, Sublime Text -### Productivity (20+) -LibreOffice, Calligra, GIMP, Inkscape, Krita, Blender +### Productivity +LibreOffice, Calligra, OnlyOffice -### Media (15+) -Audacity, Kdenlive, Jellyfin, Plex, Radarr, Sonarr +### Design & Graphics +GIMP, Krita, Inkscape, Blender, FreeCAD, KiCad, darktable -### Design (10+) -GIMP, Krita, Inkscape, Blender, FreeCAD, KiCad +### Media Production +Audacity, Kdenlive -### Desktop Environments (16) -Ubuntu (XFCE, KDE, MATE), Alpine (i3), Fedora, Arch +### Gaming & Emulation +Dolphin (GameCube/Wii), DuckStation (PlayStation) -### Gaming (8+) -Dolphin, DuckStation, MAME, GZDoom, Flycast +### Desktop Environments +Ubuntu (XFCE, KDE), Alpine (i3), Arch -See full catalog: [docs/APPLICATIONS.md](docs/APPLICATIONS.md) +**Full Template Catalog**: [streamspace-templates](https://github.com/JoshuaAFerguson/streamspace-templates) + +### Automatic Template Sync + +Templates are automatically synced from the external repository: + +```yaml +# In chart/values.yaml +repositories: + templates: + enabled: true + url: https://github.com/JoshuaAFerguson/streamspace-templates + syncInterval: 1h +``` ## 🔌 Plugin System @@ -363,9 +376,28 @@ kubectl get -n streamspace cm plugin-registry -o yaml - View plugin usage statistics - Manage plugin permissions -### Plugin Repositories +### Official Plugin Repository + +Plugins are automatically synced from the [streamspace-plugins](https://github.com/JoshuaAFerguson/streamspace-plugins) repository: + +```yaml +# In chart/values.yaml +repositories: + plugins: + enabled: true + url: https://github.com/JoshuaAFerguson/streamspace-plugins + syncInterval: 1h +``` + +**Browse Plugin Catalog**: [streamspace-plugins](https://github.com/JoshuaAFerguson/streamspace-plugins) + +**Available Plugin Categories**: +- **Official** - Maintained by StreamSpace team +- **Community** - User-contributed plugins + +### Custom Plugin Repositories -Add custom plugin repositories to access more plugins: +Add additional plugin repositories to access more plugins: 1. Go to **Repositories** in the web UI 2. Click **Add Repository** @@ -374,17 +406,12 @@ Add custom plugin repositories to access more plugins: 5. Click **Sync** to load plugins from the repository ```yaml -# Example: Add via kubectl -apiVersion: stream.space/v1alpha1 -kind: Repository -metadata: - name: company-plugins - namespace: streamspace -spec: - url: https://github.com/mycompany/streamspace-plugins - branch: main - authType: ssh - authSecret: github-ssh-key +# Example: Add custom repository via Helm values +repositories: + plugins: + enabled: true + url: https://github.com/mycompany/streamspace-plugins + branch: main ``` ### Security & Permissions diff --git a/chart/values.yaml b/chart/values.yaml index 50e37483..765eb969 100644 --- a/chart/values.yaml +++ b/chart/values.yaml @@ -119,7 +119,7 @@ api: # CORS settings corsOrigins: "*" # Restrict in production - # Repository sync + # Repository sync (deprecated - use repositories section below) syncInterval: "1h" syncWorkDir: /tmp/streamspace-repos @@ -482,18 +482,58 @@ secrets: ## Application Templates templates: - # Deploy sample templates on install + # Deploy bundled sample templates on install (minimal set) + # For full catalog, enable external repository below deploy: true - # Categories to deploy + # Categories to deploy from bundled templates categories: - browsers: true # Firefox, Chromium, Brave, LibreWolf - development: true # VS Code, GitHub Desktop - productivity: true # LibreOffice, Calligra - design: false # GIMP, Krita, Inkscape, Blender (large images) - media: false # Audacity, Kdenlive - gaming: false # DuckStation, Dolphin - webtop: false # Desktop environments + browsers: true # Firefox only (minimal default) + development: false # Use external repository + productivity: false # Use external repository + design: false # Use external repository + media: false # Use external repository + gaming: false # Use external repository + webtop: false # Use external repository + +## External Repositories +# StreamSpace can sync templates and plugins from external Git repositories +repositories: + # Application templates repository + templates: + enabled: true + url: https://github.com/JoshuaAFerguson/streamspace-templates + branch: main + syncInterval: 1h # How often to sync (e.g., 15m, 1h, 24h) + + # Categories to sync from external repository + categories: + browsers: true # Firefox, Chromium, Brave, LibreWolf + development: true # VS Code, GitHub Desktop + productivity: true # LibreOffice, Calligra + design: true # GIMP, Krita, Inkscape, Blender + media: true # Audacity, Kdenlive + gaming: true # DuckStation, Dolphin + webtop: true # Desktop environments + + # Plugin repository + plugins: + enabled: true + url: https://github.com/JoshuaAFerguson/streamspace-plugins + branch: main + syncInterval: 1h + + # Auto-install official plugins + autoInstall: + official: false # Set to true to auto-install all official plugins + community: false # Set to true to auto-install all community plugins (not recommended) + + # Specific plugins to auto-install + install: + [] + # - session-recorder + # - audit-logger + # - slack-integration ## Monitoring & Observability monitoring: diff --git a/manifests/templates/README.md b/manifests/templates/README.md new file mode 100644 index 00000000..b487bff7 --- /dev/null +++ b/manifests/templates/README.md @@ -0,0 +1,50 @@ +# StreamSpace Templates - Minimal Defaults + +This directory contains **minimal bundled templates** for offline/air-gapped deployments or quick testing. + +## Full Template Catalog + +For the **complete template catalog** (200+ applications), see: + +🔗 **[streamspace-templates](https://github.com/JoshuaAFerguson/streamspace-templates)** + +The external repository includes: +- **Browsers** (4): Firefox, Chromium, Brave, LibreWolf +- **Development** (3): VS Code, GitHub Desktop, GitQlient +- **Productivity** (2): LibreOffice, Calligra +- **Design** (6): GIMP, Krita, Inkscape, Blender, FreeCAD, KiCad +- **Media** (2): Audacity, Kdenlive +- **Gaming** (2): DuckStation, Dolphin +- **Webtop** (3): Ubuntu XFCE, Ubuntu KDE, Alpine i3 + +## Automatic Syncing + +StreamSpace automatically syncs templates from the external repository when configured: + +```yaml +# In chart/values.yaml +repositories: + templates: + enabled: true + url: https://github.com/JoshuaAFerguson/streamspace-templates + branch: main + syncInterval: 1h +``` + +## Manual Installation + +Deploy all templates from external repository: + +```bash +kubectl apply -f https://raw.githubusercontent.com/JoshuaAFerguson/streamspace-templates/main/catalog.yaml +``` + +Or specific category: + +```bash +kubectl apply -f https://raw.githubusercontent.com/JoshuaAFerguson/streamspace-templates/main/browsers/ +``` + +## Adding Custom Templates + +To add your own templates, see the [Template Development Guide](https://github.com/JoshuaAFerguson/streamspace-templates/blob/main/CONTRIBUTING.md). diff --git a/manifests/templates/browsers/brave.yaml b/manifests/templates/browsers/brave.yaml deleted file mode 100644 index 4369be7c..00000000 --- a/manifests/templates/browsers/brave.yaml +++ /dev/null @@ -1,40 +0,0 @@ -apiVersion: stream.space/v1alpha1 -kind: Template -metadata: - name: brave-browser - namespace: workspaces -spec: - displayName: Brave Browser - description: Privacy-focused browser with built-in ad blocking, tracker protection, and crypto wallet. Chromium-based with enhanced security. - category: Web Browsers - icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/brave-logo.png - baseImage: lscr.io/linuxserver/brave:latest - defaultResources: - memory: 2Gi - cpu: 1000m - ports: - - name: vnc - containerPort: 3000 - protocol: TCP - env: - - name: PUID - value: "1000" - - name: PGID - value: "1000" - - name: TZ - value: "America/New_York" - volumeMounts: - - name: user-home - mountPath: /config - kasmvnc: - enabled: true - port: 3000 - capabilities: - - Network - - Audio - - Clipboard - tags: - - browser - - privacy - - crypto - - chromium diff --git a/manifests/templates/browsers/chromium.yaml b/manifests/templates/browsers/chromium.yaml deleted file mode 100644 index f7231cec..00000000 --- a/manifests/templates/browsers/chromium.yaml +++ /dev/null @@ -1,42 +0,0 @@ -apiVersion: stream.space/v1alpha1 -kind: Template -metadata: - name: chromium-browser - namespace: workspaces -spec: - displayName: Chromium Web Browser - description: Open-source web browser that forms the basis of Google Chrome. Fast, standards-compliant, and developer-friendly. - category: Web Browsers - icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/chromium-logo.png - baseImage: lscr.io/linuxserver/chromium:latest - defaultResources: - memory: 2Gi - cpu: 1000m - ports: - - name: vnc - containerPort: 3000 - protocol: TCP - env: - - name: PUID - value: "1000" - - name: PGID - value: "1000" - - name: TZ - value: "America/New_York" - - name: CHROME_CLI - value: "--disable-dev-shm-usage" - volumeMounts: - - name: user-home - mountPath: /config - kasmvnc: - enabled: true - port: 3000 - capabilities: - - Network - - Audio - - Clipboard - tags: - - browser - - web - - chromium - - development diff --git a/manifests/templates/browsers/librewolf.yaml b/manifests/templates/browsers/librewolf.yaml deleted file mode 100644 index 891b5fb8..00000000 --- a/manifests/templates/browsers/librewolf.yaml +++ /dev/null @@ -1,40 +0,0 @@ -apiVersion: stream.space/v1alpha1 -kind: Template -metadata: - name: librewolf-browser - namespace: workspaces -spec: - displayName: LibreWolf Browser - description: Firefox fork focused on privacy, security and user freedom. No telemetry, enhanced tracking protection, and fingerprinting resistance. - category: Web Browsers - icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/librewolf-logo.png - baseImage: lscr.io/linuxserver/librewolf:latest - defaultResources: - memory: 2Gi - cpu: 1000m - ports: - - name: vnc - containerPort: 3000 - protocol: TCP - env: - - name: PUID - value: "1000" - - name: PGID - value: "1000" - - name: TZ - value: "America/New_York" - volumeMounts: - - name: user-home - mountPath: /config - kasmvnc: - enabled: true - port: 3000 - capabilities: - - Network - - Audio - - Clipboard - tags: - - browser - - privacy - - firefox - - security diff --git a/manifests/templates/design/blender.yaml b/manifests/templates/design/blender.yaml deleted file mode 100644 index 1d795778..00000000 --- a/manifests/templates/design/blender.yaml +++ /dev/null @@ -1,39 +0,0 @@ -apiVersion: stream.space/v1alpha1 -kind: Template -metadata: - name: blender - namespace: workspaces -spec: - displayName: Blender 3D - description: Professional 3D creation suite supporting modeling, animation, simulation, rendering, compositing, and motion tracking. - category: Design & Graphics - icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/blender-logo.png - baseImage: lscr.io/linuxserver/blender:latest - defaultResources: - memory: 6Gi - cpu: 3000m - ports: - - name: vnc - containerPort: 3000 - protocol: TCP - env: - - name: PUID - value: "1000" - - name: PGID - value: "1000" - - name: TZ - value: "America/New_York" - volumeMounts: - - name: user-home - mountPath: /config - kasmvnc: - enabled: true - port: 3000 - capabilities: - - Clipboard - tags: - - 3d - - modeling - - animation - - rendering - - design diff --git a/manifests/templates/design/freecad.yaml b/manifests/templates/design/freecad.yaml deleted file mode 100644 index 9bc0e067..00000000 --- a/manifests/templates/design/freecad.yaml +++ /dev/null @@ -1,39 +0,0 @@ -apiVersion: stream.space/v1alpha1 -kind: Template -metadata: - name: freecad - namespace: workspaces -spec: - displayName: FreeCAD - description: Open-source parametric 3D CAD modeler for mechanical engineering, product design, and architecture. Supports assembly modeling and technical drawings. - category: Design & Graphics - icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/freecad-logo.png - baseImage: lscr.io/linuxserver/freecad:latest - defaultResources: - memory: 4Gi - cpu: 2000m - ports: - - name: vnc - containerPort: 3000 - protocol: TCP - env: - - name: PUID - value: "1000" - - name: PGID - value: "1000" - - name: TZ - value: "America/New_York" - volumeMounts: - - name: user-home - mountPath: /config - kasmvnc: - enabled: true - port: 3000 - capabilities: - - Clipboard - tags: - - cad - - 3d - - engineering - - design - - modeling diff --git a/manifests/templates/design/gimp.yaml b/manifests/templates/design/gimp.yaml deleted file mode 100644 index a0f247f3..00000000 --- a/manifests/templates/design/gimp.yaml +++ /dev/null @@ -1,39 +0,0 @@ -apiVersion: stream.space/v1alpha1 -kind: Template -metadata: - name: gimp - namespace: workspaces -spec: - displayName: GIMP Image Editor - description: GNU Image Manipulation Program - powerful open-source image editor for photo retouching, image composition, and authoring. - category: Design & Graphics - icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/gimp-logo.png - baseImage: lscr.io/linuxserver/gimp:latest - defaultResources: - memory: 3Gi - cpu: 1500m - ports: - - name: vnc - containerPort: 3000 - protocol: TCP - env: - - name: PUID - value: "1000" - - name: PGID - value: "1000" - - name: TZ - value: "America/New_York" - volumeMounts: - - name: user-home - mountPath: /config - kasmvnc: - enabled: true - port: 3000 - capabilities: - - Clipboard - tags: - - graphics - - image-editing - - photo - - design - - art diff --git a/manifests/templates/design/inkscape.yaml b/manifests/templates/design/inkscape.yaml deleted file mode 100644 index d797489b..00000000 --- a/manifests/templates/design/inkscape.yaml +++ /dev/null @@ -1,39 +0,0 @@ -apiVersion: stream.space/v1alpha1 -kind: Template -metadata: - name: inkscape - namespace: workspaces -spec: - displayName: Inkscape - description: Professional vector graphics editor for creating illustrations, diagrams, logos, icons, and complex artwork. SVG-based with extensive tools. - category: Design & Graphics - icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/inkscape-logo.png - baseImage: lscr.io/linuxserver/inkscape:latest - defaultResources: - memory: 3Gi - cpu: 1500m - ports: - - name: vnc - containerPort: 3000 - protocol: TCP - env: - - name: PUID - value: "1000" - - name: PGID - value: "1000" - - name: TZ - value: "America/New_York" - volumeMounts: - - name: user-home - mountPath: /config - kasmvnc: - enabled: true - port: 3000 - capabilities: - - Clipboard - tags: - - vector - - graphics - - design - - svg - - illustration diff --git a/manifests/templates/design/kicad.yaml b/manifests/templates/design/kicad.yaml deleted file mode 100644 index 04810c76..00000000 --- a/manifests/templates/design/kicad.yaml +++ /dev/null @@ -1,39 +0,0 @@ -apiVersion: stream.space/v1alpha1 -kind: Template -metadata: - name: kicad - namespace: workspaces -spec: - displayName: KiCad - description: Electronics design automation suite for PCB design, schematic capture, and circuit simulation. Complete EDA solution. - category: Design & Graphics - icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/kicad-logo.png - baseImage: lscr.io/linuxserver/kicad:latest - defaultResources: - memory: 3Gi - cpu: 1500m - ports: - - name: vnc - containerPort: 3000 - protocol: TCP - env: - - name: PUID - value: "1000" - - name: PGID - value: "1000" - - name: TZ - value: "America/New_York" - volumeMounts: - - name: user-home - mountPath: /config - kasmvnc: - enabled: true - port: 3000 - capabilities: - - Clipboard - tags: - - electronics - - pcb - - eda - - circuit - - hardware diff --git a/manifests/templates/design/krita.yaml b/manifests/templates/design/krita.yaml deleted file mode 100644 index 0c200c38..00000000 --- a/manifests/templates/design/krita.yaml +++ /dev/null @@ -1,39 +0,0 @@ -apiVersion: stream.space/v1alpha1 -kind: Template -metadata: - name: krita - namespace: workspaces -spec: - displayName: Krita - description: Professional digital painting application designed for illustrators, concept artists, and texture creators. Extensive brush engines and layer support. - category: Design & Graphics - icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/krita-logo.png - baseImage: lscr.io/linuxserver/krita:latest - defaultResources: - memory: 4Gi - cpu: 2000m - ports: - - name: vnc - containerPort: 3000 - protocol: TCP - env: - - name: PUID - value: "1000" - - name: PGID - value: "1000" - - name: TZ - value: "America/New_York" - volumeMounts: - - name: user-home - mountPath: /config - kasmvnc: - enabled: true - port: 3000 - capabilities: - - Clipboard - tags: - - painting - - digital-art - - illustration - - design - - brushes diff --git a/manifests/templates/development/code-server.yaml b/manifests/templates/development/code-server.yaml deleted file mode 100644 index e8b0bade..00000000 --- a/manifests/templates/development/code-server.yaml +++ /dev/null @@ -1,41 +0,0 @@ -apiVersion: stream.space/v1alpha1 -kind: Template -metadata: - name: code-server - namespace: workspaces -spec: - displayName: VS Code Server - description: Full Visual Studio Code IDE accessible via web browser. Supports extensions, debugging, and integrated terminal. - category: Development - icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/code-server-logo.png - baseImage: lscr.io/linuxserver/code-server:latest - defaultResources: - memory: 4Gi - cpu: 2000m - ports: - - name: http - containerPort: 8443 - protocol: TCP - env: - - name: PUID - value: "1000" - - name: PGID - value: "1000" - - name: TZ - value: "America/New_York" - - name: DEFAULT_WORKSPACE - value: /config/workspace - volumeMounts: - - name: user-home - mountPath: /config - kasmvnc: - enabled: false # Code-server has its own web interface - capabilities: - - Network - - Clipboard - tags: - - development - - ide - - vscode - - coding - - programming diff --git a/manifests/templates/development/github-desktop.yaml b/manifests/templates/development/github-desktop.yaml deleted file mode 100644 index ea68b7a3..00000000 --- a/manifests/templates/development/github-desktop.yaml +++ /dev/null @@ -1,39 +0,0 @@ -apiVersion: stream.space/v1alpha1 -kind: Template -metadata: - name: github-desktop - namespace: workspaces -spec: - displayName: GitHub Desktop - description: Simple GitHub client with visual interface for managing repositories, commits, branches, and pull requests. - category: Development - icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/github-desktop-logo.png - baseImage: lscr.io/linuxserver/github-desktop:latest - defaultResources: - memory: 2Gi - cpu: 1000m - ports: - - name: vnc - containerPort: 3000 - protocol: TCP - env: - - name: PUID - value: "1000" - - name: PGID - value: "1000" - - name: TZ - value: "America/New_York" - volumeMounts: - - name: user-home - mountPath: /config - kasmvnc: - enabled: true - port: 3000 - capabilities: - - Network - - Clipboard - tags: - - git - - github - - development - - version-control diff --git a/manifests/templates/development/gitqlient.yaml b/manifests/templates/development/gitqlient.yaml deleted file mode 100644 index d7eedeae..00000000 --- a/manifests/templates/development/gitqlient.yaml +++ /dev/null @@ -1,38 +0,0 @@ -apiVersion: stream.space/v1alpha1 -kind: Template -metadata: - name: gitqlient - namespace: workspaces -spec: - displayName: GitQlient - description: Multi-platform Git client with advanced features for viewing repository history, managing branches, and resolving conflicts. - category: Development - icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/gitqlient-logo.png - baseImage: lscr.io/linuxserver/gitqlient:latest - defaultResources: - memory: 2Gi - cpu: 1000m - ports: - - name: vnc - containerPort: 3000 - protocol: TCP - env: - - name: PUID - value: "1000" - - name: PGID - value: "1000" - - name: TZ - value: "America/New_York" - volumeMounts: - - name: user-home - mountPath: /config - kasmvnc: - enabled: true - port: 3000 - capabilities: - - Network - - Clipboard - tags: - - git - - development - - version-control diff --git a/manifests/templates/gaming/dolphin.yaml b/manifests/templates/gaming/dolphin.yaml deleted file mode 100644 index b6e25a55..00000000 --- a/manifests/templates/gaming/dolphin.yaml +++ /dev/null @@ -1,40 +0,0 @@ -apiVersion: stream.space/v1alpha1 -kind: Template -metadata: - name: dolphin-emulator - namespace: workspaces -spec: - displayName: Dolphin Emulator - description: GameCube and Wii emulator with high compatibility and performance. Supports HD graphics, save states, and controller configuration. - category: Gaming - icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/dolphin-logo.png - baseImage: lscr.io/linuxserver/dolphin:latest - defaultResources: - memory: 4Gi - cpu: 2500m - ports: - - name: vnc - containerPort: 3000 - protocol: TCP - env: - - name: PUID - value: "1000" - - name: PGID - value: "1000" - - name: TZ - value: "America/New_York" - volumeMounts: - - name: user-home - mountPath: /config - kasmvnc: - enabled: true - port: 3000 - capabilities: - - Audio - - Clipboard - tags: - - gaming - - emulator - - gamecube - - wii - - nintendo diff --git a/manifests/templates/gaming/duckstation.yaml b/manifests/templates/gaming/duckstation.yaml deleted file mode 100644 index bdcf91dd..00000000 --- a/manifests/templates/gaming/duckstation.yaml +++ /dev/null @@ -1,40 +0,0 @@ -apiVersion: stream.space/v1alpha1 -kind: Template -metadata: - name: duckstation - namespace: workspaces -spec: - displayName: DuckStation - description: PlayStation 1 emulator with focus on playability, speed, and accuracy. Supports upscaling, texture filtering, and save states. - category: Gaming - icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/duckstation-logo.png - baseImage: lscr.io/linuxserver/duckstation:latest - defaultResources: - memory: 3Gi - cpu: 2000m - ports: - - name: vnc - containerPort: 3000 - protocol: TCP - env: - - name: PUID - value: "1000" - - name: PGID - value: "1000" - - name: TZ - value: "America/New_York" - volumeMounts: - - name: user-home - mountPath: /config - kasmvnc: - enabled: true - port: 3000 - capabilities: - - Audio - - Clipboard - tags: - - gaming - - emulator - - playstation - - psx - - ps1 diff --git a/manifests/templates/media/audacity.yaml b/manifests/templates/media/audacity.yaml deleted file mode 100644 index a0d894fc..00000000 --- a/manifests/templates/media/audacity.yaml +++ /dev/null @@ -1,40 +0,0 @@ -apiVersion: stream.space/v1alpha1 -kind: Template -metadata: - name: audacity - namespace: workspaces -spec: - displayName: Audacity - description: Multi-track audio editor and recorder for recording, editing, and mixing audio. Supports plugins and various formats. - category: Audio & Video - icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/audacity-logo.png - baseImage: lscr.io/linuxserver/audacity:latest - defaultResources: - memory: 2Gi - cpu: 1000m - ports: - - name: vnc - containerPort: 3000 - protocol: TCP - env: - - name: PUID - value: "1000" - - name: PGID - value: "1000" - - name: TZ - value: "America/New_York" - volumeMounts: - - name: user-home - mountPath: /config - kasmvnc: - enabled: true - port: 3000 - capabilities: - - Audio - - Clipboard - tags: - - audio - - editing - - recording - - music - - podcast diff --git a/manifests/templates/media/kdenlive.yaml b/manifests/templates/media/kdenlive.yaml deleted file mode 100644 index e0419dd5..00000000 --- a/manifests/templates/media/kdenlive.yaml +++ /dev/null @@ -1,40 +0,0 @@ -apiVersion: stream.space/v1alpha1 -kind: Template -metadata: - name: kdenlive - namespace: workspaces -spec: - displayName: Kdenlive - description: Professional non-linear video editor with multi-track editing, effects, transitions, and audio mixing. KDE-based with extensive features. - category: Audio & Video - icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/kdenlive-logo.png - baseImage: lscr.io/linuxserver/kdenlive:latest - defaultResources: - memory: 6Gi - cpu: 3000m - ports: - - name: vnc - containerPort: 3000 - protocol: TCP - env: - - name: PUID - value: "1000" - - name: PGID - value: "1000" - - name: TZ - value: "America/New_York" - volumeMounts: - - name: user-home - mountPath: /config - kasmvnc: - enabled: true - port: 3000 - capabilities: - - Audio - - Clipboard - tags: - - video - - editing - - multimedia - - kde - - production diff --git a/manifests/templates/productivity/calligra.yaml b/manifests/templates/productivity/calligra.yaml deleted file mode 100644 index 3ba35902..00000000 --- a/manifests/templates/productivity/calligra.yaml +++ /dev/null @@ -1,38 +0,0 @@ -apiVersion: stream.space/v1alpha1 -kind: Template -metadata: - name: calligra - namespace: workspaces -spec: - displayName: Calligra Suite - description: Integrated office suite with word processor, spreadsheet, presentation, vector graphics, and project management applications. - category: Productivity - icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/calligra-logo.png - baseImage: lscr.io/linuxserver/calligra:latest - defaultResources: - memory: 3Gi - cpu: 1500m - ports: - - name: vnc - containerPort: 3000 - protocol: TCP - env: - - name: PUID - value: "1000" - - name: PGID - value: "1000" - - name: TZ - value: "America/New_York" - volumeMounts: - - name: user-home - mountPath: /config - kasmvnc: - enabled: true - port: 3000 - capabilities: - - Clipboard - tags: - - office - - productivity - - documents - - kde diff --git a/manifests/templates/productivity/libreoffice.yaml b/manifests/templates/productivity/libreoffice.yaml deleted file mode 100644 index e140c8e0..00000000 --- a/manifests/templates/productivity/libreoffice.yaml +++ /dev/null @@ -1,39 +0,0 @@ -apiVersion: stream.space/v1alpha1 -kind: Template -metadata: - name: libreoffice - namespace: workspaces -spec: - displayName: LibreOffice Suite - description: Complete office productivity suite including Writer, Calc, Impress, Draw, and Base. Compatible with Microsoft Office formats. - category: Productivity - icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/libreoffice-logo.png - baseImage: lscr.io/linuxserver/libreoffice:latest - defaultResources: - memory: 3Gi - cpu: 1500m - ports: - - name: vnc - containerPort: 3000 - protocol: TCP - env: - - name: PUID - value: "1000" - - name: PGID - value: "1000" - - name: TZ - value: "America/New_York" - volumeMounts: - - name: user-home - mountPath: /config - kasmvnc: - enabled: true - port: 3000 - capabilities: - - Clipboard - tags: - - office - - productivity - - documents - - spreadsheets - - presentations diff --git a/manifests/templates/webtop/webtop-alpine-i3.yaml b/manifests/templates/webtop/webtop-alpine-i3.yaml deleted file mode 100644 index c35392d1..00000000 --- a/manifests/templates/webtop/webtop-alpine-i3.yaml +++ /dev/null @@ -1,44 +0,0 @@ -apiVersion: stream.space/v1alpha1 -kind: Template -metadata: - name: webtop-alpine-i3 - namespace: workspaces -spec: - displayName: Alpine Desktop (i3) - description: Minimal Alpine Linux desktop with i3 tiling window manager. Extremely lightweight and keyboard-driven. Perfect for developers and power users. - category: Desktop Environments - icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/webtop-logo.png - baseImage: lscr.io/linuxserver/webtop:alpine-i3 - defaultResources: - memory: 2Gi - cpu: 1000m - ports: - - name: vnc - containerPort: 3000 - protocol: TCP - env: - - name: PUID - value: "1000" - - name: PGID - value: "1000" - - name: TZ - value: "America/New_York" - - name: CUSTOM_USER - value: kasm-user - volumeMounts: - - name: user-home - mountPath: /config - kasmvnc: - enabled: true - port: 3000 - capabilities: - - Network - - Audio - - Clipboard - tags: - - desktop - - alpine - - i3 - - tiling - - minimal - - lightweight diff --git a/manifests/templates/webtop/webtop-ubuntu-kde.yaml b/manifests/templates/webtop/webtop-ubuntu-kde.yaml deleted file mode 100644 index 6cf0169e..00000000 --- a/manifests/templates/webtop/webtop-ubuntu-kde.yaml +++ /dev/null @@ -1,44 +0,0 @@ -apiVersion: stream.space/v1alpha1 -kind: Template -metadata: - name: webtop-ubuntu-kde - namespace: workspaces -spec: - displayName: Ubuntu Desktop (KDE) - description: Full Ubuntu Linux desktop with KDE Plasma. Beautiful, feature-rich, and highly customizable desktop environment accessible via browser. - category: Desktop Environments - icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/webtop-logo.png - baseImage: lscr.io/linuxserver/webtop:ubuntu-kde - defaultResources: - memory: 5Gi - cpu: 2500m - ports: - - name: vnc - containerPort: 3000 - protocol: TCP - env: - - name: PUID - value: "1000" - - name: PGID - value: "1000" - - name: TZ - value: "America/New_York" - - name: CUSTOM_USER - value: kasm-user - volumeMounts: - - name: user-home - mountPath: /config - kasmvnc: - enabled: true - port: 3000 - capabilities: - - Network - - Audio - - Clipboard - tags: - - desktop - - ubuntu - - kde - - plasma - - linux - - full-desktop diff --git a/manifests/templates/webtop/webtop-ubuntu-xfce.yaml b/manifests/templates/webtop/webtop-ubuntu-xfce.yaml deleted file mode 100644 index f5d188fa..00000000 --- a/manifests/templates/webtop/webtop-ubuntu-xfce.yaml +++ /dev/null @@ -1,43 +0,0 @@ -apiVersion: stream.space/v1alpha1 -kind: Template -metadata: - name: webtop-ubuntu-xfce - namespace: workspaces -spec: - displayName: Ubuntu Desktop (XFCE) - description: Full Ubuntu Linux desktop environment with XFCE. Lightweight, fast, and fully customizable. Access a complete Linux workstation via browser. - category: Desktop Environments - icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/webtop-logo.png - baseImage: lscr.io/linuxserver/webtop:ubuntu-xfce - defaultResources: - memory: 4Gi - cpu: 2000m - ports: - - name: vnc - containerPort: 3000 - protocol: TCP - env: - - name: PUID - value: "1000" - - name: PGID - value: "1000" - - name: TZ - value: "America/New_York" - - name: CUSTOM_USER - value: kasm-user - volumeMounts: - - name: user-home - mountPath: /config - kasmvnc: - enabled: true - port: 3000 - capabilities: - - Network - - Audio - - Clipboard - tags: - - desktop - - ubuntu - - xfce - - linux - - full-desktop