diff --git a/defaults/main.yml b/defaults/main.yml index 691cbc1..40d7bbe 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -29,7 +29,7 @@ rocketpool_watchtower_metrics_port: 9104 rocketpool_eth2_engine_port: 58551 # Auto Init Vote Power limit (in gwei). Opt out by setting to 0. -votig_power_threshold: 0 +rocketpool_voting_power_threshold: 0 # Generated randomly if not set #rocketpool_password: ~ diff --git a/tasks/config.yml b/tasks/config.yml index b528b95..6bffa2e 100644 --- a/tasks/config.yml +++ b/tasks/config.yml @@ -14,34 +14,41 @@ # The user-settings.yml.j2 template was created based on the config created # by running this command during initial setup. Unnecessary unless upgrading. -#- name: Generate Rocketpool node config -# become_user: '{{ rocketpool_user }}' -# command: | -# /usr/local/bin/rocketpool-cli \ -# --config-path={{ rocketpool_service_path }} \ -# service config \ -# --enableMetrics=true \ -# --nodeMetricsPort={{ rocketpool_metrics_port }} \ -# --watchtowerMetricsPort={{ rocketpool_watchtower_metrics_port }} \ -# --smartnode-network=mainnet \ -# --smartnode-archiveECUrl={{ rocketpool_eth1_archive_url | mandatory }} \ -# --bnMetricsPort={{ rocketpool_eth2_metrics_port }} \ -# --smartnode-dataPath={{ rocketpool_data_path }} \ -# --executionClientMode=external \ -# --executionClient=geth \ -# --native-ecHttpUrl={{ rocketpool_eth1_exec_layer_rpc_url | mandatory }} \ -# --externalExecution-httpUrl={{ rocketpool_eth1_exec_layer_rpc_url | mandatory }} \ -# --externalExecution-wsUrl={{ rocketpool_eth1_exec_layer_ws_url | mandatory }} \ -# --consensusClientMode=external \ -# --consensusClient=nimbus \ -# --native-consensusClient=nimbus \ -# --consensusCommon-apiPort={{ rocketpool_eth2_rest_port }} \ -# --consensusCommon-graffiti={{ rocketpool_graffiti }} \ -# --native-ccHttpUrl=http://localhost:{{ rocketpool_eth2_rest_port }} \ -# --native-validatorRestartCommand={{ rocketpool_eth2_service_path }}/restart.sh \ -# --native-validatorStopCommand={{ rocketpool_eth2_service_path }}/stop.sh -# args: -# creates: '{{ rocketpool_service_path }}/user-settings.yml' +- name: Generate Rocketpool node config + become_user: '{{ rocketpool_user }}' + command: | + /usr/local/bin/rocketpool-cli \ + --config-path={{ rocketpool_service_path }} \ + service config \ + --enableMetrics=true \ + --nodeMetricsPort={{ rocketpool_metrics_port }} \ + --watchtowerMetricsPort={{ rocketpool_watchtower_metrics_port }} \ + --bnMetricsPort={{ rocketpool_eth2_metrics_port }} \ + --rpDir={{ rocketpool_service_path }} \ + --version={{ rocketpool_version }} \ + --smartnode-network=mainnet \ + --smartnode-archiveECUrl={{ rocketpool_eth1_archive_url | mandatory }} \ + --smartnode-dataPath={{ rocketpool_data_path }} \ + --smartnode-recordsPath={{ rocketpool_records_path }} \ + --smartnode-autoInitVPThreshold= {{ rocketpool_voting_power_threshold }} \ + --executionClientMode=external \ + --executionClient=geth \ + --externalExecution-httpUrl={{ rocketpool_eth1_exec_layer_rpc_url | mandatory }} \ + --externalExecution-wsUrl={{ rocketpool_eth1_exec_layer_ws_url | mandatory }} \ + --executionCommon-enginePort={{ rocketpool_eth2_engine_port }} \ + --consensusClientMode=external \ + --consensusClient=nimbus \ + --consensusCommon-apiPort={{ rocketpool_eth2_rest_port }} \ + --consensusCommon-graffiti={{ rocketpool_graffiti }} \ + --consensusCommon-p2pPort={{ rocketpool_eth2_libp2p_port }} \ + --isNative={{ rocketpool_is_native | lower }} \ + --native-ecHttpUrl={{ rocketpool_eth1_exec_layer_rpc_url | mandatory }} \ + --native-consensusClient=nimbus \ + --native-ccHttpUrl=http://localhost:{{ rocketpool_eth2_rest_port }} \ + --native-validatorRestartCommand={{ rocketpool_service_path }}/eth2-restart.sh \ + --native-validatorStopCommand={{ rocketpool_service_path }}/eth2-stop.sh + args: + creates: '{{ rocketpool_service_path }}/user-settings.yml' # If isNative is False, the daemon doesn't take the cli options - name: Check if the Native flag @@ -51,13 +58,6 @@ - rocketpool_is_native == True fail_msg: "The flag rocketpool_is_native should be set to true" -- name: Create node configuration - template: - src: 'user-settings.yml.j2' - dest: '{{ rocketpool_service_path }}/user-settings.yml' - owner: '{{ rocketpool_user }}' - mode: 0640 - - name: Create wrapper scripts template: src: 'scripts/{{ item }}.j2' diff --git a/templates/user-settings.yml.j2 b/templates/user-settings.yml.j2 deleted file mode 100644 index 9c4ea0f..0000000 --- a/templates/user-settings.yml.j2 +++ /dev/null @@ -1,238 +0,0 @@ -# WARNING: File initally generated with `rocketpool-cli service config`. -# See the `tasks/config.yml` for commented call that was used. -addons-gww: - additionalFlags: "" - containerTag: rocketpool/graffiti-wall-addon:v1.0.1 - enabled: "false" - inputUrl: https://cdn-rocketpool.s3.us-west-2.amazonaws.com/graffiti.json - updateInputTime: "600" - updatePixelTime: "60" - updateWallTime: "600" -addons-rescue-node: - enabled: "false" - password: "" - username: "" -alertmanager: - alertEnabled_ActiveSyncCommittee: "true" - alertEnabled_BeaconClientSyncComplete: "true" - alertEnabled_ClientSyncStatusBeacon: "true" - alertEnabled_ClientSyncStatusExecution: "true" - alertEnabled_ExecutionClientSyncComplete: "true" - alertEnabled_FeeRecipientChanged: "true" - alertEnabled_LowDiskSpaceCritical: "true" - alertEnabled_LowDiskSpaceWarning: "true" - alertEnabled_MinipoolBalanceDistributed: "true" - alertEnabled_MinipoolBondReduced: "true" - alertEnabled_MinipoolPromoted: "true" - alertEnabled_MinipoolStaked: "true" - alertEnabled_OSUpdatesAvailable: "true" - alertEnabled_RPUpdatesAvailable: "true" - alertEnabled_RecentProposal: "true" - alertEnabled_UpcomingProposal: "true" - alertEnabled_UpcomingSyncCommittee: "true" - containerTag: prom/alertmanager:v0.26.0 - discordWebhookURL: "" - enableAlerting: "true" - nativeModeHost: localhost - nativeModePort: "9093" - openPort: closed - port: "9093" -besu: - additionalFlags: "" - archiveMode: "false" - containerTag: hyperledger/besu:23.4.4 - jvmHeapSize: "0" - maxBackLayers: "512" - maxPeers: "25" -bitflyNodeMetrics: - bitflyEndpoint: https://beaconcha.in/api/v1/client/metrics - bitflyMachineName: Smartnode - bitflySecret: "" -consensusCommon: - apiPort: "{{ rocketpool_eth2_rest_port }}" - checkpointSyncUrl: "" - doppelgangerDetection: "true" - graffiti: {{ rocketpool_graffiti }} - openApiPort: closed - p2pPort: "{{ rocketpool_eth2_libp2p_port }}" -executionCommon: - enginePort: "58551" - ethstatsLabel: "" - ethstatsLogin: "" - httpPort: "8545" - openRpcPorts: closed - p2pPort: "30303" - wsPort: "8546" -exporter: - additionalFlags: "" - containerTag: prom/node-exporter:v1.6.0 - enableRootFs: "false" -externalExecution: - httpUrl: {{ rocketpool_eth1_exec_layer_rpc_url | mandatory }} - wsUrl: {{ rocketpool_eth1_exec_layer_ws_url | mandatory }} -externalLighthouse: - additionalVcFlags: "" - containerTag: sigp/lighthouse:v4.2.0-modern - doppelgangerDetection: "true" - graffiti: "" - httpUrl: "" -externalLodestar: - additionalVcFlags: "" - containerTag: chainsafe/lodestar:v1.9.2 - doppelgangerDetection: "true" - graffiti: "" - httpUrl: "" -externalNimbus: - additionalVcFlags: "" - containerTag: statusim/nimbus-validator-client:multiarch-v23.7.0 - doppelgangerDetection: "true" - graffiti: "" - httpUrl: "" -externalPrysm: - additionalVcFlags: "" - containerTag: prysmaticlabs/prysm-validator:HEAD-58df1f1-debug - doppelgangerDetection: "true" - graffiti: "" - httpUrl: "" - jsonRpcUrl: "" -externalTeku: - additionalVcFlags: "" - containerTag: consensys/teku:23.6.2 - doppelgangerDetection: "true" - graffiti: "" - httpUrl: "" -fallbackNormal: - ccHttpUrl: "" - ecHttpUrl: "" -fallbackPrysm: - ccHttpUrl: "" - ecHttpUrl: "" - jsonRpcUrl: "" -geth: - additionalFlags: "" - archiveMode: "false" - containerTag: ethereum/client-go:v1.12.0 - evmTimeout: "5" - maxPeers: "50" -grafana: - containerTag: grafana/grafana:9.4.13 - port: "3100" -lighthouse: - additionalBnFlags: "" - additionalVcFlags: "" - containerTag: sigp/lighthouse:v2.4.0-modern - maxPeers: "80" - p2pQuicPort: "8001" -lodestar: - additionalBnFlags: "" - additionalVcFlags: "" - containerTag: chainsafe/lodestar:v1.9.2 - maxPeers: "50" -mevBoost: - additionalFlags: "" - aestusEnabled: "false" - bloxRouteMaxProfitEnabled: "false" - bloxRouteRegulatedEnabled: "false" - containerTag: flashbots/mev-boost:1.6 - edenEnabled: "false" - enableRegulatedAllMev: "false" - enableUnregulatedAllMev: "false" - externalUrl: "" - flashbotsEnabled: "false" - mode: local - openRpcPort: closed - port: "18550" - selectionMode: profile - titanGlobalEnabled: "false" - titanRegionalEnabled: "false" - ultrasoundEnabled: "false" -native: - ccHttpUrl: http://localhost:{{ rocketpool_eth2_rest_port }} - consensusClient: nimbus - ecHttpUrl: {{ rocketpool_eth1_exec_layer_rpc_url | mandatory }} - validatorRestartCommand: {{ rocketpool_service_path }}/eth2-restart.sh - validatorStopCommand: {{ rocketpool_service_path }}/eth2-stop.sh -nethermind: - additionalFlags: "" - additionalModules: "" - additionalUrls: "" - cache: "1024" - containerTag: nethermind/nethermind:1.20.1 - fullPruneMemoryBudget: "1024" - fullPruningThresholdMb: "307200" - maxPeers: "50" - pruneMemSize: "1024" -nimbus: - additionalBnFlags: "" - additionalVcFlags: "" - bnContainerTag: statusim/nimbus-eth2:multiarch-v23.7.0 - containerTag: statusim/nimbus-validator-client:multiarch-v23.7.0 - maxPeers: "160" - pruningMode: archive -prometheus: - additionalFlags: "" - containerTag: prom/prometheus:v2.45.0 - openPort: closed - port: "9091" -prysm: - additionalBnFlags: "" - additionalVcFlags: "" - bnContainerTag: prysmaticlabs/prysm-beacon-chain:HEAD-58df1f1-debug - maxPeers: "45" - openRpcPort: closed - rpcPort: "5053" - vcContainerTag: prysmaticlabs/prysm-validator:HEAD-58df1f1-debug -reth: - additionalFlags: "" - archiveMode: "false" - cache: "256" - containerTag: ghcr.io/paradigmxyz/reth:v0.1.0-alpha.20 - maxPeers: "50" -root: - bnMetricsPort: "{{ rocketpool_eth2_metrics_port }}" - consensusClient: nimbus - consensusClientMode: external - ecMetricsPort: "9105" - enableBitflyNodeMetrics: "false" - enableMetrics: "true" - enableMevBoost: "false" - enableODaoMetrics: "false" - executionClient: geth - executionClientMode: external - exporterMetricsPort: "9103" - externalConsensusClient: lighthouse - isNative: "{{ rocketpool_is_native | lower }}" - nodeMetricsPort: "{{ rocketpool_metrics_port }}" - reconnectDelay: 60s - rpDir: {{ rocketpool_service_path }} - useFallbackClients: "false" - vcMetricsPort: "9101" - version: {{ rocketpool_version }} - watchtowerMetricsPort: "{{ rocketpool_watchtower_metrics_port }}" -smartnode: - archiveECUrl: {{ rocketpool_eth1_archive_url | mandatory }} - checkpointRetentionLimit: "200" - dataPath: {{ rocketpool_data_path }} - distributeThreshold: "1" - manualMaxFee: "0" - minipoolStakeGasThreshold: "150" - network: mainnet - priceBalanceSubmissionReferenceTimestamp: "1713420000" - priorityFee: "2" - projectName: rocketpool - recordCheckpointInterval: "45" - recordsPath: {{ rocketpool_records_path }} - rewardsTreeCustomUrl: "" - rewardsTreeMode: download - useRollingRecords: "false" - verifyProposals: "false" - watchtowerMaxFeeOverride: "200" - watchtowerPrioFeeOverride: "3" -teku: - additionalBnFlags: "" - additionalVcFlags: "" - archiveMode: "false" - containerTag: consensys/teku:23.6.2 - jvmHeapSize: "0" - maxPeers: "100" - useSlashingProtection: "true"