diff --git a/esphome/main.yaml b/esphome/main.yaml index b129580..fd2be4e 100644 --- a/esphome/main.yaml +++ b/esphome/main.yaml @@ -1,12 +1,23 @@ apiVersion: v1 +kind: ServiceAccount +metadata: + labels: + app.kubernetes.io/instance: esphome + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: esphome + app.kubernetes.io/version: 2025.10.4 + helm.sh/chart: esphome-1.3.4 + name: esphome +--- +apiVersion: v1 kind: Service metadata: labels: app.kubernetes.io/instance: esphome app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: esphome - app.kubernetes.io/version: 1.18.0 - helm.sh/chart: esphome-8.4.2 + app.kubernetes.io/version: 2025.10.4 + helm.sh/chart: esphome-1.3.4 name: esphome spec: ports: @@ -26,9 +37,9 @@ metadata: app.kubernetes.io/instance: esphome app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: esphome - app.kubernetes.io/version: 1.18.0 - helm.sh/chart: esphome-8.4.2 - name: esphome-config + app.kubernetes.io/version: 2025.10.4 + helm.sh/chart: esphome-1.3.4 + name: esphome spec: accessModes: - ReadWriteOnce @@ -44,8 +55,8 @@ metadata: app.kubernetes.io/instance: esphome app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: esphome - app.kubernetes.io/version: 1.18.0 - helm.sh/chart: esphome-8.4.2 + app.kubernetes.io/version: 2025.10.4 + helm.sh/chart: esphome-1.3.4 name: esphome spec: replicas: 1 @@ -55,50 +66,62 @@ spec: app.kubernetes.io/instance: esphome app.kubernetes.io/name: esphome strategy: - type: Recreate + type: RollingUpdate template: metadata: labels: app.kubernetes.io/instance: esphome app.kubernetes.io/name: esphome spec: - automountServiceAccountToken: true containers: - - image: esphome/esphome:2025.8.0 + - env: + - name: ESPHOME_DASHBOARD_USE_PING + value: "true" + image: esphome/esphome:2025.10.4 imagePullPolicy: IfNotPresent livenessProbe: - failureThreshold: 3 - initialDelaySeconds: 0 - periodSeconds: 10 - tcpSocket: - port: 6052 - timeoutSeconds: 1 + httpGet: + path: / + port: http name: esphome ports: - containerPort: 6052 name: http protocol: TCP readinessProbe: - failureThreshold: 3 - initialDelaySeconds: 0 - periodSeconds: 10 - tcpSocket: - port: 6052 - timeoutSeconds: 1 - startupProbe: - failureThreshold: 30 - initialDelaySeconds: 0 - periodSeconds: 5 - tcpSocket: - port: 6052 - timeoutSeconds: 1 + httpGet: + path: / + port: http + resources: {} + securityContext: {} volumeMounts: - mountPath: /config name: config - dnsPolicy: ClusterFirst - enableServiceLinks: true - serviceAccountName: default + securityContext: {} + serviceAccountName: esphome volumes: - name: config persistentVolumeClaim: - claimName: esphome-config + claimName: esphome +--- +apiVersion: v1 +kind: Pod +metadata: + annotations: + helm.sh/hook: test + labels: + app.kubernetes.io/instance: esphome + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: esphome + app.kubernetes.io/version: 2025.10.4 + helm.sh/chart: esphome-1.3.4 + name: esphome-test-connection +spec: + containers: + - args: + - esphome:6052 + command: + - wget + image: busybox + name: wget + restartPolicy: Never diff --git a/esphome/src/kustomization.yaml b/esphome/src/kustomization.yaml index 9e4f144..25f9c2d 100644 --- a/esphome/src/kustomization.yaml +++ b/esphome/src/kustomization.yaml @@ -4,8 +4,8 @@ kind: Kustomization helmCharts: - name: esphome - repo: https://k8s-at-home.com/charts/ - version: 8.4.2 + repo: https://charts.alekc.dev + version: 1.3.4 releaseName: esphome includeCRDs: true namespace: esphome diff --git a/esphome/src/values.yaml b/esphome/src/values.yaml index 12b3ee9..47b90ed 100644 --- a/esphome/src/values.yaml +++ b/esphome/src/values.yaml @@ -1,48 +1,133 @@ -# -# IMPORTANT NOTE -# -# This chart inherits from our common library chart. You can check the default values/options here: -# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml -# +# Default values for esphome. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + +replicaCount: 1 image: - # -- image repository repository: esphome/esphome - # -- image pull policy pullPolicy: IfNotPresent - # -- image tag - tag: 2025.8.0 + # Overrides the image tag whose default is the chart appVersion. + tag: "" -# -- environment variables. -# @default -- See below -env: {} - # ESPHOME_DASHBOARD_USE_PING: true - # ESPHOME_DASHBOARD_RELATIVE_URL: "/" - # ESPHOME_QUICKWIZARD: - # ESPHOME_IS_HASSIO: - # DISABLE_HA_AUTHENTICATION: - # USERNAME: - # PASSWORD: +imagePullSecrets: [] +nameOverride: "" +fullnameOverride: "" + +serviceAccount: + # Specifies whether a service account should be created + create: true + # Annotations to add to the service account + annotations: {} + # The name of the service account to use. + # If not set and create is true, a name is generated using the fullname template + name: "" + +podAnnotations: {} + +deployment: + # -- Deployment strategy + strategy: + type: RollingUpdate + +podSecurityContext: + {} + # fsGroup: 2000 + +securityContext: + {} + # capabilities: + # drop: + # - ALL + # readOnlyRootFilesystem: true + # runAsNonRoot: true + # runAsUser: 1000 -# -- Configures service settings for the chart. -# @default -- See values.yaml service: - main: - ports: - http: - port: 6052 + type: ClusterIP + port: 6052 ingress: - # -- Enable and configure ingress settings for the chart under this key. - # @default -- See values.yaml - main: - enabled: false + enabled: false + className: "" + annotations: + {} + # kubernetes.io/ingress.class: nginx + # kubernetes.io/tls-acme: "true" + hosts: + - host: chart-example.local + paths: + - path: / + pathType: ImplementationSpecific + tls: [] + # - secretName: chart-example-tls + # hosts: + # - chart-example.local + +resources: + {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + +autoscaling: + enabled: false + minReplicas: 1 + maxReplicas: 100 + targetCPUUtilizationPercentage: 80 + # targetMemoryUtilizationPercentage: 80 + +nodeSelector: {} + +tolerations: [] + +affinity: {} + +# -- environment values +env: + # -- simple key: val based env vars + simple: + ESPHOME_DASHBOARD_USE_PING: true + # foo: bar + # -- full envs, they will be rendered as written here. Useful if you need to use secrets/cm + full: [] +# - name: esphome +# valueFrom: +# configMapKeyRef: +# key: "my-config" +# name: "secret" +# optional: false + +annotations: + # -- Deployment's annotations + deployment: {} -# -- Configure persistence settings for the chart under this key. -# @default -- See values.yaml persistence: - config: - enabled: true - storageClass: openebs-3-replicas - accessMode: ReadWriteOnce - size: 5Gi \ No newline at end of file + enabled: true + storageClass: openebs-3-replicas + existingClaim: "" + accessMode: ReadWriteOnce + size: 5Gi + # if you need any additional volumes, you can define them here + additionalVolumes: [] + # if you need any additional volume mounts, you can define them here + additionalMounts: [] + +revisionHistoryLimit: 3 + +livenessProbe: + httpGet: + path: / + port: http +readinessProbe: + httpGet: + path: / + port: http +