{"id":18472054,"url":"https://github.com/nginxinc/kic-reference-architectures","last_synced_at":"2025-04-04T18:06:44.349Z","repository":{"id":37207551,"uuid":"376950720","full_name":"nginxinc/kic-reference-architectures","owner":"nginxinc","description":"MARA: Modern Application Reference Architecture","archived":false,"fork":false,"pushed_at":"2023-11-15T18:39:28.000Z","size":1182,"stargazers_count":639,"open_issues_count":63,"forks_count":103,"subscribers_count":23,"default_branch":"master","last_synced_at":"2025-03-28T17:06:46.385Z","etag":null,"topics":["aws","digitalocean","kubernetes","linode","mara","nginx-ingress-controller","pulumi"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nginxinc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2021-06-14T20:41:12.000Z","updated_at":"2025-03-25T21:44:05.000Z","dependencies_parsed_at":"2023-10-04T07:51:30.289Z","dependency_job_id":"44cc1624-f540-426a-b281-a631d93228b8","html_url":"https://github.com/nginxinc/kic-reference-architectures","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nginxinc%2Fkic-reference-architectures","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nginxinc%2Fkic-reference-architectures/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nginxinc%2Fkic-reference-architectures/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nginxinc%2Fkic-reference-architectures/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nginxinc","download_url":"https://codeload.github.com/nginxinc/kic-reference-architectures/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247226213,"owners_count":20904465,"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","digitalocean","kubernetes","linode","mara","nginx-ingress-controller","pulumi"],"created_at":"2024-11-06T10:18:52.729Z","updated_at":"2025-04-04T18:06:44.319Z","avatar_url":"https://github.com/nginxinc.png","language":"Python","readme":"# NGINX Modern Reference Architectures\n\n## Current Test Status\n\n[![FOSSA Status](https://app.fossa.com/api/projects/custom%2B5618%2Fgit%40github.com%3Anginxinc%2Fkic-reference-architectures.git.svg?type=shield)](https://app.fossa.com/projects/custom%2B5618%2Fgit%40github.com%3Anginxinc%2Fkic-reference-architectures.git?ref=badge_shield)\n![AWS Status](https://jenkins.mantawang.com/buildStatus/icon?job=mara_aws_prod\u0026subject=AWS)\n![DO Status](https://jenkins.mantawang.com/buildStatus/icon?job=mara_do_prod\u0026subject=DigitalOcean)\n![LKE Status](https://jenkins.mantawang.com/buildStatus/icon?job=mara_lke_prod\u0026subject=Linode)\n![K3s Status](https://jenkins.mantawang.com/buildStatus/icon?job=mara_k3s_prod\u0026subject=K3s)\n![MicroK8s Status](https://jenkins.mantawang.com/buildStatus/icon?job=mara_mk8s_prod\u0026subject=MicroK8s)\n![Minikube Status](https://jenkins.mantawang.com/buildStatus/icon?job=mara_minikube_prod\u0026subject=Minikube)\n\n![MARA Project](./docs/NGINX-MARA-icon.png)  \n\nThis repository has the basics for a common way to deploy and manage modern\napps. Over time, we'll build more example architectures using different\ndeployment models and options – including other clouds – and you’ll be able\nto find those here.\n\n## Nomenclature\n\nInternally, we refer to this project as MARA for Modern Application Reference\nArchitecture. The current repository name reflects the humble origins of this\nproject, as it was started with the purpose of allowing users to build custom\nversions of the NGINX Ingress Controller in Kubernetes. This went so well that\nwe expanded it to the project you're currently viewing.\n\n## Modern App Architectures\n\nWe define modern app architectures as those driven by four characteristics:\n*scalability*, *portability*, *resiliency*, and *agility*. While many different\naspects of a modern architecture exist, these are fundamental.\n\n* **Scalability** – Quickly and seamlessly scale up or down to accommodate\n  spikes or reductions in demand, anywhere in the world.\n\n* **Portability** – Easy to deploy on multiple types of devices and\n  infrastructures, on public clouds, and on premises.\n\n* **Resiliency** – Can fail over to newly spun‑up clusters or virtual\n  environments in different availability regions, clouds, or data centers.\n\n* **Agility** – Ability to update through automated CI/CD pipelines with higher\n  code velocity and more frequent code pushes.\n\nThis diagram is an example of what we mean by a **modern app architecture**:\n![Modern Apps Architecture Example Diagram](docs/DIAG-NGINX-ModernAppsRefArch-NGINX-MARA-1-0-blog-1024x800.png)\n\nTo satisfy the four key characteristics, many modern app architectures employ:\n\n* Platform agnosticism\n* Prioritization of OSS\n* Everything defined by code\n* CI/CD automation\n* Security-minded development\n* Containerized builds\n* Distributed storage\n\n## What's Being Built\n\nFor details on the current state of this project, please see the\n[readme](pulumi/python/README.md) in the [`pulumi/python`](pulumi/python)\nsubdirectory. This project is under active development, and the current work is\nusing [Pulumi](https://www.pulumi.com/) with Python. Additionally, please see\n[Status and Issues](docs/status-and-issues.md) for the project's up-to-date\nbuild status and known issues.\n\nSubdirectories contained within the root directory separate reference\narchitectures by infrastructure deployment tooling with additional\nsubdirectories as needed. For example, Pulumi allows the use of multiple\nlanguages for deployment. As we decided to use Python in our first build, there\nis a `python` subdirectory under the `pulumi` directory.\n\nThis project was started to provide a complete, stealable, easy to deploy, and\nstandalone example of how a modern app architecture can be built. It was driven\nby the necessity to be flexible and not require a long list of dependencies to\nget started. It needs to provide examples of tooling used to build this sort of\narchitecture in the real world. Most importantly, it needs to work. Hopefully\nthis provides a ‘jumping off’ point for someone to build their own\ninfrastructure.\n\n## Deployment Tools\n\n### Pulumi\n\n[Pulumi](https://www.pulumi.com/) is a modern Infrastructure as Code (IaC) tool\nthat allows you to write code (node, Python, Go, etc.) that defines cloud\ninfrastructure. Within the [`pulumi`](pulumi) folder are examples of the pulumi\nbeing used to stand up MARA.\n\n## Contribution\n\nWe welcome pull requests and issues!\n\nPlease refer to the [Contributing Guidelines](CONTRIBUTING.md) when doing a PR.\n\n## License\n\nAll code in this repository is licensed under the\n[Apache License v2 license](LICENSE).\n\nOpen source license notices for all projects in this repository can be\nfound\n[here](https://app.fossa.com/reports/92595e16-c0b8-4c68-8c76-59696b6ac219).\n\n[![FOSSA Status](https://app.fossa.com/api/projects/custom%2B5618%2Fgit%40github.com%3Anginxinc%2Fkic-reference-architectures.git.svg?type=large)](https://app.fossa.com/projects/custom%2B5618%2Fgit%40github.com%3Anginxinc%2Fkic-reference-architectures.git?ref=badge_large)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnginxinc%2Fkic-reference-architectures","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnginxinc%2Fkic-reference-architectures","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnginxinc%2Fkic-reference-architectures/lists"}