This commit is contained in:
Neil Hanlon 2024-01-02 11:32:52 -05:00
commit d4df1e6af3
Signed by: neil
GPG Key ID: 705BC21EC3C70F34
7 changed files with 153 additions and 0 deletions

26
.woodpecker.yml Normal file
View File

@ -0,0 +1,26 @@
---
branches: main
pipeline:
woodpecker-ci:
image: woodpeckerci/plugin-docker-buildx
privileged: true
secrets: [repository_username, repository_password]
settings:
dockerfile: Containerfile
platforms: linux/amd64,linux/arm64/v8
registry: git.shrug.pw
repo: git.shrug.pw/neil/bellriots.today
tags: latest
pull_image: true
mtu: 1480
username:
from_secret: registry_username
password:
from_secret: registry_password
logins:
- registry: git.shrug.pw
username:
from_secret: registry_username
password:
from_secret: registry_password

4
Caddyfile Normal file
View File

@ -0,0 +1,4 @@
:8080 {
templates
file_server browse
}

6
Containerfile Normal file
View File

@ -0,0 +1,6 @@
FROM docker.io/library/caddy:2
COPY Caddyfile /etc/caddy/Caddyfile
COPY index.html /srv/
COPY script.js /srv/
COPY styles.css /srv/

15
index.html Normal file
View File

@ -0,0 +1,15 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="styles.css">
<title>Bell Riots - bellriots.today</title>
</head>
<body>
<section>
<div id="countdown"></div>
</section>
<script src="script.js"></script>
</body>
</html>

64
nginx.yml Normal file
View File

@ -0,0 +1,64 @@
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: caddy
namespace: bellriots
spec:
replicas: 1
selector:
matchLabels:
app: caddy
template:
metadata:
labels:
app: caddy
spec:
containers:
- name: caddy
image: git.shrug.pw/neil/bellriots.today
ports:
- name: tcp
containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:
name: caddy
namespace: bellriots
spec:
ports:
- port: 8080
targetPort: 8080
protocol: TCP
type: ClusterIP
selector:
app: caddy
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/client-max-body-size: 20m
nginx.ingress.kubernetes.io/proxy-body-size: 20m
name: caddy
namespace: bellriots
spec:
rules:
- host: bellriots.today
http:
paths:
- backend:
service:
name: caddy
port:
number: 8080
path: /
pathType: Prefix
tls:
- hosts:
- bellriots.today
secretName: default-cert

18
script.js Normal file
View File

@ -0,0 +1,18 @@
document.addEventListener('DOMContentLoaded', function() {
// Set the date of the fictional Bell Riots (updated to August 30, 2024)
const bellRiotsDate = new Date('2024-08-30T17:00:00Z').getTime();
// Update the countdown every second
const countdownElement = document.getElementById('countdown');
setInterval(function() {
const now = new Date().getTime();
const distance = bellRiotsDate - now;
const days = Math.floor(distance / (1000 * 60 * 60 * 24));
const hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
const minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
const seconds = Math.floor((distance % (1000 * 60)) / 1000);
countdownElement.innerHTML = `${days}d ${hours}h ${minutes}m ${seconds}s`;
}, 1000);
});

20
styles.css Normal file
View File

@ -0,0 +1,20 @@
body {
background-color: #222222;
color: #FFFFFF;
display: flex;
justify-content: center;
align-items: center;
}
section {
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
}
div#countdown {
display: inline-block;
font-size: 3rem;
font-weight: bold;
padding: 1.5rem;
border: 1px solid white;
}