Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 401
Aggregator ansible#1387
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
Uh oh!
There was an error while loading. Please reload this page.
Aggregator ansible #1387
Changes from all commits
4172aa6d45921ff0777fbf98ccac3ebf89501ea554dbdf94ad17162dd44ac44f640339497cf0f405b611a12924fb1ac3030fb1117ba159ce23e37419816bef64242f3590bd7e1697986cdbd2d4e1b4b0488ca83aab51d4f077cccca4ea64ae399e1756f33773ada0e3879cb708dbb94e4722a4508b8b61dbdd119c4f3a0f1fcbd67f1febe38bb62d0572e5e725bb0ecee54e95e3471fdd02a272c66905dc46353445c27b7668eba851d374565c88fd237465fe7ac964ab20eee2c39ff1781e2bffbd5cbd5ee24d1c9342207172bddf83f955b89b054a7298aff13e57a84b88dea1d5e4ec6294590f119364c20f647b9d1af89efccecc30c1a328793491e8f548e8407db1ed4b3213681737e7ea2264075569cb7b558c5f86File filter
Filter by extension
Conversations
Uh oh!
There was an error while loading. Please reload this page.
Jump to
Uh oh!
There was an error while loading. Please reload this page.
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
Uh oh!
There was an error while loading. Please reload this page.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,116 @@ | ||
| - name: Run setup playbook | ||
| ansible.builtin.import_playbook: setup.yaml | ||
| vars: | ||
| host: aggregator | ||
| - name: Run go playbook | ||
| ansible.builtin.import_playbook: go.yaml | ||
| vars: | ||
| host: aggregator | ||
| - hosts: aggregator | ||
| vars: | ||
| service: "aggregator" | ||
| tasks: | ||
| - name: Update apt and install required system packages | ||
| become: true | ||
| apt: | ||
| pkg: | ||
| - pkg-config | ||
| - libssl-dev | ||
| state: latest | ||
| update_cache: true | ||
| vars: | ||
| ansible_ssh_user: "{{ admin_user }}" | ||
| - name: Create directories for each service if do not exist | ||
| file: | ||
| path: /home/{{ ansible_user }}/repos/{{ service }} | ||
| state: directory | ||
| mode: '0755' | ||
| owner: '{{ ansible_user }}' | ||
| group: '{{ ansible_user }}' | ||
| loop: | ||
| - aggregator | ||
| - name: Clone Aligned repository | ||
| git: | ||
| repo: https://github.com/yetanotherco/aligned_layer.git | ||
| dest: /home/{{ ansible_user }}/repos/{{ service }}/aligned_layer | ||
| version: v0.10.2 | ||
| loop: | ||
| - aggregator | ||
| - name: Set permissions for cloned repository | ||
| file: | ||
| path: /home/{{ ansible_user }}/repos/{{ service }}/aligned_layer | ||
| mode: '0755' | ||
| owner: '{{ ansible_user }}' | ||
| group: '{{ ansible_user }}' | ||
| recurse: yes | ||
| - name: Copy ECDSA keystore to server | ||
| copy: | ||
| src: '{{ ecdsa_keystore_path }}' | ||
| dest: /home/{{ ansible_user }}/.keystores/aggregator.ecdsa | ||
| owner: '{{ ansible_user }}' | ||
| group: '{{ ansible_user }}' | ||
| - name: Copy BLS keystore to server | ||
| copy: | ||
| src: '{{ bls_keystore_path }}' | ||
| dest: /home/{{ ansible_user }}/.keystores/aggregator.bls | ||
| owner: '{{ ansible_user }}' | ||
| group: '{{ ansible_user }}' | ||
| - name: Build aggregator | ||
| shell: | ||
| chdir: /home/{{ ansible_user }}/repos/aggregator/aligned_layer/ | ||
| cmd: /usr/local/go/bin/go build -o /home/{{ ansible_user }}/repos/aggregator/aligned_layer/build/aligned-aggregator /home/{{ ansible_user }}/repos/aggregator/aligned_layer/aggregator/cmd/main.go | ||
| - name: Upload config file for aggregator | ||
| template: | ||
| src: config-files/config-aggregator.yaml.j2 | ||
| dest: "/home/{{ ansible_user }}/config/config-aggregator.yaml" | ||
| vars: | ||
| aligned_layer_deployment_config_file_path: "{{ lookup('ini', 'aligned_layer_deployment_config_file_path', file='ini/config-aggregator.ini') }}" | ||
| eigen_layer_deployment_config_file_path: "{{ lookup('ini', 'eigen_layer_deployment_config_file_path', file='ini/config-aggregator.ini') }}" | ||
| eth_rpc_url: "{{ lookup('ini', 'eth_rpc_url', file='ini/config-aggregator.ini') }}" | ||
| eth_rpc_url_fallback: "{{ lookup('ini', 'eth_rpc_url_fallback', file='ini/config-aggregator.ini') }}" | ||
| eth_ws_url: "{{ lookup('ini', 'eth_ws_url', file='ini/config-aggregator.ini') }}" | ||
| eth_ws_url_fallback: "{{ lookup('ini', 'eth_ws_url_fallback', file='ini/config-aggregator.ini') }}" | ||
| ecdsa_private_key_store_path: "{{ lookup('ini', 'ecdsa_private_key_store_path', file='ini/config-aggregator.ini') }}" | ||
| ecdsa_private_key_store_password: "{{ lookup('ini', 'ecdsa_private_key_store_password', file='ini/config-aggregator.ini') }}" | ||
| bls_private_key_store_path: "{{ lookup('ini', 'bls_private_key_store_path', file='ini/config-aggregator.ini') }}" | ||
| bls_private_key_store_password: "{{ lookup('ini', 'bls_private_key_store_password', file='ini/config-aggregator.ini') }}" | ||
MarcosNicolau marked this conversation as resolved.
Uh oh!There was an error while loading. Please reload this page. | ||
| enable_metrics: "{{ lookup('ini', 'enable_metrics', file='ini/config-aggregator.ini') }}" | ||
| metrics_ip_port_address: "{{ lookup('ini', 'metrics_ip_port_address', file='ini/config-aggregator.ini') }}" | ||
| telemetry_ip_port_address: "{{ lookup('ini', 'telemetry_ip_port_address', file='ini/config-aggregator.ini') }}" | ||
| - name: Allow access to tcp port 8090 | ||
| become: true | ||
| ufw: | ||
| rule: allow | ||
| port: 8090 | ||
| proto: tcp | ||
| vars: | ||
| ansible_ssh_user: "{{ admin_user }}" | ||
| - name: Create systemd services directory | ||
| file: | ||
| path: "/home/{{ ansible_user }}/.config/systemd/user/" | ||
| state: directory | ||
| - name: Add service to systemd | ||
| template: | ||
| src: services/aggregator.service.j2 | ||
| dest: "/home/{{ ansible_user }}/.config/systemd/user/aggregator.service" | ||
| force: no | ||
| - name: Start aggregator service | ||
| systemd_service: | ||
JuArce marked this conversation as resolved.
Uh oh!There was an error while loading. Please reload this page. | ||
| name: aggregator | ||
| state: started | ||
| enabled: true | ||
| scope: user | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,14 @@ | ||
| [global] | ||
| aligned_layer_deployment_config_file_path= | ||
| eigen_layer_deployment_config_file_path= | ||
| eth_rpc_url= | ||
| eth_rpc_url_fallback= | ||
| eth_ws_url= | ||
| eth_ws_url_fallback= | ||
| ecdsa_private_key_store_path= | ||
| ecdsa_private_key_store_password= | ||
| bls_private_key_store_path= | ||
| bls_private_key_store_password= | ||
| enable_metrics= | ||
| metrics_ip_port_address= | ||
| telemetry_ip_port_address= |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,32 @@ | ||
| # Common variables for all the services | ||
| # 'production' only prints info and above. 'development' also prints debug | ||
| environment: "production" | ||
| aligned_layer_deployment_config_file_path: "{{ aligned_layer_deployment_config_file_path }}" | ||
| eigen_layer_deployment_config_file_path: "{{ eigen_layer_deployment_config_file_path }}" | ||
| eth_rpc_url: "{{ eth_rpc_url }}" | ||
| eth_rpc_url_fallback: "{{ eth_rpc_url_fallback }}" | ||
| eth_ws_url: "{{ eth_ws_url }}" | ||
| eth_ws_url_fallback: "{{ eth_ws_url_fallback }}" | ||
| eigen_metrics_ip_port_address: "localhost:9090" | ||
| ## ECDSA Configurations | ||
| ecdsa: | ||
| private_key_store_path: "{{ ecdsa_private_key_store_path }}" | ||
| private_key_store_password: "{{ ecdsa_private_key_store_password }}" | ||
| ## BLS Configurations | ||
| bls: | ||
| private_key_store_path: "{{ bls_private_key_store_path }}" | ||
| private_key_store_password: "{{ bls_private_key_store_password }}" | ||
| ## Aggregator Configurations | ||
| aggregator: | ||
| server_ip_port_address: localhost:8090 | ||
| bls_public_key_compendium_address: | ||
| avs_service_manager_address: | ||
| enable_metrics: {{ enable_metrics }} | ||
| metrics_ip_port_address: "{{ metrics_ip_port_address }}" | ||
| telemetry_ip_port_address: "{{ telemetry_ip_port_address }}" | ||
| garbage_collector_period: 2m #The period of the GC process. Suggested value for Prod: '168h' (7 days) | ||
| garbage_collector_tasks_age: 20 #The age of tasks that will be removed by the GC, in blocks. Suggested value for prod: '216000' (30 days) | ||
| garbage_collector_tasks_interval: 10 #The interval of queried blocks to get an old batch. Suggested value for prod: '900' (3 hours) |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,15 @@ | ||
| [Unit] | ||
| Description=Aggregator | ||
| After=network.target | ||
| [Service] | ||
| Type=simple | ||
| WorkingDirectory=/home/{{ ansible_user }}/repos/aggregator/aligned_layer/aggregator | ||
| ExecStart=/home/{{ ansible_user }}/repos/aggregator/aligned_layer/build/aligned-aggregator --config /home/{{ ansible_user }}/config/config-aggregator.yaml | ||
| Restart=always | ||
| RestartSec=1 | ||
| StartLimitBurst=100 | ||
| LimitNOFILE=100000 | ||
| [Install] | ||
| WantedBy=multi-user.target |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,9 +1,9 @@ | ||
| aggregator: | ||
| hosts: | ||
| aligned-holesky-aggregator-1: | ||
| ansible_host: aligned-ansible | ||
| ansible_user: admin | ||
| app_user: app | ||
| ansible_host: aligned-holesky-stage-1-aggregator | ||
| admin_user: admin | ||
| ansible_user: app | ||
samoht9277 marked this conversation as resolved.
Uh oh!There was an error while loading. Please reload this page. | ||
| ansible_python_interpreter: /usr/bin/python3 | ||
| batcher: | ||
| hosts: | ||
Uh oh!
There was an error while loading. Please reload this page.