From 4aa9f18e47c0131f0721371cfbfcc999ff901b0b Mon Sep 17 00:00:00 2001 From: Khwezi Date: Thu, 16 Apr 2026 09:27:25 +0200 Subject: [PATCH] Changed piston image source Removed wandbox --- kubernetes-templates/piston.yml | 6 +- kubernetes-templates/wandbox.yml | 162 ------------------------------- 2 files changed, 3 insertions(+), 165 deletions(-) delete mode 100644 kubernetes-templates/wandbox.yml diff --git a/kubernetes-templates/piston.yml b/kubernetes-templates/piston.yml index 7665f2e..dc4932b 100644 --- a/kubernetes-templates/piston.yml +++ b/kubernetes-templates/piston.yml @@ -13,7 +13,7 @@ metadata: apiVersion: v1 kind: PersistentVolumeClaim metadata: - name: piston-pvc + name: wandbox-pvc namespace: piston spec: accessModes: ["ReadWriteOnce"] @@ -43,7 +43,7 @@ spec: hostIPC: false containers: - name: piston - image: engineerman/piston:latest + image: ghcr.io/engineer-man/piston:latest securityContext: privileged: true allowPrivilegeEscalation: true @@ -63,7 +63,7 @@ spec: volumes: - name: packages persistentVolumeClaim: - claimName: piston-pvc + claimName: wandbox-pvc --- apiVersion: v1 kind: Service diff --git a/kubernetes-templates/wandbox.yml b/kubernetes-templates/wandbox.yml deleted file mode 100644 index 65a406b..0000000 --- a/kubernetes-templates/wandbox.yml +++ /dev/null @@ -1,162 +0,0 @@ ---- -apiVersion: v1 -kind: Namespace -metadata: - name: wandbox ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: wandbox-config - namespace: wandbox -data: - wandbox.domain: "wandbox.khongisa.co.za" - wandbox.rooturl: "https://khongisa.co.za" - cattleshed.host: "cattleshed-svc" - cattleshed.port: "2012" - compilers.json: | - [ - { "name": "gcc-head", "language": "C++", "display-name": "GCC head", "command": "/usr/local/gcc-head/bin/g++" }, - { "name": "clang-head", "language": "C++", "display-name": "Clang head", "command": "/usr/local/clang-head/bin/clang++" }, - { "name": "dotnet-10", "language": "C#", "display-name": ".NET 10", "command": "/usr/bin/dotnet" }, - { "name": "fsharp-10", "language": "F#", "display-name": "F# (.NET 10)", "command": "/usr/bin/dotnet" }, - { "name": "python-3", "language": "Python", "display-name": "Python 3", "command": "/usr/bin/python3" }, - { "name": "rust-stable", "language": "Rust", "display-name": "Rust Stable", "command": "/usr/local/bin/rustc" }, - { "name": "go-1.x", "language": "Go", "display-name": "Go", "command": "/usr/local/go/bin/go" }, - { "name": "nodejs-20", "language": "JavaScript", "display-name": "Node.js", "command": "/usr/bin/node" }, - { "name": "typescript-5", "language": "TypeScript", "display-name": "TypeScript", "command": "/usr/bin/tsc" }, - { "name": "ruby-3", "language": "Ruby", "display-name": "Ruby", "command": "/usr/bin/ruby" }, - { "name": "php-8", "language": "PHP", "display-name": "PHP 8", "command": "/usr/bin/php" }, - { "name": "swift-5", "language": "Swift", "display-name": "Swift", "command": "/usr/bin/swift" }, - { "name": "perl-5", "language": "Perl", "display-name": "Perl", "command": "/usr/bin/perl" }, - { "name": "haskell-9", "language": "Haskell", "display-name": "Haskell (GHC)", "command": "/usr/bin/ghc" }, - { "name": "elixir-1", "language": "Elixir", "display-name": "Elixir", "command": "/usr/bin/elixir" }, - { "name": "erlang-25", "language": "Erlang", "display-name": "Erlang", "command": "/usr/bin/erl" }, - { "name": "lua-5", "language": "Lua", "display-name": "Lua", "command": "/usr/bin/lua" }, - { "name": "nim-2", "language": "Nim", "display-name": "Nim", "command": "/usr/bin/nim" }, - { "name": "crystal-1", "language": "Crystal", "display-name": "Crystal", "command": "/usr/bin/crystal" }, - { "name": "zig-0", "language": "Zig", "display-name": "Zig", "command": "/usr/bin/zig" }, - { "name": "d-mdc", "language": "D", "display-name": "D (LDC)", "command": "/usr/bin/ldc2" }, - { "name": "ocaml-4", "language": "OCaml", "display-name": "OCaml", "command": "/usr/bin/ocamlopt" }, - { "name": "julia-1", "language": "Julia", "display-name": "Julia", "command": "/usr/bin/julia" }, - { "name": "scala-3", "language": "Scala", "display-name": "Scala 3", "command": "/usr/bin/scalac" }, - { "name": "groovy-4", "language": "Groovy", "display-name": "Groovy", "command": "/usr/bin/groovyc" }, - { "name": "bash-script", "language": "Bash script", "display-name": "Bash", "command": "/bin/bash" }, - { "name": "vim-script", "language": "Vim script", "display-name": "Vim script", "command": "/usr/bin/vim" }, - { "name": "pascal-fpc", "language": "Pascal", "display-name": "Free Pascal", "command": "/usr/bin/fpc" }, - { "name": "r-script", "language": "R", "display-name": "R Language", "command": "/usr/bin/Rscript" }, - { "name": "lazyk", "language": "Lazy K", "display-name": "Lazy K", "command": "/usr/bin/lazyk" }, - { "name": "lisp-sbcl", "language": "Lisp", "display-name": "Common Lisp (SBCL)", "command": "/usr/bin/sbcl" } - ] ---- -apiVersion: v1 -kind: Secret -metadata: - name: wandbox-secret - namespace: wandbox -type: Opaque -data: - api.key: cG1HeW9xUlBCYW1qdndRV2FRbzZWME9CdmJLS3BFS1RhWlF0bDRndUhMSGpYQlZwc0Y3dnJPZXhXMTNIRWFDRg== ---- -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: wandbox-pvc - namespace: wandbox -spec: - accessModes: ["ReadWriteOnce"] - storageClassName: nfs-storage - resources: - requests: - storage: 50Gi # Increased for 30+ compilers ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: wandbox-cattleshed - namespace: wandbox -spec: - replicas: 1 - selector: - matchLabels: - app: cattleshed - template: - metadata: - labels: - app: cattleshed - spec: - containers: - - name: cattleshed - image: melpon/wandbox-cattleshed:latest - securityContext: - privileged: true - ports: - - containerPort: 2012 - volumeMounts: - - name: compilers - mountPath: /var/lib/wandbox/compilers - volumes: - - name: compilers - persistentVolumeClaim: - claimName: wandbox-pvc ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: wandbox-server - namespace: wandbox -spec: - replicas: 1 - selector: - matchLabels: - app.kubernetes.io/name: wandbox - template: - metadata: - labels: - app.kubernetes.io/name: wandbox - spec: - containers: - - name: wandbox - image: melpon/wandbox:latest - resources: - limits: - memory: "2Gi" - cpu: "2" - requests: - memory: "500Mi" - cpu: "500m" - env: - - name: WANDBOX_URL - valueFrom: { configMapKeyRef: { name: wandbox-config, key: wandbox.rooturl } } - - name: CATTLESHED_HOST - valueFrom: { configMapKeyRef: { name: wandbox-config, key: cattleshed.host } } - - name: API_KEY - valueFrom: { secretKeyRef: { name: wandbox-secret, key: api.key } } ---- -apiVersion: v1 -kind: Service -metadata: - name: cattleshed-svc - namespace: wandbox -spec: - selector: - app: cattleshed - ports: - - port: 2012 - targetPort: 2012 ---- -apiVersion: v1 -kind: Service -metadata: - name: wandbox-service - namespace: wandbox -spec: - type: NodePort - selector: - app.kubernetes.io/name: wandbox - ports: - - name: http - protocol: TCP - port: 80 - targetPort: 5000 - nodePort: 31003 \ No newline at end of file