{"id":18524477,"url":"https://github.com/stelligent/packer-ami-pipeline","last_synced_at":"2026-04-05T17:36:29.592Z","repository":{"id":145835696,"uuid":"142493733","full_name":"stelligent/packer-ami-pipeline","owner":"stelligent","description":"Demo CodePipeline for building and publishing AMIs with Packer","archived":false,"fork":false,"pushed_at":"2020-01-07T21:33:27.000Z","size":260,"stargazers_count":10,"open_issues_count":0,"forks_count":7,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-24T05:26:18.219Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stelligent.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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":"2018-07-26T21:02:21.000Z","updated_at":"2022-11-28T20:09:46.000Z","dependencies_parsed_at":null,"dependency_job_id":"dd84bf30-f93a-4df3-8348-c9e131de04c8","html_url":"https://github.com/stelligent/packer-ami-pipeline","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stelligent%2Fpacker-ami-pipeline","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stelligent%2Fpacker-ami-pipeline/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stelligent%2Fpacker-ami-pipeline/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stelligent%2Fpacker-ami-pipeline/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stelligent","download_url":"https://codeload.github.com/stelligent/packer-ami-pipeline/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248031658,"owners_count":21036447,"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":[],"created_at":"2024-11-06T17:41:59.469Z","updated_at":"2026-04-05T17:36:24.557Z","avatar_url":"https://github.com/stelligent.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AMI Pipeline with Packer and CodePipeline\nThis is a small demo showing the possibilities for creating and updating an AMI using [Packer](https://www.packer.io/), [CodePipeline](https://aws.amazon.com/codepipeline/), [CodeBuild](https://aws.amazon.com/codebuild/), [Chef](https://www.chef.io), and tested using Chef's [InSpec](https://www.chef.io/inspec/).\n\n# Deployment\nDeploy the CloudFormation template `cfn/pipeline.yml`. You'll need permissions on CloudFormation, EC2, IAM, S3, CodePipeline and CodeBuild. The following parameters are required:\n\n* A GitHub username or org name (e.g. ht\u003cspan\u003etps://github\u003c/span\u003e.com/**stelligent**)\n* A repository name\n* The branch (e.g. `master`) \n* A [GitHub OAuth Token](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/) with at least read access to the repository\n\n# How it works\nOnce the CloudFormation stack has deployed, the Pipeline will build a simple AMI with Nginx and a basic HTML file using Chef.\n\nThe pipeline accomplishes this by running the following tasks:\n\n1. Pull the latest version of the code from the repo/branch\n2. Validate the Packer template\n    * `packer/ami.json`\n3. Build the AMI via Packer and Chef\n    * `packer/ami.json`\n    * `packer/ami_params.json`\n    * `cookbooks/nginx`\n4. Launch a test instance with the newly built AMI \n    * `cfn/test-instance.yml`\n5. Test the AMI using InSpec\n    * `test/inspec/test.rb`\n6. Delete the test instance\n7. Publish the AMI by saving the AMI ID in an [SSM Parameter](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-paramstore.html) called `/packerdemo/packer_ami_pipeline/LatestAMI`\n\n# Structure\n* `buildscripts/` Scripts used to configure test instance\n* `buildspec/` CodeBuild BuildSpec YML files\n* `cfn/` CloudFormation templates\n* `cookbooks/` Chef Cookbooks used to configure Image\n* `packer/` Packer templates and parameter files\n* `test/` InSpec tests\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstelligent%2Fpacker-ami-pipeline","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstelligent%2Fpacker-ami-pipeline","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstelligent%2Fpacker-ami-pipeline/lists"}