Changed piston image source #49
@@ -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
|
||||
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user