All Projects β†’ certusone β†’ testnet_deploy

certusone / testnet_deploy

Licence: other
Deployment scripts and monitoring configuration for a Cosmos Validator setup

Programming Languages

shell
77523 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to testnet deploy

cosmospy
Python tools for Cosmos wallet management and offline transaction signing
Stars: ✭ 57 (+200%)
Mutual labels:  cosmos, tendermint
arnold
πŸ‘·β€β™€οΈ Deploy your applications to Kubernetes with Ansible
Stars: ✭ 37 (+94.74%)
Mutual labels:  deployment, openshift
sommelier
Sommelier Chain
Stars: ✭ 64 (+236.84%)
Mutual labels:  cosmos, tendermint
Helloworld Msa
Main repository with documentation and support files
Stars: ✭ 218 (+1047.37%)
Mutual labels:  deployment, openshift
cosmonauts-world
Projects in the Cosmos and Tendermint ecosystem 🌌
Stars: ✭ 14 (-26.32%)
Mutual labels:  cosmos, tendermint
terra-rust
Rust <-> Terrad API via LCD service
Stars: ✭ 31 (+63.16%)
Mutual labels:  cosmos, tendermint
hypermint
Tendermint-based blockchain that supports WebAssembly smart contract
Stars: ✭ 55 (+189.47%)
Mutual labels:  tendermint
howto
Dumping ground for various HowTo documents that I produce
Stars: ✭ 58 (+205.26%)
Mutual labels:  deployment
vcredist
Lifecycle management for the Microsoft Visual C++ Redistributables
Stars: ✭ 91 (+378.95%)
Mutual labels:  deployment
capistrano-chewy
Chewy tasks and Elasticsearch indexes management with Capistrano
Stars: ✭ 14 (-26.32%)
Mutual labels:  deployment
rules ruby
Ruby Rules for Bazel. It is, perhaps, production-ready. This project builds atop the work of Yugui, whose original rules can be found at https://github.com/yugui/rules_ruby. Please be aware there is an active fork of this project maintained by Coinbase at https://github.com/coinbase/rules_ruby.
Stars: ✭ 85 (+347.37%)
Mutual labels:  deployment
onix
A reactive configuration manager designed to support Infrastructure as a Code provisioning, and bi-directional configuration management providing a single source of truth across multi-cloud environments.
Stars: ✭ 89 (+368.42%)
Mutual labels:  openshift
Savior
(WIP)The deployment framework aims to provide a simple, lightweight, fast integrated, pipelined deployment framework for algorithm service that ensures reliability, high concurrency and scalability of services.
Stars: ✭ 124 (+552.63%)
Mutual labels:  deployment
yoda
Simple tool to dockerize and manage deployment of your project
Stars: ✭ 69 (+263.16%)
Mutual labels:  deployment
End-to-End-Machine-Learning-Projects
This repository contains Machine Learning projects that involve the steps starting from data collection to deployment
Stars: ✭ 74 (+289.47%)
Mutual labels:  deployment
unity-now
β–² Vercel Now plugin for Unity. Deploy WebGL builds with ease
Stars: ✭ 21 (+10.53%)
Mutual labels:  deployment
kev
Develop Kubernetes apps iteratively with Docker-Compose
Stars: ✭ 61 (+221.05%)
Mutual labels:  deployment
Temps
Ξ» A selfhostable serverless function runtime. Inspired by zeit now.
Stars: ✭ 15 (-21.05%)
Mutual labels:  deployment
deploy
Deploy Development Builds of Open Cluster Management (OCM) on RedHat Openshift Container Platform
Stars: ✭ 133 (+600%)
Mutual labels:  openshift
create-truffle-dapp
Create and deploy Truffle projects with no configuration.
Stars: ✭ 17 (-10.53%)
Mutual labels:  deployment

testnet_deploy

This repo deploys a full Cosmos SDK testnet plus monitoring on a OpenShift Origin/okd.io Kubernetes cluster.

