Kubernetes!

This commit is contained in:
Mrrp 2024-11-18 19:41:43 -08:00
parent 0ea172d6ad
commit 2e92761d11
4 changed files with 50 additions and 14 deletions

View file

@ -1,6 +1,13 @@
FROM node:latest as build-stage # build stage
FROM node:lts-alpine as build-stage
WORKDIR /app WORKDIR /app
COPY package*.json ./ COPY package*.json ./
RUN npm install RUN npm install
COPY ./ . COPY . .
RUN npm run build RUN npm run build
# production stage
FROM nginx:stable-alpine as production-stage
COPY --from=build-stage /app/dist /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

40
deployment.yaml Normal file
View file

@ -0,0 +1,40 @@
kind: Deployment
apiVersion: apps/v1
metadata:
name: smgames-club
namespace: smgames-club
spec:
replicas: 1
selector:
matchLabels:
k8s-app: smgames-club
template:
metadata:
name: smgames-club
creationTimestamp: null
labels:
k8s-app: smgames-club
spec:
containers:
- name: smgames-club
image: git.smgames.club/mad-star-studio/hubsite:latest
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
imagePullPolicy: Always
securityContext:
privileged: false
restartPolicy: Always
terminationGracePeriodSeconds: 30
dnsPolicy: ClusterFirst
securityContext: {}
imagePullSecrets:
- name: forgejo-access
schedulerName: default-scheduler
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 25%
maxSurge: 25%
revisionHistoryLimit: 10
progressDeadlineSeconds: 600

View file

@ -40,7 +40,7 @@ const changeTheme = (newTheme: string) => {
<div class="nav-links"> <div class="nav-links">
<RouterLink to="/">Home</RouterLink> <RouterLink to="/">Home</RouterLink>
<RouterLink to="/servers">Servers</RouterLink> <RouterLink to="/servers">Servers</RouterLink>
<RouterLink to="/projects">Projects</RouterLink>" <RouterLink to="/projects">Projects</RouterLink>
<a href="https://foundryvtt.example.com" target="_blank">Foundry VTT</a> <a href="https://foundryvtt.example.com" target="_blank">Foundry VTT</a>
<a href="https://oekaki.smgames.club" target="_blank">Oekaki</a> <a href="https://oekaki.smgames.club" target="_blank">Oekaki</a>
<a href="https://social.smgames.club/" target="_blank">Social</a> <a href="https://social.smgames.club/" target="_blank">Social</a>

View file

@ -1,11 +0,0 @@
import { describe, it, expect } from 'vitest'
import { mount } from '@vue/test-utils'
import HelloWorld from '../HelloWorld.vue'
describe('HelloWorld', () => {
it('renders properly', () => {
const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } })
expect(wrapper.text()).toContain('Hello Vitest')
})
})