Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add libre mainnet instance #801

Merged
merged 2 commits into from
Jul 4, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
134 changes: 134 additions & 0 deletions .github/workflows/deploy-libre.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
name: Build images for libre mainnet environment

on:
push:
tags:
- libre-v*

jobs:
create-libre-image:
runs-on: ubuntu-latest
environment: libre
steps:
- name: Checkout Repo
uses: actions/checkout@v2.4.0

- name: Setup Docker
uses: docker-practice/actions-setup-docker@1.0.8

- name: Log in to docker registry
run: |
echo ${{ secrets.DOCKER_HUB_PASSWORD }} | docker login \
--username ${{ secrets.DOCKER_HUB_USER }} \
--password-stdin

- name: 'step-log'
run: |
echo "github.ref: ${{github.ref}}"

- name: Build new images and push
run: |
make \
build-docker-images \
push-docker-images
env:
DOCKER_USERNAME: ${{ secrets.DOCKER_HUB_USER }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_HUB_PASSWORD }}
# webapp
PORT: '80'
REACT_APP_TITLE: 'Libre Network Dashboard'
REACT_APP_TAG: ${{github.ref}}
REACT_APP_DEFAULT_PRODUCER_LOGO: 'https://eosio.online/images/libre.png'
REACT_APP_FOOTER_LINKS: '[{ "text": "Bitcoin Libre Website", "src": "https://libre.org/" },{ "text": "Libre Block Explorer", "src": "https://libre-explorer.edenia.cloud/" },{"text": "Support","src": "#"},{"text": "Libre Network Monitor","src": "https://libre.eosio.online"}]'
REACT_APP_EOS_RATE_LINK: ''
REACT_APP_USE_REWARDS: 'false'
REACT_APP_USE_VOTES: 'false'
REACT_APP_USE_CPU_BENCHMARK: 'false'
REACT_APP_USE_BLOCK_PRODUCER_AGREEMENT_CONTRACT: 'true'
REACT_APP_HASURA_URL: 'https://graphql-libre.eosio.online/v1/graphql'
REACT_APP_EOS_API_NETWORK_NAME: 'libre'
REACT_APP_EOS_API_NETWORK_LABEL: 'Libre Mainnet'
REACT_APP_EOS_API_NETWORK_LOGO: 'https://eosio.online/images/libre.png'
REACT_APP_EOS_API_HOST: 'libre.edenia.cloud'
REACT_APP_EOS_API_PORT: '443'
REACT_APP_EOS_API_PROTOCOL: 'https'
REACT_APP_EOS_CHAIN_ID: '38b1d7815474d0c60683ecbea321d723e83f5da6ae5f1c1f9fecc69d9ba96465'
REACT_APP_EOS_DEFAULT_EXCHANGE_RATE: '1'
REACT_APP_EOS_DEFAULT_EXCHANGE_RATE_API: ''
REACT_APP_EOS_USE_BP_JSON_ON_CHAIN: 'false'
REACT_APP_EOS_BP_JSON_ON_CHAIN_CONTRACT: 'producerjson'
REACT_APP_EOS_BP_JSON_ON_CHAIN_TABLE: 'producerjson'
REACT_APP_EOS_BP_JSON_ON_CHAIN_SCOPE: 'producerjson'
REACT_APP_TOKEN_SYMBOL: ${{ secrets.REACT_APP_TOKEN_SYMBOL }}
REACT_APP_NETWORK_URL: ${{ secrets.REACT_APP_NETWORK_URL }}
REACT_APP_DISABLED_MENU_ITEMS: '["/missed-blocks", "/cpu-benchmark","/block-distribution"]'
REACT_APP_BLOCK_EXPLORER_URL: 'https://libre-explorer.edenia.cloud/transaction/(transaction)'
REACT_APP_STATE_HISTORY_ENABLED=: 'false'
REACT_APP_GOOGLE_ANALITIC_PAGE_ID: 'G-E6Y0EC9FT8'
REACT_APP_PUBLIC_RE_CAPTCHA_KEY: ${{ secrets.REACT_APP_PUBLIC_RE_CAPTCHA_KEY }}

