8000 GitHub - hitachienergy/epiphany at v0.3
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
This repository was archived by the owner on May 12, 2025. It is now read-only.

hitachienergy/epiphany

 
 

Repository files navigation

⚠️UNSUPPORTED AS OF 01 Jul 2020⚠️

For up-to-date Epiphany version lifecycle information check here.

Documentation

Overview

Epiphany at its core is a full automation of Kubernetes and Docker plus additional builtin services/components like:

  • Kafka or RabbitMQ for high speed messaging/events
  • Prometheus and Alertmanager for monitoring with Graphana for visualization
  • Elasticsearch and Kibana for centralized logging
  • HAProxy for loadbalancing
  • Postgress for storage
  • KeyCloak for authentication

Epiphany can run on as few as one node (laptop, desktop, server) but the real value comes from running 3 or more nodes for scale and HA. Nodes can be added or removed at will depending on data in the manifest. Everything is data driven so simply changing the manifest data and running the automation will modify the environment.

We currently use Terraform and Ansible for our automation orchestration. All automation is idempotent so you can run it as many times as you wish and it will maintain the same state unless you change the data. If someone makes a "snow flake" change to the environment (you should never do this) then simply running the automation again will put the environment back to the desired state.

Legacy note

In Epiphany 0.3 a new CLI tool was introduced (epicli) for deploying and managing clusters and currently supports AWS and bare metal deployment. Azure support will be added soon in a subsequent release but for now if you are in need for deploying a cluster on Azure use the older Legacy engine.

Quickstart

Epicli

Use the following command to see a full run-down of all commands and flags:

epicli --help

Generate a new minimum cluster definition:

epicli init -p aws -n demo

This minimum file definition is fine to start with, if you need more control over the infrastructure created you can also create a full definition:

epicli init -p aws -n demo --full

You will need to modify a few values (like you AWS secrets, directory path for ssh keys). Once you are done done with demo.yaml you can start cluster deployment by executing with:

epicli apply -f demo.yaml

Find more information using table of contents below - especially the How-to guides.

Legacy

Fork the epiphany repository and modify the yaml's under core/data/ directory. For example in data/azure/infrastructure/epiphany-playground/basic-data.yaml file you will need to modify a few values (like you Azure subscription name, directory path for ssh keys). Once you are done done with basic-data.yaml you can execute Epiphany with the command:

./epiphany -a -b -i -f infrastructure/epiphany-playground -t infrastructure/epiphany-template

This setup works on a simplified file that is fine to start with, if you need more control over the infrastructure created you should look at data/azure/infrastructure/epiphany-bld-apps/data.yaml. Execution of this full profile would look like:

./epiphany -a -b -i -f infrastructure/epiphany-bld-apps

Find more information using table of contents below - especially the How-to guides.

Documentation

Packages

 
 
 

Contributors 28

0