Skip to content

5-stones/terraform-provider-bunny

 
 

Repository files navigation

Bunny.Net Terraform Provider

terraformregistry

This repository provides a Terraform provider for the Bunny.net CDN platform.
It supports to manage Pull and Storage Zones.

Development

Using the Local Provider with Terraform

  1. Build and install the provider binary via:

    make install
  2. Use the Development Overrides for Provider Developers feature to enforce using the local terraform-provider-bunny binary.
    Run:

    make gen-dev-tftrc

    to generate a terraform config with dev_overrides statement, referencing the directory make install installed the binary to.

  3. Instruct Terraform to use the new config file instead of the default one by setting the TF_CLI_CONFIG_FILE to the path of the generated bunny-dev.tftrc file. For example:

    export TF_CLI_CONFIG_FILE="/home/fho/tf-provider-bunny-dev.tftrc"

Running Integration Tests

To run the integration tests a bunny.net account is needed. The integration tests will create, modify and delete real resources. Therefore a bunny.net account should be used that does not manage resources used in production.

To run the integration tests set the BUNNY_API_KEY to your bunny.net API key:

export BUNNY_API_KEY=MY-TOKEN

Then run:

make testacc

Sweeper

To cleanup resources that might have been left over by running tests, run:

make sweep

Generating Documentation

make docs

Creating a Release

  1. Ensure the entry for the version in CHANGELOG.md is uptodate.
    (Keep the (Unreleased) marker.)

  2. Run:

    scripts/create-release.sh VERSION

    To finalize the CHANGELOG.md file, create a signed git tag, build the release binaries create a GitHub draft release with the binaries.

  3. Publish the draft release on github.

Missing Features

  • unsupported Pull Zone features:
    • burst_size
    • dns_record_id
    • dns_zone_id
    • enable_cookie_vary
    • enable_query_string_ordering
    • limit_rate_after
    • limit_rate_per_second
    • origin_shield_enable_concurrent_limit
    • origin_shield_max_concurrent_requests
    • origin_shield_max_queued_requests
    • origin_shield_queue_max_wait_time
    • use_stale_while_offline
    • use_stale_while_updating
    • limits block:
      • limit_rate_per_second
      • limit_rate_after
      • burst_size
  • Pull Zone fields with missing write support:
    • blocked_referrers
    • all enable_geo_zone_* fields

Status

The provider is under initial development and should be considered as unstable.
Breaking API changes can happen anytime.

About

bunny.net CDN Terraform Provider

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 96.9%
  • Shell 2.2%
  • Makefile 0.9%