Access Private Git Repos from EKS with AWS CodeConnections
This post details how Amazon EKS with Argo CD can securely access private Git repositories. By leveraging AWS CodeConnections, organizations can bridge the gap between Argo CD's limited network access and on-premises or VPC-hosted Git servers. The process involves setting up a CodeConnections host and connection, then configuring Argo CD to use it for deploying applications from private repositories, enhancing GitOps security.
- →Securely Access Private Git Repositories from Amazon EKS
- →Architecture Overview: Secure GitOps Workflow
- →Solution Walkthrough: Setting Up CodeConnections for Private Git
- →Connecting Private Git Servers with AWS CodeConnections
- →Deploying a Sample Argo CD Application
Notes (6) ›
- Securely Access Private Git Repositories from Amazon EKS
Organizations using GitOps on Amazon EKS often need to pull manifests from private Git repositories. This post guides users through using AWS CodeConnections to securely connect Argo CD capability to these private repositories, overcoming limitations in direct network access.
- Architecture Overview: Secure GitOps Workflow
The architecture involves an Amazon EKS cluster with Argo CD, accessing private Git repositories via an AWS CodeConnections host deployed within the VPC. This host has private network connectivity to the Git server, enabling a secure GitOps pipeline that synchronizes configurations to EKS.
- Solution Walkthrough: Setting Up CodeConnections for Private Git
The walkthrough covers creating an AWS CodeConnections host in a VPC, which acts as a Git proxy. It supports GitHub Enterprise Server and self-managed GitLab. Prerequisites include an AWS account, an EKS cluster with Argo CD, AWS CLI, kubectl, and access to a private Git server.
- Connecting Private Git Servers with AWS CodeConnections
Steps include setting environment variables, configuring VPC subnets for connectivity and DNS, creating security group rules, and defining the host VPC configuration. The process involves creating the host, setting up the connection through redirection to the Git endpoint, and completing the guided setup until the connection status is 'Available'.
- Deploying a Sample Argo CD Application
Users are guided to create a sample Argo CD application manifest that points to their private Git repository using a specific CodeConnections Git HTTP proxy format. Applying this manifest to the EKS cluster with Argo CD enables the deployment and synchronization of applications from private repositories.
- Understanding CodeConnections Under the Hood
AWS CodeConnections uses cross-account elastic network interfaces (ENIs) within the VPC to connect to private Git servers. A CodeConnections host installs an AWS Connector app on the repository, which obtains temporary credentials for secure interactions. Argo CD utilizes IAM roles for authentication to access these connections.
https://aws.amazon.com/blogs/containers/accessing-private-git-repositories-from-amazon-eks-capability-for-argo-cd/
Related releases
- Amazon EKS now supports advanced Kubernetes control plane configuration AWS What's New ·
- Amazon EKS 1.34+ enables forensic container checkpointing with Kubelet API AWS Containers Blog ·
- Amazon EKS introduces advanced Kubernetes control plane configuration AWS Containers Blog ·
- Amazon EKS Auto Mode automates node failure detection and repair AWS Containers Blog ·
- AWS Network Firewall adds forward proxy functionality AWS What's New ·
- AWS EMR on EKS Adds Apache Spark Troubleshooting Agent AWS Big Data Blog ·