Skip to main content
Version: v0.3.0

README

Requirements

NameVersion
terraform>= 1.9.0
archive~> 2.7.0
aws>= 5.62.0, < 6.0.0
helm~> 2.11.0
kubectl~> 1.19.0
kubernetes~> 2.24.0
random~> 3.7.0

Providers

NameVersion
archive2.7.1
aws5.100.0
helm2.11.0
kubectl1.19.0
kubernetes2.24.0
random3.7.2

Modules

NameSourceVersion
cert_manager_irsagit::https://github.com/terraform-aws-modules/terraform-aws-iam.git//modules/iam-role-for-service-accounts-ekse20e0b9a42084bbc885fd5abb18b8744810bd567
external_dns_irsagit::https://github.com/terraform-aws-modules/terraform-aws-iam.git//modules/iam-role-for-service-accounts-ekse20e0b9a42084bbc885fd5abb18b8744810bd567
karpentergit::https://github.com/terraform-aws-modules/terraform-aws-eks.git//modules/karpenter8a0efdbbc84180a26e0bacfd2b6fcfceac53b3b6

Resources

NameType
aws_cloudwatch_log_group.msk_brokerresource
aws_db_instance.radar_postgresresource
aws_db_instance.radar_postgres_replicasresource
aws_db_subnet_group.rds_subnetresource
aws_ecr_pull_through_cache_rule.dockerhubresource
aws_ecr_repository_creation_template.dockerhubresource
aws_eip.cluster_loadbalancer_eipresource
aws_iam_access_key.s3_accessresource
aws_iam_access_key.smtp_user_keyresource
aws_iam_policy.ecr_repository_permissionsresource
aws_iam_policy.s3_accessresource
aws_iam_policy.smtp_user_policyresource
aws_iam_role.ecr_repository_creatorresource
aws_iam_role.msk_roleresource
aws_iam_role.secret_rotation_roleresource
aws_iam_role_policy.secret_rotation_policyresource
aws_iam_role_policy_attachment.ecr_attachresource
aws_iam_role_policy_attachment.msk_policy_attachmentresource
aws_iam_user.s3_accessresource
aws_iam_user.smtp_userresource
aws_iam_user_policy_attachment.s3_accessresource
aws_iam_user_policy_attachment.smtp_user_policy_attachresource
aws_lambda_function.secret_rotation_functionresource
aws_lambda_permission.secrets_manager_invokeresource
aws_msk_cluster.msk_clusterresource
aws_msk_configuration.msk_configurationresource
aws_route53_record.mainresource
aws_route53_record.smtp_dkim_recordresource
aws_route53_record.smtp_dmarcresource
aws_route53_record.smtp_mail_from_mxresource
aws_route53_record.smtp_mail_from_txtresource
aws_route53_record.thisresource
aws_s3_bucket.thisresource
aws_s3_bucket_ownership_controls.thisresource
aws_s3_bucket_server_side_encryption_configuration.thisresource
aws_secretsmanager_secret.dockerhub_credentialsresource
aws_secretsmanager_secret_rotation.dockerhubresource
aws_secretsmanager_secret_version.dockerhub_credentials_versionresource
aws_security_group.msk_cluster_accessresource
aws_security_group.rds_accessresource
aws_ses_configuration_set.configuration_setresource
aws_ses_domain_dkim.smtp_dkimresource
aws_ses_domain_identity.smtp_identityresource
aws_ses_domain_mail_from.smtp_mail_fromresource
aws_ses_event_destination.snsresource
aws_ses_identity_notification_topic.ses_bounce_domain_identityresource
aws_ses_identity_notification_topic.ses_complaint_domain_identityresource
aws_sns_topic.ses_bounce_event_topicresource
aws_sns_topic_subscription.ses_bounce_event_subscriptionsresource
helm_release.karpenterresource
helm_release.karpenter_crdresource
helm_release.kubernetes_dashboardresource
helm_release.metrics_serverresource
kubectl_manifest.create_databases_if_not_existresource
kubectl_manifest.karpenter_node_classresource
kubectl_manifest.karpenter_node_poolresource
kubernetes_cluster_role_binding_v1.dashboard_userresource
kubernetes_cluster_role_v1.read_onlyresource
kubernetes_namespace.kubernetes_dashboardresource
kubernetes_secret_v1.dashboard_userresource
kubernetes_service_account_v1.dashboard_userresource
random_id.msk_configresource
archive_file.secret_rotation_lambda_artifactdata source
aws_eks_cluster.maindata source
aws_eks_cluster_auth.maindata source
aws_eks_node_group.maindata source
aws_eks_node_groups.maindata source
aws_route53_zone.primarydata source
aws_security_group.nodedata source
aws_security_group.vpc_defaultdata source
aws_subnet.private_subnetdata source
aws_subnets.privatedata source
aws_vpc.maindata source

