{"id":43273134,"url":"https://github.com/mageops/ansible-infrastructure","last_synced_at":"2026-02-01T16:06:36.656Z","repository":{"id":38198187,"uuid":"214523513","full_name":"mageops/ansible-infrastructure","owner":"mageops","description":"Ansible-based infrastructure-as-code for hosting and deploying Magento-based shops","archived":false,"fork":false,"pushed_at":"2025-12-12T15:12:12.000Z","size":2395,"stargazers_count":38,"open_issues_count":18,"forks_count":17,"subscribers_count":0,"default_branch":"rocky-master","last_synced_at":"2025-12-14T06:34:21.579Z","etag":null,"topics":["ansible","aws","infrastructure-as-code","infrastructure-automation","infrastructure-management","magento","magento-2","magento-hosting"],"latest_commit_sha":null,"homepage":"","language":"Jinja","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mageops.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-10-11T20:28:50.000Z","updated_at":"2025-12-03T12:51:02.000Z","dependencies_parsed_at":"2024-02-08T00:22:10.387Z","dependency_job_id":"402aaff0-ba6c-4634-880b-6ffdbfb95d8d","html_url":"https://github.com/mageops/ansible-infrastructure","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/mageops/ansible-infrastructure","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mageops%2Fansible-infrastructure","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mageops%2Fansible-infrastructure/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mageops%2Fansible-infrastructure/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mageops%2Fansible-infrastructure/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mageops","download_url":"https://codeload.github.com/mageops/ansible-infrastructure/tar.gz/refs/heads/rocky-master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mageops%2Fansible-infrastructure/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28981893,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-01T15:35:50.179Z","status":"ssl_error","status_checked_at":"2026-02-01T15:35:38.075Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["ansible","aws","infrastructure-as-code","infrastructure-automation","infrastructure-management","magento","magento-2","magento-hosting"],"created_at":"2026-02-01T16:06:36.039Z","updated_at":"2026-02-01T16:06:36.652Z","avatar_url":"https://github.com/mageops.png","language":"Jinja","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg alt=\"MageSuite\" width=\"211\" src=\"https://avatars2.githubusercontent.com/u/56443641?s=200\u0026v=4\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cem\u003eAnsible-based infrastructure-as-code for hosting and deploying Magento-based shops.\u003c/em\u003e\n\u003c/p\u003e\n\n# Infrastructure Provisioning\n\n## CI/CD Automation\n\n**This code handles infrastucture provisioning, maintenance and deployment only**.\nThis repository does not contain any CI/CD automation for building, testing or\nrunning the provisioning itself. We do that internally with reusable Jenkins\npipelines (as libraries) - as this setup is very specific to our workflow we are\nnot planning to open-source it in the near future.\n\n## MageSuite ecosystem\n\nAltough it's possible to use this code to host any Magento-based shop,\nsome features are only avaialble (and tailored for) [MageSuite](https://magesuite.io/) ecosystem.\n\n## Cloud infrastructre\n\nCurrently the full feature set is only available when using AWS as the cloud platform, however,\nit's possible (and tested) to use this code to provision any Rocky 9 VM including local development environment.\n\n## Feature highlights\n\n- Out-of-the-box autoscaling\n- Zero-downtime deployments\u003csup\u003e1\u003c/sup\u003e\n  - Nodes are warmed up when new code is being deployed before being attached\n    to the varnish load-balancer to avoid cache generation penalty after traffic hit\n- Varnish caching tailored for Magento with multiple configurable custom features\n- Built-in support for elasticsearch / [ElasticSuite](https://github.com/Smile-SA/elasticsuite)\n- Redis Magento cache backend with\n  - Separate redis instance for session storage\n- Customizable multi-website / multi-shop deployments\n- Letsencrypt certificates support\n- Cloudfront CDN\n  - Media stored and shared across nodes using AWS EFS or AWS S3 (and possible plain NFS soonish)\n  - Seamless image optimization via Lambda@Edge (with webp support)\n- Support for arbitrary file sharing across nodes via AWS EFS\n- Per path pattern customizable PHP limits\n- Customizable request throttling (rate-limiting)\n- On-demand import instance\n  - EC2 instance started for scheduled imports automatically and terminated\n    once the import is finished\n  - Allows to use a different instance type for heavy scheduled imports\n    and perform them without disrupting the site performance for end-users\n- Customizable rules for routing traffic to separate set of special purpose extra-instances\n  - Routing rules based on user-agent and request path patterns\n  - Useful for processing heavy workloads without disrupting shop performance (e.g. ERP Magento API integrations)\n- Magento queue consumers support with RabbitMQ and supervisord\n- Logs pushed to CloudWatch with slack notifications for critical errors\n- VPC and SG-based network communication rules allowing internal service communication\n  strictly on a need-to basis\n- Language and country-based redirects\n- On-demand PHP debugging on production without affecting the shop's performance or configuration\n- Advanced JavaScript Bundling support (via [Dockerized](https://github.com/mageops/magesuite-baler) AMD module bundler / preloader - [Baler](https://github.com/magento/baler))\n- ... any many more!\n\n\u003csup\u003e1\u003c/sup\u003e Needs at least 2 app nodes and requires certain MageSuite extensions. Also it might not be\npossible depending on changes in relation to previous release in the code being deployed (DB migrations, ...).\n\n## Initial open-source release\n\nThe code has been cleaned up and all commits squashed for the first public release.\n\nThe previous internal repository had **2000+ commits**, **300+ merge requests** created by\n10+ contributors across **3+ years of development**.\n\nThe current state is a result of hundreds of hours of meetings, debugging, brainstorms\ninvestigations and combined expertise of all our developers, PMs and clients.\n\nA lot of the solutions are tailored for solving real-world problems and use-cases that came\nup when hosting and maintaining highly-customized Magento-based shops. The value of such\nexperience-based solutions cannot be overestimated. It wouldn't be possible to come up and\ndesign all of these tiny details form scratch without having went through the all of problems first-hand.\n\n## Documentation\n\nAt the time of open source release most of the documentation was scattered\nacross internal creativestyle services thus any leftovers have been removed\nto avoid confusion. New documentation will start appearing shortly as part\nof this repository succesively.\n\n## Utilities\n\n### Available CLI commands on EC2 nodes\n\n```sh\nmageops-env # prints mageops env vars\n\nmageops-sys-status # prints general info about cpu, io, memory, running processes\n\nmageops-consumers # prints ongoing magento queue consumer processes\n\nmagcd # `cd` into magento directory\nmag # `cd` into magento directory and runs `bin/magento`\nmagcf # runs `bin/magento cache:flush`\n```\n\n\u003cp align=\"right\"\u003e\n\u003cem\u003eBrought to life by\u003c/em\u003e\u003cbr/\u003e\n\u003ca href=\"https://creativestyle.pl\"\u003e\n\t\u003cimg src=\"https://images.squarespace-cdn.com/content/59144053ff7c509585045a38/1494845103833-S34MR8ONLUWAXOKQSM7O/CS_logo_colour.png?format=500w\u0026content-type=image%2Fpng\" width=\"160\"/\u003e\n\u003c/a\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmageops%2Fansible-infrastructure","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmageops%2Fansible-infrastructure","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmageops%2Fansible-infrastructure/lists"}