diff options
Diffstat (limited to 'kubernetes/namespaces/default/hastebin/init-configmap.yaml')
-rw-r--r-- | kubernetes/namespaces/default/hastebin/init-configmap.yaml | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/kubernetes/namespaces/default/hastebin/init-configmap.yaml b/kubernetes/namespaces/default/hastebin/init-configmap.yaml new file mode 100644 index 0000000..906060f --- /dev/null +++ b/kubernetes/namespaces/default/hastebin/init-configmap.yaml @@ -0,0 +1,49 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: hastebin-init +data: + monkeypatch_extensions.sh: | + #!/bin/bash + + ORIGINAL="file += '\.' + _this.lookupExtensionByType(ret\.language);" + PATCHED="\/\/file += '\.' + _this.lookupExtensionByType(ret\.language);" + FILENAME="static/application.js" + + touch changed + sed -i "s/$ORIGINAL/$PATCHED/w changed" "$FILENAME" + init.sh: | + #!/bin/bash + + # Clone the repo + git clone https://github.com/toptal/haste-server.git + cd haste-server + + # Monkey patch - don't add extensions to the URLs. + # + # This is a pretty messy monkey patch, and it may break if the hastebin + # JS code changes significantly. It makes the URL display as "file" + # instead of "file.py" when you save a file, which makes it possible + # to share the URL without triggering Discord's suspicious URL filter. + cp /init/monkeypatch_extensions.sh ./monkeypatch_extensions.sh + chmod +x monkeypatch_extensions.sh + ./monkeypatch_extensions.sh + + # Check if monkeypatch succeeded. Otherwise, fail hard. + if [ -s changed ]; then + echo "Monkey patch executed: Hastebin will no longer add extensions to URLs." + else + echo "Monkey patch for not adding extension could not be performed. Maybe the hastebin code has changed?" + exit 69 + fi + + # Install and start + npm install + + set -e + + # Generate the config file from the environment + node docker-entrypoint.js > config.js + + # Start Hastebin + npm start |