_______ _ _
|__ __| (_) | |
| | _ __ _ ___ ___ _ __ ___ __| |
| || '__|| | / __|/ _ \| '_ \ / _ \ / _` |
| || | | || (__| __/| |_) || __/| (_| |
|_||_| |_| \___|\___|| .__/ \___| \__,_|
| |
|_|
triceped is a command-line tool written in Go that converts Terraform configurations into Azure Bicep templates. Designed to simplify the migration process, triceped helps organizations transition from Terraform to Bicep for Azure infrastructure deployments with minimal effort.
By parsing Terraform's HCL code, triceped generates equivalent Bicep files, enabling you to leverage Azure's native Infrastructure as Code (IaC) language while preserving your existing infrastructure definitions.
- Simplify Migration: Provide an easy and automated path to convert existing Terraform configurations to Bicep templates.
- Maintain Accuracy: Ensure the generated Bicep code accurately reflects the original Terraform infrastructure.
- User-Friendly: Offer a straightforward CLI that integrates seamlessly into your workflow.
- Extensible: Allow for customization to support various Terraform and Bicep features.
- Replace Terraform: triceped is not intended to replace Terraform but to assist in migration efforts.
- Full HCL Parsing: Complete support for all HCL features is not guaranteed, especially for non-Azure providers.
- Provider-Agnostic Conversion: Focus is on Azure resources; other cloud providers are out of scope.
To start using triceped:
- Install triceped: Download the latest release from the releases page.
- Convert Your Configuration: Run
triceped convert main.tf
to generate the equivalentmain.bicep
file. - Review and Deploy: Examine the generated Bicep code and deploy using Azure CLI or PowerShell.
triceped reads your Terraform .tf
files and translates the resources, variables, and modules into Bicep syntax. It maps Terraform resource blocks to Bicep resource declarations, handling properties and dependencies accordingly.
Example Conversion Command:
triceped -i main.tf -o main.bicep
This command converts main.tf
into main.bicep
, ready for deployment.
- Incomplete HCL Support: Some advanced HCL features may not be supported.
- Custom Modules: Manual intervention might be required for complex or custom modules.
- State Management: triceped does not handle Terraform state files; Bicep manages state differently.
Why should I use triceped?
If you're migrating to Azure Bicep for its native support and features, triceped automates the conversion of your existing Terraform configurations, saving time and reducing errors.
Is triceped production-ready?
Triceped is currently in beta. While we strive for reliability, we recommend thorough testing before using it in production environments.
Does triceped support all Terraform features?
Triceped focuses on core features relevant to Azure resources. Some Terraform-specific functionalities may not have direct equivalents in Bicep.
How can I contribute?
We welcome contributions! Please see our Contributing Guidelines for details.
- Issues: Report bugs or request features on our GitHub Issues page.
- Discussions: Join the conversation on GitHub Discussions for questions and community support.
This project is licensed under the MIT License.
We appreciate your interest in contributing! Please read our Contributing Guidelines to get started.