Для создания Terraform файлов на основе существующей инфраструктуры будем использовать Terraformer
В данном примере будет использоваться система macOS, так что terraformer устанавливаем с помощью homebrew:
brew install terraformer
Установку под другие ОС можно найти на странице проекта.
Создаем директорию под хранение плагинов (для работы с провайдерами)
mkdir -p ~/.terraform.d/plugins/darwin_amd64
Примеры генерации Terraform файлов
AWS
Находим самую актуальную версию darwin версию, скачиваем, распаковываем и перемещаем содержимое архива в созданную раннее директорию
https://releases.hashicorp.com/terraform-provider-aws/
Создадим Terraform файлы для всех S3 корзин и EC2 инстансов в регионе: us-east-1
terraformer import aws --resources=s3,ec2_instance --regions=us-east-1
Kubernetes
kubectl должен быть установлен и настроен
Находим самую актуальную версию darwin версию, скачиваем, распаковываем и перемещаем содержимое архива в созданную раннее директорию
https://releases.hashicorp.com/terraform-provider-kubernetes/
Создадим Terraform файлы для всех deployments, services и storageclasses
terraformer import kubernetes --resources=deployments,services,storageclasses
Списки поддерживаемых провайдеров и ресурсов более детальнее можно посмотреть тут.