@hiiretail/gcp-infra-cli 0.82.3 → 0.83.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/generators/init/clan-infra/index.js +18 -0
- package/generators/init/clan-infra/templates/infra/common.hcl +3 -0
- package/generators/resources/cloud-storage/templates/cloud-storage/storage.yaml +13 -13
- package/generators/resources/cloud-storage/templates/cloud-storage/terragrunt.hcl +5 -1
- package/generators/resources/cloudsql/templates/mssql/instance/terragrunt.hcl +5 -1
- package/generators/resources/cloudsql/templates/mssql/instance-secrets/terragrunt.hcl +6 -2
- package/generators/resources/cloudsql/templates/mysql/instance/terragrunt.hcl +5 -1
- package/generators/resources/cloudsql/templates/mysql/instance-secrets/terragrunt.hcl +6 -2
- package/generators/resources/cloudsql/templates/postgres/instance/terragrunt.hcl +5 -1
- package/generators/resources/cloudsql/templates/postgres/instance-secrets/terragrunt.hcl +6 -2
- package/generators/resources/kms/templates/kms/terragrunt.hcl +5 -1
- package/generators/resources/memorystore/templates/redis-instance/terragrunt.hcl +6 -2
- package/generators/resources/memorystore/templates/secrets/terragrunt.hcl +5 -1
- package/generators/resources/monitoring/templates/alerts/terragrunt.hcl +11 -7
- package/generators/resources/monitoring/templates/uptime-checks/terragrunt.hcl +12 -8
- package/generators/resources/pubsub/templates/pubsub/terragrunt.hcl +10 -2
- package/generators/resources/pubsub/templates/pubsub-dlq/terragrunt.hcl +10 -2
- package/generators/resources/spanner/templates/spanner/terragrunt.hcl +6 -2
- package/package.json +1 -1
|
@@ -37,6 +37,24 @@ module.exports = class extends BaseGenerator {
|
|
|
37
37
|
message: 'Provide the cost center your tribe belongs to',
|
|
38
38
|
validate: required,
|
|
39
39
|
},
|
|
40
|
+
{
|
|
41
|
+
type: 'input',
|
|
42
|
+
name: 'product',
|
|
43
|
+
message: 'Provide the product your resources belongs to. Can be modified for a specific resource later on',
|
|
44
|
+
validate: required,
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
type: 'input',
|
|
48
|
+
name: 'component',
|
|
49
|
+
message: 'Provide the component your resources belongs to. Can be modified for a specific resource later on',
|
|
50
|
+
validate: required,
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
type: 'input',
|
|
54
|
+
name: 'tenantAlias',
|
|
55
|
+
message: 'Provide the tenant alias for the resources or use \'multi-tenant\'. Can be modified for a specific resource later on.',
|
|
56
|
+
validate: required,
|
|
57
|
+
},
|
|
40
58
|
{
|
|
41
59
|
type: 'input',
|
|
42
60
|
name: 'jiraProjectKey',
|
|
@@ -8,16 +8,16 @@ versioning:
|
|
|
8
8
|
"<%-bucketName%>": <%-versioning%>
|
|
9
9
|
set_viewer_roles: true <% if (lifecycleRules == 'true') { %>
|
|
10
10
|
lifecycle_rules:
|
|
11
|
-
action:
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
11
|
+
- action:
|
|
12
|
+
type: "<%-action%>" <% if (action == 'SetStorageClass') { %>
|
|
13
|
+
storage_class: "<%-storageClass%>" <% } else { %>
|
|
14
|
+
storage_class: null <% } %>
|
|
15
|
+
condition:
|
|
16
|
+
age: <%-age%> <% if (createdBefore != 'null') { %>
|
|
17
|
+
created_before: "<%-createdBefore%>" <% } else { %>
|
|
18
|
+
created_before: null <% } %> <% if (withState != 'null') { %>
|
|
19
|
+
with_state: "<%-withState%>" <% } else { %>
|
|
20
|
+
with_state: null <% } %> <% if (matchesStorageClass != 'null') { %>
|
|
21
|
+
matches_storage_class: "<%-matchesStorageClass%>" <% } else { %>
|
|
22
|
+
matches_storage_class: null <% } %>
|
|
23
|
+
num_newer_versions: <%-numNewerVersions%> <% } %>
|
|
@@ -23,7 +23,11 @@ inputs = merge(
|
|
|
23
23
|
# IAM-style members who will be granted roles/storage.objectViewer on all buckets.
|
|
24
24
|
viewers = ["group:${local.common_vars.locals.clan_group_email}"]
|
|
25
25
|
labels = {
|
|
26
|
-
cc
|
|
26
|
+
cc = local.common_vars.locals.cost_center
|
|
27
|
+
component = local.common_vars.locals.component
|
|
28
|
+
product = local.common_vars.locals.product
|
|
29
|
+
tenant-alias = local.common_vars.locals.tenant_alias
|
|
30
|
+
environment = local.project_vars.locals.project_env
|
|
27
31
|
}
|
|
28
32
|
}
|
|
29
33
|
)
|
|
@@ -29,7 +29,11 @@ inputs = merge(
|
|
|
29
29
|
## Uncomment and apply it before destroy in case of necessary to delete the instance
|
|
30
30
|
# deletion_protection = false
|
|
31
31
|
user_labels = {
|
|
32
|
-
cc
|
|
32
|
+
cc = local.common_vars.locals.cost_center
|
|
33
|
+
component = local.common_vars.locals.component
|
|
34
|
+
product = local.common_vars.locals.product
|
|
35
|
+
tenant-alias = local.common_vars.locals.tenant_alias
|
|
36
|
+
environment = local.project_vars.locals.project_env
|
|
33
37
|
}
|
|
34
38
|
}
|
|
35
39
|
)
|
|
@@ -30,8 +30,12 @@ inputs = merge(
|
|
|
30
30
|
mssql-common-address = dependency.mssql_address.outputs.private_address
|
|
31
31
|
}
|
|
32
32
|
labels = {
|
|
33
|
-
terraform
|
|
34
|
-
cc
|
|
33
|
+
terraform = ""
|
|
34
|
+
cc = local.common_vars.locals.cost_center
|
|
35
|
+
component = local.common_vars.locals.component
|
|
36
|
+
product = local.common_vars.locals.product
|
|
37
|
+
tenant-alias = local.common_vars.locals.tenant_alias
|
|
38
|
+
environment = local.project_vars.locals.project_env
|
|
35
39
|
}
|
|
36
40
|
}
|
|
37
41
|
)
|
|
@@ -30,7 +30,11 @@ inputs = merge(
|
|
|
30
30
|
## Uncomment and apply it before destroy in case of necessary to delete the instance
|
|
31
31
|
# deletion_protection = false
|
|
32
32
|
user_labels = {
|
|
33
|
-
cc
|
|
33
|
+
cc = local.common_vars.locals.cost_center
|
|
34
|
+
component = local.common_vars.locals.component
|
|
35
|
+
product = local.common_vars.locals.product
|
|
36
|
+
tenant-alias = local.common_vars.locals.tenant_alias
|
|
37
|
+
environment = local.project_vars.locals.project_env
|
|
34
38
|
}
|
|
35
39
|
}
|
|
36
40
|
)
|
|
@@ -30,8 +30,12 @@ inputs = merge(
|
|
|
30
30
|
mysql_private_address = dependency.instance.outputs.private_ip_address
|
|
31
31
|
}
|
|
32
32
|
labels = {
|
|
33
|
-
terraform
|
|
34
|
-
cc
|
|
33
|
+
terraform = ""
|
|
34
|
+
cc = local.common_vars.locals.cost_center
|
|
35
|
+
component = local.common_vars.locals.component
|
|
36
|
+
product = local.common_vars.locals.product
|
|
37
|
+
tenant-alias = local.common_vars.locals.tenant_alias
|
|
38
|
+
environment = local.project_vars.locals.project_env
|
|
35
39
|
}
|
|
36
40
|
}
|
|
37
41
|
)
|
|
@@ -29,7 +29,11 @@ inputs = merge(
|
|
|
29
29
|
## Uncomment and apply it before destroy in case of necessary to delete the instance
|
|
30
30
|
# deletion_protection = false
|
|
31
31
|
user_labels = {
|
|
32
|
-
cc
|
|
32
|
+
cc = local.common_vars.locals.cost_center
|
|
33
|
+
component = local.common_vars.locals.component
|
|
34
|
+
product = local.common_vars.locals.product
|
|
35
|
+
tenant-alias = local.common_vars.locals.tenant_alias
|
|
36
|
+
environment = local.project_vars.locals.project_env
|
|
33
37
|
}
|
|
34
38
|
}
|
|
35
39
|
)
|
|
@@ -30,8 +30,12 @@ inputs = merge(
|
|
|
30
30
|
postgresql_private_address = dependency.instance.outputs.private_ip_address
|
|
31
31
|
}
|
|
32
32
|
labels = {
|
|
33
|
-
terraform
|
|
34
|
-
cc
|
|
33
|
+
terraform = ""
|
|
34
|
+
cc = local.common_vars.locals.cost_center
|
|
35
|
+
component = local.common_vars.locals.component
|
|
36
|
+
product = local.common_vars.locals.product
|
|
37
|
+
tenant-alias = local.common_vars.locals.tenant_alias
|
|
38
|
+
environment = local.project_vars.locals.project_env
|
|
35
39
|
}
|
|
36
40
|
}
|
|
37
41
|
)
|
|
@@ -21,7 +21,11 @@ inputs = merge(
|
|
|
21
21
|
local.project_vars.locals,
|
|
22
22
|
{
|
|
23
23
|
labels = {
|
|
24
|
-
cc
|
|
24
|
+
cc = local.common_vars.locals.cost_center
|
|
25
|
+
component = local.common_vars.locals.component
|
|
26
|
+
product = local.common_vars.locals.product
|
|
27
|
+
tenant-alias = local.common_vars.locals.tenant_alias
|
|
28
|
+
environment = local.project_vars.locals.project_env
|
|
25
29
|
}
|
|
26
30
|
project_id = local.project_vars.locals.project_id
|
|
27
31
|
prevent_destroy = false
|
|
@@ -26,8 +26,12 @@ inputs = merge(
|
|
|
26
26
|
enable_apis = false
|
|
27
27
|
|
|
28
28
|
labels = {
|
|
29
|
-
project
|
|
30
|
-
cc
|
|
29
|
+
project = local.project_vars.locals.project_name
|
|
30
|
+
cc = local.common_vars.locals.cost_center
|
|
31
|
+
component = local.common_vars.locals.component
|
|
32
|
+
product = local.common_vars.locals.product
|
|
33
|
+
tenant-alias = local.common_vars.locals.tenant_alias
|
|
34
|
+
environment = local.project_vars.locals.project_env
|
|
31
35
|
}
|
|
32
36
|
}
|
|
33
37
|
)
|
|
@@ -25,7 +25,11 @@ inputs = merge(
|
|
|
25
25
|
}
|
|
26
26
|
labels = {
|
|
27
27
|
terraform = ""
|
|
28
|
-
cc
|
|
28
|
+
cc = local.common_vars.locals.cost_center
|
|
29
|
+
component = local.common_vars.locals.component
|
|
30
|
+
product = local.common_vars.locals.product
|
|
31
|
+
tenant-alias = local.common_vars.locals.tenant_alias
|
|
32
|
+
environment = local.project_vars.locals.project_env
|
|
29
33
|
}
|
|
30
34
|
}
|
|
31
35
|
)
|
|
@@ -23,12 +23,16 @@ locals {
|
|
|
23
23
|
|
|
24
24
|
# These are the variables we have to pass in to use the module specified in the terragrunt configuration above
|
|
25
25
|
inputs = {
|
|
26
|
-
monitoring_project_id
|
|
27
|
-
notification_channels
|
|
28
|
-
policies
|
|
29
|
-
user_labels
|
|
30
|
-
cc
|
|
31
|
-
clan
|
|
32
|
-
jira_project_key
|
|
26
|
+
monitoring_project_id = lookup(local.project_vars.locals, "monitoring_project_id", local.project_vars.locals.tribe_project_id),
|
|
27
|
+
notification_channels = dependency.notification_channels.outputs.notification_channels,
|
|
28
|
+
policies = yamldecode(file("${get_terragrunt_dir()}/alerts.yaml")),
|
|
29
|
+
user_labels = {
|
|
30
|
+
cc = local.common_vars.locals.cost_center
|
|
31
|
+
clan = local.common_vars.locals.clan_name
|
|
32
|
+
jira_project_key = lookup(local.common_vars.locals, "jira_project_key", null)
|
|
33
|
+
component = local.common_vars.locals.component
|
|
34
|
+
product = local.common_vars.locals.product
|
|
35
|
+
tenant-alias = local.common_vars.locals.tenant_alias
|
|
36
|
+
environment = local.project_vars.locals.project_env
|
|
33
37
|
},
|
|
34
38
|
}
|
|
@@ -23,14 +23,18 @@ locals {
|
|
|
23
23
|
|
|
24
24
|
# These are the variables we have to pass in to use the module specified in the terragrunt configuration above
|
|
25
25
|
inputs = merge({
|
|
26
|
-
project_id
|
|
27
|
-
project_id_alert
|
|
28
|
-
notification_channels
|
|
29
|
-
uptime_checks
|
|
30
|
-
labels
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
jira_project_key
|
|
26
|
+
project_id = local.project_vars.locals.project_id,
|
|
27
|
+
project_id_alert = local.project_vars.locals.tribe_project_id,
|
|
28
|
+
notification_channels = dependency.notification_channels.outputs.notification_channels,
|
|
29
|
+
uptime_checks = yamldecode(file("${get_terragrunt_dir()}/uptime-checks.yaml")),
|
|
30
|
+
labels = {
|
|
31
|
+
cc = local.common_vars.locals.cost_center
|
|
32
|
+
clan = local.common_vars.locals.clan_name
|
|
33
|
+
jira_project_key = lookup(local.common_vars.locals, "jira_project_key", null)
|
|
34
|
+
component = local.common_vars.locals.component
|
|
35
|
+
product = local.common_vars.locals.product
|
|
36
|
+
tenant-alias = local.common_vars.locals.tenant_alias
|
|
37
|
+
environment = local.project_vars.locals.project_env
|
|
34
38
|
}
|
|
35
39
|
}
|
|
36
40
|
)
|
|
@@ -23,10 +23,18 @@ inputs = merge(<% if (createResource == 'topic') { %><% } else { %>
|
|
|
23
23
|
local.project_vars.locals,
|
|
24
24
|
{
|
|
25
25
|
topic_labels = {
|
|
26
|
-
cc
|
|
26
|
+
cc = local.common_vars.locals.cost_center
|
|
27
|
+
component = local.common_vars.locals.component
|
|
28
|
+
product = local.common_vars.locals.product
|
|
29
|
+
tenant-alias = local.common_vars.locals.tenant_alias
|
|
30
|
+
environment = local.project_vars.locals.project_env
|
|
27
31
|
}<% if (createResource == 'topic') { %><% } else { %>
|
|
28
32
|
subscription_labels = {
|
|
29
|
-
cc
|
|
33
|
+
cc = local.common_vars.locals.cost_center
|
|
34
|
+
component = local.common_vars.locals.component
|
|
35
|
+
product = local.common_vars.locals.product
|
|
36
|
+
tenant-alias = local.common_vars.locals.tenant_alias
|
|
37
|
+
environment = local.project_vars.locals.project_env
|
|
30
38
|
}<% } %>
|
|
31
39
|
grant_token_creator = false
|
|
32
40
|
}
|
|
@@ -32,10 +32,18 @@ inputs = merge (
|
|
|
32
32
|
},
|
|
33
33
|
],
|
|
34
34
|
topic_labels = {
|
|
35
|
-
cc
|
|
35
|
+
cc = local.common_vars.locals.cost_center
|
|
36
|
+
component = local.common_vars.locals.component
|
|
37
|
+
product = local.common_vars.locals.product
|
|
38
|
+
tenant-alias = local.common_vars.locals.tenant_alias
|
|
39
|
+
environment = local.project_vars.locals.project_env
|
|
36
40
|
}
|
|
37
41
|
subscription_labels = {
|
|
38
|
-
cc
|
|
42
|
+
cc = local.common_vars.locals.cost_center
|
|
43
|
+
component = local.common_vars.locals.component
|
|
44
|
+
product = local.common_vars.locals.product
|
|
45
|
+
tenant-alias = local.common_vars.locals.tenant_alias
|
|
46
|
+
environment = local.project_vars.locals.project_env
|
|
39
47
|
}
|
|
40
48
|
grant_token_creator = false,
|
|
41
49
|
}
|
|
@@ -23,8 +23,12 @@ inputs = merge(
|
|
|
23
23
|
local.project_vars.locals,
|
|
24
24
|
{
|
|
25
25
|
instance_labels = {
|
|
26
|
-
cc
|
|
27
|
-
|
|
26
|
+
cc = local.common_vars.locals.cost_center
|
|
27
|
+
component = local.common_vars.locals.component
|
|
28
|
+
product = local.common_vars.locals.product
|
|
29
|
+
tenant-alias = local.common_vars.locals.tenant_alias
|
|
30
|
+
environment = local.project_vars.locals.project_env
|
|
31
|
+
"created" = "terraform"
|
|
28
32
|
}
|
|
29
33
|
}
|
|
30
34
|
)
|