Merge pull request #16 from PegaSysEng/cleanup-config

General configuration fixups
pull/17/head
Edward 5 years ago committed by GitHub
commit 1cf24b171a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 3
      README.md
  2. 18
      filter_plugins/besu_filters.py
  3. 4
      templates/besu.service.j2
  4. 5
      templates/config.toml.j2

@ -51,6 +51,7 @@ All variables which can be overridden are stored in [defaults/main.yml](defaults
| `besu_identity` | ___unset___ | Configuration of Identity in the Client ID | | `besu_identity` | ___unset___ | Configuration of Identity in the Client ID |
| `besu_host_ip` | "" | The host IP that Besu uses for the P2P network. This specifies the host on which P2P listens | | `besu_host_ip` | "" | The host IP that Besu uses for the P2P network. This specifies the host on which P2P listens |
| `besu_default_ip` | "{{ default(ansible_host) \| default('127.0.0.1') }}" | The fallback default for `besu_host_ip` | | `besu_default_ip` | "{{ default(ansible_host) \| default('127.0.0.1') }}" | The fallback default for `besu_host_ip` |
| `besu_max_peers` | ___unset___ | The maximum number of P2P connections you can establish |
| `besu_network` | mainnet | The network that this node will join. Other values are 'ropsten', 'rinkeby', 'goerli', 'dev' and 'custom' | | `besu_network` | mainnet | The network that this node will join. Other values are 'ropsten', 'rinkeby', 'goerli', 'dev' and 'custom' |
| `besu_genesis_path` | ___unset___ | The path to the genesis file, only valid when `besu_network` is `custom` | | `besu_genesis_path` | ___unset___ | The path to the genesis file, only valid when `besu_network` is `custom` |
| `besu_sync_mode` | FAST | Specifies the synchronization mode. Other values are 'FULL' | | `besu_sync_mode` | FAST | Specifies the synchronization mode. Other values are 'FULL' |
@ -81,7 +82,7 @@ All variables which can be overridden are stored in [defaults/main.yml](defaults
| `besu_permissions_accounts_contract_address` | ___unset___ | The contract address for onchain accounts permissioning | | `besu_permissions_accounts_contract_address` | ___unset___ | The contract address for onchain accounts permissioning |
| `besu_permissions_nodes_contract_address` | ___unset___ | The contract address for onchain nodes permissioning | | `besu_permissions_nodes_contract_address` | ___unset___ | The contract address for onchain nodes permissioning |
| `besu_cmdline_args` | "" | Command line args that are passed in as overrides | | `besu_cmdline_args` | "" | Command line args that are passed in as overrides |
| `besu_env_opts` | "" | Environmental variable BESU_OPTS that gets passed to the JVM. eg: -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 | | `besu_env_opts` | [] | Settings passed to the JVM through `BESU_OPTS` environment variable. eg: `-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005` |
| `orion_version` | ___unset___ | Version of Orion installed. When supplied, adds required privacy config items and requires `orion_config_dir` and `orion_key_name` to be set | | `orion_version` | ___unset___ | Version of Orion installed. When supplied, adds required privacy config items and requires `orion_config_dir` and `orion_key_name` to be set |
| `orion_config_dir` | ___unset___ | Path to Orion configuration directory | | `orion_config_dir` | ___unset___ | Path to Orion configuration directory |
| `orion_key_name` | ___unset___ | Name of the Node Key | | `orion_key_name` | ___unset___ | Name of the Node Key |

@ -0,0 +1,18 @@
#! /usr/bin/env python
from typing import Union, List
class FilterModule(object):
def filters(self):
return {
'besu_opts_format': self.besuOptsFormat,
}
def besuOptsFormat(self, besu_env_opts: Union[str, List[str]]):
if isinstance(besu_env_opts, str):
besu_env_opts = besu_env_opts.split()
escaped_besu_env_opts = [item.replace('"', '\\"') for item in besu_env_opts]
return f'''"{'" "'.join(escaped_besu_env_opts)}"'''

@ -9,10 +9,10 @@ Environment=HOME=/home/{{ besu_user }}
{% if besu_log4j_config_file %} {% if besu_log4j_config_file %}
Environment=LOG4J_CONFIGURATION_FILE={{ besu_log4j_config_file }} Environment=LOG4J_CONFIGURATION_FILE={{ besu_log4j_config_file }}
{% endif %} {% endif %}
Environment=BESU_OPTS={{ besu_env_opts }} Environment='BESU_OPTS={{ besu_env_opts|besu_opts_format }}'
Type=simple Type=simple
{% if besu_cmdline_args %} {% if besu_cmdline_args %}
ExecStart=/bin/sh -c "{{ besu_current_dir }}/bin/besu --config-file={{ besu_config_dir }}/config.toml {{ besu_cmdline_args }} >> {{besu_log_dir}}/besu.log 2>&1" ExecStart=/bin/sh -c "{{ besu_current_dir }}/bin/besu --config-file={{ besu_config_dir }}/config.toml {{ besu_cmdline_args|quote }} >> {{besu_log_dir}}/besu.log 2>&1"
{% else %} {% else %}
ExecStart=/bin/sh -c "{{ besu_current_dir }}/bin/besu --config-file={{ besu_config_dir }}/config.toml >> {{besu_log_dir}}/besu.log 2>&1" ExecStart=/bin/sh -c "{{ besu_current_dir }}/bin/besu --config-file={{ besu_config_dir }}/config.toml >> {{besu_log_dir}}/besu.log 2>&1"
{% endif %} {% endif %}

@ -60,6 +60,9 @@ graphql-http-cors-origins=[{{besu_graphql_http_cors_origins|map('to_json')|join(
p2p-host="{{besu_host_ip}}" p2p-host="{{besu_host_ip}}"
{% endif %} {% endif %}
p2p-port={{besu_p2p_port}} p2p-port={{besu_p2p_port}}
{% if besu_max_peers is defined %}
max_peers={{besu_max_peers}}
{% endif %}
# metrics # metrics
metrics-enabled=true metrics-enabled=true
@ -92,7 +95,7 @@ permissions-nodes-contract-address="{{ besu_permissions_nodes_contract_address }
{% if besu_bootnodes|length > 0 %} {% if besu_bootnodes|length > 0 %}
# bootnodes # bootnodes
bootnodes={{besu_bootnodes}} bootnodes=[{{besu_bootnodes|map('to_json')|join(',')}}]
{% endif %} {% endif %}
{% if orion_version is defined %} {% if orion_version is defined %}

Loading…
Cancel
Save