Update-deployment (#2281)

* Update deployment

* fix workflow

* Fix order

* restruct v1

* Fix style v2

* Cleanup style v3

* fix style v4

* Last style fix

* Address comments

* Update builder to 2021.11.3

* Fix let's encrypt

* fix lint

* Use ghcr.io

* fix

* Update versions

* fix readme
This commit is contained in:
Pascal Vizeli
2021-11-24 11:43:54 +01:00
committed by GitHub
parent fe641dfad2
commit 69c68bfac9
96 changed files with 1190 additions and 1189 deletions

View File

@@ -1,5 +1,11 @@
# Changelog
## 4.12.0
- Update Certbot 1.21.0 & Plugins
- Update to Python 3.9
- Update to Alpine 3.14
## 4.11.0
- Add support for Njalla DNS

View File

@@ -2,24 +2,27 @@ ARG BUILD_FROM
FROM $BUILD_FROM
# setup base
ARG CERTBOT_VERSION
ARG CERTBOT_DNS_DIRECTADMIN_VERSION
ARG CERTBOT_NETCUP_VERSION
ARG CERTBOT_NJALLA_VERSION
ARG CERTBOT_GANDI_VERSION
ARG CERTBOT_DNS_TRANSIP_VERSION
ARG \
CERTBOT_VERSION \
CERTBOT_DNS_DIRECTADMIN_VERSION \
CERTBOT_NETCUP_VERSION \
CERTBOT_NJALLA_VERSION \
CERTBOT_GANDI_VERSION \
CERTBOT_DNS_TRANSIP_VERSION
RUN apk add --no-cache --update \
RUN \
set -x \
&& apk add --no-cache --update \
libffi \
musl \
openssl \
&& apk add --no-cache --virtual .build-dependencies \
g++ \
build-base \
libffi-dev \
musl-dev \
openssl-dev \
&& pip3 install --no-cache-dir --find-links \
"https://wheels.home-assistant.io/alpine-$(cut -d '.' -f 1-2 < /etc/alpine-release)/${BUILD_ARCH}/" \
cargo \
&& pip3 install --no-cache-dir \
certbot==${CERTBOT_VERSION} \
certbot-dns-cloudflare==${CERTBOT_VERSION} \
certbot-dns-cloudxns==${CERTBOT_VERSION} \

View File

@@ -1,17 +0,0 @@
{
"build_from": {
"aarch64": "homeassistant/aarch64-base-python:3.7-alpine3.11",
"amd64": "homeassistant/amd64-base-python:3.7-alpine3.11",
"armhf": "homeassistant/armhf-base-python:3.7-alpine3.11",
"armv7": "homeassistant/armv7-base-python:3.7-alpine3.11",
"i386": "homeassistant/i386-base-python:3.7-alpine3.11"
},
"args": {
"CERTBOT_VERSION": "1.2.0",
"CERTBOT_DNS_DIRECTADMIN_VERSION": "0.0.13",
"CERTBOT_NETCUP_VERSION": "0.31.0.1",
"CERTBOT_NJALLA_VERSION": "0.0.4",
"CERTBOT_GANDI_VERSION": "1.2.5",
"CERTBOT_DNS_TRANSIP_VERSION": "0.3.0"
}
}

16
letsencrypt/build.yaml Normal file
View File

@@ -0,0 +1,16 @@
build_from:
aarch64: ghcr.io/home-assistant/aarch64-base-python:3.9-alpine3.14
amd64: ghcr.io/home-assistant/amd64-base-python:3.9-alpine3.14
armhf: ghcr.io/home-assistant/armhf-base-python:3.9-alpine3.14
armv7: ghcr.io/home-assistant/armv7-base-python:3.9-alpine3.14
i386: ghcr.io/home-assistant/i386-base-python:3.9-alpine3.14
codenotary:
signer: notary@home-assistant.io
base_image: notary@home-assistant.io
args:
CERTBOT_DNS_DIRECTADMIN_VERSION: 0.0.24
CERTBOT_DNS_TRANSIP_VERSION: 0.4.3
CERTBOT_GANDI_VERSION: 1.3.2
CERTBOT_NETCUP_VERSION: 1.1.1
CERTBOT_NJALLA_VERSION: 1.0.0
CERTBOT_VERSION: 1.21.0

View File

@@ -1,81 +0,0 @@
{
"name": "Let's Encrypt",
"version": "4.11.0",
"slug": "letsencrypt",
"description": "Manage certificate from Let's Encrypt",
"url": "https://github.com/home-assistant/hassio-addons/tree/master/letsencrypt",
"arch": ["armhf", "armv7", "aarch64", "amd64", "i386"],
"startup": "once",
"init": false,
"boot": "manual",
"ports": {
"80/tcp": 80
},
"ports_description": {
"80/tcp": "Only needed for http challenge"
},
"map": ["ssl:rw", "share"],
"options": {
"email": null,
"domains": [null],
"certfile": "fullchain.pem",
"keyfile": "privkey.pem",
"challenge": "http",
"dns": {}
},
"schema": {
"email": "email",
"domains": ["str"],
"certfile": "str",
"keyfile": "str",
"challenge": "list(dns|http)",
"acme_server": "url?",
"acme_root_ca_cert": "str?",
"dns": {
"provider": "list(dns-cloudflare|dns-cloudxns|dns-digitalocean|dns-directadmin|dns-dnsimple|dns-dnsmadeeasy|dns-gehirn|dns-google|dns-linode|dns-luadns|dns-njalla|dns-nsone|dns-ovh|dns-rfc2136|dns-route53|dns-sakuracloud|dns-netcup|dns-gandi|dns-transip)?",
"propagation_seconds": "int(60,3600)?",
"cloudflare_email": "email?",
"cloudflare_api_key": "str?",
"cloudflare_api_token": "str?",
"cloudxns_api_key": "str?",
"cloudxns_secret_key": "str?",
"digitalocean_token": "str?",
"directadmin_url": "str?",
"directadmin_username": "str?",
"directadmin_password": "str?",
"dnsimple_token": "str?",
"dnsmadeeasy_api_key": "str?",
"dnsmadeeasy_secret_key": "str?",
"gehirn_api_token": "str?",
"gehirn_api_secret": "str?",
"google_creds": "str?",
"linode_key": "str?",
"linode_version": "str?",
"luadns_email": "email?",
"luadns_token": "str?",
"njalla_token": "str?",
"nsone_api_key": "str?",
"ovh_endpoint": "str?",
"ovh_application_key": "str?",
"ovh_application_secret": "str?",
"ovh_consumer_key": "str?",
"rfc2136_server": "str?",
"rfc2136_port": "str?",
"rfc2136_name": "str?",
"rfc2136_secret": "str?",
"rfc2136_algorithm": "str?",
"aws_access_key_id": "str?",
"aws_secret_access_key": "str?",
"sakuracloud_api_token": "str?",
"sakuracloud_api_secret": "str?",
"netcup_customer_id": "str?",
"netcup_api_key": "str?",
"netcup_api_password": "str?",
"gandi_api_key": "str?",
"gandi_sharing_id": "str?",
"transip_username": "str?",
"transip_api_key": "str?"
}
},
"image": "homeassistant/{arch}-addon-letsencrypt"
}

83
letsencrypt/config.yaml Normal file
View File

@@ -0,0 +1,83 @@
version: 4.12.0
slug: letsencrypt
name: Let's Encrypt
description: Manage certificate from Let's Encrypt
url: https://github.com/home-assistant/hassio-addons/tree/master/letsencrypt
arch:
- armhf
- armv7
- aarch64
- amd64
- i386
boot: manual
image: homeassistant/{arch}-addon-letsencrypt
init: false
map:
- ssl:rw
- share
options:
certfile: fullchain.pem
challenge: http
dns: {}
domains:
- null
email: null
keyfile: privkey.pem
ports:
80/tcp: 80
ports_description:
80/tcp: Only needed for http challenge
schema:
acme_root_ca_cert: str?
acme_server: url?
certfile: str
challenge: list(dns|http)
dns:
aws_access_key_id: str?
aws_secret_access_key: str?
cloudflare_api_key: str?
cloudflare_api_token: str?
cloudflare_email: email?
cloudxns_api_key: str?
cloudxns_secret_key: str?
digitalocean_token: str?
directadmin_password: str?
directadmin_url: str?
directadmin_username: str?
dnsimple_token: str?
dnsmadeeasy_api_key: str?
dnsmadeeasy_secret_key: str?
gandi_api_key: str?
gandi_sharing_id: str?
gehirn_api_secret: str?
gehirn_api_token: str?
google_creds: str?
linode_key: str?
linode_version: str?
luadns_email: email?
luadns_token: str?
netcup_api_key: str?
netcup_api_password: str?
netcup_customer_id: str?
njalla_token: str?
nsone_api_key: str?
ovh_application_key: str?
ovh_application_secret: str?
ovh_consumer_key: str?
ovh_endpoint: str?
propagation_seconds: int(60,3600)?
provider: list(dns-cloudflare|dns-cloudxns|dns-digitalocean|dns-directadmin|dns-dnsimple|dns-dnsmadeeasy|dns-gehirn|dns-google|dns-linode|dns-luadns|dns-njalla|dns-nsone|dns-ovh|dns-rfc2136|dns-route53|dns-sakuracloud|dns-netcup|dns-gandi|dns-transip)?
rfc2136_algorithm: str?
rfc2136_name: str?
rfc2136_port: str?
rfc2136_secret: str?
rfc2136_server: str?
sakuracloud_api_secret: str?
sakuracloud_api_token: str?
transip_api_key: str?
transip_username: str?
domains:
- str
email: email
keyfile: str
startup: once