init: SNEK on Kubernetes

- Dockerfile: Ubuntu 20.04 + all SNEK dependencies (libgtk2-perl, libffi6, etc.)
- entrypoint.sh: flash firmware via foxctl, start main_sigfox
- deploy/snek.yaml: K8s manifest (namespace, PVC, deployment, LoadBalancer)
- README: full documentation covering hardware, software, decoding, callbacks
This commit is contained in:
2026-07-03 17:16:32 +02:00
commit ff648fa9b2
4 changed files with 503 additions and 0 deletions
+82
View File
@@ -0,0 +1,82 @@
apiVersion: v1
kind: Namespace
metadata:
name: snek
labels:
pod-security.kubernetes.io/enforce: privileged
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: snek-data
namespace: snek
spec:
accessModes:
- ReadWriteOnce
storageClassName: local-path
resources:
requests:
storage: 2Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: snek
namespace: snek
spec:
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
app: snek
template:
metadata:
labels:
app: snek
spec:
containers:
- name: snek
image: 192.168.1.100:30500/snek:latest
imagePullPolicy: Always
ports:
- containerPort: 8085
name: web
securityContext:
privileged: true
volumeMounts:
- name: usb-bus
mountPath: /dev/bus/usb
- name: snek-data
mountPath: /root/Snek
resources:
requests:
memory: 512Mi
cpu: 200m
limits:
memory: 2Gi
cpu: 1
volumes:
- name: usb-bus
hostPath:
path: /dev/bus/usb
type: Directory
- name: snek-data
persistentVolumeClaim:
claimName: snek-data
---
apiVersion: v1
kind: Service
metadata:
name: snek
namespace: snek
spec:
type: LoadBalancer
loadBalancerIP: 192.168.1.212
externalTrafficPolicy: Local
selector:
app: snek
ports:
- name: web
port: 8085
targetPort: 8085