Requirements:

  • CentOS => 7.5
  • OpenShift Origin == 3.9

Subscribe to our newsletter for updates on this project, insights on the upcoming Game of Stakes and more.

Introduction

We recorded this video to guide you through the (one-click) setup of your own fully monitored Cosmos network and explain how the snippets and monitoring systems can be used.

Watch the video here

Also don't forget our validator knowledge base with important information about operations and monitoring.

Knowledgebase

The gaia_exporter, net_exporter and alerting tools are built from the chain_exporter repo. Please take usage instructions from the deployment scripts and commandline output.

Deploying an OpenShift Origin Cluster

Deploy an OpenShift Origin 3.9 cluster on CentOS 7:

yum -y install git docker tcpdump bridge-utils vim centos-release-openshift-origin39 epel-release
yum -y install origin origin-clients htop

cat <<EOF > /etc/sysconfig/docker
OPTIONS="--log-driver=journald --insecure-registry 172.30.0.0/16 --signature-verification=false"
EOF

systemctl enable docker
systemctl start docker

git clone https://github.com/openshift-evangelists/oc-cluster-wrapper

cat <<EOF >> ~/.bash_profile
export PATH=~/oc-cluster-wrapper:\$PATH
export OC_CLUSTER_PUBLIC_HOSTNAME=$(hostname -f)
export OC_CLUSTER_ROUTING_SUFFIX=apps.$(hostname --ip-address).nip.io
EOF

~/oc-cluster-wrapper/oc-cluster completion bash > /etc/bash_completion.d/oc-cluster.bash

Re-login once you’re done to make the auto-completion work. This is a non-production deployment of OpenShift and you can login via admin/admin. If you're running this on a publicly reachable host, make sure to properly configure your firewall to prevent the infamous Kubernetes Bitcoin mining botnet from assimilating your cluster:

Configure firewalld:

yum -y install firewalld
systemctl start firewalld
systemctl enable firewalld

firewall-cmd --permanent --new-zone admin
firewall-cmd --permanent --add-source=your_public_ip_to_whitelist/32 --zone=admin
firewall-cmd --permanent --add-port=8443/tcp --zone=admin
firewall-cmd --permanent --add-port=443/tcp --zone=admin

firewall-cmd --permanent --new-zone dockerc
firewall-cmd --permanent --zone dockerc --add-source 172.17.0.0/16
firewall-cmd --permanent --zone dockerc --add-port 8443/tcp
firewall-cmd --permanent --zone dockerc --add-port 53/udp
firewall-cmd --permanent --zone dockerc --add-port 8053/udp

firewall-cmd --permanent --add-masquerade --zone=public

firewall-cmd --reload

Finally, boot up your cluster:

oc-cluster up

You can now log into the web application using developer or admin/admin (https://<hostname>:8443), or log in using the CLI:

oc login https://<hostname>:8443 -u admin -p admin

(the admin user is cluster administrator, whereas the developer user isn’t)

Deploy our testnet

For Sentry alerts to work set the following variables:

monitoring/exporter/alerter.yml: Replace <INSERT_RAVEN_DSN> with the RAVEN_DSN URL of your (self-)hosted Sentry instance.

Also replace <INSERT_VAL_ADDRESS> in the same file with the address of your validator to allow alert filtering.

If you want alerts from your alertmanager:

monitoring/prometheus/prometheus.yml: Modify the alertmanager config according to the Prometheus docs

SSH into the OpenShift host, then login as admin:

oc login -u admin -p admin

Check out this repo:

git clone https://github.com/certusone/testnet_deploy
cd testnet_deploy

Create a new namespace/project:

oc new-project gaia-testnet

Either deploy just our testnet:

./deploy_testnet.sh

Or deploy everything, including our monitoring stack:

./deploy_all.sh

Wait a few minutes - you can watch it in the "Builds" section in the UI.

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].