- name: Build and deploy kubernetes files
id: build_kubernetes_files
run: |
make \
build-kubernetes
env:
# general
NAMESPACE: libre-dashboard
INGRESS_HOST: libre.eosio.online
INGRESS_GRAPHQL_HOST: graphql-libre.eosio.online
# webapp
REACT_APP_EOS_API_NETWORK_NAME: libre
# postgres
POSTGRES_USER: ${{ secrets.POSTGRES_USER }}
POSTGRES_PASSWORD: ${{ secrets.POSTGRES_PASSWORD }}
POSTGRES_DB: ${{ secrets.POSTGRES_DB }}
POSTGRES_DATA: ${{ secrets.POSTGRES_DATA }}
# hapi
HAPI_EOS_API_NETWORK_NAME: libre
HAPI_EOS_API_ENDPOINT: https://libre.edenia.cloud
HAPI_EOS_API_CHAIN_ID: 38b1d7815474d0c60683ecbea321d723e83f5da6ae5f1c1f9fecc69d9ba96465
HAPI_EOS_BASE_ACCOUNT: ${{ secrets.HAPI_EOS_BASE_ACCOUNT }}
HAPI_EOS_BASE_ACCOUNT_PASSWORD: ${{ secrets.HAPI_EOS_BASE_ACCOUNT_PASSWORD }}
HAPI_EOS_MECHANICS_ACCOUNT: ${{ secrets.HAPI_EOS_MECHANICS_ACCOUNT }}
HAPI_EOS_MECHANICS_PASSWORD: ${{ secrets.HAPI_EOS_MECHANICS_PASSWORD }}
HAPI_EOS_FAUCET_ACCOUNT_PASSWORD: ${{ secrets.HAPI_EOS_FAUCET_ACCOUNT_PASSWORD }}
GOOGLE_CREDENTIALS_JSON: ${{ secrets.GOOGLE_CREDENTIALS_JSON }}
HAPI_EOS_WALLET_URL: http://dashboard-wallet:8888
HAPI_EOS_BP_JSON_ON_CHAIN: 'false'
HAPI_EOS_BP_JSON_ON_CHAIN_CONTRACT: producerjson
HAPI_EOS_BP_JSON_ON_CHAIN_TABLE: producerjson
HAPI_EOS_BP_JSON_ON_CHAIN_SCOPE: producerjson
HAPI_HASURA_URL: 'http://dashboard-hasura:8080/v1/graphql'
HAPI_HASURA_ADMIN_SECRET: ${{ secrets.HAPI_HASURA_ADMIN_SECRET }}
HAPI_SERVER_PORT: '9090'
HAPI_SERVER_ADDRESS: '0.0.0.0'
HAPI_DATABASE_URL: ${{ secrets.HAPI_DATABASE_URL }}
HAPI_SYNC_PRODUCERS_INTERVAL: '86400'
HAPI_SYNC_PRODUCER_CPU_INTERVAL: '6'
HAPI_SYNC_PRODUCER_INFO_INTERVAL: '1'
HAPI_SYNC_SCHEDULE_HISTORY_INTERVAL: 86400
HAPI_EOS_EXCHANGE_RATE_API: 'https://api.coingecko.com/api/v3/simple/price?ids=btc&vs_currencies=usd'
HAPI_COINGECKO_API_TOKEN_ID: BTC
HAPI_REWARDS_TOKEN: LIBRE
HAPI_CREATE_ACCOUNT_ACTION_NAME: newaccount
HAPI_EOS_FAUCET_ACCOUNT: ${{ secrets.HAPI_EOS_FAUCET_ACCOUNT }}
GOOGLE_APPLICATION_CREDENTIALS: ${{ secrets.GOOGLE_APPLICATION_CREDENTIALS }}
HAPI_EOS_GET_FAUCET_ACCOUNT: ${{ secrets.HAPI_EOS_GET_FAUCET_ACCOUNT }}
HAPI_PUBLIC_RE_CAPTCHA_KEY: ${{ secrets.HAPI_PUBLIC_RE_CAPTCHA_KEY }}
HAPI_RE_CAPTCHA_PROJECT_ID: ${{ secrets.HAPI_RE_CAPTCHA_PROJECT_ID }}
# hasura
HASURA_GRAPHQL_ENABLE_CONSOLE: 'true'
HASURA_GRAPHQL_DATABASE_URL: ${{ secrets.HASURA_GRAPHQL_DATABASE_URL }}
HASURA_GRAPHQL_ADMIN_SECRET: ${{ secrets.HASURA_GRAPHQL_ADMIN_SECRET }}
HASURA_GRAPHQL_UNAUTHORIZED_ROLE: guest
HASURA_GRAPHQL_ACTION_BASE_URL: http://dashboard-hapi:9090

