{"id":13562749,"url":"https://github.com/Aptomi/k8s-app-engine","last_synced_at":"2025-04-03T19:31:33.017Z","repository":{"id":62866269,"uuid":"87608881","full_name":"Aptomi/k8s-app-engine","owner":"Aptomi","description":"Application delivery engine for k8s","archived":false,"fork":false,"pushed_at":"2019-03-19T19:20:57.000Z","size":100784,"stargazers_count":163,"open_issues_count":56,"forks_count":19,"subscribers_count":17,"default_branch":"master","last_synced_at":"2024-08-01T13:27:49.027Z","etag":null,"topics":["container-orchestration","containers","continuous-delivery","dev","docker","go","helm","kubernetes","microservices","ops"],"latest_commit_sha":null,"homepage":"","language":"Go","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/Aptomi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-04-08T04:50:56.000Z","updated_at":"2023-11-14T19:25:05.000Z","dependencies_parsed_at":"2022-11-08T06:15:19.148Z","dependency_job_id":null,"html_url":"https://github.com/Aptomi/k8s-app-engine","commit_stats":null,"previous_names":["aptomi/aptomi"],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aptomi%2Fk8s-app-engine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aptomi%2Fk8s-app-engine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aptomi%2Fk8s-app-engine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aptomi%2Fk8s-app-engine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Aptomi","download_url":"https://codeload.github.com/Aptomi/k8s-app-engine/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223019820,"owners_count":17074690,"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":["container-orchestration","containers","continuous-delivery","dev","docker","go","helm","kubernetes","microservices","ops"],"created_at":"2024-08-01T13:01:11.897Z","updated_at":"2024-11-04T15:30:43.037Z","avatar_url":"https://github.com/Aptomi.png","language":"Go","funding_links":[],"categories":["Go","Configuration Management"],"sub_categories":[],"readme":"[![Release](https://img.shields.io/github/release/Aptomi/k8s-app-engine.svg)](https://github.com/Aptomi/k8s-app-engine/releases/latest)\n[![License](https://img.shields.io/github/license/Aptomi/k8s-app-engine.svg)](https://github.com/Aptomi/k8s-app-engine/LICENSE.md)\n[![Go Report Card](https://goreportcard.com/badge/github.com/Aptomi/k8s-app-engine)](https://goreportcard.com/report/github.com/Aptomi/k8s-app-engine)\n[![Build Status](https://ci.aptomi.io/buildStatus/icon?job=aptomi%20-%20tests)](https://ci.aptomi.io/job/aptomi%20-%20tests/)\n[![Coverage Status](https://coveralls.io/repos/github/Aptomi/k8s-app-engine/badge.svg)](https://coveralls.io/github/Aptomi/k8s-app-engine)\n[![Godoc](https://godoc.org/github.com/Aptomi/k8s-app-engine?status.svg)](https://godoc.org/github.com/Aptomi/k8s-app-engine)\n[![GitHub last commit](https://img.shields.io/github/last-commit/Aptomi/k8s-app-engine.svg)](https://github.com/Aptomi/k8s-app-engine/commits/master)\n[![Slack Status](https://img.shields.io/badge/slack-join_channel-ff69b4.svg)](http://slack.aptomi.io)\n\nEngine for development teams that simplifies the roll-out and operation of container-based applications on **Kubernetes**. It introduces a service-centric abstraction, which allows users to compose applications from multiple connected components. It supports components packaged using Helm, ksonnet, k8s YAMLs, and any other Kubernetes-friendly way!\n\nThis approach to **application delivery** becomes especially powerful in a **multi-team** setup, where components owned by different teams must be put together into a service. With ownership boundaries, Dev teams can specify **multi-cluster** and **multi-env** (e.g. dev, stage, prod) service behavior, as well as control the lifecycle and updates of their respective services.\n\nIt also provides contextual **visibility** into teams and services, allowing our users to visualize complex dependencies and accurately assess the impact of changes. \n\n## Overview\n\n[![What is](images/aptomi-overview-ng.png)](https://www.youtube.com/watch?v=j4DVtZvMqGg)\n\nYou can also read this [blog post](https://superuser.openstack.org/articles/aptomi-application-delivery-engine-k8s/) about the project.\n\n## Demos\n\n### Asciinema\n* Installation - https://asciinema.org/a/163250\n* Point to Kubernetes cluster - https://asciinema.org/a/163252\n* Defining \u0026 running applications - https://asciinema.org/a/163258\n* Updating a service instance - https://asciinema.org/a/163262\n* Deleting service instances - https://asciinema.org/a/163269\n\n### Youtube\n* Detailed Demo - http://www.youtube.com/watch?v=HL4RwoBnuTc\n* OpenDev CI/CD 2018 (Vancouver) - https://www.youtube.com/watch?v=GVB3kKocKi4 \n\n## Table of contents\n\u003c!-- START doctoc generated TOC please keep comment here to allow auto update --\u003e\n\u003c!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --\u003e\n\n\n- [Why?](#why)\n- [Quickstart](#quickstart)\n  - [Step #1: Installation](#step-1-installation)\n  - [Step #2: Setting up k8s Cluster](#step-2-setting-up-k8s-cluster)\n  - [Step #3: Running Examples](#step-3-running-examples)\n  - [Step #4: Send us a note on Slack](#step-4-send-us-a-note-on-slack)\n- [How It Works](#how-it-works)\n  - [Architecture](#architecture)\n  - [Language](#language)\n- [How to contribute](#how-to-contribute)\n- [Roadmap](#roadmap)\n\n\u003c!-- END doctoc generated TOC please keep comment here to allow auto update --\u003e\n\n## Why?\n\n* Why would I want to use it [as a Developer?](docs/benefits.md#for-developers)\n* Why would I want to use it [as an Operator?](docs/benefits.md#for-operators)\n* How does it fit into [CI/CD model with Spinnaker/Jenkins?](docs/benefits.md#how-aptomi-fits-into-cicd-jenkins-spinnaker)\n* Why would I want to use it [if I'm already implementing Kubernetes/OpenShift?](docs/benefits.md#why-would-i-want-to-use-aptomi-if-im-already-implementing-kubernetesopenshift)\n\n## Quickstart\n\n### Step #1: Installation\nThe simplest installation mode is **Compact**, but you may pick one that suits your needs:\n\nInstallation Mode     | Complexity | Description\n----------------------|------------|-------------\n[Compact](docs/install_compact.md) | Easy | Installation on local machine (binaries or in a single Docker container)\n[Kubernetes](docs/install_kubernetes.md) | Medium | Deployed to k8s via Helm chart\n\nYou can also install it in a stripped-down mode with a fake executor:\n\nInstallation Mode     | Complexity | Description\n----------------------|------------|-------------\n[Concepts](docs/install_concepts.md) | Easy | Use this only if you want get familiar with the key concepts, API and UI. App deployment to k8s is **DISABLED**\n\n### Step #2: Setting up k8s Cluster\n\nYou will need to have access to a k8s cluster to deploy apps from the provided examples.\n\nHaving a powerful k8s cluster with a good internet connection will definitely provide a *better experience* compared to a local, single-node k8s cluster. We consider GKE to be the best option if you don't have your own k8s cluster.\n\nKubernetes Cluster | When to use     | How to run\n------------|-----------------|-----------\nYour own    | If you already have a k8s cluster set up | [Configure on existing k8s cluster](docs/k8s_own.md)\nGoogle Kubernetes Engine | If you have a Google account and free credits | [Configure on GKE](docs/k8s_gke.md)\nk8s / Minikube | Single-node, local machine with 16GB+ RAM | [Configure on Minikube](docs/k8s_minikube.md)\nk8s / Docker For Mac | Single-node, local machine with 16GB+ RAM | [Configure on Docker For Mac](docs/k8s_docker_for_mac.md)\n\n### Step #3: Running Examples\n\nOnce the server is up and your k8s cluster is ready, you can get started by running the following examples:\n\nExample    | Description\n-----------|------------\n[twitter-analytics](examples/twitter-analytics) | Twitter Analytics Application, multiple services, multi-cloud, based on Helm\n[twitter-analytics-with-concourse-ci](examples/twitter-analytics-with-concourse-ci) | Twitter Analytics Application, integrated with Concourse CI/CD pipelines\n[guestbook](examples/guestbook) | K8S Guestbook Application, multi-cloud, based on K8S YAMLs\n\n### Step #4: Send us a note on Slack\n\nGive us your feedback on #general in [![Slack Status](https://img.shields.io/badge/slack-join_channel-ff69b4.svg)](http://slack.aptomi.io). If you run into any issues, we are always happy to help you resolve them! \n\n## How It Works\n\n### Architecture\n![Components](images/aptomi-components.png) \n\nSee [artchitecture documentation](docs/architecture.md)\n\n### Language\n![Language](images/aptomi-language.png)\n\nSee [language documentation](docs/language.md)\n\n## How to contribute\nThe very least you can do is [report a bug](https://github.com/Aptomi/k8s-app-engine/issues)!\n\nIf you want to make a pull request for a bug fix or contribute a feature, see our [Development Guide](docs/dev_guide.md) for how to develop, run and test your code.\n\nWe are always looking for feedback on how to make the project better. Join our Slack to discuss [![Slack Status](https://img.shields.io/badge/slack-join_channel-ff69b4.svg)](http://slack.aptomi.io).\n\n## Roadmap\n[Feature Backlog](https://github.com/Aptomi/k8s-app-engine/milestone/11), as well as weekly project milestones, are good places to look at the roadmap items.\n\nIf you have any questions, please contact us on [![Slack Status](https://img.shields.io/badge/slack-join_channel-ff69b4.svg)](http://slack.aptomi.io).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAptomi%2Fk8s-app-engine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAptomi%2Fk8s-app-engine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAptomi%2Fk8s-app-engine/lists"}