Releases: EnterpriseDB/edb-terraform
v1.4.0
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) andsetup
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
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
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
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
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 toingress
. ingress_cidrs
andegress_cidrs
removed and replaced withcidrs
- Machines create an egress port rule for outbound access if no
egress
port is defined in the spec. - Infrastructure examples updated
- Each port rule can use
Full Changelog: v1.1.2...v1.2.0
Release 1.1.2
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
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 withsafe_load
to avoid possiblePyYAML
import error. (Bryan Barajas @bryan-bar)
Full Changelog: v1.1.0...v1.1.1
Release 1.1.0
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 usingcount
directly
- expands as a mapping for
- 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 byimages
- 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 bymap(object({zone = string, cidr = string}))
- resources reference a defined zone with
zone_name
- zones type
- 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
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
- 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.
- 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
- 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.
- 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
- Google Support
- Compute Engine (Bryan Barajas @bryan-bar)
- CloudSQL (Bryan Barajas @bryan-bar)
- AlloyDB - Beta (Bryan Barajas @bryan-bar)
- GKE - Google Kubernetes Engine (Doug Ortiz @dougortiz)
- Azure Support
- Virtual Machines (Bryan Barajas @bryan-bar)
- AKS - Azure Kubernetes Service (Doug Ortiz @dougortiz)
- Configuration Support
- User supplied infrastructure YAML file (Julien Tachoires @jt-edb)
- Cross-Region connections (Julien Tachoires @jt-edb) (Bryan Barajas @bryan-bar)
- Project level and resource level
tags
(Bryan Barajas @bryan-bar) - Basic Specification/Validation layer per provider (Bryan Barajas @bryan-bar)