Inputs

NameDescriptionTypeDefaultRequired
AWS_ACCESS_KEY_IDAWS access key associated with an IAM accountstringn/ayes
AWS_PROFILEAWS Profile that resources are created instring"default"no
AWS_REGIONTarget AWS regionstring"eu-west-2"no
AWS_SECRET_ACCESS_KEYAWS secret key associated with the access keystringn/ayes
AWS_SESSION_TOKENSession token for temporary security credentials from AWS STSstring""no
common_tagsCommon tags associated to resources createdmap(string){
"Environment": "dev",
"Project": "radar-base"
}
no
docker_hub_access_tokenDocker Hub access token for ECR pull through cachestringn/ayes
docker_hub_usernameDocker Hub username for ECR pull through cachestringn/ayes
domain_namePair of top level domain and hosted zone ID for deployed applicationsmap(string){}no
eks_cluster_nameEKS cluster namestringn/ayes
enable_ecr_ptcDo you need ECR pull-through cache? [true, false]booln/ayes
enable_eipDo you need EIP? [true, false]booln/ayes
enable_karpenterDo you need Karpenter? [true, false]booln/ayes
enable_metricsDo you need Metrics Server? [true, false]booln/ayes
enable_mskDo you need MSK? [true, false]booln/ayes
enable_msk_loggingDo you need logging on MSK brokers? [true, false]booln/ayes
enable_rdsDo you need RDS? [true, false]booln/ayes
enable_rds_multi_azDo you need RDS Multi-AZ? [true, false]booln/ayes
enable_route53Do you need Route53? [true, false]booln/ayes
enable_s3Do you need S3? [true, false]booln/ayes
enable_sesDo you need SES? [true, false]booln/ayes
environmentEnvironment namestring"dev"no
kafka_versionVersion of the Kafka to be used for MSKstring"3.9.x"no
karpenter_ami_version_aliasSelector alias for the AMI version used by Karpenter EC2 node classstring"al2023@v20250519"no
karpenter_node_poolsConfiguration for the Karpenter node pool(s) with each key being the node pool namemap(object({
architecture = list(string)
os = list(string)
instance_capacity_type = list(string)
instance_category = list(string)
instance_cpu = list(string)
}))
{}no
karpenter_versionn/astring"1.3.6"no
kubernetes_dashboard_versionVersion of the Kubernetes Dashboardstring"7.3.2"no
metrics_server_versionVersion of the Metrics Serverstring"3.12.1"no
postgres_read_replicasNumber of PostgreSQL read replicas if needednumber0no
postgres_versionVersion of the PostgreSQL to be used for RDSstring"14.20"no
radar_postgres_passwordPassword for the PostgreSQL database used by Radar componentsstringn/ayes
ses_bounce_destinationsList of email addresses for receiving bounced email notificationslist(string)[]no
with_dmz_podsWhether or not to utilise the DMZ node group if it existsboolfalseno

Outputs

NameDescription
radar_base_eip_allocation_idn/a
radar_base_eip_public_dnsn/a
radar_base_k8s_dashboard_user_tokenn/a
radar_base_msk_bootstrap_brokersn/a
radar_base_msk_zookeeper_connectn/a
radar_base_rds_appserver_hostn/a
radar_base_rds_appserver_passwordn/a
radar_base_rds_appserver_portn/a
radar_base_rds_appserver_usernamen/a
radar_base_rds_hydra_hostn/a
radar_base_rds_hydra_passwordn/a
radar_base_rds_hydra_portn/a
radar_base_rds_hydra_usernamen/a
radar_base_rds_kratos_hostn/a
radar_base_rds_kratos_passwordn/a
radar_base_rds_kratos_portn/a
radar_base_rds_kratos_usernamen/a
radar_base_rds_managementportal_hostn/a
radar_base_rds_managementportal_passwordn/a
radar_base_rds_managementportal_portn/a
radar_base_rds_managementportal_usernamen/a
radar_base_rds_replicas_infon/a
radar_base_rds_rest_sources_auth_hostn/a
radar_base_rds_rest_sources_auth_passwordn/a
radar_base_rds_rest_sources_auth_portn/a
radar_base_rds_rest_sources_auth_usernamen/a
radar_base_route53_hosted_zone_idn/a
radar_base_s3_access_keyn/a
radar_base_s3_intermediate_output_bucket_namen/a
radar_base_s3_output_bucket_namen/a
radar_base_s3_secret_keyn/a
radar_base_s3_velero_bucket_namen/a
radar_base_smtp_hostn/a
radar_base_smtp_passwordn/a
radar_base_smtp_portn/a
radar_base_smtp_usernamen/a