All Projects → logzio → Apollo

logzio / Apollo

Licence: apache-2.0
Apollo - The logz.io continuous deployment solution over kubernetes

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Apollo

Fabric8 Platform
Generates the distribution of the fabric8 microservices platform
Stars: ✭ 105 (-71.39%)
Mutual labels:  microservices, jenkins
Quiz
Example real time quiz application with .NET Core, React, DDD, Event Sourcing, Docker and built-in infrastructure for CI/CD with k8s, jenkins and helm
Stars: ✭ 100 (-72.75%)
Mutual labels:  microservices, jenkins
Restana
Super fast and minimalist framework for building REST micro-services.
Stars: ✭ 341 (-7.08%)
Mutual labels:  microservices
Threatmapper
Identify vulnerabilities in running containers, images, hosts and repositories
Stars: ✭ 361 (-1.63%)
Mutual labels:  jenkins
Atmosphere
Realtime Client Server Framework for the JVM, supporting WebSockets with Cross-Browser Fallbacks
Stars: ✭ 3,552 (+867.85%)
Mutual labels:  microservices
Microservices
micro 微服务实例教程,包含JWT鉴权、熔断、监控、链路追踪、健康检查、跨域等
Stars: ✭ 341 (-7.08%)
Mutual labels:  microservices
Cloudi
A Cloud at the lowest level!
Stars: ✭ 352 (-4.09%)
Mutual labels:  microservices
Hexagon
Hexagon is a microservices toolkit written in Kotlin. Its purpose is to ease the building of services (Web applications, APIs or queue consumers) that run inside a cloud platform.
Stars: ✭ 336 (-8.45%)
Mutual labels:  microservices
Connexion
Swagger/OpenAPI First framework for Python on top of Flask with automatic endpoint validation & OAuth2 support
Stars: ✭ 3,869 (+954.22%)
Mutual labels:  microservices
Eventhus
Go - CQRS / Event Sourcing made easy - Go
Stars: ✭ 350 (-4.63%)
Mutual labels:  microservices
Jenkins Backup Script
archive jenkins setting and plugins
Stars: ✭ 358 (-2.45%)
Mutual labels:  jenkins
Micro Frontends
extending the microservice paradigms to web development
Stars: ✭ 3,862 (+952.32%)
Mutual labels:  microservices
Docker Inbound Agent
Docker image for a Jenkins agent which can connect to Jenkins using TCP or Websocket protocols
Stars: ✭ 342 (-6.81%)
Mutual labels:  jenkins
Responder
A familiar HTTP Service Framework for Python.
Stars: ✭ 3,569 (+872.48%)
Mutual labels:  microservices
Spring Cloud Bus
Spring Cloud event bus
Stars: ✭ 342 (-6.81%)
Mutual labels:  microservices
Ddd Leaven Akka V2
Sample e-commerce system #Microservices #Akka #Reactive-DDD #CQRS
Stars: ✭ 362 (-1.36%)
Mutual labels:  microservices
Spring Boot Microservices Series
Code for SpringBoot MicroServices Blog Series
Stars: ✭ 338 (-7.9%)
Mutual labels:  microservices
Go Microservices
Golang Microservices Example
Stars: ✭ 345 (-5.99%)
Mutual labels:  microservices
Devops Guide
DevOps Guide - Development to Production all configurations with basic notes to debug efficiently.
Stars: ✭ 4,119 (+1022.34%)
Mutual labels:  jenkins
Wl Micro Frontends
Micro front end practical project tutorial. 微前端项目实战vue项目。基于vue3.0&qiankun2.0进阶版:https://github.com/wl-ui/wl-mfe
Stars: ✭ 366 (-0.27%)
Mutual labels:  microservices

Build Status

Apollo

What is Apollo?

Apollo is a simple, lightweight, Continuous Deployment (CD) solution on top of Kubernetes. Apollo can integrate with any existing building process you might have in place. All you need to do is notify it of a ready artifact, and that's it.

Apollo also provides restricted access on top of Kubernetes. Each user has fine-grained permissions, to ensure safe deployments.

Please refer to the Wiki for more extensive documentation.

Main Features

  • Deploy a combination of a Kubernetes deployments and services into a designated Kubernetes cluster and namespace.
  • View logs, revert deployments and get back to any point in time with just one click.
  • Manage multiple Kubernetes clusters and multiple namespaces in the same cluster.
  • Full permissions model for deployments. Each user can deploy only what he needs to deploy.
  • Live querying on Kubernetes to get the current status of the deployments. You can also view pods status, view logs from each pod, and restart each pod.
  • Full RESTful API and Java client to automate whatever you need, or deploy automatically.
  • Once initially deployed, you can deploy future versions of Apollo, using Apollo!

Deployment

Apollo Deployment

Getting logs of a running pod

Apollo Logs

Exec into a running pod

Apollo Shell

See ongoing deployments

Apollo Ongoing Deployments

Get full deployment history

Apollo Deployments History

Set up deployment blockers

Apollo Deployments Blockers

Run it

Apollo requires a HOCON format configuration file to get all of its resources. Configurations can be supplied as a Filesystem path or as a Consul Key.

Configuration example:

apollo {
  db {  # Self explanatory
    port = 3306
    host = "..."
    user = "apollo"
    password = "..."
    schema = "apollo"
  }

  api {
    listen = "0.0.0.0"  # Where should apollo backend listen
    port = 8081  # And on which port
    secret = "SuperTestingSecret"  # Secret to encrypt websessions with
  }

  kubernetes {
    monitoringFrequencySeconds = 5  # How frequent should the apollo's kubernetes monitoring thread check the deployment statuses
  }

  scm {
    githubLogin = ""  # Github user (in case you need private repositories access)
    githubOauthToken = ""  # Access token created in your user settings. Should have view access for private repos
  }
}

Under examples you can find a simple Docker Compose to help you set it up locally

cd examples/
docker-compose up -d

Contributing

Fork away, commit, and send a pull request.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].