Skip to content

nuonco/aws-byo-eks-sandbox

Repository files navigation

Nuon AWS BYO-EKS Sandbox

Sandbox for apps that are deployed into an existing EKS Cluster. Typically paired with the nuon byo-vpc cloudformation VPC Template.

Notes

This module incldues nuon_dns but it should be used with extreme care. it is disabled by default and should only be enabled with the customer's explicit consent given it installs a number of helm charts which may conflict with existing networking resources.

The cluster has storage and networking drivers and classes or CRDs. This sandbox is not concerned with installing any resources of this type.

Requirements

Name Version
terraform >= 1.14.3
aws = 5.94.1
helm = 2.17.0
kubectl = 1.19
kubernetes = 2.36.0

Providers

Name Version
aws 5.94.1
helm.main 2.17.0
kubectl.main 1.19.0

Modules

Name Source Version
ecr terraform-aws-modules/ecr/aws 2.4.0
nuon_dns ./nuon_dns n/a

Resources

Name Type
aws_iam_policy.ecr_access resource
aws_iam_role_policy_attachment.ecr_access_deprovision resource
aws_iam_role_policy_attachment.ecr_access_maintenance resource
aws_iam_role_policy_attachment.ecr_access_provision resource
helm_release.kyverno resource
kubectl_manifest.default_policies resource
kubectl_manifest.namespaces resource
kubectl_manifest.vendor_policies resource
aws_availability_zones.available data source
aws_caller_identity.current data source
aws_eks_cluster.cluster data source
aws_eks_cluster_auth.cluster data source
aws_iam_openid_connect_provider.cluster data source
aws_iam_policy_document.ecr data source
aws_security_group.default data source
aws_subnet.private data source
aws_subnet.public data source
aws_subnet.runner data source
aws_vpc.vpc data source

Inputs

Name Description Type Default Required
additional_irsas List of additional IRSA accounts to create.
list(object({
role_name = string,
namespace = string,
service_account = string,
}))
[] no
additional_namespaces A list of namespaces that should be created on the cluster. The {{.nuon.install.id}} namespace is created by default. list(string) [] no
additional_tags Extra tags to append to the default tags that will be added to install resources. map(any) {} no
cluster_name The name of the existing EKS cluster to use. string n/a yes
deprovision_iam_role_arn The deprovision IAM Role ARN string n/a yes
enable_kyverno Whether or not to install Kyverno and its policies. string "false" no
enable_nuon_dns Whether or not the cluster should use a nuon-provided nuon.run domain. Controls the cert-manager-issuer and the route_53_zone. string "false" no
helm_driver One of 'configmap' or 'secret' string "secret" no
internal_root_domain The internal root domain. string n/a yes
kyverno_policy_dir Path to a directory with kyverno policy manifests. string "./kyverno-policies" no
maintenance_iam_role_arn The provision IAM Role ARN string n/a yes
nuon_id The nuon id for this install. Used for naming purposes. string n/a yes
private_subnet_ids Comma-delimited list of private subnet IDs. Should not be empty. string n/a yes
provision_iam_role_arn The maintenance IAM Role ARN string n/a yes
public_root_domain The public root domain. string n/a yes
public_subnet_ids Comma-delimited list of public subnet IDs. Can be empty. string "" no
region The region to launch the cluster in. string n/a yes
runner_subnet_id Single subnet ID for the runner. Should not be empty. string n/a yes
tags List of custom tags to add to the install resources. Used for taxonomic purposes. map(any) n/a yes
vpc_id The ID of the AWS VPC to provision the sandbox in. string n/a yes

Outputs

Name Description
account A map of AWS account attributes: id, region.
cluster A map of EKS cluster attributes: arn, certificate_authority_data, endpoint, name, platform_version, status, oidc_issuer_url, oidc_provider_arn, cluster_security_group_id.
ecr A map of ECR attributes: repository_url, repository_arn, repository_name, registry_id, registry_url.
namespaces A list of namespaces that were created by this module.
nuon_dns A map of Nuon DNS attributes: whether nuon.run has been enabled; AWS Route 53 details for the public_domain and internal_domain; metadata bout the helm charts the module installs on.
vpc A map of vpc attributes: name, id, cidr, azs, private_subnet_cidr_blocks, private_subnet_ids, public_subnet_cidr_blocks, public_subnet_ids, default_security_group_id.

About

AWS BYO EKS Sandbox for Nuon apps.

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors