gardener / gardener-extension-provider-azure

Gardener extension controller for the Azure cloud provider (https://azure.microsoft.com).

Home Page:https://gardener.cloud

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Terraform removal for infrastructure controller

dkistner opened this issue · comments

How to categorize this issue?
/kind technical-debt
/priority 2
/platform azure

What would you like to be added:
Project Gardener is using Terraform since beginning to create, manage and delete the underlying infrastructure for Shoot clusters (e.g. VPCs, subnets, nat gateways etc.).

As Terraform was great in the beginning to get started, we today experience more and more issues with it.
For example:

  • Less control over the Infrastructure creation and deletion process
  • Therefore inflexibility to create infrastructure remedies if they are required (depend on upstream Terraform fixes)
  • Inability to import resources in the Terraform state in the Gardener context (Terraformer does not support this)
  • Terraform provider version incompatibilities
  • State lost issues

Therefore we wanted to start dismantling the Terraform usage in this extension and start to adopt provider specific Go SDKs as replacement.

Ideally all Terraform managed resources should be already tracked in the status section of the Infrastructure resource.
In case there are resources not tracked in the status then it need to be populated first before the Go SDK clients can take over.

This issue is meant to track progress of the Terraform removal on this extension.

Why is this needed:
See above.

/roadmap cloud