{"id":20471788,"url":"https://github.com/signiant/eb-aws-command-runner","last_synced_at":"2025-08-03T16:38:51.570Z","repository":{"id":93380916,"uuid":"59834509","full_name":"Signiant/eb-aws-command-runner","owner":"Signiant","description":"Uses the AWS SSM run commands to run commands on EB instances","archived":false,"fork":false,"pushed_at":"2017-05-15T20:25:16.000Z","size":15,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-01-16T02:23:51.958Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","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/Signiant.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2016-05-27T12:58:36.000Z","updated_at":"2016-05-27T17:30:39.000Z","dependencies_parsed_at":null,"dependency_job_id":"961a6ffc-d6a9-433d-8993-54473052c08a","html_url":"https://github.com/Signiant/eb-aws-command-runner","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/Signiant%2Feb-aws-command-runner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Signiant%2Feb-aws-command-runner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Signiant%2Feb-aws-command-runner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Signiant%2Feb-aws-command-runner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Signiant","download_url":"https://codeload.github.com/Signiant/eb-aws-command-runner/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242039536,"owners_count":20061924,"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-15T14:17:14.703Z","updated_at":"2025-03-05T13:44:34.379Z","avatar_url":"https://github.com/Signiant.png","language":"PHP","readme":"# eb-aws-command-runner\nA small PHP wrapper around the AWS SSM run commands to run commands on EB instances contained within Elastic Beanstalk environments.\n\nThe app will dynamically read the parameters defined for the run command document and render simple text prompts to allow input.  Currently, only the String type is supported.\n\n# Prerequisites\n\n* The SSM agent must be installed on the beanstalk instances (use the beanstalk extension contained within this project)\n* The EC2 run command document must exist in the same region as the Beanstalk application\n* The IAM user this is run as must have permissions to use the Run command document\n\n# Configuration\n\nThe app is driven by a small YAML configuration file that can be mounted into the docker container using a bind mount.  An example file looks like:\n\n```YAML\neb_application:\n  name: \"my-eb-application\"\n  region: us-east-1\n  beanstalk_envs:\n    \"my-eb-env-a\"\n    \"my-eb-env-b\"\n\ncommand:\n  display: \"Check External Network Connectivity\"\n  document: \"remote_server_connectivity_test\"\n  hash: \"12345678901234567890123456789012345678901234567890\"\n  s3bucket: \"output-buckets-for-results\"\n  s3keyprefix: \"myprefix\"\n```\n* document is the name of the EC2 Run Command document\n* Hash is the sha256 hash associated with the document (obtained via the AWS Console)\n* s3bucket is a pre-existing S3 bucket where the command output will be placed\n* s3keyprefix is a key (folder) in the bucket where the command output will be placed\n\n# Usage\n## On an EC2 instance with a role configured to allow access to DynamoDB\n```bash\ndocker run -d -p -v /config/config.yaml:config.yaml 8080:80 signiant/eb-aws-command-runner\n```\n## On an machine outside EC2\n```bash\ndocker run -d -p 8080:80\n              -e \"AWS_ACCESS_KEY_ID=XXXX\" \\\n              -e \"AWS_SECRET_ACCESS_KEY=XXXX\" \\\n              -v /config/config.yaml:config.yaml\n              signiant/eb-aws-command-runner\n```\nFor the above execution, you can then access the tool using http://MY_DOCKER_HOST:8080\n\n## Alternate Config Files\n\nYou can pass in alternate configuration files using the query string key **config**\n\nFor example, if you had run the container as follows:\n```bash\ndocker run -d -p \\\n              -v /config/config.yaml:config.yaml \\\n              -v /config/moreconfig.yaml:moreconfig.yaml \\\n              8080:80 signiant/eb-aws-command-runner\n```\nYou could then access the alternate config using http://MY_DOCKER_HOST:8080/index.php?config=moreconfig.yaml\n\n## Optional Menu File\n\nThe app will check for the existance of a menu.php file and if present use that to render a boostrap nav bar.  For example, if you create a menu.php file like:\n\n```HTML\n      \u003c!-- Static navbar --\u003e\n      \u003cdiv class=\"navbar navbar-default\" role=\"navigation\"\u003e\n        \u003cdiv class=\"navbar-header\"\u003e\n          \u003cbutton type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\".navbar-collapse\"\u003e\n            \u003cspan class=\"sr-only\"\u003eToggle navigation\u003c/span\u003e\n            \u003cspan class=\"icon-bar\"\u003e\u003c/span\u003e\n            \u003cspan class=\"icon-bar\"\u003e\u003c/span\u003e\n            \u003cspan class=\"icon-bar\"\u003e\u003c/span\u003e\n          \u003c/button\u003e\n          \u003ca class=\"navbar-brand\" href=\"http://www.signiant.com\"\u003eSigniant DevOps\u003c/a\u003e\n        \u003c/div\u003e\n        \u003cdiv class=\"navbar-collapse collapse\"\u003e\n          \u003cul class=\"nav navbar-nav\"\u003e\n            \u003cli class=\"dropdown\"\u003e\n              \u003ca href=\"#\" class=\"dropdown-toggle\" data-toggle=\"dropdown\"\u003e\u003cspan class=\"glyphicon glyphicon-wrench\"\u003e\u003c/span\u003e Dropdown 1 \u003cb class=\"caret\"\u003e\u003c/b\u003e\u003c/a\u003e\n              \u003cul class=\"dropdown-menu\"\u003e\n                \u003cli\u003e\u003ca href=\"http://www.signiant.com\" target=\"_blank\"\u003eSigniant 1\u003c/a\u003e\u003c/li\u003e\n                \u003cli class=\"divider\"\u003e\u003c/li\u003e\n                \u003cli\u003e\u003ca href=\"http://www.signiant.com\" target=\"_blank\"\u003e\u003cspan class=\"glyphicon glyphicon-cloud\"\u003e\u003c/span\u003e Signiant 2\u003c/a\u003e\u003c/li\u003e\n              \u003c/ul\u003e\n            \u003c/li\u003e\n          \u003cul class=\"nav navbar-nav navbar-right\"\u003e\n            \u003cli\u003e\u003ca href=\"http://status.signiant.com\" target=\"_blank\"\u003e\u003cspan class=\"glyphicon glyphicon-ok-sign\"\u003e\u003c/span\u003e Signiant Services Status\u003c/a\u003e\u003c/li\u003e\n          \u003c/ul\u003e\n        \u003c/div\u003e\u003c!--/.nav-collapse --\u003e\n      \u003c/div\u003e\n```\n\nand then run the container as follows:\n\n```bash\ndocker run -d -p \\\n              -v /config/config.yaml:config.yaml \\\n              -v /config/menu.php:menu.php \\\n              8080:80 signiant/eb-aws-command-runner\n```\n\nYou'll get a menu rendered at the top with the options you've added.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsigniant%2Feb-aws-command-runner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsigniant%2Feb-aws-command-runner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsigniant%2Feb-aws-command-runner/lists"}