Note: This terraform-provider-instana project was originally maintained under the gessnerfl organization and is now officially maintained by IBM under the Instana organization since version v3.0.0.
This Terraform provider offers comprehensive support for managing Instana resources via the Instana REST API.
- Terraform Registry: instana/instana
- Changelog: CHANGELOG.md
Full documentation is available on the Terraform Registry page:
https://registry.terraform.io/providers/instana/instana/latest
A comprehensive reference setup example is available to help you get started with the Instana Terraform provider. This example demonstrates best practices for organizing and managing Instana monitoring resources using Terraform with a modular, multi-environment setup.
📁 Location: examples/reference-setup/
Features:
- Multi-environment setup (dev, staging, production)
- Reusable modules for all major Instana resources
- S3 backend configuration for state management
- Comprehensive documentation and usage examples
For detailed setup instructions and usage, see the Reference Setup README.
The following Terraform modules are available to simplify the deployment and management of Instana agents on AWS infrastructure:
| Module Name | Description | Terraform Registry | GitHub Repository |
|---|---|---|---|
| instana-ec2-agent | Terraform module for deploying Instana agents on AWS EC2 instances | View on Registry | View on GitHub |
| instana-ecs-agent | Terraform module for deploying Instana agents on AWS ECS clusters | View on Registry | View on GitHub |
If you are migrating from the deprecated gessnerfl/instana provider to the new official instana/instana provider, please refer to the detailed migration guide here:
-
Mocking:
Tests are colocated with the implementation packages.
We use gomock for mocking interfaces. Mocks are generated using source mode and placed in themockpackage. -
Generating Mocks:
You can generate mocks using the helper script from the root directory:generate-mock-for-file <source-file>
Alternatively you can manually execute
mockgenas followsmockgen -source=<source_file> -destination=mocks/<source_file_name>_mocks.go -package=mocks
- Follow Semantic Versioning to create a new tag.
- Update the changelog before releasing using github-changelog-generator.
- Push the tag to the remote repository to trigger the release process.