Skip to content

Commit

Permalink
Merge pull request #1 from terraform-do-modules/internal-431
Browse files Browse the repository at this point in the history
fix: add resources and update github action
  • Loading branch information
d4kverma committed Aug 1, 2023
2 parents f77d664 + 7cf2829 commit f00810e
Show file tree
Hide file tree
Showing 29 changed files with 567 additions and 74 deletions.
2 changes: 1 addition & 1 deletion .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# These owners will be the default owners for everything in the repo.
* @anmolnagpal @clouddrove/approvers @clouddrove-ci
@terraform-do-modules/approvers @clouddrove-ci @anmolnagpal
49 changes: 37 additions & 12 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,52 +5,77 @@

version: 2
updates:

- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
interval: "weekly"
open-pull-requests-limit: 3
assignees:
- "clouddrove-ci"
- "clouddrove-ci"
reviewers:
- "approvers"
- "approvers"

- package-ecosystem: "terraform" # See documentation for possible values
directory: "/" # Location of package manifests
schedule:
interval: "weekly"
# Add assignees
assignees:
- "clouddrove-ci"
- "clouddrove-ci"
# Add reviewer
reviewers:
- "approvers"
# Allow up to 3 open pull requests for pip dependencies
open-pull-requests-limit: 3

- package-ecosystem: "terraform" # See documentation for possible values
directory: "/_examples/resource-alert" # Location of package manifests
schedule:
interval: "weekly"
# Add assignees
assignees:
- "clouddrove-ci"
# Add reviewer
reviewers:
- "approvers"
# Allow up to 3 open pull requests for pip dependencies
open-pull-requests-limit: 3

- package-ecosystem: "terraform" # See documentation for possible values
directory: "/_examples/uptime-alert" # Location of package manifests
schedule:
interval: "weekly"
# Add assignees
assignees:
- "clouddrove-ci"
# Add reviewer
reviewers:
- "approvers"
- "approvers"
# Allow up to 3 open pull requests for pip dependencies
open-pull-requests-limit: 3

- package-ecosystem: "terraform" # See documentation for possible values
directory: "/_example/basic" # Location of package manifests
directory: "/_examples/basic" # Location of package manifests
schedule:
interval: "weekly"
# Add assignees
assignees:
- "clouddrove-ci"
- "clouddrove-ci"
# Add reviewer
reviewers:
- "approvers"
- "approvers"
# Allow up to 3 open pull requests for pip dependencies
open-pull-requests-limit: 3

- package-ecosystem: "terraform" # See documentation for possible values
directory: "/_example/complete" # Location of package manifests
directory: "/_examples/complete" # Location of package manifests
schedule:
interval: "weekly"
# Add assignees
assignees:
- "clouddrove-ci"
- "clouddrove-ci"
# Add reviewer
reviewers:
- "approvers"
- "approvers"
# Allow up to 3 open pull requests for pip dependencies
open-pull-requests-limit: 3
3 changes: 1 addition & 2 deletions .github/workflows/auto_assignee.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,11 @@ name: Auto Assign PRs
on:
pull_request:
types: [opened, reopened]

workflow_dispatch:
jobs:
assign-pr:
uses: clouddrove/github-shared-workflows/.github/workflows/auto_assignee.yml@master
secrets:
GITHUB: ${{ secrets.GITHUB }}
with:
assignees: 'clouddrove-ci'
assignees: 'clouddrove-ci'
3 changes: 2 additions & 1 deletion .github/workflows/changelog.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ on:
jobs:
call-workflow-changelog:
uses: clouddrove/github-shared-workflows/.github/workflows/changelog.yml@master
secrets: inherit
secrets:
GITHUB: ${{ secrets.GITHUB }}
with:
branch: 'master'
1 change: 0 additions & 1 deletion .github/workflows/readme.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}


