Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Lets Encrypt + CloudFlare addon #277

Closed
wants to merge 2 commits into from

Conversation

kiall
Copy link

@kiall kiall commented Apr 7, 2018

Add a Lets Encrypt + CloudFlare addon.

This addon is heavily based on the DuckDNS addon (It's essentially a copy+paste!), and will issue Lets Encrypt TLS certificates using a DNS-01 challenge setup with CloudFlare's DNS service.

@homeassistant
Copy link

Hi @kiall,

It seems you haven't yet signed a CLA. Please do so here.

Once you do that we will be able to review and accept this pull request.

Thanks!


# Setup Base System
RUN apk add --no-cache git jq curl libressl python3 \
&& ln -s /usr/bin/python3 /usr/bin/python
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is needed?

@balloob
Copy link
Member

balloob commented May 30, 2018

We should not add this to the official repository.

We should just offer DuckDNS. More options for users can be given via people hosting their own add-ons. It's already difficult enough for users to understand how to get encryption going.

@balloob balloob closed this May 30, 2018
@Apocrathia
Copy link

@balloob Can we meet in the middle and add the DNS verification support to the existing Let's Encrypt addon? There are a lot of us who are using CloudFlare for DNS.

@pvizeli You're authored the majority of the Let's Encrypt addon, and I see that you've been using certbot for it. Could we add CloudFlare support to it? It looks like the config.json just needs a variable for the verification method and the optional fields required by DNS verification. The CloudFlare plugin is built into certbot now.

@Apocrathia
Copy link

@pvizeli I have made a couple of minor tweaks to the existing Let's Encrypt addon. I will need to flesh out the functionality, but if this looks okay, we may be able to kill two birds with one stone by adding DNS-01 challenge support, as well as preventing us from having another addon in the main repository.

@balloob
Copy link
Member

balloob commented May 30, 2018

I just suggested in #312 to move Let's Encrypt add-on out of the official repository. If there is an add-on that would do dynamic DNS + Let's Encrypt and support multiple providers, that would be something I would like for the official repo.

Just because something is not accepted for the official repository, doesn't mean that you can't use it or share it with others. We've made it very easy to share add-ons: https://developers.home-assistant.io/docs/en/hassio_addon_repository.html

@Apocrathia
Copy link

I would honestly say that dynamic DNS and SSL certificate generation are two separate functions, and having the DuckDNS addon do both is even more confusing. In addition, I would argue that DNS-o-Matic provides far more functionality than just DuckDNS, if dynamic DNS is the end goal. I agree with your comment in #312 that we should have some sort of an "advanced" addon repo.

@balloob
Copy link
Member

balloob commented May 30, 2018

Combining Let's Encrypt with a dynamic DNS provider using the DNS challenge makes generating certificates possible without requiring users to open ports on their router, making the process significant easier and more secure.

@Apocrathia
Copy link

I definitely agree with using the DNS challenge for certificates. Making users open ports just adds too many complications. The only issue with DuckDNS is that everyone would have to use DuckDNS as their DNS provider. Which is a major pain for anyone who already has DNS setup elsewhere. DNS-O-Matic just provides an agnostic approach to updating dynamic DNS records (besides just using basic RFC2136 DDNS). I still agree with your comment in #312 that the repo should be split. Providing an all-in-one solution for users in the main repository will most likely work for the majority of users. However, the duplication of Let's Encrypt functionality does cause some confusion.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants