Linux provisioning scripts + application deployment tools. Suitable for self-hosting and hobby-scale application deployments.

Apollo

Linux provisioning scripts + application deployment tools. Suitable for self-hosting and hobby-scale application deployments.

Philosophy

  • Linux-native: Apollo tools delegate logic to native Linux programs as much as possible.
  • Small and easy to understand: As a collary, apollo tools are small, have minimal logic, and are easy to understand.
  • Modular: Apollo tools can each be used standalone and run independently.
  • Collaborating: Apollo tools can also collaborate via small, well-defined and Linux-native interfaces.
  • Automation tools, not a platform: Apollo tools automate what human operators would do in a Linux environment. It's not a platform that exceeds operators' "expectations" and do extra things.
  • Single-tenant: Apollo tools, even collaborating, only host one logical application per machine. Projects such as Dokku and CapRover focuses on hosting multiple applications per machine, which I think makes their tools more complex, their applications more resource-competing and less fault-tolerant.
  • Self-hosted software friendly: By basing on Linux instead of higher level of abstractions such as Kubernetes, apollo tools are more suitable for self-hosted software which sometimes does not provide Kubernetes or even Docker deployment options.
  • Open for customization: By basing on Linux, it is also easier to make ad-hoc customizations to your machines and applications if needed.

Features

  • Linux Provisioning and Security Setup (one-time)
  • Linux Monitoring (continuous)
  • Application Deployment (one-time)
  • Continuous Deployment (continuous)
    • Application types
      • Private non-Docker workload
      • Public Docker workload
      • Public non-Docker workload
    • Workload types
      • Web
      • Pre-deploy
      • Background
  • Environment and Secret Injection (continuous)
  • Logging (continuous)
  • Database Provisioning
    • Types
      • MongoDB
      • Postgres
      • Redis
      • ElasticSearch
    • Tasks
      • Provisioning (one-time)
      • Auto injection (continuous)
      • Backup (continuous)
      • Restore (one-time)
  • Reverse Proxy Provisioning
    • Types
      • Caddy
      • Nginx
    • Tasks
      • Provisioning (one-time)
  • Application Monitoring (continuous)
Similar Resources

Docker Swarm Ingress service based on OpenResty with automatic Let's Encrypt SSL provisioning

Ingress Service for Docker Swarm Swarm Ingress OpenResty is a ingress service for Docker in Swarm mode that makes deploying microservices easy. It con

Jun 23, 2022

No YAML deployments to K8s

no-yaml No YAML deployments to K8s with following approaches: Pulumi NAML cdk8s We will deploy the 📨 🚚 CNCF App Delivery SIG Demo podtato-head and u

Dec 27, 2022

Dynamically provisioning persistent local storage with Kubernetes

Local Path Provisioner Overview Local Path Provisioner provides a way for the Kubernetes users to utilize the local storage in each node. Based on the

Jan 4, 2023

Easy cloud instance provisioning

post-init (work in progress) Post-Init is a set of tools that allows you to easily connect to, provision, and interact with cloud instances after they

Dec 6, 2021

A Packer plugin for provisioning with Terraform (local)

Packer Plugin Terraform Inspired by Megan Marsh's talk https://www.hashicorp.com/resources/extending-packer I bit the bullet and started making my own

Nov 23, 2022

Custom Terraform provider that allows provisioning VGS Proxy Routes.

VGS Terraform Provider Custom Terraform provider that allows provisioning VGS Proxy Routes. How to Install Requirements: terraform ver 0.12 or later M

Mar 12, 2022

Extensible Provisioning Protocol (EPP) in Go

EPP for Go Extensible Provisioning Protocol (EPP) for Go. EPP is an XML-based protocol for provisioning and managing domain names and other objects at

Jan 18, 2022

Karpenter: an open-source node provisioning project built for Kubernetes

Karpenter: an open-source node provisioning project built for Kubernetes

Karpenter is an open-source node provisioning project built for Kubernetes. Its goal is to improve the efficiency and cost of running workloads on Kub

Dec 1, 2022

Hermit manages isolated, self-bootstrapping sets of tools in software projects.

Hermit - uniform tooling for Linux and Mac Hermit installs tools for software projects in self-contained, isolated sets, so your team, your contributo

Jan 3, 2023
Related tags
Progressive delivery Kubernetes operator (Canary, A/B Testing and Blue/Green deployments)
Progressive delivery Kubernetes operator (Canary, A/B Testing and Blue/Green deployments)

flagger Flagger is a progressive delivery tool that automates the release process for applications running on Kubernetes. It reduces the risk of intro

Jan 5, 2023
A controller managing namespaces deployments, statefulsets and cronjobs objects. Inspired by kube-downscaler.

kube-ns-suspender Kubernetes controller managing namespaces life cycle. kube-ns-suspender Goal Usage Internals The watcher The suspender Flags Resourc

Dec 27, 2022
FaaSNet: Scalable and Fast Provisioning of Custom Serverless Container Runtimes at Alibaba Cloud Function Compute (USENIX ATC'21)

FaaSNet FaaSNet is the first system that provides an end-to-end, integrated solution for FaaS-optimized container runtime provisioning. FaaSNet uses l

Jan 2, 2023
A kubernetes controller that watches the Deployments and “caches” the images
A kubernetes controller that watches the Deployments and “caches” the images

image-cloner This is just an exercise. It's a kubernetes controller that watches

Dec 20, 2021
A Kubernetes operator that allows for automatic provisioning and distribution of cert-manager certs across namespaces

cached-certificate-operator CachedCertificate Workflow When a CachedCertificate is created or updated the operator does the following: Check for a val

Sep 6, 2022
Go Hosting Solution for AWS, Google Could and Digital Ocean
Go Hosting Solution for AWS, Google Could and Digital Ocean

Furnace Intro Brief Explanation Here is a very short description of what Furnace does in a handy IKEA manual format. In More Depth AWS Cloud Formation

Jan 3, 2023
A Go based deployment tool that allows the users to deploy the web application on the server using SSH information and pem file.

A Go based deployment tool that allows the users to deploy the web application on the server using SSH information and pem file. This application is intend for non tecnhincal users they can just open the GUI and given the server details just deploy.

Oct 16, 2021
A Simple and Comprehensive Vulnerability Scanner for Container Images, Git Repositories and Filesystems. Suitable for CI
A Simple and Comprehensive Vulnerability Scanner for Container Images, Git Repositories and Filesystems. Suitable for CI

A Simple and Comprehensive Vulnerability Scanner for Containers and other Artifacts, Suitable for CI. Table of Contents Abstract Features Installation

Jan 1, 2023
CSI Driver for dynamic provisioning of Persistent Local Volumes for Kubernetes using LVM.
CSI Driver for dynamic provisioning of Persistent Local Volumes for Kubernetes using LVM.

OpenEBS LVM CSI Driver CSI driver for provisioning Local PVs backed by LVM and more. Project Status Currently the LVM CSI Driver is in alpha

Dec 24, 2022
🚥 See the status of your vercel deployments on the pimoroni blinkt!

verpi ?? See the status of your vercel deployments on the pimoroni blinkt! verpi ?? Demo ?? Setup your own version ?? Getting the parts ?? Install the

May 22, 2022