Compare commits

..

8 Commits

Author SHA1 Message Date
2b6870b861 Suppression packages build
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 13m19s
2025-06-10 14:02:35 +02:00
ceb7a74b11 Modif apk en apt
Some checks failed
Build and Push Docker Image / build-and-push (push) Has been cancelled
2025-06-10 13:00:26 +02:00
fd4e17a754 Try fix dns avec alpine HS
Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 1m33s
2025-06-10 12:50:14 +02:00
4ed73f7c72 Ajout ingress et service pour Twurple 2025-06-10 11:09:12 +02:00
066a3864dd Push build version
All checks were successful
Build and Push Docker Image / build-and-push (pull_request) Successful in 1m58s
2025-06-10 01:53:08 +02:00
9a4902291e Fix workflow sha tag
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 1m2s
2025-06-10 01:49:29 +02:00
d06df32bab Fix workflow tags and remove attestation
Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 3m11s
2025-06-09 23:42:02 +02:00
60d0c01212 Fix chmod
Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 5m5s
2025-06-09 19:10:35 +02:00
47 changed files with 80 additions and 18 deletions

View File

@@ -54,12 +54,17 @@ jobs:
tags: |
# Tag avec le nom du tag Git
type=ref,event=tag
# Tag 'latest' pour la branche master
type=raw,value=latest,enable={{is_default_branch}}
# Tag avec le SHA pour les autres branches
type=sha,prefix=sha-
labels: |
org.opencontainers.image.title=${{ env.IMAGE_NAME }}
org.opencontainers.image.description=Bot Discord
org.opencontainers.image.url=https://gitea.zac.ovh/zachary/bot_Tamiseur
org.opencontainers.image.source=https://gitea.zac.ovh/zachary/bot_Tamiseur
org.opencontainers.image.description=Bot Discord de moi
org.opencontainers.image.url=https://git.zac.ovh/zachary/bot_Tamiseur
org.opencontainers.image.source=https://git.zac.ovh/zachary/bot_Tamiseur
org.opencontainers.image.revision=${{ github.sha }}
org.opencontainers.image.created={{date 'RFC3339'}}
- name: Build and push Docker image
uses: docker/build-push-action@v5
@@ -72,10 +77,3 @@ jobs:
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max
- name: Generate artifact attestation
uses: actions/attest-build-provenance@v1
with:
subject-name: ${{ env.REGISTRY }}/${{ env.IMAGE_PATH }}/${{ env.IMAGE_NAME }}
subject-digest: ${{ steps.build.outputs.digest }}
push-to-registry: true

0
README.md Executable file → Normal file
View File

View File

@@ -1,17 +1,21 @@
# Starting from node
FROM node:22-alpine
FROM node:22-slim
ENV NODE_ENV=production
WORKDIR /app
RUN apk add --no-cache ffmpeg python3 make g++
# Copy package files and install only production dependencies
# Copy package files first
COPY package.json package-lock.json* .
RUN npm ci --only=production --ignore-scripts && \
npm install bufferutil zlib-sync
# Install build dependencies, compile native modules, then remove build tools
RUN apt-get update && \
apt-get install -y ffmpeg python3 make g++ && \
npm ci --only=production --ignore-scripts && \
npm install bufferutil zlib-sync && \
apt-get remove -y python3 make g++ && \
apt-get autoremove -y && \
rm -rf /var/lib/apt/lists/*
# Copy the builded files and the charts
COPY ./dist/* .

View File

@@ -0,0 +1,32 @@
{{- if .Values.ingress.enabled }}
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: {{ .Release.Name }}
annotations:
external-dns.alpha.kubernetes.io/target: omegamaestro.{{ .Values.ingress.domain }}
cert-manager.io/cluster-issuer: {{ .Values.ingress.issuer }}
nginx.ingress.kubernetes.io/backend-protocol: "HTTP"
{{- if .Values.ingress.geoip }}
nginx.ingress.kubernetes.io/server-snippet: |
if ($lan = yes) { set $allowed_country yes; }
if ($allowed_country = no) { return 451; }
{{- end }}
spec:
ingressClassName: {{ .Values.ingress.class }}
tls:
- hosts:
- {{ .Values.ingress.subdomain }}.{{ .Values.ingress.domain }}
secretName: {{ .Release.Name }}-tls
rules:
- host: "{{ .Values.ingress.subdomain }}.{{ .Values.ingress.domain }}"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: "{{ .Release.Name }}-{{ .Values.service.name }}"
port:
name: {{ .Values.service.name }}
{{- end }}

View File

@@ -0,0 +1,15 @@
{{- if .Values.service.enabled }}
apiVersion: v1
kind: Service
metadata:
name: "{{ .Release.Name }}-{{ .Values.service.name }}"
spec:
type: {{ .Values.service.type }}
ports:
- name: {{ .Values.service.name }}
port: {{ .Values.deployment.env.TWURPLE_PORT | default .Values.service.port }}
targetPort: {{ .Values.deployment.env.TWURPLE_PORT | default .Values.service.port }}
protocol: TCP
selector:
{{ .Release.Name }}
{{- end }}

View File

@@ -3,7 +3,7 @@ deployment:
strategy: RollingUpdate
image:
repository: "rgy.angels-dev.fr/prod/bot_tamiseur"
tag: "4.0.0"
tag: "build_2025-06-10_01h49"
pullPolicy: IfNotPresent
env:
NODE_ENV: "production"
@@ -15,4 +15,17 @@ deployment:
# Memory: "500Mi"
requests:
Cpu: "0.1"
Memory: "50Mi"
Memory: "50Mi"
service:
enabled: true
type: ClusterIP
name: twurple
ingress:
enabled: true
class: nginx
subdomain: dcb-chantier.prd
domain: angels-dev.fr
issuer: letsencrypt-prod
geoip: false

0
src/commands/global/amp.ts Executable file → Normal file
View File

0
src/commands/global/database.ts Executable file → Normal file
View File

0
src/commands/global/ping.ts Executable file → Normal file
View File

0
src/commands/player/loop.ts Executable file → Normal file
View File

0
src/commands/player/lyrics.ts Executable file → Normal file
View File

0
src/commands/player/panel.ts Executable file → Normal file
View File

0
src/commands/player/pause.ts Executable file → Normal file
View File

0
src/commands/player/play.ts Executable file → Normal file
View File

0
src/commands/player/previous.ts Executable file → Normal file
View File

0
src/commands/player/queue.ts Executable file → Normal file
View File

0
src/commands/player/resume.ts Executable file → Normal file
View File

0
src/commands/player/shuffle.ts Executable file → Normal file
View File

0
src/commands/player/skip.ts Executable file → Normal file
View File

0
src/commands/player/stop.ts Executable file → Normal file
View File

0
src/commands/player/volume.ts Executable file → Normal file
View File

0
src/commands/salonpostam/crack.ts Executable file → Normal file
View File

0
src/commands/salonpostam/papa.ts Executable file → Normal file
View File

0
src/commands/salonpostam/parle.ts Executable file → Normal file
View File

0
src/commands/salonpostam/spam.ts Executable file → Normal file
View File

0
src/commands/salonpostam/update.ts Executable file → Normal file
View File

0
src/events/client/error.ts Executable file → Normal file
View File

0
src/events/client/guildCreate.ts Executable file → Normal file
View File

0
src/events/client/guildMemberAdd.ts Executable file → Normal file
View File

0
src/events/client/guildMemberRemove.ts Executable file → Normal file
View File

0
src/events/client/guildUpdate.ts Executable file → Normal file
View File

0
src/events/client/interactionCreate.ts Executable file → Normal file
View File

0
src/events/client/ready.ts Executable file → Normal file
View File

0
src/events/player/audioTrackAdd.ts Executable file → Normal file
View File

0
src/events/player/audioTracksAdd.ts Executable file → Normal file
View File

0
src/events/player/debug.ts Executable file → Normal file
View File

0
src/events/player/disconnect.ts Executable file → Normal file
View File

0
src/events/player/emptyChannel.ts Executable file → Normal file
View File

0
src/events/player/emptyQueue.ts Executable file → Normal file
View File

0
src/events/player/error.ts Executable file → Normal file
View File

0
src/events/player/playerError.ts Executable file → Normal file
View File

0
src/events/player/playerSkip.ts Executable file → Normal file
View File

0
src/events/player/playerStart.ts Executable file → Normal file
View File

0
src/index.ts Executable file → Normal file
View File

0
src/static/parle.mp3 Executable file → Normal file
View File

0
src/static/stronger_shorter.mp3 Executable file → Normal file
View File

0
tsconfig.json Executable file → Normal file
View File