docs and sandbox update
This commit is contained in:
@@ -1,31 +1,23 @@
|
||||
PODID=""
|
||||
PODID=7e0604d0-c228-4a8c-8bb7-27eaa8c96c1e
|
||||
|
||||
curl -X POST http://192.168.64.2:5000/api/workloads/containers \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"pod": "$PODID",
|
||||
-d @- <<EOF
|
||||
{
|
||||
"pod": "${PODID}",
|
||||
"containers": [
|
||||
{
|
||||
"docker_image": "joke_container",
|
||||
"container_name": "very-important-webserver",
|
||||
"container_name": "amazing-joke-server99",
|
||||
"ports": [
|
||||
{
|
||||
"internal": 8080,
|
||||
"external": 8765,
|
||||
"internal": 9092,
|
||||
"external": 8766,
|
||||
"use_dns": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"docker_image": "whoami81",
|
||||
"container_name": "whoami-server",
|
||||
"ports": [
|
||||
{
|
||||
"internal": 81,
|
||||
"external": 8081,
|
||||
"use_dns": false
|
||||
],
|
||||
"env": { "PORT": "9092" }
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}'
|
||||
EOF
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
curl -X POST http://192.168.64.2:5000/api/workloads/containers \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
curl -X POST http://192.168.64.2:5000/api/workloads/containers -H "Content-Type: application/json" -d '{
|
||||
"virtual_data_center": "b1d09477-742b-485e-87c3-5dad36dd4f9e",
|
||||
"containers": [
|
||||
{
|
||||
@@ -8,11 +6,12 @@ curl -X POST http://192.168.64.2:5000/api/workloads/containers \
|
||||
"container_name": "very-important-webserver",
|
||||
"ports": [
|
||||
{
|
||||
"internal": 8080,
|
||||
"external": 8765,
|
||||
"internal": 9090,
|
||||
"external": 9090,
|
||||
"use_dns": false
|
||||
}
|
||||
]
|
||||
],
|
||||
"env": { "PORT": "9090" }
|
||||
},
|
||||
{
|
||||
"docker_image": "whoami81",
|
||||
|
||||
@@ -5,6 +5,4 @@ WORKDIR /app
|
||||
COPY jokes.py .
|
||||
COPY index.html .
|
||||
|
||||
EXPOSE 8080
|
||||
|
||||
CMD ["python", "jokes.py"]
|
||||
|
||||
@@ -39,8 +39,9 @@
|
||||
|
||||
<div class="container">
|
||||
<div class="box" id="static-joke">{{joke}}</div>
|
||||
<div class="box" id="api-joke">Loading joke from API...</div>
|
||||
<div class="box" id="public-ip">Fetching public IP...</div>
|
||||
<div class="box" id="api-joke">Loading joke from API…</div>
|
||||
<div class="box" id="public-ip">Fetching public IP…</div>
|
||||
<div class="box" id="server-port">Fetching server port…</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
@@ -53,6 +54,7 @@
|
||||
const fontSize = 16;
|
||||
const columns = canvas.width / fontSize;
|
||||
const drops = Array(Math.floor(columns)).fill(1);
|
||||
|
||||
function drawMatrix() {
|
||||
ctx.fillStyle = 'rgba(0, 0, 0, 0.05)';
|
||||
ctx.fillRect(0, 0, canvas.width, canvas.height);
|
||||
@@ -69,7 +71,17 @@
|
||||
}
|
||||
setInterval(drawMatrix, 33);
|
||||
|
||||
// Fetch API joke
|
||||
// Show server port
|
||||
fetch(window.location.href, {method: 'HEAD'})
|
||||
.then(r => {
|
||||
document.getElementById('server-port').textContent =
|
||||
'Server port: {{PORTNUMBER}}';
|
||||
})
|
||||
.catch(() => {
|
||||
document.getElementById('server-port').textContent = 'Server port: unknown';
|
||||
});
|
||||
|
||||
// Fetch random dad joke
|
||||
fetch("https://icanhazdadjoke.com/", {
|
||||
headers: { "Accept": "application/json" }
|
||||
})
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
import http.server
|
||||
import socketserver
|
||||
import random
|
||||
import os
|
||||
|
||||
PORT = 8080
|
||||
PORT = int(os.getenv("PORT", 8080))
|
||||
|
||||
JOKES = [
|
||||
"Why do programmers prefer dark mode? Because light attracts bugs!",
|
||||
@@ -60,17 +61,27 @@ JOKES = [
|
||||
class JokeHandler(http.server.SimpleHTTPRequestHandler):
|
||||
def do_GET(self):
|
||||
if self.path == "/" or self.path == "/index.html":
|
||||
try:
|
||||
with open("index.html", "r") as f:
|
||||
html = f.read()
|
||||
except FileNotFoundError:
|
||||
self.send_error(404, "index.html not found")
|
||||
return
|
||||
|
||||
self.send_response(200)
|
||||
self.send_header("Content-type", "text/html")
|
||||
self.end_headers()
|
||||
with open("index.html", "r") as file:
|
||||
html = file.read()
|
||||
|
||||
joke = random.choice(JOKES)
|
||||
html = html.replace("{{joke}}", joke)
|
||||
html = html.replace("{{PORTNUMBER}}", str(PORT))
|
||||
self.wfile.write(html.encode("utf-8"))
|
||||
else:
|
||||
self.send_error(404, "File not found")
|
||||
|
||||
with socketserver.TCPServer(("", PORT), JokeHandler) as httpd:
|
||||
if __name__ == "__main__":
|
||||
if os.getenv("PORT"):
|
||||
print(f"Port taken from environment: PORT={PORT}")
|
||||
print(f"Serving at http://0.0.0.0:{PORT}")
|
||||
with socketserver.TCPServer(("", PORT), JokeHandler) as httpd:
|
||||
httpd.serve_forever()
|
||||
@@ -18,7 +18,7 @@ base.socketio = SocketIO(
|
||||
app,
|
||||
cors_allowed_origins="*",
|
||||
ping_timeout=5,
|
||||
ping_interval=2
|
||||
ping_interval=30
|
||||
)
|
||||
|
||||
# Import all socket event handlers
|
||||
|
||||
Reference in New Issue
Block a user