About us:
Labyrinth Labs is a one-stop-shop for DevOps, Cloud & Kubernetes! We specialize in creating powerful, scalable and cloud-native platforms tailored to elevate your business.
As a team of experienced DevOps engineers, we know how to help our customers start their journey in the cloud, address the issues they have in their current setups and provide a strategic solution to transform their infrastructure.
The LARA Utils provider offers a collection of utility functions that extend Terraform's built-in capabilities. Currently, it provides advanced deep merging functionality for complex data structures.
Warning
This provider is in active development and considered experimental. Features and APIs may change without notice. Use with caution.
terraform {
required_providers {
lara-utils = {
source = "lablabs/lara-utils"
}
}
}- deep_merge - Recursively merge nested maps and objects with various merge strategies
- yaml_deep_merge - Functionally same as
deep_mergebut for YAML encoded strings
Note
Terraform map deep merging functionality is taken from https://github.com/isometry/terraform-provider-deepmerge. If you are interested in this functionality particually, consider supporting original project.
See documentation on how to integrate provider into your project.
The provider is available on the Terraform Registry.
You can also download the provider binary from the GitHub releases page and install it manually.
If you wish to work on the provider, you'll first need Go installed on your machine (see Requirements above).
To compile the provider, run:
mise run buildAlternatively, you can install it to your $GOPATH/bin directory:
mise run installFor local development and testing, you can use the provider locally by creating a dev_overrides block in your ~/.terraformrc file:
provider_installation {
dev_overrides {
"lablabs/lara-utils" = "/path/to/your/provider/binary"
}
direct {}
}To generate or update documentation, run:
mise run generateTo run unit tests:
mise run testIn order to run the full suite of acceptance tests, run:
mise run testaccNote
Acceptance tests create real resources, and often cost money to run.
Before submitting a pull request, ensure your code passes all checks:
mise runWe welcome contributions! Please see our Contributing Guidelines for details.
If you find a bug or have a feature request, please open an issue on our GitHub repository.
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests for your changes
- Ensure all tests pass
- Submit a pull request
- Follow Go best practices and conventions
- Add tests for new functionality
- Update documentation as needed
- Use descriptive commit messages
If you encounter "provider not found" errors, ensure that:
- The provider is properly declared in your
required_providersblock - You've run
terraform initafter adding the provider - The version constraint allows for available versions
If the functions are not recognized:
- Verify you're using Terraform >= 1.8 (required for provider-defined functions)
- Ensure the provider is properly configured
- Check that you're using the correct function syntax:
provider::lara-utils::deep_merge()
- Check the documentation for detailed function reference
- Search existing issues
This provider is maintained by Labyrinth Labs.
This provider is distributed under the Mozilla Public License 2.0.
