Compare commits
21 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f03d0daa44 | |||
| 89014da485 | |||
| f4b17f0599 | |||
|
|
83518e2b3e | ||
|
|
7c94d7a38b | ||
|
|
3ef178f29f | ||
|
|
ed98c300bf | ||
|
|
b3aa44a126 | ||
| 98b8cfd6c8 | |||
| 0245a5c16a | |||
| 33508fac9e | |||
| 90b115fcd2 | |||
| 6a0892fc1f | |||
| 80232b8099 | |||
| a19c082d9a | |||
| e7fda0497e | |||
| 113393b313 | |||
| 73a522be60 | |||
| e390f78926 | |||
| 5ce221e1c7 | |||
| 33cf5235a4 |
@ -29,17 +29,17 @@ jobs:
|
|||||||
- name: Log in to Docker registry
|
- name: Log in to Docker registry
|
||||||
if: env.exists == 'true'
|
if: env.exists == 'true'
|
||||||
run: |
|
run: |
|
||||||
echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login git.ionas999.at -u ${{ secrets.REGISTRY_USERNAME }} --password-stdin
|
echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login git.hinterdorfer.dev -u ${{ secrets.REGISTRY_USERNAME }} --password-stdin
|
||||||
|
|
||||||
- name: Build Docker image
|
- name: Build Docker image
|
||||||
if: env.exists == 'true'
|
if: env.exists == 'true'
|
||||||
run: |
|
run: |
|
||||||
docker build -t git.ionas999.at/${{ env.IMAGE_NAME }}:latest .
|
docker build -t git.hinterdorfer.dev/${{ env.IMAGE_NAME }}:latest .
|
||||||
|
|
||||||
- name: Push Docker image
|
- name: Push Docker image
|
||||||
if: env.exists == 'true'
|
if: env.exists == 'true'
|
||||||
run: |
|
run: |
|
||||||
docker push git.ionas999.at/${{ env.IMAGE_NAME }}:latest
|
docker push git.hinterdorfer.dev/${{ env.IMAGE_NAME }}:latest
|
||||||
|
|
||||||
deploy_to_k8s:
|
deploy_to_k8s:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@ -120,7 +120,7 @@ jobs:
|
|||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: ${REPO_NAME}
|
- name: ${REPO_NAME}
|
||||||
image: git.ionas999.at/${FULL_REPO}:latest
|
image: git.hinterdorfer.dev/${FULL_REPO}:latest
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 80
|
- containerPort: 80
|
||||||
---
|
---
|
||||||
@ -150,9 +150,9 @@ jobs:
|
|||||||
ingressClassName: traefik
|
ingressClassName: traefik
|
||||||
tls:
|
tls:
|
||||||
- hosts:
|
- hosts:
|
||||||
- ${REPO_NAME}.git.ionas999.at
|
- ${REPO_NAME}.git.hinterdorfer.dev
|
||||||
rules:
|
rules:
|
||||||
- host: ${REPO_NAME}.git.ionas999.at
|
- host: ${REPO_NAME}.git.hinterdorfer.dev
|
||||||
http:
|
http:
|
||||||
paths:
|
paths:
|
||||||
- path: /
|
- path: /
|
||||||
@ -163,7 +163,11 @@ jobs:
|
|||||||
port:
|
port:
|
||||||
number: 80
|
number: 80
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
kubectl delete deployment "${REPO_NAME}" -n gitea-deployment --ignore-not-found
|
||||||
|
kubectl delete service "${REPO_NAME}" -n gitea-deployment --ignore-not-found
|
||||||
|
kubectl delete ingress "${REPO_NAME}-ingress" -n gitea-deployment --ignore-not-found
|
||||||
|
|
||||||
# Display the manifest for debugging
|
# Display the manifest for debugging
|
||||||
echo "--- Generated manifest: ---"
|
echo "--- Generated manifest: ---"
|
||||||
cat k8s-manifests.yaml
|
cat k8s-manifests.yaml
|
||||||
|
|||||||
@ -9,5 +9,6 @@ RUN npm run build
|
|||||||
# Production stage
|
# Production stage
|
||||||
FROM nginx:alpine
|
FROM nginx:alpine
|
||||||
COPY --from=build /app/build /usr/share/nginx/html
|
COPY --from=build /app/build /usr/share/nginx/html
|
||||||
|
COPY nginx.conf /etc/nginx/conf.d/default.conf
|
||||||
EXPOSE 80
|
EXPOSE 80
|
||||||
CMD ["nginx", "-g", "daemon off;"]
|
CMD ["nginx", "-g", "daemon off;"]
|
||||||
|
|||||||
21
LICENSE
Normal file
21
LICENSE
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) [Jahr] [Dein Name]
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in
|
||||||
|
all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
19
nginx.conf
Normal file
19
nginx.conf
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
# nginx.conf
|
||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
server_name localhost;
|
||||||
|
|
||||||
|
root /usr/share/nginx/html;
|
||||||
|
index index.html;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
try_files $uri /index.html;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Optional: serve static files directly
|
||||||
|
location ~* \.(js|css|png|jpg|jpeg|gif|svg|ico|woff2?|ttf|eot|otf|ttc|json)$ {
|
||||||
|
try_files $uri =404;
|
||||||
|
access_log off;
|
||||||
|
add_header Cache-Control "public, max-age=31536000, immutable";
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -2,65 +2,130 @@
|
|||||||
"food": [
|
"food": [
|
||||||
{
|
{
|
||||||
"id": "f1",
|
"id": "f1",
|
||||||
"name": "Kotlettsemmel / Wurst",
|
"name": "Henderl",
|
||||||
"basePrice": 5,
|
"basePrice": 10,
|
||||||
"color": "#FFEBCD"
|
"color": "#ff6666"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "f2",
|
"id": "f2",
|
||||||
"name": "Pommes",
|
"name": "Kotelett",
|
||||||
"basePrice": 2.50,
|
"basePrice": 10,
|
||||||
"color": "#FFD700"
|
"color": "#ff6666"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "f3",
|
"id": "f3",
|
||||||
"name": "Semmel (extra)",
|
"name": "Bratwurst",
|
||||||
"basePrice": 0.50,
|
"basePrice": 5.5,
|
||||||
"color": "#FFCCCB"
|
"color": "#ffffff"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "f4",
|
||||||
|
"name": "Schnitzelsemmel",
|
||||||
|
"basePrice": 5.5,
|
||||||
|
"color": "#ffffff"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "f5",
|
"id": "f5",
|
||||||
"name": "Mehlspeise",
|
"name": "Gemüselaibchensemmel",
|
||||||
"basePrice": 2.50,
|
"basePrice": 5.5,
|
||||||
"color": "#FFE4E1"
|
"color": "#ffffff"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "f6",
|
||||||
|
"name": "Pommes",
|
||||||
|
"basePrice": 3.0,
|
||||||
|
"color": "#fff68f"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "f7",
|
||||||
|
"name": "Gebäck",
|
||||||
|
"basePrice": 0.5
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"drinks": [
|
"drinks": [
|
||||||
{
|
{
|
||||||
"id": "d1",
|
"id": "d1",
|
||||||
"name": "Bier / Radler 0.5",
|
"name": "Bier / Radler 1/2",
|
||||||
"basePrice": 4.0,
|
"basePrice": 4.5,
|
||||||
"color": "#F0E68C"
|
"color": "#ff8866"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "d2",
|
"id": "d2",
|
||||||
"name": "Bier / Radler 0.3",
|
"name": "Limo gespr. 1/2",
|
||||||
"basePrice": 3.50,
|
"basePrice": 4.5,
|
||||||
"color": "#D2B48C"
|
"color": "#ff8866"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "d3",
|
"id": "d3",
|
||||||
"name": "Limo",
|
"name": "Limo Leitung 1/2",
|
||||||
"basePrice": 2.50,
|
"basePrice": 4,
|
||||||
"color": "#FFDAB9"
|
"color": "#90d990"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "d8",
|
||||||
|
"name": "Limo Flasche",
|
||||||
|
"basePrice": 2.8,
|
||||||
|
"color": "#6a8acd"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "d15",
|
||||||
|
"name": "Wein 1/8",
|
||||||
|
"basePrice": 2,
|
||||||
|
"color": "#90d990"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "d7",
|
||||||
|
"name": "Wein 1/4",
|
||||||
|
"basePrice": 4,
|
||||||
|
"color": "#90d990"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "d4",
|
"id": "d4",
|
||||||
"name": "G'spritzter",
|
"name": "Gespritzter 1/4",
|
||||||
"basePrice": 2.50,
|
"basePrice": 2.8,
|
||||||
"color": "#E0FFFF"
|
"color": "#6a8acd"
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "d5",
|
|
||||||
"name": "Sommerspritzer",
|
|
||||||
"basePrice": 3.00,
|
|
||||||
"color": "#FFDAB9"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "d6",
|
"id": "d6",
|
||||||
"name": "1/8 Wein",
|
"name": "Gespritzer 1/2",
|
||||||
|
"basePrice": 5.6,
|
||||||
|
"color": "#6a8acd"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "d5",
|
||||||
|
"name": "Sommerspritzer 1/2",
|
||||||
|
"basePrice": 4,
|
||||||
|
"color": "#90d990"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "d10",
|
||||||
|
"name": "Alm/Cola/Weiß/Rot 1/4",
|
||||||
|
"basePrice": 3.2,
|
||||||
|
"color": "#d0e8ff"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "d11",
|
||||||
|
"name": "Alm/Cola/Weiß/Rot 1/2",
|
||||||
|
"basePrice": 6.4,
|
||||||
|
"color": "#d0e8ff"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "d12",
|
||||||
|
"name": "Mineral 1/3",
|
||||||
"basePrice": 2,
|
"basePrice": 2,
|
||||||
"color": "#FFE4E1"
|
"color": "#90d990"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "d13",
|
||||||
|
"name": "Mineral 1l",
|
||||||
|
"basePrice": 4.5,
|
||||||
|
"color": "#ff8866"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "d14",
|
||||||
|
"name": "Wein 1l",
|
||||||
|
"basePrice": 14,
|
||||||
|
"color": "#ff99cc"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user