- name: Setup and deploy kubernetes environment
uses: steebchen/kubectl@v1.1.0
env:
KUBE_CONFIG_DATA: ${{ secrets.KUBE_CONFIG_DATA }}
NAMESPACE: libre-dashboard
K8S_BUILD_DIR: build_k8s
with:
args: version && make deploy-kubernetes
32 changes: 32 additions & 0 deletions webapp/src/language/en.libre.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{
"routes": {
"/>title": "Libre Mainnet Network Dashboard and Infrastructure Monitor",
"/cpu-benchmark>title": "CPU Benchmarks - Libre Mainnet Network Dashboard",
"/block-producers>title": "Block Producers - Libre Mainnet Network Dashboard",
"/rewards-distribution>title": "Rewards Distribution - Libre Mainnet Network Dashboard",
"/nodes>title": "Libre Mainnet Nodes Status Monitor",
"/nodes-distribution>title": "Geographic Distribution of Nodes - Libre Mainnet Network Dashboard",
"/accounts>title": "Accounts and Contracts - Libre Mainnet Network Dashboard",
"/bpjson>title": "BP JSON - Libre Mainnet Network Dashboard",
"/ricardian-contract>title": "BP Agreement - Libre Mainnet Network Dashboard",
"/block-distribution>title": "Block Production Distribution - Libre Mainnet Network Dashboard",
"/missed-blocks>title": "Missed Blocks - Libre Mainnet Network Dashboard",
"/endpoints>title": "API Endpoints - Libre Mainnet Network Dashboard",
"/about>title": "About - Libre Mainnet Network Dashboard",
"/help>title": "Help - Libre Mainnet Network Dashboard",
"/rewards-distribution>moreDescription": "BP daily rewards distribution by geographic location of paid block producers.",
"/bpjson>moreDescription": "A visual representation of the network’s current nodes.",
"/faucet>moreDescription": "This tool allows you to create an account and get LIBRE testnet tokens.",
"/node-config>moreDescription": "Use this tool to obtain example config files to help configure a new node on the network.",
"/ricardian-contract>moreDescription": "Read more about the Validator Node Agreement of this network. Contact us if you have any inquiries.",
"/>moreDescription": "Find data of blockchain networks using EOSIO technology. See more networks here: https://eosio.online/.",
"/cpu-benchmark>moreDescription": "A visualization of CPU usage in milliseconds by block producer nodes accounts, with lowest, highest, and average usage data.",
"/block-producers>moreDescription": "A list of the block producers in the network – blockchain accounts registered to run nodes on the network. It includes information from chain tables and their bp.json files.",
"/nodes>moreDescription": "A list of all the nodes run by entities comprising the network with specific information such as endpoints and location.",
"/endpoints>moreDescription": "An updated list of public API endpoints provided by node operators in the network.",
"/nodes-distribution>moreDescription": "A visualization of the geographic distribution of the nodes in this network.",
"/accounts>moreDescription": "This tool helps you seek information about network accounts and contracts. Type the name of a contract or account in the space provided to start searching. You’ll obtain the data of the contract actions, contract tables, scope, lower and upper bounds, and limits.",
"/block-distribution>moreDescription": "A visualization of the distribution of blocks produced by the nodes in the network.",
"/missed-blocks>moreDescription": "A list of scheduled, produced, and missed blocks by each account in the network."
}
}
31 changes: 31 additions & 0 deletions webapp/src/language/es.libre.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
{
"routes": {
"/>title": "Monitor de infraestructura y panel de control de red Libre Mainnet",
"/cpu-benchmark>title": "Benchmark de CPU - Panel",
"/block-producers>title": "Productores de Bloques - Panel",
"/rewards-distribution>title": "Distribución de recompensas - Panel",
"/nodes>title": "Nodos - Panel",
"/nodes-distribution>title": "Distribución Geográfica de Nodos",
"/accounts>title": "Cuentas y Contratos - Panel",
"/bpjson>title": "BP JSON - Panel",
"/ricardian-contract>title": "Acuerdo de Productor de Bloques - Libre Mainnet",
"/block-distribution>title": "Distribución de bloques - Libre Mainnet",
"/endpoints>title": "URL's - Libre Mainnet",
"/about>title": "Acerca de - Panel",
"/help>title": "Ayuda - Panel",
"/rewards-distribution>moreDescription": "Distribución diaria de recompensas de BP por ubicación geográfica de los productores de bloques pagados.",
"/bpjson>moreDescription": "Una representación visual de los nodos actuales de la red.",
"/faucet>moreDescription": "Esta herramienta permite crear cuentas y transferir tokens.",
"/node-config>moreDescription": "Utilice esta herramienta para obtener archivos de configuración de ejemplo para ayudar a configurar un nuevo nodo en la red.",
"/ricardian-contract>moreDescription": "Lea más sobre el Acuerdo de nodo de validación de esta red. Contáctenos si tiene alguna consulta.",
"/>moreDescription": "Encuentre datos de redes blockchain utilizando la tecnología EOSIO. Vea más redes aquí: https://eosio.online/.",
"/cpu-benchmark>moreDescription": "Una visualización del uso de CPU en milisegundos por cuentas de nodos productores de bloques, con datos de uso más bajos, más altos y promedio.",
"/block-producers>moreDescription": "Una lista de los productores de bloques en la red: cuentas de blockchain registradas para ejecutar nodos en la red. Incluye información de tablas en cadena y sus archivos bp.json.",
"/nodes>moreDescription": "Una lista de todos los nodos ejecutados por entidades que componen la red con información específica como puntos finales y ubicación.",
"/endpoints>moreDescription": "Una lista actualizada de los puntos finales de la API pública proporcionada por los operadores de nodos en la red.",
"/nodes-distribution>moreDescription": "Una visualización de la distribución geográfica de los nodos de esta red.",
"/accounts>moreDescription": "Esta herramienta le ayuda a buscar información sobre cuentas y contratos de la red. Escriba el nombre de un contrato o cuenta en el espacio provisto para comenzar a buscar. Obtendrá los datos de las acciones del contrato, tablas de contrato, alcance, límites superior e inferior y límites.",
"/block-distribution>moreDescription": "Una visualización de la distribución de bloques producida por los nodos de la red.",
"/missed-blocks>moreDescription": "Una lista de bloques programados, producidos y perdidos por cada cuenta en la red."
}
}