Skip to content

Commit

Permalink
Add lb controller and upgrades
Browse files Browse the repository at this point in the history
  • Loading branch information
marcincuber committed Apr 22, 2021
1 parent e33f619 commit e6c78f2
Show file tree
Hide file tree
Showing 8 changed files with 27,813 additions and 23 deletions.

Large diffs are not rendered by default.

26,893 changes: 26,893 additions & 0 deletions k8s_templates/cert-manager/cert-manager.yaml

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions terraform-aws/data.tf
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
data "aws_caller_identity" "current" {}

data "aws_region" "current" {}
data "aws_partition" "current" {}

# Fetch latest ami_id for specified ${var.eks_version}
data "aws_ssm_parameter" "eks_optimized_ami_id" {
Expand Down
315 changes: 315 additions & 0 deletions terraform-aws/oidc-iam-role-policies.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,315 @@
data "aws_iam_policy_document" "load_balancer_controller" {
statement {
actions = [
"iam:CreateServiceLinkedRole",
"ec2:DescribeAccountAttributes",
"ec2:DescribeAddresses",
"ec2:DescribeAvailabilityZones",
"ec2:DescribeInternetGateways",
"ec2:DescribeVpcs",
"ec2:DescribeSubnets",
"ec2:DescribeSecurityGroups",
"ec2:DescribeInstances",
"ec2:DescribeNetworkInterfaces",
"ec2:DescribeTags",
"ec2:GetCoipPoolUsage",
"ec2:DescribeCoipPools",
"elasticloadbalancing:DescribeLoadBalancers",
"elasticloadbalancing:DescribeLoadBalancerAttributes",
"elasticloadbalancing:DescribeListeners",
"elasticloadbalancing:DescribeListenerCertificates",
"elasticloadbalancing:DescribeSSLPolicies",
"elasticloadbalancing:DescribeRules",
"elasticloadbalancing:DescribeTargetGroups",
"elasticloadbalancing:DescribeTargetGroupAttributes",
"elasticloadbalancing:DescribeTargetHealth",
"elasticloadbalancing:DescribeTags"
]

resources = ["*"]
}

statement {
actions = [
"cognito-idp:DescribeUserPoolClient",
"acm:ListCertificates",
"acm:DescribeCertificate",
"acm:GetCertificate",
"iam:ListServerCertificates",
"iam:GetServerCertificate",
"waf-regional:GetWebACL",
"waf-regional:GetWebACLForResource",
"waf-regional:AssociateWebACL",
"waf-regional:DisassociateWebACL",
"wafv2:GetWebACL",
"wafv2:GetWebACLForResource",
"wafv2:AssociateWebACL",
"wafv2:DisassociateWebACL",
"shield:GetSubscriptionState",
"shield:DescribeProtection",
"shield:CreateProtection",
"shield:DeleteProtection"
]

resources = ["*"]
}

statement {
actions = [
"ec2:AuthorizeSecurityGroupIngress",
"ec2:RevokeSecurityGroupIngress"
]
resources = ["*"]
}

statement {
actions = [
"ec2:CreateSecurityGroup"
]

resources = ["*"]
}

statement {
actions = [
"ec2:CreateTags"
]

resources = ["arn:${data.aws_partition.current.partition}:ec2:*:*:security-group/*"]

condition {
test = "StringEquals"
variable = "ec2:CreateAction"

values = [
"CreateSecurityGroup",
]
}

condition {
test = "Null"
variable = "aws:RequestTag/elbv2.k8s.aws/cluster"

values = [
"false",
]
}
}

statement {
actions = [
"ec2:CreateTags",
"ec2:DeleteTags"
]

resources = ["arn:${data.aws_partition.current.partition}:ec2:*:*:security-group/*"]

condition {
test = "Null"
variable = "aws:RequestTag/elbv2.k8s.aws/cluster"

values = [
"true",
]
}

condition {
test = "Null"
variable = "aws:ResourceTag/elbv2.k8s.aws/cluster"

values = [
"false",
]
}
}

statement {
actions = [
"ec2:AuthorizeSecurityGroupIngress",
"ec2:RevokeSecurityGroupIngress",
"ec2:DeleteSecurityGroup"
]

resources = ["*"]

condition {
test = "Null"
variable = "aws:ResourceTag/elbv2.k8s.aws/cluster"

values = [
"false",
]
}
}

statement {
actions = [
"elasticloadbalancing:CreateLoadBalancer",
"elasticloadbalancing:CreateTargetGroup"
]

resources = ["*"]

condition {
test = "Null"
variable = "aws:RequestTag/elbv2.k8s.aws/cluster"

values = [
"false",
]
}
}

statement {
actions = [
"elasticloadbalancing:CreateListener",
"elasticloadbalancing:DeleteListener",
"elasticloadbalancing:CreateRule",
"elasticloadbalancing:DeleteRule"
]
resources = ["*"]
}

statement {
actions = [
"elasticloadbalancing:AddTags",
"elasticloadbalancing:RemoveTags"
]

resources = [
"arn:${data.aws_partition.current.partition}:elasticloadbalancing:*:*:targetgroup/*/*",
"arn:${data.aws_partition.current.partition}:elasticloadbalancing:*:*:loadbalancer/net/*/*",
"arn:${data.aws_partition.current.partition}:elasticloadbalancing:*:*:loadbalancer/app/*/*"
]

condition {
test = "Null"
variable = "aws:RequestTag/elbv2.k8s.aws/cluster"

values = [
"true",
]
}

condition {
test = "Null"
variable = "aws:ResourceTag/elbv2.k8s.aws/cluster"

values = [
"false",
]
}
}

statement {
actions = [
"elasticloadbalancing:AddTags",
"elasticloadbalancing:RemoveTags"
]

resources = [
"arn:${data.aws_partition.current.partition}:elasticloadbalancing:*:*:listener/net/*/*/*",
"arn:${data.aws_partition.current.partition}:elasticloadbalancing:*:*:listener/app/*/*/*",
"arn:${data.aws_partition.current.partition}:elasticloadbalancing:*:*:listener-rule/net/*/*/*",
"arn:${data.aws_partition.current.partition}:elasticloadbalancing:*:*:listener-rule/app/*/*/*"
]
}

statement {
actions = [
"elasticloadbalancing:ModifyLoadBalancerAttributes",
"elasticloadbalancing:SetIpAddressType",
"elasticloadbalancing:SetSecurityGroups",
"elasticloadbalancing:SetSubnets",
"elasticloadbalancing:DeleteLoadBalancer",
"elasticloadbalancing:ModifyTargetGroup",
"elasticloadbalancing:ModifyTargetGroupAttributes",
"elasticloadbalancing:DeleteTargetGroup"
]

resources = ["*"]

condition {
test = "Null"
variable = "aws:ResourceTag/elbv2.k8s.aws/cluster"

values = [
"false",
]
}
}

statement {
actions = [
"elasticloadbalancing:RegisterTargets",
"elasticloadbalancing:DeregisterTargets"
]

resources = ["arn:${data.aws_partition.current.partition}:elasticloadbalancing:*:*:targetgroup/*/*"]
}

statement {
actions = [
"elasticloadbalancing:SetWebAcl",
"elasticloadbalancing:ModifyListener",
"elasticloadbalancing:AddListenerCertificates",
"elasticloadbalancing:RemoveListenerCertificates",
"elasticloadbalancing:ModifyRule"
]

resources = ["*"]
}
}

data "aws_iam_policy_document" "cluster_autoscaler" {
statement {
actions = [
"autoscaling:DescribeAutoScalingGroups",
"autoscaling:DescribeAutoScalingInstances",
"autoscaling:DescribeLaunchConfigurations",
"autoscaling:DescribeTags",
"autoscaling:SetDesiredCapacity",
"autoscaling:TerminateInstanceInAutoScalingGroup",
"ec2:DescribeLaunchTemplateVersions"
]

resources = ["*"]
}
}

data "aws_iam_policy_document" "external_secrets" {
statement {
actions = [
"secretsmanager:DescribeSecret",
"secretsmanager:GetSecretValue",
"secretsmanager:ListSecrets",
"secretsmanager:ListSecretVersionIds"
]

resources = ["*"]
}

statement {
actions = [
"ssm:DescribeParameters",
"ssm:GetParameter",
"ssm:GetParameterHistory",
"ssm:GetParameters",
"ssm:GetParametersByPath"
]

resources = ["*"]
}
}

data "aws_iam_policy_document" "external_dns" {
statement {
actions = [
"route53:ChangeResourceRecordSets",
"route53:ListHostedZones",
"route53:ListResourceRecordSets"
]

resources = ["*"]
}
}
Loading

0 comments on commit e6c78f2

Please sign in to comment.