Added TES3MP
This commit is contained in:
parent
987a6cada4
commit
043f4e78bf
9
.gitmodules
vendored
9
.gitmodules
vendored
@ -46,3 +46,12 @@
|
|||||||
[submodule "roles/ericomeehan.minio"]
|
[submodule "roles/ericomeehan.minio"]
|
||||||
path = roles/ericomeehan.minio
|
path = roles/ericomeehan.minio
|
||||||
url = git@gitea.eom.dev:DevOps/ansible-role-minio.git
|
url = git@gitea.eom.dev:DevOps/ansible-role-minio.git
|
||||||
|
[submodule "roles/ericomeehan.jamulus"]
|
||||||
|
path = roles/ericomeehan.jamulus
|
||||||
|
url = git@gitea.eom.dev:DevOps/ansible-role-jamulus.git
|
||||||
|
[submodule "roles/cleary.tidalcycles"]
|
||||||
|
path = roles/cleary.tidalcycles
|
||||||
|
url = https://github.com/cleary/ansible-tidalcycles.git
|
||||||
|
[submodule "roles/ericomeehan.tes3mp"]
|
||||||
|
path = roles/ericomeehan.tes3mp
|
||||||
|
url = git@gitea.eom.dev:Gaming/ansible-role-tes3mp.git
|
||||||
|
|||||||
BIN
.localai.yaml.swp
Normal file
BIN
.localai.yaml.swp
Normal file
Binary file not shown.
341
discourse_deploy.yaml
Normal file
341
discourse_deploy.yaml
Normal file
@ -0,0 +1,341 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
deployment.kubernetes.io/revision: "1"
|
||||||
|
meta.helm.sh/release-name: discourse
|
||||||
|
meta.helm.sh/release-namespace: discourse
|
||||||
|
creationTimestamp: "2025-11-11T21:42:30Z"
|
||||||
|
generation: 1
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/instance: discourse
|
||||||
|
app.kubernetes.io/managed-by: Helm
|
||||||
|
app.kubernetes.io/name: discourse
|
||||||
|
app.kubernetes.io/version: 3.5.0
|
||||||
|
helm.sh/chart: discourse-17.0.1
|
||||||
|
name: discourse
|
||||||
|
namespace: discourse
|
||||||
|
resourceVersion: "126024847"
|
||||||
|
uid: 3ab876dd-fba3-4b05-b5b7-4d98e455fc77
|
||||||
|
spec:
|
||||||
|
progressDeadlineSeconds: 600
|
||||||
|
replicas: 1
|
||||||
|
revisionHistoryLimit: 10
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/instance: discourse
|
||||||
|
app.kubernetes.io/name: discourse
|
||||||
|
strategy:
|
||||||
|
rollingUpdate:
|
||||||
|
maxSurge: 25%
|
||||||
|
maxUnavailable: 25%
|
||||||
|
type: RollingUpdate
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
checksum/config: e5461cf0a1e43f8902c5301b3406945d6a42bf2817fd69f91864bd1690a64b6b
|
||||||
|
checksum/secrets-database: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
|
||||||
|
checksum/secrets-discourse: 400095440da345a753f05bd9af8e09a98b4aba5b2c80294e9d2b4956a080ef86
|
||||||
|
checksum/secrets-redis: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
|
||||||
|
creationTimestamp: null
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/instance: discourse
|
||||||
|
app.kubernetes.io/managed-by: Helm
|
||||||
|
app.kubernetes.io/name: discourse
|
||||||
|
app.kubernetes.io/version: 3.5.0
|
||||||
|
helm.sh/chart: discourse-17.0.1
|
||||||
|
spec:
|
||||||
|
affinity:
|
||||||
|
podAntiAffinity:
|
||||||
|
preferredDuringSchedulingIgnoredDuringExecution:
|
||||||
|
- podAffinityTerm:
|
||||||
|
labelSelector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/instance: discourse
|
||||||
|
app.kubernetes.io/name: discourse
|
||||||
|
topologyKey: kubernetes.io/hostname
|
||||||
|
weight: 1
|
||||||
|
automountServiceAccountToken: false
|
||||||
|
containers:
|
||||||
|
- args:
|
||||||
|
- -c
|
||||||
|
- |
|
||||||
|
rm -r /opt/bitnami/discourse/plugins/chat
|
||||||
|
chown -R discourse:root /opt/bitnami/discourse/plugins
|
||||||
|
/opt/bitnami/scripts/discourse/entrypoint.sh /opt/bitnami/scripts/discourse/run.sh
|
||||||
|
command:
|
||||||
|
- /bin/bash
|
||||||
|
env:
|
||||||
|
- name: BITNAMI_DEBUG
|
||||||
|
value: "false"
|
||||||
|
- name: DISCOURSE_PASSWORD
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
key: discourse-password
|
||||||
|
name: discourse-discourse
|
||||||
|
- name: DISCOURSE_PORT_NUMBER
|
||||||
|
value: "8080"
|
||||||
|
- name: DISCOURSE_EXTERNAL_HTTP_PORT_NUMBER
|
||||||
|
value: "80"
|
||||||
|
- name: DISCOURSE_DATABASE_PASSWORD
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
key: password
|
||||||
|
name: discourse-postgresql
|
||||||
|
- name: POSTGRESQL_CLIENT_CREATE_DATABASE_PASSWORD
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
key: password
|
||||||
|
name: discourse-postgresql
|
||||||
|
- name: POSTGRESQL_CLIENT_POSTGRES_PASSWORD
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
key: postgres-password
|
||||||
|
name: discourse-postgresql
|
||||||
|
- name: DISCOURSE_REDIS_PASSWORD
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
key: redis-password
|
||||||
|
name: discourse-redis
|
||||||
|
- name: DISCOURSE_SMTP_PASSWORD
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
key: smtp-password
|
||||||
|
name: discourse-discourse
|
||||||
|
- name: DISCOURSE_DATA_TO_PERSIST
|
||||||
|
value: public/backups public/uploads
|
||||||
|
envFrom:
|
||||||
|
- configMapRef:
|
||||||
|
name: discourse
|
||||||
|
image: docker.io/bitnamilegacy/discourse:3.4.7-debian-12-r0
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
livenessProbe:
|
||||||
|
failureThreshold: 6
|
||||||
|
initialDelaySeconds: 500
|
||||||
|
periodSeconds: 10
|
||||||
|
successThreshold: 1
|
||||||
|
tcpSocket:
|
||||||
|
port: http
|
||||||
|
timeoutSeconds: 5
|
||||||
|
name: discourse
|
||||||
|
ports:
|
||||||
|
- containerPort: 8080
|
||||||
|
name: http
|
||||||
|
protocol: TCP
|
||||||
|
readinessProbe:
|
||||||
|
failureThreshold: 6
|
||||||
|
httpGet:
|
||||||
|
path: /srv/status
|
||||||
|
port: http
|
||||||
|
scheme: HTTP
|
||||||
|
initialDelaySeconds: 180
|
||||||
|
periodSeconds: 10
|
||||||
|
successThreshold: 1
|
||||||
|
timeoutSeconds: 5
|
||||||
|
resources: {}
|
||||||
|
securityContext:
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
|
capabilities:
|
||||||
|
add:
|
||||||
|
- CHOWN
|
||||||
|
- SYS_CHROOT
|
||||||
|
- FOWNER
|
||||||
|
- SETGID
|
||||||
|
- SETUID
|
||||||
|
- DAC_OVERRIDE
|
||||||
|
drop:
|
||||||
|
- ALL
|
||||||
|
privileged: false
|
||||||
|
readOnlyRootFilesystem: false
|
||||||
|
runAsGroup: 0
|
||||||
|
runAsNonRoot: false
|
||||||
|
runAsUser: 0
|
||||||
|
seLinuxOptions: {}
|
||||||
|
seccompProfile:
|
||||||
|
type: RuntimeDefault
|
||||||
|
terminationMessagePath: /dev/termination-log
|
||||||
|
terminationMessagePolicy: File
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /bitnami/discourse
|
||||||
|
name: discourse-data
|
||||||
|
subPath: discourse
|
||||||
|
- mountPath: /opt/bitnami/discourse/plugins
|
||||||
|
name: empty-dir
|
||||||
|
subPath: app-plugins-dir
|
||||||
|
- args:
|
||||||
|
- /opt/bitnami/scripts/discourse-sidekiq/run.sh
|
||||||
|
command:
|
||||||
|
- /opt/bitnami/scripts/discourse/entrypoint.sh
|
||||||
|
env:
|
||||||
|
- name: BITNAMI_DEBUG
|
||||||
|
value: "false"
|
||||||
|
- name: DISCOURSE_PASSWORD
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
key: discourse-password
|
||||||
|
name: discourse-discourse
|
||||||
|
- name: DISCOURSE_POSTGRESQL_PASSWORD
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
key: password
|
||||||
|
name: discourse-postgresql
|
||||||
|
- name: REDIS_PASSWORD
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
key: redis-password
|
||||||
|
name: discourse-redis
|
||||||
|
- name: DISCOURSE_SMTP_PASSWORD
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
key: smtp-password
|
||||||
|
name: discourse-discourse
|
||||||
|
- name: DISCOURSE_DATA_TO_PERSIST
|
||||||
|
value: public/backups public/uploads
|
||||||
|
envFrom:
|
||||||
|
- configMapRef:
|
||||||
|
name: discourse
|
||||||
|
image: docker.io/bitnamilegacy/discourse:3.4.7-debian-12-r0
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
livenessProbe:
|
||||||
|
exec:
|
||||||
|
command:
|
||||||
|
- /bin/sh
|
||||||
|
- -c
|
||||||
|
- pgrep -f ^sidekiq
|
||||||
|
failureThreshold: 6
|
||||||
|
initialDelaySeconds: 500
|
||||||
|
periodSeconds: 10
|
||||||
|
successThreshold: 1
|
||||||
|
timeoutSeconds: 5
|
||||||
|
name: sidekiq
|
||||||
|
readinessProbe:
|
||||||
|
exec:
|
||||||
|
command:
|
||||||
|
- /bin/sh
|
||||||
|
- -c
|
||||||
|
- pgrep -f ^sidekiq
|
||||||
|
failureThreshold: 6
|
||||||
|
initialDelaySeconds: 30
|
||||||
|
periodSeconds: 10
|
||||||
|
successThreshold: 1
|
||||||
|
timeoutSeconds: 5
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 750m
|
||||||
|
ephemeral-storage: 2Gi
|
||||||
|
memory: 768Mi
|
||||||
|
requests:
|
||||||
|
cpu: 500m
|
||||||
|
ephemeral-storage: 50Mi
|
||||||
|
memory: 512Mi
|
||||||
|
securityContext:
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
|
capabilities:
|
||||||
|
add:
|
||||||
|
- CHOWN
|
||||||
|
- SYS_CHROOT
|
||||||
|
- FOWNER
|
||||||
|
- SETGID
|
||||||
|
- SETUID
|
||||||
|
- DAC_OVERRIDE
|
||||||
|
drop:
|
||||||
|
- ALL
|
||||||
|
privileged: false
|
||||||
|
readOnlyRootFilesystem: false
|
||||||
|
runAsGroup: 0
|
||||||
|
runAsNonRoot: false
|
||||||
|
runAsUser: 0
|
||||||
|
seLinuxOptions: {}
|
||||||
|
seccompProfile:
|
||||||
|
type: RuntimeDefault
|
||||||
|
terminationMessagePath: /dev/termination-log
|
||||||
|
terminationMessagePolicy: File
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /bitnami/discourse
|
||||||
|
name: discourse-data
|
||||||
|
subPath: discourse
|
||||||
|
- mountPath: /opt/bitnami/discourse/plugins
|
||||||
|
name: empty-dir
|
||||||
|
subPath: app-plugins-dir
|
||||||
|
dnsPolicy: ClusterFirst
|
||||||
|
initContainers:
|
||||||
|
- args:
|
||||||
|
- -c
|
||||||
|
- |
|
||||||
|
pushd "/opt/bitnami/discourse" >/dev/null || exit 1
|
||||||
|
RAILS_ENV=production bundle exec rake plugin:install repo=https://github.com/discourse/discourse-adplugin
|
||||||
|
RAILS_ENV=production bundle exec rake plugin:install repo=https://github.com/discourse/discourse-subscriptions
|
||||||
|
RAILS_ENV=production bundle exec rake plugin:install repo=https://github.com/discourse/discourse-activity-pub
|
||||||
|
RAILS_ENV=production bundle exec rake plugin:install repo=https://github.com/discourse/discourse-openid-connect
|
||||||
|
RAILS_ENV=production bundle exec rake plugin:install repo=https://github.com/jonmbake/discourse-ldap-auth
|
||||||
|
RAILS_ENV=production bundle exec rake plugin:install repo=https://github.com/discourse/discourse-math
|
||||||
|
RAILS_ENV=production bundle exec rake plugin:install repo=https://github.com/discourse/discourse-post-voting
|
||||||
|
RAILS_ENV=production bundle exec rake plugin:install repo=https://github.com/discourse/discourse-prometheus
|
||||||
|
RAILS_ENV=production bundle exec rake plugin:install repo=https://github.com/discourse/discourse-reactions
|
||||||
|
RAILS_ENV=production LOAD_PLUGINS=0 bundle exec rake plugin:pull_compatible_all
|
||||||
|
popd >/dev/null || exit 1
|
||||||
|
cp -nr --preserve=mode /opt/bitnami/discourse/plugins/* /plugins
|
||||||
|
command:
|
||||||
|
- /bin/bash
|
||||||
|
image: docker.io/bitnamilegacy/discourse:3.4.7-debian-12-r0
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
name: install-plugins
|
||||||
|
resources: {}
|
||||||
|
securityContext:
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
|
capabilities:
|
||||||
|
add:
|
||||||
|
- CHOWN
|
||||||
|
- SYS_CHROOT
|
||||||
|
- FOWNER
|
||||||
|
- SETGID
|
||||||
|
- SETUID
|
||||||
|
- DAC_OVERRIDE
|
||||||
|
drop:
|
||||||
|
- ALL
|
||||||
|
privileged: false
|
||||||
|
readOnlyRootFilesystem: false
|
||||||
|
runAsGroup: 0
|
||||||
|
runAsNonRoot: false
|
||||||
|
runAsUser: 0
|
||||||
|
seLinuxOptions: {}
|
||||||
|
seccompProfile:
|
||||||
|
type: RuntimeDefault
|
||||||
|
terminationMessagePath: /dev/termination-log
|
||||||
|
terminationMessagePolicy: File
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /plugins
|
||||||
|
name: empty-dir
|
||||||
|
subPath: app-plugins-dir
|
||||||
|
restartPolicy: Always
|
||||||
|
schedulerName: default-scheduler
|
||||||
|
securityContext:
|
||||||
|
fsGroup: 0
|
||||||
|
fsGroupChangePolicy: Always
|
||||||
|
serviceAccount: discourse
|
||||||
|
serviceAccountName: discourse
|
||||||
|
terminationGracePeriodSeconds: 30
|
||||||
|
volumes:
|
||||||
|
- emptyDir: {}
|
||||||
|
name: empty-dir
|
||||||
|
- name: discourse-data
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: discourse
|
||||||
|
status:
|
||||||
|
conditions:
|
||||||
|
- lastTransitionTime: "2025-11-11T21:42:30Z"
|
||||||
|
lastUpdateTime: "2025-11-11T21:42:30Z"
|
||||||
|
message: Deployment does not have minimum availability.
|
||||||
|
reason: MinimumReplicasUnavailable
|
||||||
|
status: "False"
|
||||||
|
type: Available
|
||||||
|
- lastTransitionTime: "2025-11-11T21:42:30Z"
|
||||||
|
lastUpdateTime: "2025-11-11T21:42:30Z"
|
||||||
|
message: ReplicaSet "discourse-75db4ff77d" is progressing.
|
||||||
|
reason: ReplicaSetUpdated
|
||||||
|
status: "True"
|
||||||
|
type: Progressing
|
||||||
|
observedGeneration: 1
|
||||||
|
replicas: 1
|
||||||
|
unavailableReplicas: 1
|
||||||
|
updatedReplicas: 1
|
||||||
10
jamulus.yaml
Normal file
10
jamulus.yaml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
- name: Execute test
|
||||||
|
hosts: alpha-control-plane
|
||||||
|
become: true
|
||||||
|
vars_files:
|
||||||
|
- ../secrets.yaml
|
||||||
|
roles:
|
||||||
|
- role: ericomeehan.jamulus
|
||||||
|
vars:
|
||||||
|
directoryAddress: "anygenre2.jamulus.io:22124"
|
||||||
|
serverInfo: "jamulus.eom.dev;Raleigh;US"
|
||||||
7
k8s_cp.yaml
Normal file
7
k8s_cp.yaml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
---
|
||||||
|
# Playbook for eom.dev
|
||||||
|
- name: Alpha Cluster
|
||||||
|
hosts: alpha-control-plane
|
||||||
|
become: true
|
||||||
|
roles:
|
||||||
|
- role: geerlingguy.kubernetes
|
||||||
16
localagi.yaml
Normal file
16
localagi.yaml
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
- name: Execute test
|
||||||
|
hosts: alpha-control-plane
|
||||||
|
become: true
|
||||||
|
vars_files:
|
||||||
|
- ../secrets.yaml
|
||||||
|
roles:
|
||||||
|
- role: ericomeehan.localagi
|
||||||
|
vars:
|
||||||
|
localagi_pvc_storage: 2Ti
|
||||||
|
localagi_model: llama3-8b-instruct
|
||||||
|
localagi_multimodal_model: minicpm-v-2_6
|
||||||
|
localagi_image_model: sd-1.5-ggml
|
||||||
|
localagi_localrag_url: https://localrecall.eom.dev/
|
||||||
|
localagi_llm_api_url: https://localai.eom.dev/
|
||||||
|
localagi_llm_api_key: "{{ localai_api_keys[0] }}"
|
||||||
|
localagi_timeout: "300s"
|
||||||
@ -5,3 +5,8 @@
|
|||||||
- ../secrets.yaml
|
- ../secrets.yaml
|
||||||
roles:
|
roles:
|
||||||
- role: ericomeehan.localai
|
- role: ericomeehan.localai
|
||||||
|
vars:
|
||||||
|
localai_disable_webui: "true"
|
||||||
|
localai_watchdog_idle: "true"
|
||||||
|
localai_watchdog_idle_timeout: "1m"
|
||||||
|
localai_watchdog_busy: "true"
|
||||||
|
|||||||
13
localrecall.yaml
Normal file
13
localrecall.yaml
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
- name: Execute test
|
||||||
|
hosts: alpha-control-plane
|
||||||
|
become: true
|
||||||
|
vars_files:
|
||||||
|
- ../secrets.yaml
|
||||||
|
roles:
|
||||||
|
- role: ericomeehan.localrecall
|
||||||
|
vars:
|
||||||
|
localrecall_collection_db_pvc_size: 2Ti
|
||||||
|
localrecall_file_assets_pvc_size: 2Ti
|
||||||
|
localrecall_openai_api_key: "{{ localai_api_keys[1] }}"
|
||||||
|
localrecall_openai_base_url: https://localai.eom.dev/v1
|
||||||
|
localrecall_embedding_model: bert-embeddings
|
||||||
1
roles/cleary.tidalcycles
Submodule
1
roles/cleary.tidalcycles
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 59d79f2d5ffb112eff40d4972dc0929bd1b21764
|
||||||
1
roles/ericomeehan.jamulus
Submodule
1
roles/ericomeehan.jamulus
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit bec6319b668fde790e7d41cff427608af94b6560
|
||||||
@ -1 +1 @@
|
|||||||
Subproject commit 33875aa8996665cd8b75204e76ec7c0f1e20b7bc
|
Subproject commit c7a794f85ac5c5aa4315df67cb1abd68c2522074
|
||||||
@ -1 +1 @@
|
|||||||
Subproject commit b533423c05535d41e25214b191a0389c8c7a78d4
|
Subproject commit a5a6e208445375bc19041926429c93f5c5507e24
|
||||||
@ -1 +1 @@
|
|||||||
Subproject commit d4ca4d79a80a46cff04ace7dbf190edf711fe230
|
Subproject commit cafe3ce60d48c5faa12c70d22bacc7600c377e5d
|
||||||
1
roles/ericomeehan.tes3mp
Submodule
1
roles/ericomeehan.tes3mp
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 4f664e4987e6ba37b2960f2ef267b44770c58525
|
||||||
10
tes3mp.yaml
Normal file
10
tes3mp.yaml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
- name: Execute test
|
||||||
|
hosts: alpha-control-plane
|
||||||
|
become: true
|
||||||
|
vars_files:
|
||||||
|
- ../secrets.yaml
|
||||||
|
roles:
|
||||||
|
- role: ericomeehan.tes3mp
|
||||||
|
vars:
|
||||||
|
TES3MP_SERVER_GENERAL_HOSTNAME: "TES3MP on eom.dev"
|
||||||
|
TES3MP_SERVER_GENERAL_PASSWORD: "{{ tes3mp_server_general_password }}"
|
||||||
8
tower-plus.yaml
Normal file
8
tower-plus.yaml
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
---
|
||||||
|
# Playbook for workstations
|
||||||
|
- name: Initialize workstations
|
||||||
|
hosts: localhost
|
||||||
|
connection: local
|
||||||
|
become: true
|
||||||
|
roles:
|
||||||
|
- role: ericomeehan.nvidia_driver
|
||||||
Loading…
Reference in New Issue
Block a user