With our comprehensive DevOps toolkit - streamline operations, automate workflows, enhance collaboration and, most importantly, deploy with confidence.
We are a group of DevOps engineers & architects, joining hands in this ever evolving digital landscape. With our strong belief in Automation; just like microservices, always on the lookout to split the the infrastructure into smaller connected resources (database, cluster and more) which could be standardized, are manageable, scalable, secure & follow industry best practices.
This module includes Terraform open source, examples, and automation tests (for better understanding), which would help you create and improve your infrastructure with minimalistic coding.
This table contains both Prerequisites and Providers:
| Description | Name | Version |
|---|---|---|
| Prerequisite | Terraform | >= 1.6.6 |
| Provider | aws | >= 5.31.0 |
π For additional usage examples, check the complete list under examples/ directory.
Here are some examples of how you can use this module in your inventory structure:
module "target-canary" {
source = "git::https://github.com/binbashar/terraform-aws-cloudwatch-synthetics.git?ref=FEATURE/improving-module"
name_prefix = "canary"
environment = "test"
schedule_expression = "rate(5 minutes)"
s3_artifact_bucket = "my-test-artifact-bucket" # must pre-exist
alarm_email = null # an email or null value
endpoints = { "target-group" = { url = "http://www.binbash.co/" } }
managedby = "[email protected]"
repository = "https://github.com/binbashar/terraform-aws-cloudwatch-synthetics"
# what networks it has to work in?
subnet_ids = data.terraform_remote_state.local-vpcs.outputs.private_subnets
security_group_ids = [aws_security_group.target-canary-sg.id]
tags = local.tags
depends_on = [module.target_canary_s3_bucket, aws_security_group.target-canary-sg]
}Note it is using FEATURE/improving-module branch while in development.
| Name | Description | Type | Default | Required |
|---|---|---|---|---|
| alarm_email | Email address to send alarms to | string |
n/a | yes |
| create_topic | Whether or not create the topic, topic_name_suffix required if false |
bool |
true |
yes |
| endpoints | n/a | map(object({ |
n/a | yes |
| environment | Environment (e.g. prod, dev, staging). |
string |
"" |
no |
| existent_topic_arn | If create_topic is false this is required and is the arn of an already existent topic |
string |
n/a | no |
| label_order | Label order, e.g. name,application. |
list(any) |
[] |
no |
| managedby | ManagedBy, eg 'CloudDrove'. | string |
"[email protected]" |
no |
| name | Name (e.g. app or cluster). |
string |
"" |
no |
| repository | Terraform current module repo | string |
"https://github.com/binbashar/terraform-aws-cloudwatch-synthetics" |
no |
| runtime_version | Runtime version for the lambda. | string |
syn-nodejs-puppeteer-6.2 |
no |
| s3_artifact_bucket | Location in Amazon S3 where Synthetics stores artifacts from the test runs of this canary | string |
n/a | yes |
| schedule_expression | Expression defining how often the canary runs | string |
n/a | yes |
| security_group_ids | IDs of the security groups for this canary | list(string) |
null |
no |
| subnet_ids | IDs of the subnets where this canary is to run | list(string) |
null |
no |
| topic_name_suffix | Topic name suffix, will be prepended with name_prefix | string |
n/a | yes |
| tags | The json object with tags to be added to resources | map(string) |
n/a | yes |
| Name | Description |
|---|---|
| topic_arn | The ARN for the alarm topic (whether it is created or already existent, see create_topic input) |
Spot a bug or have thoughts to share with us? Let's squash it together! Log it in our issue tracker, feel free to drop us an email at [email protected].
Show some love with a β on our GitHub! if our work has brightened your day! β your feedback fuels our journey!
We have 100+ Terraform modules π. You could consider them finished, but, with enthusiasts like yourself, we are able to ever improve them, so we call our status - improvement in progress.
-
Terraform Module Registry: Discover our Terraform modules here.
-
Terraform Modules for AWS/Azure Modules: Explore our comprehensive Table of Contents for easy navigation through our documentation for modules pertaining to AWS, Azure & GCP.
-
Terraform Modules for Digital Ocean: Check out our specialized Terraform modules for Digital Ocean.
Join our vibrant open-source slack community and embark on an ever-evolving journey with CloudDrove; helping you in moving upwards in your career path. Join our vibrant Open Source Slack Community and embark on a learning journey with CloudDrove. Grow with us in the world of DevOps and set your career on a path of consistency.
ππ¬What you'll get after joining this Slack community:
- π Encouragement to upgrade your best version.
- π Learning companionship with our DevOps squad.
- π± Relentless growth with daily updates on new advancements in technologies.
Join our tech elites Join Now π
Click here π π
We provide a platform for organizations to engage with experienced top-tier DevOps & Cloud services. Tap into our pool of certified engineers and architects to elevate your DevOps and Cloud Solutions.
At CloudDrove, has extensive experience in designing, building & migrating environments, securing, consulting, monitoring, optimizing, automating, and maintaining complex and large modern systems. With remarkable client footprints in American & European corridors, our certified architects & engineers are ready to serve you as per your requirements & schedule. Write to us at [email protected].
We are The Cloud Experts!
We β€οΈ Open Source and you can check out our other modules to get help with your new Cloud ideas.