- name: 'pre-commit check errors'
uses: pre-commit/action@v3.0.0
continue-on-error: true
Expand Down
12 changes: 10 additions & 2 deletions .github/workflows/tf-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,19 @@ on:
pull_request:
workflow_dispatch:
jobs:
tf-checks-complete-example:
tf-checks-resource-alerts-example:
uses: clouddrove/github-shared-workflows/.github/workflows/tf-checks.yml@master
with:
working_directory: './_examples/complete/'
working_directory: './_examples/resource-alerts/'
tf-checks-uptime-alerts-example:
uses: clouddrove/github-shared-workflows/.github/workflows/tf-checks.yml@master
with:
working_directory: './_examples/uptime-alerts/'
tf-checks-basic-example:
uses: clouddrove/github-shared-workflows/.github/workflows/tf-checks.yml@master
with:
working_directory: './_examples/basic/'
tf-checks-complete-example:
uses: clouddrove/github-shared-workflows/.github/workflows/tf-checks.yml@master
with:
working_directory: './_examples/complete/'
4 changes: 2 additions & 2 deletions .github/workflows/tflint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,6 @@ on:
workflow_dispatch:
jobs:
tf-lint:
uses: clouddrove/test-tfsec/.github/workflows/tflint.yaml@master
uses: clouddrove/github-shared-workflows/.github/workflows/tf-lint.yml@master
secrets:
GITHUB: ${{ secrets.GITHUB }}
GITHUB: ${{ secrets.GITHUB }}
3 changes: 2 additions & 1 deletion .github/workflows/tfsec.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ on:
jobs:
tfsec:
uses: clouddrove/github-shared-workflows/.github/workflows/tfsec.yml@master
secrets: inherit
secrets:
GITHUB: ${{ secrets.GITHUB }}
with:
working_directory: '.'
133 changes: 122 additions & 11 deletions README.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,36 +5,147 @@
#

# Name of this project
name : Terraform Module Template
name : Terraform DigitalOcean Monitoring

# License of this project
license: "APACHE"

# Canonical GitHub repo
github_repo: clouddrove/terraform-module-template
github_repo: terraform-do-modules/terraform-digitalocean-monitoring

# Badges to display
badges:
- name: "Latest Release"
image: "https://img.shields.io/github/release/clouddrove/terraform-module-template.svg"
url: "https://github.com/clouddrove/terraform-module-template/releases/latest"
image: "https://img.shields.io/github/release/terraform-do-modules/terraform-digitalocean-monitoring.svg"
url: "https://github.com/terraform-do-modules/terraform-digitalocean-monitoring/releases/latest"
- name: "tfsec"
image: "https://github.com/clouddrove/terraform-module-template/actions/workflows/tfsec.yml/badge.svg"
url: ""
image: "https://github.com/terraform-do-modules/terraform-digitalocean-monitoring/actions/workflows/tfsec.yml/badge.svg"
url: "https://github.com/terraform-do-modules/terraform-digitalocean-monitoring/actions/workflows/tfsec.yml"
- name: "Licence"
image: "https://img.shields.io/badge/License-APACHE-blue.svg"
url: "LICENSE.md"

prerequesties:
- name: Terraform 1.5.4
url: https://learn.hashicorp.com/terraform/getting-started/install.html

# description of this project
description: |-
Terraform module template to create new modules using this as baseline
Terraform module to create Digitalocean monitoring service resource on Digitalocean.
# extra content
include:
- "terraform.md"

