{"id":23391466,"url":"https://github.com/uj5ghare/django-todo-app","last_synced_at":"2026-04-05T21:32:08.231Z","repository":{"id":214680988,"uuid":"737098539","full_name":"Uj5Ghare/Django-ToDo-App","owner":"Uj5Ghare","description":"This project automates the deployment of a Django To-Do application on an EKS cluster, including Docker image creation and AWS Load Balancer setup.","archived":false,"fork":false,"pushed_at":"2024-11-20T15:17:04.000Z","size":108,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-08T14:50:56.430Z","etag":null,"topics":["django","docker","docker-compose","eks","helm","jenkins"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Uj5Ghare.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-12-29T20:14:17.000Z","updated_at":"2025-03-01T08:14:59.000Z","dependencies_parsed_at":"2025-04-08T14:59:37.220Z","dependency_job_id":null,"html_url":"https://github.com/Uj5Ghare/Django-ToDo-App","commit_stats":null,"previous_names":["uj5ghare/django-todo-app"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Uj5Ghare/Django-ToDo-App","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Uj5Ghare%2FDjango-ToDo-App","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Uj5Ghare%2FDjango-ToDo-App/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Uj5Ghare%2FDjango-ToDo-App/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Uj5Ghare%2FDjango-ToDo-App/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Uj5Ghare","download_url":"https://codeload.github.com/Uj5Ghare/Django-ToDo-App/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Uj5Ghare%2FDjango-ToDo-App/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31451438,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T21:22:52.476Z","status":"ssl_error","status_checked_at":"2026-04-05T21:22:51.943Z","response_time":75,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["django","docker","docker-compose","eks","helm","jenkins"],"created_at":"2024-12-22T04:17:44.486Z","updated_at":"2026-04-05T21:32:07.955Z","avatar_url":"https://github.com/Uj5Ghare.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Django Todo App \n\n![django-todo-app](staticfiles/todoApp.png)\n\n*This guide will help you deploy the Django Todo App using Docker to AWS EKS.*\n\n## Prerequisites\n\n#### You can install the following tools from  `EKS/tools/` path.\n\n- Helm3 installed \n- Docker installed\n- AWS CLI installed\n- Eksctl installed\n- Kubectl installed\n- Git installed\n\n## Steps\n\n1. **Clone the repository:**\n    ```bash\n    git clone https://github.com/LondheShubham153/django-todo-cicd.git  \n    cd django-todo-cicd/\n    ```\n\n2. **Build the Docker image:**\n    ```bash\n    docker build -t uj5ghare/django-todo-app .\n    ```\n\n3. **Run the Docker image:**\n    ```bash\n    docker run -d -p 8000:8000 uj5ghare/django-todo-app\n    ```\n\n4. **Login to Docker:**\n    Replace `\u003cusername\u003e` and `\u003cpassword\u003e` with your Docker credentials.\n    ```bash\n    DOCKER_USERNAME=\u003cusername\u003e\n    DOCKER_PASSWORD=\u003cpassword\u003e \n    echo $DOCKER_PASSWORD | docker login --username $DOCKER_USERNAME --password-stdin\n    ```\n\n5. **Push the Docker image:**\n    ```bash\n    docker push uj5ghare/django-todo-app\n    ```\n\u003cbr\u003e\u003cbr\u003e\n\n# Creating \u0026 Configuring EKS Cluster\n\n1. **Create an EKS cluster:**\n    ```bash\n    eksctl create cluster --name cluster1 --region ap-south-1 --fargate \n    ```\n\n2. **Update kubeconfig:**\n    ```bash\n    aws eks update-kubeconfig --name cluster1 \n    ```\n\n3. **Check the nodes:**\n    ```bash\n    kubectl get nodes\n    ```\n\n4. **Create a Fargate profile:**\n    ```bash\n    eksctl create fargateprofile --name profile1 --cluster cluster1 --region ap-south-1 --namespace ns1\n    ```\n\n5. **Go to this repository:**\n    ```bash\n   cd Django-ToDo-App/EKS/my-dir/manifests/\n    ```\n\n6. **Apply the Kubernetes configuration:**\n    ```bash\n    kubectl apply -f . \n    ```\n\n7. **Check all the resources in the namespace:**\n    ```bash\n    kubectl get all -n ns1\n    ```\n\u003cbr\u003e\u003cbr\u003e\n\n\n# AWS Load Balancer Controller Setup\nFollow the steps below to set up the AWS Load Balancer Controller on your EKS cluster.\n\n1. Export your cluster name:\n    ```bash\n    export cluster_name=cluster1\n    ```\n\n2. Get the OIDC ID:\n    ```bash\n    oidc_id=$(aws eks describe-cluster --name $cluster_name --query \"cluster.identity.oidc.issuer\" --output text | cut -d '/' -f 5)\n    ```\n\n3. Associate the IAM OIDC provider:\n    ```bash\n    eksctl utils associate-iam-oidc-provider --cluster $cluster_name --approve\n    ```\n\n4. Create the IAM policy:\n    ```bash\n    aws iam create-policy --policy-name AWSLoadBalancerControllerIAMPolicy --policy-document file://iam_policy.json\n    ```\n\n5. Create the IAM service account:\n    ```bash\n    eksctl create iamserviceaccount --cluster=cluster1 --namespace=kube-system --name=aws-load-balancer-controller --role-name AmazonEKSLoadBalancerControllerRole --attach-policy-arn=arn:aws:iam::\u003cyour-aws-account-id\u003e:policy/AWSLoadBalancerControllerIAMPolicy --approve\n    ```\n\n6. Add the EKS helm repo:\n    ```bash\n    helm repo add eks https://aws.github.io/eks-charts\n    ```\n\n7. Install the AWS Load Balancer Controller:\n    ```bash\n    helm install aws-load-balancer-controller eks/aws-load-balancer-controller -n kube-system --set clusterName=cluster1 --set serviceAccount.create=false --set serviceAccount.name=aws-load-balancer-controller --set region=ap-south-1 --set vpcId=\u003cyour-vpc-id\u003e\n    ```\n\n8. Verify the deployment:\n    ```bash\n    kubectl get deployment -n kube-system aws-load-balancer-controller\n    ```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuj5ghare%2Fdjango-todo-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fuj5ghare%2Fdjango-todo-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuj5ghare%2Fdjango-todo-app/lists"}