Code Monkey home page Code Monkey logo

dnsproviders's Introduction

DNS providers for Caddy v1 (obsolete)

โš ๏ธ This repo is for Caddy v1, which has been obsoleted by Caddy 2.

Caddy 2 also supports the DNS challenge in a similar way to v1, but using backwards-incompatible APIs that are much more flexible and easier to use. This repository is no longer relevant or maintained.

Migrating to the new APIs is solely a community effort. It is very easy to implement a provider if you know Go!

Version 2 resources:

Old readme (for v1)

These providers can be used to help solve the ACME DNS challenge by plugging them into Caddy 0.9-1.x:

import _ "github.com/caddyserver/dnsproviders/<provider>"

You can then use this in your Caddyfile with the tls directive like so:

tls {
	dns <provider>
}

Credentials for your DNS provider should be set in environment variables. This information is in the Automatic HTTPS page of the Caddy documentation. For more information about using your DNS provider, see the docs for your provider directly.

If you specify a DNS provider, the DNS challenge will be used exclusively; other challenge types will be disabled. Be aware that some DNS providers may be slow in applying changes.

About these packages

Caddy 0.9 and newer supports solving the ACME DNS challenge. This challenge is unique because the server that is requesting a TLS certificate does not need to start a listener and be accessible from external networks. This quality is essential when behind load balancers or in other advanced networking scenarios.

The DNS challenge sets a DNS record and the ACME server verifies its correctness in order to issue the certificate. Caddy can do this for you automatically, but it needs credentials to your DNS provider to do so. Since every DNS provider is different, we have these adapters you can plug into Caddy in order to complete this challenge.

The underlying logic that actually solves the challenge is implemented in a different package not far away from here. Caddy uses go-acme/lego, a library originally written for use in Caddy, to solve ACME challenges. If you wish to add a new provider, see the documentation for that library and write your own provider implementation. Then writing the adapter for Caddy is very easy: just copy+paste any of these existing ones, replace the names and tweak a few things, and submit a pull request. Done!

dnsproviders's People

Contributors

abjugard avatar andrekr avatar carlwgeorge avatar colachg avatar displague avatar dobegor avatar dstdfx avatar efrenfuentes avatar frankpetrilli avatar fuku2014 avatar giuem avatar greaka avatar hairyhenderson avatar hasenbanck avatar jeffersongirao avatar kaz avatar knicknic avatar leonkyneur avatar lhemala avatar lukehandle avatar mdbraber avatar mholt avatar mukaiu avatar pmoroney avatar robertderose avatar rx14 avatar sbzlyessit avatar scoursen avatar titouanco avatar trecloux avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.