# How to use this project
# How to use this project
usage: |-
Here are some examples of how you can use this module in your inventory structure:
usage : |-
Here are examples of how you can use this module in your inventory structure:
### basic example
```hcl
module "uptime-alert" {
source = "terraform-do-modules/monitoring/digitalocean"
version = "1.0.0"
name = "app"
environment = "test"
target_url = ["http://test.do.clouddrove.ca/"]
type = ["http"]
alert_type = ["down_global"]
period = ["2m"]
comparison = ["less_than"]
####
notifications = [
{
email = ["example@gmail.com"]
slack = [
{
channel = "testing"
url = "https://hooks.slack.com/services/TEXXXXXXXXxxxxYTGH8DNkjgggyKipj"
}
]
}
]
}
```
### complete example
```hcl
module "uptime-alert" {
source = "terraform-do-modules/monitoring/digitalocean"
version = "1.0.0"
name = "app"
environment = "test"
target_url = ["http://test.do.clouddrove.ca/", "https://test2.do.clouddrove.ca/"]
type = ["http", "https"]
alert_type = ["down_global"]
period = ["2m", "3m"]
comparison = ["less_than"]
####
notifications = [
{
email = ["example@gmail.com"]
slack = [
{
channel = "testing"
url = "https://hooks.slack.com/services/TEXXXXXXXXxxxxYTGH8DNkjgggyKipj"
}
]
}
]
}
```
### resource alert
```hcl
module "resource-alert" {
source = "terraform-do-modules/monitoring/digitalocean"
version = "1.0.0"
name = "app"
environment = "test"
resource_alerts = {
"alert1" = {
alerts = [
{
email = ["example@gmail.com"]
slack = [
{
channel = "testing"
url = "https://hooks.slack.com/services/TEXXXXXXXXxxxxYTGH8DNkjgggyKipj"
}
]
}
]
window = "5m"
type = "v1/insights/droplet/cpu"
compare = "GreaterThan"
value = 95
enabled = true
entities = [module.droplet.id[0]]
description = "Alert about CPU usage"
tags = ["test"]
},
}
}
```
### uptime alert
```hcl
```
module "uptime-alert" {
source = "terraform-do-modules/monitoring/digitalocean"
version = "1.0.0"
name = "app"
environment = "test"
target_url = ["http://test.do.clouddrove.ca/", "https://test2.do.clouddrove.ca/"]
type = ["http", "https"]
alert_type = ["down_global"]
period = ["2m", "3m"]
comparison = ["less_than"]
####
notifications = [
{
email = ["example@gmail.com"]
slack = [
{
channel = "testing"
url = "https://hooks.slack.com/services/TEXXXXXXXXxxxxYTGH8DNkjgggyKipj"
}
]
}
]
}
```
3 changes: 0 additions & 3 deletions _examples/basic/README.md

This file was deleted.

31 changes: 27 additions & 4 deletions _examples/basic/main.tf
Original file line number Diff line number Diff line change
@@ -1,4 +1,27 @@
# ------------------------------------------------------------------------------
# Resources
# ------------------------------------------------------------------------------
locals {}
provider "digitalocean" {}

##------------------------------------------------
## alert module call.
##------------------------------------------------
module "uptime-alert" {
source = "./../.."
name = "app"
environment = "test"
target_url = ["http://test.do.clouddrove.ca/"]
type = ["http"]
alert_type = ["down_global"]
period = ["2m"]
comparison = ["less_than"]
####
notifications = [
{
email = ["example@gmail.com"]
slack = [
{
channel = "testing"
url = "https://hooks.slack.com/services/TEXXXXXXXXxxxxYTGH8DNkjgggyKipj"
}
]
}
]
}
3 changes: 3 additions & 0 deletions _examples/basic/outputs.tf
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# ------------------------------------------------------------------------------
# Outputs
# ------------------------------------------------------------------------------
output "id" {
value = module.uptime-alert
}
3 changes: 0 additions & 3 deletions _examples/basic/variables.tf

This file was deleted.

10 changes: 10 additions & 0 deletions _examples/basic/versions.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Terraform version
terraform {
required_version = ">= 1.5.4"
required_providers {
digitalocean = {
source = "digitalocean/digitalocean"
version = ">= 2.29.0"
}
}
}
3 changes: 0 additions & 3 deletions _examples/complete/README.md

This file was deleted.

Loading

0 comments on commit f00810e

Please sign in to comment.