104 lines
		
	
	
	
		
			2.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			104 lines
		
	
	
	
		
			2.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
apiVersion: apps/v1
 | 
						|
kind: Deployment
 | 
						|
metadata:
 | 
						|
  labels:
 | 
						|
    app.kubernetes.io/name: home-assistant
 | 
						|
  name: home-assistant
 | 
						|
spec:
 | 
						|
  replicas: 1
 | 
						|
  selector:
 | 
						|
    matchLabels:
 | 
						|
      app.kubernetes.io/name: home-assistant
 | 
						|
  template:
 | 
						|
    metadata:
 | 
						|
      labels:
 | 
						|
        app.kubernetes.io/name: home-assistant
 | 
						|
    spec:
 | 
						|
      automountServiceAccountToken: true
 | 
						|
      containers:
 | 
						|
      - env:
 | 
						|
        - name: TZ
 | 
						|
          value: UTC
 | 
						|
        command:
 | 
						|
        - /bin/sh
 | 
						|
        - -c
 | 
						|
        - pip install icalendar==5.0.13 qrcode recurring_ical_events beautifulsoup4 lxml pycryptodome icalevents ics FindMy==0.7.3; /init
 | 
						|
        image: ghcr.io/home-assistant/home-assistant:2024.10.1
 | 
						|
        imagePullPolicy: IfNotPresent
 | 
						|
        livenessProbe:
 | 
						|
          failureThreshold: 3
 | 
						|
          periodSeconds: 10
 | 
						|
          successThreshold: 1
 | 
						|
          tcpSocket:
 | 
						|
            port: 8123
 | 
						|
          timeoutSeconds: 1
 | 
						|
        name: homeassistant-home-assistant
 | 
						|
        ports:
 | 
						|
        - containerPort: 8123
 | 
						|
          name: http
 | 
						|
          protocol: TCP
 | 
						|
        resources:
 | 
						|
          requests:
 | 
						|
            cpu: 25m
 | 
						|
            memory: 716711186
 | 
						|
        readinessProbe:
 | 
						|
          failureThreshold: 3
 | 
						|
          periodSeconds: 10
 | 
						|
          successThreshold: 1
 | 
						|
          tcpSocket:
 | 
						|
            port: 8123
 | 
						|
          timeoutSeconds: 1
 | 
						|
        securityContext:
 | 
						|
          privileged: true
 | 
						|
        startupProbe:
 | 
						|
          failureThreshold: 30
 | 
						|
          periodSeconds: 5
 | 
						|
          successThreshold: 1
 | 
						|
          tcpSocket:
 | 
						|
            port: 8123
 | 
						|
          timeoutSeconds: 1
 | 
						|
        terminationMessagePath: /dev/termination-log
 | 
						|
        terminationMessagePolicy: File
 | 
						|
        volumeMounts:
 | 
						|
        - mountPath: /config
 | 
						|
          name: config
 | 
						|
      dnsPolicy: ClusterFirst
 | 
						|
      enableServiceLinks: true
 | 
						|
      initContainers:
 | 
						|
      - command:
 | 
						|
        - /bin/sh
 | 
						|
        - -c
 | 
						|
        - |
 | 
						|
          PG_HOST=homeassistant-postgres
 | 
						|
          PG_DB=homeassistant
 | 
						|
          echo "psql_string: \"postgresql://${PG_USER}:${PG_PASS}@${PG_HOST}/${PG_DB}\"" > /config/secrets.yaml
 | 
						|
        env:
 | 
						|
        - name: PG_USER
 | 
						|
          valueFrom:
 | 
						|
            secretKeyRef:
 | 
						|
              key: username
 | 
						|
              name: homeassistant.homeassistant-postgres.credentials.postgresql.acid.zalan.do
 | 
						|
        - name: PG_PASS
 | 
						|
          valueFrom:
 | 
						|
            secretKeyRef:
 | 
						|
              key: password
 | 
						|
              name: homeassistant.homeassistant-postgres.credentials.postgresql.acid.zalan.do
 | 
						|
        image: alpine:latest
 | 
						|
        imagePullPolicy: Always
 | 
						|
        name: dbsecret
 | 
						|
        terminationMessagePath: /dev/termination-log
 | 
						|
        terminationMessagePolicy: File
 | 
						|
        volumeMounts:
 | 
						|
        - mountPath: /config
 | 
						|
          name: config
 | 
						|
      nodeSelector:
 | 
						|
        priority.martyn.berlin: "true"
 | 
						|
      restartPolicy: Always
 | 
						|
      schedulerName: default-scheduler
 | 
						|
      serviceAccount: default
 | 
						|
      serviceAccountName: default
 | 
						|
      terminationGracePeriodSeconds: 30
 | 
						|
      volumes:
 | 
						|
      - name: config
 | 
						|
        persistentVolumeClaim:
 | 
						|
          claimName: home-assistant-config
 |