{"id":20744093,"url":"https://github.com/petersonwsantos/puppet-control-repo","last_synced_at":"2026-04-16T11:02:04.180Z","repository":{"id":240908636,"uuid":"95979129","full_name":"petersonwsantos/puppet-control-repo","owner":"petersonwsantos","description":"PUPPET - Control Repository ","archived":false,"fork":false,"pushed_at":"2017-09-08T14:14:02.000Z","size":545,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-18T02:27:25.982Z","etag":null,"topics":["aws","codecommit","puppetlabs","serverless"],"latest_commit_sha":null,"homepage":"","language":"Ruby","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/petersonwsantos.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":"2017-07-01T17:42:52.000Z","updated_at":"2017-09-08T14:14:05.000Z","dependencies_parsed_at":"2024-05-21T12:12:52.056Z","dependency_job_id":"48245786-1f23-43b8-9031-b6d3d79028ab","html_url":"https://github.com/petersonwsantos/puppet-control-repo","commit_stats":null,"previous_names":["petersonwsantos/puppet-control-repo"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/petersonwsantos%2Fpuppet-control-repo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/petersonwsantos%2Fpuppet-control-repo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/petersonwsantos%2Fpuppet-control-repo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/petersonwsantos%2Fpuppet-control-repo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/petersonwsantos","download_url":"https://codeload.github.com/petersonwsantos/puppet-control-repo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243039288,"owners_count":20226128,"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":["aws","codecommit","puppetlabs","serverless"],"created_at":"2024-11-17T07:14:14.884Z","updated_at":"2025-10-20T06:17:30.767Z","avatar_url":"https://github.com/petersonwsantos.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"AWS(EC2 userdata / CodeCommit ) and Puppet Serverless  \n======================================================\n\nEC2 Userdata\n---------------\nWhen you launch an instance in Amazon EC2, you have the option of passing user data to the instance that can be used to perform common automated configuration tasks and even run scripts after the instance starts. \n\nThe script **userdata-puppetagent.bash** install puppet-agent and applies the settings according with tag **puppet_profile** of  instance EC2.\n\n\n**Step 1:** Create an AWS CodeCommit Repository\n\n**Step 2:** Create Role for clone CodeCommit repository and get tag EC2\n\n  **IAM RoLe**   (for clone CodeCommit repository and get tag EC2):\n  ```json\n    {\n        \"Version\": \"2012-10-17\",\n        \"Statement\": [\n            {\n                \"Sid\": \"Stmt1497632792000\",\n                \"Effect\": \"Allow\",\n                \"Action\": [\n                    \"ec2:DescribeInstances\",\n                    \"ec2:DescribeTags\"\n                ],\n                \"Resource\": [\n                    \"*\"\n                ]\n            },\n            {\n                \"Sid\": \"Stmt1497632920000\",\n                \"Effect\": \"Allow\",\n                \"Action\": [\n                    \"codecommit:BatchGetRepositories\",\n                    \"codecommit:Get*\",\n                    \"codecommit:List*\"\n                ],\n                \"Resource\": [\n                    \"arn:aws:codecommit:us-east-2:210177016610:aws-puppet-masterless-distribuited\"\n                ]\n            }\n        ]\n    }\n  ```\n**Step 3:**  Launch EC2 Instance (with IAM Role and tag  name=puppet_profile/key=essential_linux ) \n\n  **Userdata:** \n  ```bash\n  #!/bin/bash \n\n  # 'Y' to AWS code commit and \"N\" to other public git repo\n  CODE_COMMIT=\"Y\"\n  # Repository Puppet Serverless\n  REPO_PUPPET=\"https://git-codecommit.us-east-2.amazonaws.com/v1/repos/aws-puppet-serverless-distribuited\" \n\n  curl https://raw.githubusercontent.com/petersonwsantos/puppet-repo-aws/master/bootstrap-puppetagent.bash | bash -s -- $CODE_COMMIT $REPO_PUPPET\n  ```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpetersonwsantos%2Fpuppet-control-repo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpetersonwsantos%2Fpuppet-control-repo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpetersonwsantos%2Fpuppet-control-repo/lists"}