/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: MIT-0 * * Permission is hereby granted, free of charge, to any person obtaining a copy of this * software and associated documentation files (the "Software"), to deal in the Software * without restriction, including without limitation the rights to use, copy, modify, * merge, publish, distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ data "aws_eks_cluster" "my-cluster" { name = module.aws-eks-accelerator-for-terraform.cluster_name } data "aws_eks_cluster_auth" "my-auth" { name = module.aws-eks-accelerator-for-terraform.cluster_name } provider "kubernetes" { host = data.aws_eks_cluster.my-cluster.endpoint cluster_ca_certificate = base64decode(data.aws_eks_cluster.my-cluster.certificate_authority.0.data) token = data.aws_eks_cluster_auth.my-auth.token } resource "kubernetes_service_account" "gitlab-admin" { metadata { name = "gitlab-admin" namespace = "kube-system" } depends_on = [module.aws-eks-accelerator-for-terraform] } resource "kubernetes_secret" "gitlab-admin" { metadata { name = "gitlab-admin" namespace = "kube-system" annotations = { "kubernetes.io/service-account.name" = kubernetes_service_account.gitlab-admin.metadata.0.name } } lifecycle { ignore_changes = [ data ] } type = "kubernetes.io/service-account-token" depends_on = [module.aws-eks-accelerator-for-terraform] } data "kubernetes_secret" "gitlab-admin-token" { metadata { name = kubernetes_service_account.gitlab-admin.default_secret_name namespace = "kube-system" } } resource "kubernetes_cluster_role_binding" "gitlab-admin" { metadata { name = "gitlab-admin" } role_ref { api_group = "rbac.authorization.k8s.io" kind = "ClusterRole" name = "cluster-admin" } subject { kind = "ServiceAccount" name = "gitlab-admin" namespace = "kube-system" } depends_on = [module.aws-eks-accelerator-for-terraform] }