strongdm
This component provisions strongDM gateway, relay and roles
Usage
Stack Level: Regional
Use this in the catalog or use these variables to overwrite the catalog values.
components:
terraform:
strong-dm:
vars:
enabled: true
Variables
Required Variables
region
(string
) requiredAWS Region
ssm_account
(string
) requiredAccount (stage) housing SSM parameters
ssm_region
(string
) requiredAWS Region housing SSM parameters
Optional Variables
create_roles
(bool
) optionalSet
true
to create roles (should only be set in one account)Default value:
false
dns_zone
(string
) optionalDNS zone (e.g. example.com) into which to install the web host.
Default value:
null
gateway_count
(number
) optionalNumber of gateways to provision
Default value:
2
install_gateway
(bool
) optionalSet
true
to install a pair of gatewaysDefault value:
false
install_relay
(bool
) optionalSet
true
to install a pair of relaysDefault value:
true
kms_alias_name
(string
) optionalAWS KMS alias used for encryption/decryption default is alias used in SSM
Default value:
"alias/aws/ssm"
kubernetes_namespace
(string
) optionalThe Kubernetes namespace to install the release into. Defaults to
default
.Default value:
null
register_nodes
(bool
) optionalSet
true
to register nodes as SSH targetsDefault value:
true
relay_count
(number
) optionalNumber of relays to provision
Default value:
2
Context Variables
The following variables are defined in the context.tf
file of this module and part of the terraform-null-label pattern.
context.tf
file of this module and part of the terraform-null-label pattern.additional_tag_map
(map(string)
) optionalAdditional tags for appending to tags_as_list_of_maps. Not added to
tags
.
Required: NoDefault value:
{ }
attributes
(list(string)
) optionalAdditional attributes (e.g.
1
)
Required: NoDefault value:
[ ]
context
(any
) optionalSingle object for setting entire context at once.
See description of individual variables for details.
Leave string and numeric variables asnull
to use default value.
Individual variable settings (non-null) override settings in context object,
except for attributes, tags, and additional_tag_map, which are merged.Required: No
Default value:
{
"additional_tag_map": {},
"attributes": [],
"delimiter": null,
"enabled": true,
"environment": null,
"id_length_limit": null,
"label_key_case": null,
"label_order": [],
"label_value_case": null,
"name": null,
"namespace": null,
"regex_replace_chars": null,
"stage": null,
"tags": {}
}delimiter
(string
) optionalDelimiter to be used between
namespace
,environment
,stage
,name
andattributes
.
Defaults to-
(hyphen). Set to""
to use no delimiter at all.Required: No
Default value:
null
enabled
(bool
) optionalSet to false to prevent the module from creating any resources
Required: NoDefault value:
null
environment
(string
) optionalEnvironment, e.g. 'uw2', 'us-west-2', OR 'prod', 'staging', 'dev', 'UAT'
Required: NoDefault value:
null
id_length_limit
(number
) optionalLimit
id
to this many characters (minimum 6).
Set to0
for unlimited length.
Set tonull
for default, which is0
.
Does not affectid_full
.Required: No
Default value:
null
label_key_case
(string
) optionalThe letter case of label keys (
tag
names) (i.e.name
,namespace
,environment
,stage
,attributes
) to use intags
.
Possible values:lower
,title
,upper
.
Default value:title
.Required: No
Default value:
null
label_order
(list(string)
) optionalThe naming order of the id output and Name tag.
Defaults to ["namespace", "environment", "stage", "name", "attributes"].
You can omit any of the 5 elements, but at least one must be present.Required: No
Default value:
null
label_value_case
(string
) optionalThe letter case of output label values (also used in
tags
andid
).
Possible values:lower
,title
,upper
andnone
(no transformation).
Default value:lower
.Required: No
Default value:
null
name
(string
) optionalSolution name, e.g. 'app' or 'jenkins'
Required: NoDefault value:
null
namespace
(string
) optionalNamespace, which could be your organization name or abbreviation, e.g. 'eg' or 'cp'
Required: NoDefault value:
null
regex_replace_chars
(string
) optionalRegex to replace chars with empty string in
namespace
,environment
,stage
andname
.
If not set,"/[^a-zA-Z0-9-]/"
is used to remove all characters other than hyphens, letters and digits.Required: No
Default value:
null
stage
(string
) optionalStage, e.g. 'prod', 'staging', 'dev', OR 'source', 'build', 'test', 'deploy', 'release'
Required: NoDefault value:
null
tags
(map(string)
) optionalAdditional tags (e.g.
map('BusinessUnit','XYZ')
Required: NoDefault value:
{ }
Dependencies
Requirements
terraform
, version:>= 0.13.0
aws
, version:>= 3.0
helm
, version:>= 2.2.0
sdm
, version:>= 1.0.19
Providers
aws
, version:>= 3.0
aws
, version:>= 3.0
helm
, version:>= 2.2.0
sdm
, version:>= 1.0.19
Modules
Name | Version | Source | Description |
---|---|---|---|
iam_roles | latest | ../account-map/modules/iam-roles | n/a |
iam_roles_network | latest | ../account-map/modules/iam-roles | n/a |
this | 0.24.1 | cloudposse/label/null | n/a |
Resources
The following resources are used by this module:
aws_ssm_parameter.gateway_tokens
(resource)aws_ssm_parameter.relay_tokens
(resource)aws_ssm_parameter.ssh_admin_token
(resource)helm_release.cleanup
(resource)helm_release.gateway
(resource)helm_release.node
(resource)helm_release.relay
(resource)sdm_node.gateway
(resource)sdm_node.relay
(resource)
Data Sources
The following data sources are used by this module:
aws_ssm_parameter.api_access_key
(data source)aws_ssm_parameter.api_secret_key
(data source)aws_ssm_parameter.ssh_admin_token
(data source)