fluxcd: wyoming

This commit is contained in:
Márcio Fernandes
2026-06-06 02:35:42 +00:00
parent dd7a7ad27a
commit 40ab7218cb
17 changed files with 263 additions and 184 deletions
@@ -0,0 +1,15 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: wyoming
resources:
- pvc.yaml
- piper-deployment.yaml
- piper-service.yaml
- whisper-deployment.yaml
- whisper-service.yaml
- piper-image-policy.yaml
- piper-image-repo.yaml
- piper-image-update-automation.yaml
- whisper-image-policy.yaml
- whisper-image-repo.yaml
- whisper-image-update-automation.yaml
@@ -0,0 +1,49 @@
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: wyoming
name: wyoming-piper
labels:
app: wyoming-piper
spec:
replicas: 1
selector:
matchLabels:
app: wyoming-piper
template:
metadata:
labels:
app: wyoming-piper
spec:
nodeSelector:
role: worker-node
containers:
- name: wyoming-piper
### Maintained by flux - Image Update Automation
image: rhasspy/wyoming-piper # {"$imagepolicy": "wyoming:piper"}
###
volumeMounts:
- mountPath: /data
name: data
args:
- --voice
- en-gb-southern_english_female-low
ports:
- containerPort: 10200
volumes:
- name: data
persistentVolumeClaim:
claimName: wyoming-piper
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: wyoming-piper
namespace: wyoming
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 2Gi
@@ -0,0 +1,13 @@
apiVersion: image.toolkit.fluxcd.io/v1
kind: ImagePolicy
metadata:
name: piper
spec:
imageRepositoryRef:
name: piper
filterTags:
pattern: '^latest$'
policy:
alphabetical: {}
digestReflectionPolicy: Always
interval: 24h
@@ -0,0 +1,7 @@
apiVersion: image.toolkit.fluxcd.io/v1
kind: ImageRepository
metadata:
name: piper
spec:
image: rhasspy/wyoming-piper
interval: 72h
@@ -0,0 +1,25 @@
apiVersion: image.toolkit.fluxcd.io/v1
kind: ImageUpdateAutomation
metadata:
name: piper
spec:
interval: 72h
sourceRef:
kind: GitRepository
name: casa
namespace: casa-limbosolutions-com
git:
checkout:
ref:
branch: main
commit:
author:
name: FluxCD
email: flux@local
messageTemplate: |
Update wyoming piper image.
push:
branch: main
update:
path: ./services/wyoming/deploy/app/piper-deployment.yaml
strategy: Setters
@@ -0,0 +1,18 @@
# dns: piper.wyoming.svc.cluster.local
apiVersion: v1
kind: Service
metadata:
name: piper
namespace: wyoming
labels:
app: wyoming-piper
spec:
selector:
app: wyoming-piper
ports:
- name: tcp-piper
protocol: TCP
port: 10200
targetPort: 10200
type: ClusterIP
+11
View File
@@ -0,0 +1,11 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: wyoming-whisper
namespace: wyoming
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 8Gi
@@ -0,0 +1,44 @@
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: wyoming
name: wyoming-whisper
labels:
app: wyoming-whisper
spec:
replicas: 1
selector:
matchLabels:
app: wyoming-whisper
template:
metadata:
labels:
app: wyoming-whisper
spec:
nodeSelector:
role: worker-node
containers:
- name: wyoming-whisper
### Maintained by flux - Image Update Automation
image: rhasspy/wyoming-whisper # {"$imagepolicy": "wyoming:piper"}
###
volumeMounts:
- mountPath: /data
name: data
args:
- --model
- small-int8
- --language
- pt
- --beam-size
- "4"
- --debug
ports:
- name: tcp-whisper
containerPort: 10300
volumes:
- name: data
persistentVolumeClaim:
claimName: wyoming-whisper
@@ -0,0 +1,13 @@
apiVersion: image.toolkit.fluxcd.io/v1
kind: ImagePolicy
metadata:
name: whisper
spec:
imageRepositoryRef:
name: whisper
filterTags:
pattern: '^latest$'
policy:
alphabetical: {}
digestReflectionPolicy: Always
interval: 24h
@@ -0,0 +1,7 @@
apiVersion: image.toolkit.fluxcd.io/v1
kind: ImageRepository
metadata:
name: whisper
spec:
image: rhasspy/wyoming-whisper
interval: 72h
@@ -0,0 +1,25 @@
apiVersion: image.toolkit.fluxcd.io/v1
kind: ImageUpdateAutomation
metadata:
name: whisper
spec:
interval: 72h
sourceRef:
kind: GitRepository
name: casa
namespace: casa-limbosolutions-com
git:
checkout:
ref:
branch: main
commit:
author:
name: FluxCD
email: flux@local
messageTemplate: |
Update wyoming whisper image.
push:
branch: main
update:
path: ./services/wyoming/deploy/app/whisper-deployment.yaml
strategy: Setters
@@ -0,0 +1,18 @@
# dns: whisper.wyoming.svc.cluster.local
apiVersion: v1
kind: Service
metadata:
name: whisper
namespace: wyoming
labels:
app: wyoming-whisper
spec:
selector:
app: wyoming-whisper
ports:
- name: tcp-whisper
protocol: TCP
port: 10300
targetPort: 10300
type: ClusterIP
-32
View File
@@ -1,32 +0,0 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
namespace: wyoming
name: ci-cd
rules:
- apiGroups: [""]
resources: ["pods", "services", "secrets", "configmaps", "persistentvolumeclaims", "endpoints"]
verbs: ["get", "watch", "list", "create", "update", "patch", "delete"]
- apiGroups: ["apps"]
resources: ["deployments", "statefulsets"]
verbs: ["get", "watch", "list", "create", "update", "patch", "delete"]
- apiGroups: ["networking.k8s.io"]
resources: ["ingresses"]
verbs: ["get", "watch", "list", "create", "update", "patch", "delete"]
- apiGroups: ["traefik.io"]
resources: ["ingressroutes"]
verbs: ["get", "watch", "list", "create", "update", "patch", "delete"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: ci-cd
namespace: wyoming
subjects:
- kind: ServiceAccount
name: casa-ci-cd
namespace: home-assistant
roleRef:
kind: Role
name: ci-cd
apiGroup: rbac.authorization.k8s.io
@@ -0,0 +1,13 @@
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: wyoming
spec:
interval: 1m
sourceRef:
kind: GitRepository
name: casa
namespace: casa-limbosolutions-com
path: services/wyoming/deploy/app
prune: true
@@ -0,0 +1,5 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: wyoming
resources:
- app-sync.yaml
-4
View File
@@ -1,4 +0,0 @@
apiVersion: v1
kind: Namespace
metadata:
name: wyoming
-148
View File
@@ -1,148 +0,0 @@
---
# dns: whisper.wyoming.svc.cluster.local
apiVersion: v1
kind: Service
metadata:
name: whisper
namespace: wyoming
labels:
app: wyoming-whisper
spec:
selector:
app: wyoming-whisper
ports:
- name: tcp-whisper
protocol: TCP
port: 10300
targetPort: 10300
type: ClusterIP
---
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: wyoming
name: wyoming-whisper
labels:
app: wyoming-whisper
spec:
replicas: 1
selector:
matchLabels:
app: wyoming-whisper
template:
metadata:
labels:
app: wyoming-whisper
spec:
nodeSelector:
role: worker-node
containers:
- name: wyoming-whisper
image: rhasspy/wyoming-whisper
volumeMounts:
- mountPath: /data
name: data
args:
- --model
- small-int8
- --language
- pt
- --beam-size
- "4"
- --debug
ports:
- name: tcp-whisper
containerPort: 10300
volumes:
- name: data
persistentVolumeClaim:
claimName: wyoming-whisper
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: wyoming-whisper
namespace: wyoming
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 8Gi
---
# dns: piper.wyoming.svc.cluster.local
apiVersion: v1
kind: Service
metadata:
name: piper
namespace: wyoming
labels:
app: wyoming-piper
spec:
selector:
app: wyoming-piper
ports:
- name: tcp-piper
protocol: TCP
port: 10200
targetPort: 10200
type: ClusterIP
---
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: wyoming
name: wyoming-piper
labels:
app: wyoming-piper
spec:
replicas: 1
selector:
matchLabels:
app: wyoming-piper
template:
metadata:
labels:
app: wyoming-piper
spec:
nodeSelector:
role: worker-node
containers:
- name: wyoming-piper
image: rhasspy/wyoming-piper
volumeMounts:
- mountPath: /data
name: data
args:
- --voice
- en-gb-southern_english_female-low
ports:
- containerPort: 10200
volumes:
- name: data
persistentVolumeClaim:
claimName: wyoming-piper
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: wyoming-piper
namespace: wyoming
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 2Gi