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
trueto create roles (should only be set in one account)Default value:
falsedns_zone(string) optionalDNS zone (e.g. example.com) into which to install the web host.
Default value:
nullgateway_count(number) optionalNumber of gateways to provision
Default value:
2install_gateway(bool) optionalSet
trueto install a pair of gatewaysDefault value:
falseinstall_relay(bool) optionalSet
trueto install a pair of relaysDefault value:
truekms_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:
nullregister_nodes(bool) optionalSet
trueto register nodes as SSH targetsDefault value:
truerelay_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 asnullto 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,nameandattributes.
Defaults to-(hyphen). Set to""to use no delimiter at all.Required: No
Default value:
nullenabled(bool) optionalSet to false to prevent the module from creating any resources
Required: NoDefault value:
nullenvironment(string) optionalEnvironment, e.g. 'uw2', 'us-west-2', OR 'prod', 'staging', 'dev', 'UAT'
Required: NoDefault value:
nullid_length_limit(number) optionalLimit
idto this many characters (minimum 6).
Set to0for unlimited length.
Set tonullfor default, which is0.
Does not affectid_full.Required: No
Default value:
nulllabel_key_case(string) optionalThe letter case of label keys (
tagnames) (i.e.name,namespace,environment,stage,attributes) to use intags.
Possible values:lower,title,upper.
Default value:title.Required: No
Default value:
nulllabel_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:
nulllabel_value_case(string) optionalThe letter case of output label values (also used in
tagsandid).
Possible values:lower,title,upperandnone(no transformation).
Default value:lower.Required: No
Default value:
nullname(string) optionalSolution name, e.g. 'app' or 'jenkins'
Required: NoDefault value:
nullnamespace(string) optionalNamespace, which could be your organization name or abbreviation, e.g. 'eg' or 'cp'
Required: NoDefault value:
nullregex_replace_chars(string) optionalRegex to replace chars with empty string in
namespace,environment,stageandname.
If not set,"/[^a-zA-Z0-9-]/"is used to remove all characters other than hyphens, letters and digits.Required: No
Default value:
nullstage(string) optionalStage, e.g. 'prod', 'staging', 'dev', OR 'source', 'build', 'test', 'deploy', 'release'
Required: NoDefault value:
nulltags(map(string)) optionalAdditional tags (e.g.
map('BusinessUnit','XYZ')
Required: NoDefault value:
{ }
Dependencies
Requirements
terraform, version:>= 0.13.0aws, version:>= 3.0, < 6.0.0helm, version:>= 2.2.0sdm, version:>= 1.0.19
Providers
aws, version:>= 3.0, < 6.0.0aws, version:>= 3.0, < 6.0.0helm, version:>= 2.2.0sdm, 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.25.0 | 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)