Skip to content

Releases: EnterpriseDB/edb-terraform

v1.4.0

25 May 18:29
3040a23
Compare
Choose a tag to compare

Release v1.4.0

Features:

  • BigAnimal provider implemented in a module and setup alongside machines (Bryan Barajas @bryan-bar)
  • Allow user-supplied templates for generation/cleanup during the terraform lifecycle (Bryan Barajas @bryan-bar)

Improvements:

  • CLI separated into generate(default) and setup options (Bryan Barajas @bryan-bar)
  • Gcloud machine dependencies updated to allow added machines without existing instances being re-created (Bryan Barajas @bryan-bar)

Fixes:

  • resource tags updated across all providers (Bryan Barajas @bryan-bar)

Full Changelog: v1.3.0...v1.4.0

Release 1.3.0

27 Apr 19:58
bd873cd
Compare
Choose a tag to compare

Release v1.3.0

Features:

  • Azure postgres database on flexible server support (Bryan Barajas @bryan-bar)

Bug Fixes:

  • Azure linux machines ssh key decoding (Bryan Barajas @bryan-bar)
    • data "azurerm_ssh_public_key" no longer used as it can fail to decode the public key

Full Changelog: v1.2.2...v1.3.0

Release 1.2.2

22 Apr 03:21
1e1f204
Compare
Choose a tag to compare

Release v1.2.2

Bug Fixes

  • Fix: AWS tag should be Name so it is reflected as resource name on AWS UI (Bryan Barajas @bryan-bar)
  • Fix: allow public access of gcloud-sql (Bryan Barajas @bryan-bar)

Full Changelog: v1.2.1...v1.2.2

Release 1.2.1

29 Mar 02:06
fed0574
Compare
Choose a tag to compare

Release v1.2.1

Bug Fixes:

  • AWS: image owners type changed to type string since some owner ids start with 0. (Bryan Barajas @bryan-bar)

Full Changelog: v1.2.0...v1.2.1
v1.0.1: https://github.com/EnterpriseDB/edb-terraform/tree/v1_0
v1.1.3: https://github.com/EnterpriseDB/edb-terraform/tree/v1_1

Release 1.2.0

28 Mar 22:21
4cc6820
Compare
Choose a tag to compare

Release v1.2.0

Improvements:

  • AWS: Allow rules to be defined by traffic direction (Bryan Barajas @bryan-bar)
    • Each port rule can use type to define connection direction and defaults to ingress.
    • ingress_cidrs and egress_cidrs removed and replaced with cidrs
    • Machines create an egress port rule for outbound access if no egress port is defined in the spec.
    • Infrastructure examples updated

Full Changelog: v1.1.2...v1.2.0

Release 1.1.2

28 Mar 18:28
5ae374c
Compare
Choose a tag to compare

Release v1.1.2

Changes:

  • AWS: machines can now define ports to create custom security rules. (Bryan Barajas @bryan-bar)
  • AWS: skip_ssh_check removed and associated validation check. (Bryan Barajas @bryan-bar)
  • AWS: machines can use ssh_port to define a custom ssh port. (Bryan Barajas @bryan-bar)

Bug Fixes:

  • AWS: Use implicit dependencies with lifecycle to enforce resource execution order for machines. (Bryan Barajas @bryan-bar)
  • AWS: Handle duplicate security rules. (Bryan Barajas @bryan-bar)

Full Changelog: v1.1.1...v1.1.2

Release 1.1.1

21 Mar 17:44
0b53044
Compare
Choose a tag to compare

Release v1.1.1

Bug Fixes:

  • AWS: aurora and database security_group_ids fixed (Mark Wong @mw2q)
  • AWS: single security group created with shared rules to reduce hitting quotas. (Bryan Barajas @bryan-bar)
  • AWS: force re-create during terraform apply reduced for machine and aurora instances. (Bryan Barajas @bryan-bar)
  • CLoader dependency replaced with safe_load to avoid possible PyYAML import error. (Bryan Barajas @bryan-bar)

Full Changelog: v1.1.0...v1.1.1

Release 1.1.0

28 Feb 03:51
45bc090
Compare
Choose a tag to compare

Release v1.1.0

New Features

  • AWS EKS Provisioning (Doug Ortiz @dougortiz)
  • Support for count by expansion to create multiple machines of the same type (Bryan Barajas @bryan-bar)
    • expands as a mapping for for_each instead of using count directly
  • Callable by python interpreter, module, or package (Bryan Barajas @bryan-bar)

Improvements

  • Azure provider protocol name handling (Bryan Barajas @bryan-bar)
  • User-supplied SSH Keys including password protected and autogenerated with terraform otherwise (Bryan Barajas @bryan-bar)
  • Custom ingress/egress CIDR for ports (Bryan Barajas @bryan-bar)
  • Allow multiple images and ssh users (Bryan Barajas @bryan-bar)
    • operating_system depreciated and replaced by images
    • machines reference an image with image_name
  • Zones referenced by mapping name to allow for same zone reuse (Bryan Barajas @bryan-bar)
    • zones type map(string) depreciated and replaced by map(object({zone = string, cidr = string}))
    • resources reference a defined zone with zone_name
  • Terraform output updated for direct use (Bryan Barajas @bryan-bar)
  • additional_volumes added to each provider's machine outputs (Bryan Barajas @bryan-bar)
  • Add/remove machine resources without modifying or creating terraform files (Bryan Barajas @bryan-bar)
    • modify terraform.tfvars.json and terraform apply
  • README updated with SVG examples (Bryan Barajas @bryan-bar)

Bug Fixes

  • Volume script device name fallback (Bryan Barajas @bryan-bar)

Full Changelog: v1.0.0...v1.1.0

Release 1.0.0

20 Jan 18:15
e9f4504
Compare
Choose a tag to compare

Major Release

This marks the official release of this tool which generates terraform files with a user-supplied yaml file. The three providers focused for this release are Azure, Amazon, and Google.

Implementation Overview:
Where possible, provider specific implementations were hidden if they provide similar functionality. ex: Google uses labels, Azure and Amazon use tags

  1. Collection of minimal terraform modules for each provider which will run in terraform.
  • ex. Specification module filters all inputs and creates valid outputs to be used with all the modules. VPC module creates a simple VPC and creates an output for it. Machine module will require the VPC modules outputs or you can create your own resource manually and it will handle creating machines, additional volumes, and formatting the volumes.
  1. Jinja templates implement our collection of modules and augment terraform and HCL (HashiCorp Configuration Language) where needed to handle dynamic configurations until it can be done without jinja
  • ex: multi-region support race condition if two regions attempt to connect the same regions
  1. Python loads user-supplied yaml file and prepares data for use with jinja and terraform, then loads the templates from the chosen provider to generate the files.
  2. With the provider CLI setup as well as terraform >=1.3.6, the files can be moved around and run directly with terraform commands.

New Features

  • Amazon Support
    • EC2 - Elastic Compute Cloud (Julien Tachoires @jt-edb)
    • RDS - Relational Database Service (Julien Tachoires @jt-edb)
    • AuroraDB (Julien Tachoires @jt-edb)
  • Google Support
  • Azure Support
    • Virtual Machines (Bryan Barajas @bryan-bar)
    • AKS - Azure Kubernetes Service (Doug Ortiz @dougortiz)
  • Configuration Support