{"id":18459066,"url":"https://github.com/liatrio/keyless-workflow-demo","last_synced_at":"2025-04-23T17:34:39.409Z","repository":{"id":193140558,"uuid":"687746304","full_name":"liatrio/keyless-workflow-demo","owner":"liatrio","description":null,"archived":false,"fork":false,"pushed_at":"2024-01-03T22:46:11.000Z","size":3107,"stargazers_count":0,"open_issues_count":8,"forks_count":0,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-02-16T15:35:54.369Z","etag":null,"topics":["apprentice-program"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/liatrio.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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-09-05T23:33:23.000Z","updated_at":"2023-10-12T21:38:29.000Z","dependencies_parsed_at":"2024-11-06T08:25:01.222Z","dependency_job_id":"f3702f79-261a-4613-ae46-cdabade08a07","html_url":"https://github.com/liatrio/keyless-workflow-demo","commit_stats":null,"previous_names":["liatrio/keyless-workflow-demo"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liatrio%2Fkeyless-workflow-demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liatrio%2Fkeyless-workflow-demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liatrio%2Fkeyless-workflow-demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liatrio%2Fkeyless-workflow-demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/liatrio","download_url":"https://codeload.github.com/liatrio/keyless-workflow-demo/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250480961,"owners_count":21437637,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["apprentice-program"],"created_at":"2024-11-06T08:21:39.608Z","updated_at":"2025-04-23T17:34:39.389Z","avatar_url":"https://github.com/liatrio.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OIDC Demo\n\nThis repo is intended to be a self contained demo of how to leverage OIDC in a workflow to authenticate with AWS and deploy a simple containerized application. This repo contains:\n\n* Simple Next-js application\n* Terraform module to create all required infrastructure (VPC, ECR, ECS Fargate Cluster, and an application LB)\n* Dockerfile to build the application\n* A GitHub Actions workflow to demonstrate deploying the docker image to an ECS cluster\n## Setup\n### For MacOS\nrun `brew bundle` to install dependencies\n\n### For Windows (untested)\n```π\n# Install AWS CLI\nchoco install awscli\n\n# Install Terraform\nchoco install terraform\n\n# Install Terragrunt\nchoco install terragrunt\n```\n### Configure AWS CLI\nFollow these instructions to configure AWS CLI. https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html\n\n\n## Initialize\nWhen running this at home you will need to provide your own 'organization' so that the trust policy on the IAM role will allow your workflow to run.\nThis can be done by running `init.sh \u003corganization\u003e`. Simply replace `\u003corganization\u003e` with your username. So if you fork the repo and the url for your repo is,\n`https://github.com/jburns24/keyless-workflow-demo` then you would run `init.sh jburns24`.\n\nAfter this finishes you will see a DNS name output as `front_end_dns_name`. Copy that DNS name and hit it in a browser. If you get a 503 Service Not Available you were too fast, just give it a min and refresh.\n\nAfter the init script runs copy the output of `gha_role_arn`. Then go to GitHub \u003e Settings \u003e Secrets and variables \u003e Actions. In here create a *Variable* named `OIDC_ROLE` and popualte it with the value you copied for `gha_role_arn`.\n\n\n## Clean up\nTo save on money make sure you do not leave your AWS resources up and running. To do this navigate to the `terraform` directory and run `terragrunt destroy`. You will be prompted to confirm the deletion and that is it!\n\nHope you find this informative and if there are bugs please open and issue and I will try to address them. Pull requests are also welcome!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliatrio%2Fkeyless-workflow-demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fliatrio%2Fkeyless-workflow-demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliatrio%2Fkeyless-workflow-demo/lists"}