{"id":20331012,"url":"https://github.com/cans/ansible-heroku3","last_synced_at":"2025-08-29T17:19:54.949Z","repository":{"id":139897660,"uuid":"73650926","full_name":"cans/ansible-heroku3","owner":"cans","description":"Ansible Module to Manage your Heroku Applications","archived":false,"fork":false,"pushed_at":"2017-10-08T20:27:37.000Z","size":16,"stargazers_count":2,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-02T16:48:21.088Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/cans.png","metadata":{"files":{"readme":"README.rst","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":"2016-11-13T23:55:17.000Z","updated_at":"2022-08-15T11:33:10.000Z","dependencies_parsed_at":null,"dependency_job_id":"a6f0a591-c36b-4417-a273-3a38597e9e91","html_url":"https://github.com/cans/ansible-heroku3","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cans/ansible-heroku3","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cans%2Fansible-heroku3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cans%2Fansible-heroku3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cans%2Fansible-heroku3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cans%2Fansible-heroku3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cans","download_url":"https://codeload.github.com/cans/ansible-heroku3/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cans%2Fansible-heroku3/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272731736,"owners_count":24984004,"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","status":"online","status_checked_at":"2025-08-29T02:00:10.610Z","response_time":87,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2024-11-14T20:18:28.579Z","updated_at":"2025-08-29T17:19:54.910Z","avatar_url":"https://github.com/cans.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"****************\nAnsible Heroku 3\n****************\n\n\nManage your Heroku applications with ansible:\n\n- Create and Delete App;\n- Configure them;\n- Start, Scale and Stop them;\n\nVery early work in progress, the documentation very scarce. Look at the\n``heroku.yml`` playbook for usage examples.\n\n\nRunning the sample playbook\n===========================\n\nYou will also need a file named `credentials.yml` under `vars/` that contains a\nvariable ``heroku_api_key`` and is set with you very own Heroku API Key\n(go to https://dashboard.heroku.com/account to get your key), as well as an\n``heroku_application_name`` variable with an application name of your own,\nand another ``heroku_existing_application_name`` to try the playbook plays\nthat assume a pre-existing app.\n\n\nDependencies\n============\n\nThis module relies on the `herok3.py \u003chttp://github.com/martyzz1/heroku3.py\u003e`_\nPython module.\n\n\nTODO\n====\n\n- Implement the ``apps`` command;\n- Retrieve regions dynamically (heroku3.py seems to lack support;\n- Add caching to avoid excessive API calls;\n- Instead of the ``create`` / ``delete`` commands, implement an ``app``\n  command that has a ``state`` argument: ``\"present\"`` meaning create if\n  not exists, ``\"absent\"`` delete if exists, code is here, it's just a matter\n  of reworking the interface;\n- Add ability to restart an app (command ``app`` with ``state`` value set\n  to ``restarted``;\n- config command: ``uppercase`` ``yes``/``no`` option is ambiguous, move\n  for ``case`` ``upper``/``lower``/``asis`` with that last one as default;\n- Understand how one is supposed to ship extra modules for Ansible, in a\n  sensible and user friendly manner;\n- Do we need this: manage builds, releases, etc. ?\n\n\nKnown limitations\n=================\n\nHeroku's documentation suggest one can have mixed type of Dynos for a single\napplication. Never used that and not clear to me how to implement that with\nthe API (https://devcenter.heroku.com/articles/dyno-types#default-scaling-limits)\n\n\nCredits\n=======\n\nThere is a `similar module \u003chttps://github.com/s0enke/ansible-heroku\u003e`_\navailable, but the project has not seen much work and uses a deprecated\nPython wrapper for Heroku's REST API.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcans%2Fansible-heroku3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcans%2Fansible-heroku3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcans%2Fansible-heroku3/lists"}