Skip to content

Commit

Permalink
move beta2.0-bloxssv to stable (#446)
Browse files Browse the repository at this point in the history
* REFACTOR:serviceLink ui

* ADD: Validator Import for Teku and fixed some issues

* FIX: jest test

* add sudo

* ADD: validator added to importing key

* ADD: options icons added to staking,
fixed #338

* ADD: grafana browser window added

* ADD:ssv browser window added

* ADD: Dynamic services browser window added

* UPDATE: debug dynamic charts with the server (#364)

* ADD: ssv network registration form

* ADD: ssv register btn

* UPDATE: ram component is live and dynamic (#366)

* ADD: ssv registration input

* ADD:bootrsrap-vue added

* ADD:select option tag added to choose operator

* ADD:bottstrap conficts fixed

* REFACTOR: ssv modal css fixed

* FIX:conflict

* REFACTOR:uncomment

* ADD:ssv modal click event

* FIX:conflict

* ADD: check for necessary password change (#365)

* FIX: FormSetup (#369)

* FIX: removing unexpected file

* FIX: added missing config file

* ADD: copy dashboard.yml for grafana

* FIX: removing unexpected files

* FIX: integration tests, and serviceLinks not rendering

* FIX: readme up-to-date

* FIX: integration tests, and serviceLinks not rendering (#373)

* EDIT: new grafana dashboards for Teku & Nimbus (#375)

* EDIT: remove old dashboard

* ADD: nimbus dashboard

* EDIT: remove old dashboard

* ADD: teku dashboard

* ADD: checking dashboard.yml

* FIX: syntax error

* FIX: integration tests

* FIX: Integration tests

* remove dashboard

* update grafana dashboard

* check dashboard

* ADD: patches for updates

* UPDATE: storage component wired to the server without error (#382)

* UPDATE: storage load bar connected

* UPDATE: free storage value wired to the server

* UPDATE: total storage value wired to the server

* ADD: docker cleanup after updates #334

* FIX: ssh listening ports #333

* ADD: delete-validator(s) with API for Lighthouse, Nimbus, Prysm and Teku. Execution layer - Geth (#389)

* ADD: Delete validator(s)-API

* ADD: Delete validator(s)-API into molecule test

* FIX: monitor-nimbus verify

* ADD: Geth -> molecule test

* ADD: Geth

* FIX: nimbus's dashboard (#391)

* UPADTE: IPs of Test-VMs

* REFACTOR: Migrating from VueX to Pinia (#393)

* FIX:formSetup

fixing deleted func

* REMOVE:bootstrap

* ADD:pinia added

* REFACTOR:service icons size fixed

* ADD:ssv routing page

* ADD: ssv pubkey copy

* REFACTOR: ssv pub key registeration

* ADD: connecting animation & copy pubkey functions

* ADD: animation box

* ADD:SSV registeration form done

* ADD: pinia & pinia store created

* REFACTOR:migration to pinia - step 2

* ADD:node & nodeManage pinia state managment

* ADD: nodeHeader & nodeManage added to store

* ADD: service pinia added to store

* ADD:services edit option added

* DELETE:VueX forlders removed

* REFACTOR:vuex replaced completely with pinia,all datas moved,vuex deleted

* REFACTOR: pinia store tested

* DELETE:Useless files

* FIX: chnage state to writable, fixed Fix structure of vuex store #319

* REFACTOR: store

Co-authored-by: Martin Platajs <platajs.martin@gmail.com>

* DELETE: vuex from dependencies

* UPDATE: Network component wired (#395)

* UPDATE: receiving data value wired to the server

* UPDATE: transmit data value wired to the server

* Update: calling more function just in one (#396)

* ADD:exchange plugins ui

* ADD:exchange plugin client functionality

* All control panel functions were grouped into one function (#398)

* ADD:change client

* REFACTOR:plugins row icon changed

* UPDATE: Clean cod to create groups for wiring methods (#400)

* UPDATE: Clean cod to create groups for wiring methods

* Debug: cpu error solved

* ADD:tutorial first step icons

* ADD: video comp and first video added

* UPDATE: nimbus grafana dashboard (#403)

* UPDATE: Debug and error handling (#401)

* ADD: OneClickInstallation of BLOX SSV (#412)

* FIX: use curl docker img instead of ansible (#394)

* FIX: use curl docker img instead of ansible

* FIX: docker user usage for curl

* update: npm restarted for pinia instalation

* FIX: cleanup;use centralized version vars for test

* FIX: allow to omit port setting for services #397

* ADD: support import of multile validator accounts

* FIX: use template instead of copy

* FIX: use version vars;remove api ports;service tag

* FIX: resolve issue with prysm api token & param

* FIX: use correct teku tag

* FIX: use correct test data

* FIX: remove unnecessary service port

* FIX: use hetzner Falkenstein instead of Finland

* FIX: use big enough VM for teku (memory issues)

* FIX: api delete key for prysm refactoring

* FIX: update nimbus for validator api fix

* FIX: only log response data

* FIX: update teku

* FIX: api delete validator using curl

Co-authored-by: mabasian <54101509+mabasian@users.noreply.github.com>

* FIX: verify for molecule validator apis

* ADD:first step video ready to play

* ADD: close btn for first step video

* FIX: update readme (#411)

* FIX: molecule tests now use versions of defaults

* REFACTOR:Validator box changed size

* ADD: molecule monitor-geth
FIX: molecule docker img versions

* ADD: molecule test monitor-bloxssv

* FIX: clean code

* FIX: monitor-nimbus test

* FIX: ssv-key-generator test

* FIX: manage-service ssv tests

* UPDATE: one SSH tunnel for all charts (#418)

* ADD: execution clients - Besu, Nethermind (#420)

* ADD: besu, nethermind to molecule test

* ADD: besu

* ADD: nethermind

* UPDATE: besu img

* FIX: lighthouse img path

* FIX: molecule github actions, ssv-key-generator config overwrite (#423)

* FIX: github molecule actions

* FIX: #422 modify, don't overwrite ssv service conf

* ADD: List validator accounts (#424)

* ADD: validator-list-api + lighthouse test

* FIX: github molecule actions

* ADD: validator-list-api nimbus test

* ADD: validator-list-api prysm test

* ADD: validator-list-api teku test

* FIX: use ubuntu 22.04

* FIX: add validator-list-api tests to github action

* FIX: ssv-key-generator writes correct key-values (#425)

* FIX: automatic import of grafana dashboards (#426)

* UPDATE: grafana dashboard for nimbus

* FIX: automatic import of grafana dashboards

* FIX: data structure in store (#431)

* FIX: data structure in store

* fix jest

* FIX: molecule tests (#432)

* FIX: molecule manage-service ssv-prysm

* FIX: molecule validator-delete-api prysm

* FIX:Validator & sidebar UI (#435)

* FIX:Validator key UI fixed

* REFACTOR: routing pages in navbar changed

* FIX:validator styles fixed

* FIX:nodeManage some styles changed

* FIX: sidebar ui fixed

* FIX:sidebar icons

* UPDATE: Validator Import and Validator Listing (#434)

* UPDATE: Validator Import and Validator Listing

* fix some bugs

* last fixes

* FIX: prometheus docker network alias #370 (#436)

* FIX: Integration Tests (#437)

* ADD: Start&Stop Service (#438)

* ADD: Update confirmation modal (#440)

* FIX: node & node manage ui fixed

* ADD:Update modal added

* FIX: grafana dashboard for nimbus (#441)

* ADD: updating Stereum and Services, fix nimbus dashboard (#444)

* Minor ReadMe Enhancements (#439)

* Update Readme-Visually

Minor changes/inserted a banner - hope you like it, guys.

* Update README.md

* Update README.md

Fixed with feedback. Threw most unnecessary stuff out.

* Update README.md

* ADD: Besu, Nethermind and add 1 click preset (#443)

* FIX: update version (#445)

Co-authored-by: maxbehzadi82 <69126271+maxbehzadi82@users.noreply.github.com>
Co-authored-by: Martin Platajs <platajs.martin@gmail.com>
Co-authored-by: mabasian <54101509+mabasian@users.noreply.github.com>
Co-authored-by: NeoPlays <80448387+NeoPlays@users.noreply.github.com>
Co-authored-by: gbayasgalan <bayasgalan.gantumur@rocklogic.at>
Co-authored-by: gbayasgalan <73820006+gbayasgalan@users.noreply.github.com>
Co-authored-by: daGscheid <82385103+daGscheid@users.noreply.github.com>
  • Loading branch information
8 people authored Jun 24, 2022
1 parent 118e050 commit e36b76e
Show file tree
Hide file tree
Showing 360 changed files with 38,958 additions and 18,518 deletions.
13 changes: 13 additions & 0 deletions .github/workflows/test-molecule.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,27 @@ jobs:
{role: "manage-service", test: "ssv-nimbus", delay: 40},
{role: "manage-service", test: "ssv-teku", delay: 50},
{role: "manage-service", test: "ssv-prysm", delay: 60},
{role: "manage-service", test: "monitor-geth", delay: 20},
{role: "manage-service", test: "monitor-bloxssv", delay: 15},
{role: "manage-service", test: "monitor-lighthouse", delay: 70},
{role: "manage-service", test: "monitor-nimbus", delay: 80},
{role: "manage-service", test: "monitor-prysm", delay: 85},
{role: "manage-service", test: "monitor-teku", delay: 90},
{role: "manage-service", test: "geth", delay: 45},
{role: "manage-service", test: "besu", delay: 55},
{role: "manage-service", test: "nethermind", delay: 65},
{role: "validator-import-api", test: "lighthouse", delay: 95},
{role: "validator-import-api", test: "nimbus", delay: 100},
{role: "validator-import-api", test: "prysm", delay: 105},
{role: "validator-import-api", test: "teku", delay: 110},
{role: "validator-delete-api", test: "lighthouse", delay: 115},
{role: "validator-delete-api", test: "nimbus", delay: 120},
{role: "validator-delete-api", test: "prysm", delay: 125},
{role: "validator-delete-api", test: "teku", delay: 130},
{role: "validator-list-api", test: "lighthouse", delay: 115},
{role: "validator-list-api", test: "nimbus", delay: 120},
{role: "validator-list-api", test: "prysm", delay: 125},
{role: "validator-list-api", test: "teku", delay: 130},
{role: "configure-updates", test: "default", delay: 1},
{role: "configure-updates", test: "no-unattended-updates", delay: 1},
{role: "setup", test: "default", delay: 1},
Expand Down
64 changes: 52 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,31 @@
# Stereum 2.0
![GitHub - Stereum 2 0 - ReadMe](https://user-images.githubusercontent.com/82385103/175423093-03d28d7b-3c2e-44b7-8be1-7f2a5946fcc6.png)

[![Support Server](https://img.shields.io/badge/Discord-Stereum-blue)](https://discord.gg/8Znj8K6GjN) [![Support Email](https://img.shields.io/badge/Email-Stereum-brightgreen)](mailto:stereum@stereum.net)
---

This repository contains the code and scripts for ~~[Stereum 2.0](https://stereum.net/ethereum-node/)~~ (tba), an [Ethereum](https://ethereum.org/) node setup and management software with focus on self sovereignity, privacy and flexibility.
[![Support Server](https://img.shields.io/badge/Discord-Stereum-blue?style=flat-square)](https://discord.gg/8Znj8K6GjN) [![Support Email](https://img.shields.io/badge/Email-Stereum-brightgreen?style=flat-square)](mailto:stereum@stereum.net)

---
This repository contains the code and scripts for Stereum 2.0


🍄 Stereum manages the process of setting up & maintaining an Ethereum node for you with a focus on self sovereignty, privacy and flexibility.

🍄 Stereum 2.0 aims to be the most flexible way to leverage your Ethereum node for staking, data science, development or your own personal use case. We hope to explore every hermit’s dream with you!

🍄 With Stereum you are able to participate in the Ethereum network and its various protocols (like SSV)!


## Get Started
After installing the launcher start it up and connect to a server of your choice. Take a look at the ~~[guide](https://stereum.net/ethereum-node/)~~ (tba) to find out what server operating systems are supported and what you can do with Stereum!

## Download
[![GitHub release (latest by date)](https://img.shields.io/github/v/release/stereum-dev/ethereum-node?color=%23a1c1ad&style=for-the-badge)](https://github.com/stereum-dev/ethereum-node/releases/tag/v2.0.0-betasolo)

## Get Started
Pre-built software packages are available on our [website](https://stereum.net/). After installing the launcher start it up and connect to a server of your choice. Take a look at the ~~[guide](https://stereum.net/ethereum-node/)~~ (tba) to find out what server operating systems are supported and what you can do with Stereum!

## Contribute
Want to get involved? Create a pull request and we'll have a look at it!

Not sure? Then visit us on [Discord](https://discord.gg/8Znj8K6GjN) or drop us an email to [stereum@stereum.net](mailto:stereum@stereum.net).
Not sure how to help or where to start? Then visit us on [Discord](https://discord.gg/8Znj8K6GjN) or drop us an email to [stereum@stereum.net](mailto:stereum@stereum.net).

## Branches
### `main`
Expand All @@ -26,17 +41,42 @@ For development, automated tests running for each commit and merge.
- [![Build: Release](https://github.com/stereum-dev/ethereum-node/actions/workflows/electron.yaml/badge.svg)](https://github.com/stereum-dev/ethereum-node/actions/workflows/electron.yaml) Building Stereum Launcher

### `stable`
~~released code~~ not yet in use
Stable version of launcher for build from source & stable version of controls for the launcher to install on the host system.


## Milestones
Milestones build on top of the features of previous milestones.

- [![alpha2.0](https://img.shields.io/badge/milestone-alpha2.0-green)](https://github.com/stereum-dev/ethereum-node/milestone/1): First release of Stereum 2.0 with the goal to connect to a server and run services. Not properly useable for any use-case yet.
- [![beta2.0-solo](https://img.shields.io/badge/milestone-beta2.0--solo-orange)](https://github.com/stereum-dev/ethereum-node/milestone/2): Suitable for testnet, supporting use cases:
- [![alpha2.0](https://img.shields.io/badge/milestone-alpha2.0-green?style=flat-square)](https://github.com/stereum-dev/ethereum-node/milestone/1): First release of Stereum 2.0 with the goal to connect to a server and run services. Not properly useable for any use-case yet.
- [![beta2.0-solo](https://img.shields.io/badge/milestone-beta2.0--solo-green?style=flat-square)](https://github.com/stereum-dev/ethereum-node/milestone/2): Suitable for testnet, supporting use cases:
- Solo staking: Staking validator accounts on Lighthouse, Nimbus, Prysm and Teku
- Basic monitoring capabilities
- [![beta2.0-bloxssv](https://img.shields.io/badge/milestone-beta2.0--bloxssv-inactive)](https://github.com/stereum-dev/ethereum-node/milestone/3): Suitable for testnet, supporting use cases:
- [![beta2.0-bloxssv](https://img.shields.io/badge/milestone-beta2.0--bloxssv-orange?style=flat-square)](https://github.com/stereum-dev/ethereum-node/milestone/3): Suitable for testnet, adding e. g. use cases & features:
- Blox SSV: Setup an operator and connect to Lighthouse, Nimbus, Prysm or Teku
- ![stable2.0](https://img.shields.io/badge/milestone-stable2.0-inactive): Suitable for mainnet, supporting main use cases
- i18n support
- Blox SSV dashboard
- Fix Grafana dashboards
- Besu support
- Nethermind support
- Update button
- [![beta2.0-stack](https://img.shields.io/badge/milestone-beta2.0--stack-inactive?style=flat-square)](https://github.com/stereum-dev/ethereum-node/milestone/4): Suitable for testnet, adding e. g. use cases & features:
- Advanced service configuration by user ("Expert Mode")
- Install latest versions
- Update services
- Validator account stats
- Technical documentation (preparation for security audit)
- Enhanced plugin actions via mouse over menu
- ![unnamed](https://img.shields.io/badge/milestone-unnamed-inactive?style=flat-square): Suitable for testnet, adding use cases & features:
- tba

### Goal
- ![stable2.0](https://img.shields.io/badge/milestone-stable2.0-inactive?style=flat-square): Suitable for mainnet, supporting main use cases
- i18n support
- in-launcher tutorials
- flexible selection of services
- switch clients/networks on the fly
- multiple exeuction/consensus clients
- ssv support (blox/obol)
- one-click-installation
- enhanced slashing protection on import
- naming & grouping validators
- unattended updates
22 changes: 21 additions & 1 deletion controls/defaults/stereum_defaults.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,24 @@ stereum_static:
updates:
lane: stable
unattended:
install: false
install: false
versions:
# consensus clients
lighthouse: v2.3.1
nimbus: multiarch-v22.6.0
teku: "22.6.0"
prysm: v2.1.2

# execution clients
geth: v1.10.19
besu: "22.4.3"
nethermind: "1.13.2"

# ssv
blox_ssv: v0.2.0

# tools
curl: "7.83.1"
grafana: "8.5.6"
node_exporter: v1.3.1
prometheus: v2.36.2
16 changes: 16 additions & 0 deletions controls/finishUpdate.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
- name: "finishUpdate"
hosts: localhost
vars_files:
- defaults/stereum_defaults.yaml # stereum_static
- /etc/stereum/stereum.yaml # stereum_settings

tasks:
# merge default config with node's config
- set_fact:
stereum: "{{ stereum_settings | combine(stereum_static, recursive=True) }}"

- debug:
msg: "applied all patches"

#EOF
25 changes: 13 additions & 12 deletions controls/roles/configure-firewall/tasks/ufw.yaml
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
---
- name: Read ssh port
shell: "grep ^Port /etc/ssh/sshd_config | tr -dc '0-9'"
register: grep_ssh_port
changed_when: false
- name: read ssh ports
shell: /usr/sbin/sshd -T|awk '/^port|listenaddress\s/ {num = split($2, arr, ":"); print arr[num]}'|sort -u
register: ssh_ports_config

- name: Find ssh port
- name: set fact ssh ports
set_fact:
common_ssh_port: "{{ grep_ssh_port.stdout }}"
when: grep_ssh_port.stdout|length > 0
common_ssh_ports: "{{ ssh_ports_config.stdout_lines }}"
when: ssh_ports_config.stdout_lines | length > 0

- name: Set default ssh port
- name: set fact ssh ports
set_fact:
common_ssh_port: 22
when: grep_ssh_port.stdout|length == 0
common_ssh_ports:
- "22"
when: ssh_ports_config.stdout | length == 0

- name: Firewall enable & deny incoming
ufw:
Expand All @@ -22,12 +22,13 @@
environment:
PATH: /sbin:{{ ansible_env.PATH }}

- name: Firewall allow ssh
- name: Firewall allow ssh ports
ufw:
direction: in
rule: allow
port: "{{ common_ssh_port | string }}"
port: "{{ item }}"
proto: tcp
with_items: "{{ common_ssh_ports }}"
environment:
PATH: /sbin:{{ ansible_env.PATH }}

Expand Down
5 changes: 4 additions & 1 deletion controls/roles/fastsync/molecule/default/prepare.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@
beacon_service: 9024aec6-12a8-456a-8096-ee7ef6f67167

tasks:
- set_fact:
stereum: "{{ stereum_static }}"

- name: Install python for Ansible (Ubuntu)
raw: apt update && apt install -y pip
become: true
Expand All @@ -34,7 +37,7 @@
content: |
name: lighthouse
id: "{{ beacon_service }}"
image: sigp/lighthouse:v2.1.2
image: "sigp/lighthouse:{{ stereum_static.defaults.versions.lighthouse }}"
env: {}
ports:
- 0.0.0.0:9000:9000/tcp
Expand Down
Loading

0 comments on commit e36b76e

Please sign in to comment.