Convert addon configs to yaml (#52)

This commit is contained in:
Jesse Hills 2022-03-24 17:23:36 +13:00 committed by GitHub
parent 7d2181c51f
commit ef509b3fb6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 118 additions and 144 deletions

View File

@ -1,44 +0,0 @@
{
"advanced": true,
"arch": [
"amd64",
"armv7",
"aarch64"
],
"auth_api": true,
"backup_exclude": [
"*/*/"
],
"description": "Beta version of ESPHome add-on",
"hassio_api": true,
"host_network": true,
"image": "ghcr.io/esphome/esphome-hassio-{arch}",
"ingress": true,
"ingress_port": 0,
"map": [
"ssl:ro",
"config:rw"
],
"name": "ESPHome (beta)",
"panel_icon": "mdi:chip",
"ports": {
"6052/tcp": null
},
"ports_description": {
"6052/tcp": "Web interface (not required for Home Assistant ingress)"
},
"schema": {
"certfile": "str?",
"keyfile": "str?",
"leave_front_door_open": "bool?",
"relative_url": "str?",
"ssl": "bool?",
"status_use_ping": "bool?",
"streamer_mode": "bool?"
},
"slug": "esphome-beta",
"stage": "experimental",
"uart": true,
"url": "https://beta.esphome.io/",
"version": "2022.3.1"
}

37
esphome-beta/config.yaml Normal file
View File

@ -0,0 +1,37 @@
---
advanced: true
arch:
- amd64
- armv7
- aarch64
auth_api: true
backup_exclude:
- '*/*/'
description: Beta version of ESPHome add-on
hassio_api: true
host_network: true
image: ghcr.io/esphome/esphome-hassio-{arch}
ingress: true
ingress_port: 0
map:
- ssl:ro
- config:rw
name: ESPHome (beta)
panel_icon: mdi:chip
ports:
6052/tcp: null
ports_description:
6052/tcp: Web interface (not required for Home Assistant ingress)
schema:
certfile: str?
keyfile: str?
leave_front_door_open: bool?
relative_url: str?
ssl: bool?
status_use_ping: bool?
streamer_mode: bool?
slug: esphome-beta
stage: experimental
uart: true
url: https://beta.esphome.io/
version: 2022.3.1

View File

@ -1,7 +0,0 @@
{
"build_from": {
"aarch64": "ghcr.io/esphome/esphome-hassio-aarch64:dev",
"amd64": "ghcr.io/esphome/esphome-hassio-amd64:dev",
"armv7": "ghcr.io/esphome/esphome-hassio-armv7:dev"
}
}

5
esphome-dev/build.yaml Normal file
View File

@ -0,0 +1,5 @@
---
build_from:
aarch64: ghcr.io/esphome/esphome-hassio-aarch64:dev
amd64: ghcr.io/esphome/esphome-hassio-amd64:dev
armv7: ghcr.io/esphome/esphome-hassio-armv7:dev

View File

@ -1,44 +0,0 @@
{
"advanced": true,
"arch": [
"amd64",
"armv7",
"aarch64"
],
"auth_api": true,
"backup_exclude": [
"*/*/"
],
"description": "Development version of ESPHome add-on",
"hassio_api": true,
"host_network": true,
"ingress": true,
"ingress_port": 0,
"map": [
"ssl:ro",
"config:rw"
],
"name": "ESPHome (dev)",
"panel_icon": "mdi:chip",
"ports": {
"6052/tcp": null
},
"ports_description": {
"6052/tcp": "Web interface (not required for Home Assistant ingress)"
},
"schema": {
"certfile": "str?",
"esphome_fork": "str?",
"keyfile": "str?",
"leave_front_door_open": "bool?",
"relative_url": "str?",
"ssl": "bool?",
"status_use_ping": "bool?",
"streamer_mode": "bool?"
},
"slug": "esphome-dev",
"stage": "experimental",
"uart": true,
"url": "https://next.esphome.io/",
"version": "dev"
}

37
esphome-dev/config.yaml Normal file
View File

@ -0,0 +1,37 @@
---
advanced: true
arch:
- amd64
- armv7
- aarch64
auth_api: true
backup_exclude:
- '*/*/'
description: Development version of ESPHome add-on
hassio_api: true
host_network: true
ingress: true
ingress_port: 0
map:
- ssl:ro
- config:rw
name: ESPHome (dev)
panel_icon: mdi:chip
ports:
6052/tcp: null
ports_description:
6052/tcp: Web interface (not required for Home Assistant ingress)
schema:
certfile: str?
esphome_fork: str?
keyfile: str?
leave_front_door_open: bool?
relative_url: str?
ssl: bool?
status_use_ping: bool?
streamer_mode: bool?
slug: esphome-dev
stage: experimental
uart: true
url: https://next.esphome.io/
version: dev

View File

@ -1,42 +0,0 @@
{
"arch": [
"amd64",
"armv7",
"aarch64"
],
"auth_api": true,
"backup_exclude": [
"*/*/"
],
"description": "ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices",
"hassio_api": true,
"host_network": true,
"image": "ghcr.io/esphome/esphome-hassio-{arch}",
"ingress": true,
"ingress_port": 0,
"map": [
"ssl:ro",
"config:rw"
],
"name": "ESPHome",
"panel_icon": "mdi:chip",
"ports": {
"6052/tcp": null
},
"ports_description": {
"6052/tcp": "Web interface (not required for Home Assistant ingress)"
},
"schema": {
"certfile": "str?",
"keyfile": "str?",
"leave_front_door_open": "bool?",
"relative_url": "str?",
"ssl": "bool?",
"status_use_ping": "bool?",
"streamer_mode": "bool?"
},
"slug": "esphome",
"uart": true,
"url": "https://esphome.io/",
"version": "2022.3.1"
}

35
esphome/config.yaml Normal file
View File

@ -0,0 +1,35 @@
---
arch:
- amd64
- armv7
- aarch64
auth_api: true
backup_exclude:
- '*/*/'
description: ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices
hassio_api: true
host_network: true
image: ghcr.io/esphome/esphome-hassio-{arch}
ingress: true
ingress_port: 0
map:
- ssl:ro
- config:rw
name: ESPHome
panel_icon: mdi:chip
ports:
6052/tcp: null
ports_description:
6052/tcp: Web interface (not required for Home Assistant ingress)
schema:
certfile: str?
keyfile: str?
leave_front_door_open: bool?
relative_url: str?
ssl: bool?
status_use_ping: bool?
streamer_mode: bool?
slug: esphome
uart: true
url: https://esphome.io/
version: 2022.3.1

View File

@ -4,7 +4,6 @@ import argparse
import yaml
from pathlib import Path
from enum import Enum
import json
from shutil import copyfile
import sys
@ -34,9 +33,9 @@ def main(args):
conf = config[f"esphome-{channel.value}"]
base_image = conf.pop("base_image", None)
dir_ = root / conf.pop("directory")
path = dir_ / "config.json"
path = dir_ / "config.yaml"
with open(path, "w") as f:
json.dump(conf, f, indent=2, sort_keys=True)
yaml.dump(conf, f, indent=2, sort_keys=True, explicit_start=True)
for file_, conf_ in copyf.items():
if Path.exists(templ / channel.value / file_):
@ -49,16 +48,14 @@ def main(args):
f.write("Any edits should be made to the files in the 'template' directory")
if channel == Channel.dev:
path = dir_ / "build.json"
path = dir_ / "build.yaml"
build_conf = {
"build_from": {
arch: base_image.format(arch=arch) for arch in conf["arch"]
}
}
with open(path, "w") as f:
json.dump(build_conf, f, indent=2, sort_keys=True)
print(f"Wrote {path}")
yaml.dump(build_conf, f, indent=2, sort_keys=True, explicit_start=True)
if __name__ == "__main__":