apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig

metadata:
  name: hrdkorea-cluster
  version: "1.29"
  region: us-east-1

cloudWatch:
  clusterLogging:
    enableTypes: ["*"]

iam:
  withOIDC: true
  serviceAccounts:
  - metadata:
      name: aws-load-balancer-controller
      namespace: hrdkorea
    wellKnownPolicies:
      awsLoadBalancerController: true
  - metadata:
      name: cert-manager
      namespace: cert-manager
    wellKnownPolicies:
      certManager: true

vpc:
  subnets:
    public:
      ap-northeast-2a: { id: public_a }
      ap-northeast-2b: { id: public_b }
    private:
      ap-northeast-2a: { id: private_a }
      ap-northeast-2b: { id: private_b }
      
managedNodeGroups:
  - name: hrdkorea-customer-ng
    labels: { skills/dedicated: customer }
    instanceName: hrdkorea-customer-ng
    instanceType: t3.large
    desiredCapacity: 2
    minSize: 2
    maxSize: 20
    privateNetworking: true

  - name: hrdkorea-product-ng
    labels: { skills/dedicated: product }
    instanceName: hrdkorea-product-ng
    instanceType: t3.large
    desiredCapacity: 2
    minSize: 2
    maxSize: 20
    privateNetworking: true

  - name: hrdkorea-order-ng
    labels: { skills/dedicated: order }
    instanceName: hrdkorea-order-ng
    instanceType: t3.large
    desiredCapacity: 2
    minSize: 2
    maxSize: 20
    privateNetworking: true

fargateProfiles:
  - name: hrdkorea-addon-profile
    selectors:
      - namespace: kube-system
#!/bin/bash
public_a=$(aws ec2 describe-subnets --filters "Name=tag:Name,Values=hrdkorea-public-sn-a" --query "Subnets[].SubnetId[]" --region us-east-1 --output text)
public_b=$(aws ec2 describe-subnets --filters "Name=tag:Name,Values=hrdkorea-public-sn-b" --query "Subnets[].SubnetId[]" --region us-east-1 --output text)
private_a=$(aws ec2 describe-subnets --filters "Name=tag:Name,Values=hrdkorea-private-sn-a" --query "Subnets[].SubnetId[]" --region us-east-1 --output text)
private_b=$(aws ec2 describe-subnets --filters "Name=tag:Name,Values=hrdkorea-private-sn-b" --query "Subnets[].SubnetId[]" --region us-east-1 --output text)

sed -i "s|public_a|$public_a|g" cluster.yaml
sed -i "s|public_b|$public_b|g" cluster.yaml
sed -i "s|private_a|$private_a|g" cluster.yaml
sed -i "s|private_b|$private_b|g" cluster.yaml
eksctl create cluster -f cluster.yaml
aws eks --region ap-northeast-2 update-kubeconfig --name wsi-eks-cluster
kubectl create ns hrdkorea