enzonix

package module
v1.1.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 25, 2025 License: MIT Imports: 13 Imported by: 0

README

Enzonix DNS provider for Caddy

dns.providers.enzonix is a Caddy module that lets you solve ACME DNS challenges using the Enzonix DNS API. The module only requires an API key to operate.

Installation

Build Caddy with the Enzonix provider:

xcaddy build --with github.com/Enzonix-LLC/dns-caddy

Configuration

JSON
{
  "module": "acme",
  "challenges": {
    "dns": {
      "provider": {
        "name": "enzonix",
        "api_key": "{env.ENZONIX_API_KEY}"
      }
    }
  }
}
Caddyfile
tls {
	dns enzonix {env.ENZONIX_API_KEY}
}
Optional parameters
enzonix {
	api_key {env.ENZONIX_API_KEY}
	endpoint https://api.enzonix.com/v1/dns
	timeout 10s
}
  • api_key (required): API token issued by Enzonix.
  • endpoint (optional): Override the API base URL (useful for development or regional endpoints).
  • timeout (optional): HTTP client timeout; defaults to 10s.

Authentication

Supply your Enzonix API key via the api_key field or an environment variable placeholder ({env.ENZONIX_API_KEY}).

Development

  1. Install dependencies with go mod tidy.

  2. Run tests:

    go test ./...
    

License

MIT © Enzonix

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Provider

type Provider struct {
	APIKey      string         `json:"api_key,omitempty"`
	APIEndpoint string         `json:"api_endpoint,omitempty"`
	Timeout     caddy.Duration `json:"timeout,omitempty"`
	// contains filtered or unexported fields
}

Provider implements the libdns interfaces for Enzonix.

func (*Provider) AppendRecords

func (p *Provider) AppendRecords(ctx context.Context, zone string, recs []libdns.Record) ([]libdns.Record, error)

AppendRecords adds records to the zone.

func (*Provider) CaddyModule

func (*Provider) CaddyModule() caddy.ModuleInfo

CaddyModule returns the Caddy module information.

func (*Provider) DeleteRecords

func (p *Provider) DeleteRecords(ctx context.Context, zone string, recs []libdns.Record) ([]libdns.Record, error)

DeleteRecords removes records from the zone.

func (*Provider) GetRecords

func (p *Provider) GetRecords(ctx context.Context, zone string) ([]libdns.Record, error)

GetRecords retrieves records for the zone.

func (*Provider) Provision

func (p *Provider) Provision(ctx caddy.Context) error

Provision sets up the provider.

func (*Provider) SetRecords

func (p *Provider) SetRecords(ctx context.Context, zone string, recs []libdns.Record) ([]libdns.Record, error)

SetRecords replaces the existing zone records with the provided set.

func (*Provider) UnmarshalCaddyfile

func (p *Provider) UnmarshalCaddyfile(d *caddyfile.Dispenser) error

UnmarshalCaddyfile parses the Caddyfile tokens.

func (*Provider) Validate

func (p *Provider) Validate() error

Validate ensures the configuration is valid.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL