From bcd911e1c6e3dc8819f4f5c3e9ba9e066d829e10 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 25 Nov 2025 22:02:11 +0000 Subject: [PATCH 1/3] Initial plan From 348a7c45345f3f3047a27058bb49e7076740ae9e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 25 Nov 2025 22:11:02 +0000 Subject: [PATCH 2/3] Address PR feedback: consolidate files, update terminology, and fix configuration Co-authored-by: pid1 <4173362+pid1@users.noreply.github.com> --- .ansible/roles/netdata | 1 + .github/CODEOWNERS | 2 +- .gitignore | 4 ---- defaults/main.yml | 7 ++++--- handlers/main.yml | 4 ++++ tasks/configure-linux.yml | 12 +----------- tasks/install-debian.yml | 7 +++++-- tasks/install-opensuse.yml | 4 ++-- tasks/install-ubuntu.yml | 37 ------------------------------------- tasks/main.yml | 12 ++++++------ tasks/node_claim.yml | 2 +- templates/claim.conf.j2 | 1 - vars/main.yml | 2 -- 13 files changed, 25 insertions(+), 70 deletions(-) create mode 120000 .ansible/roles/netdata delete mode 100644 .gitignore delete mode 100644 tasks/install-ubuntu.yml delete mode 100644 vars/main.yml diff --git a/.ansible/roles/netdata b/.ansible/roles/netdata new file mode 120000 index 0000000..8f9dba4 --- /dev/null +++ b/.ansible/roles/netdata @@ -0,0 +1 @@ +/home/runner/work/netdata-ansible/netdata-ansible \ No newline at end of file diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 4f00793..a582e31 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,3 +1,3 @@ -# For the time being, @Ferroin is responsible for everything here +# For the time being, @Ferroin is responsible for everything here. * @netdata/agent-sre diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 46364c1..0000000 --- a/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -.vscode -hosts -ansible.cfg -.swp diff --git a/defaults/main.yml b/defaults/main.yml index d427f76..d44fd73 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -1,8 +1,9 @@ --- -role_version: 1.0.0 +role_version: 0.1.0 -# Define the Netdata release version we install -netdata_release_version: "stable" +# Define the Netdata release channel we install +# Supported values: stable, edge, nightly (alias for edge) +netdata_release_channel: "stable" # Define if we manage the Netdata configuration netdata_manage_config: false diff --git a/handlers/main.yml b/handlers/main.yml index 9479aa5..acc5c65 100644 --- a/handlers/main.yml +++ b/handlers/main.yml @@ -6,3 +6,7 @@ daemon_reload: true enabled: true when: ansible_service_mgr == "systemd" + +- name: Reload Netdata claiming state + ansible.builtin.command: netdatacli reload-claiming-state + changed_when: true diff --git a/tasks/configure-linux.yml b/tasks/configure-linux.yml index 512c428..6a26576 100644 --- a/tasks/configure-linux.yml +++ b/tasks/configure-linux.yml @@ -5,7 +5,7 @@ owner: root group: netdata mode: '0644' - when: + when: - netdata_manage_config - netdata_custom_config_path != "" notify: Restart Netdata @@ -24,16 +24,6 @@ - netdata_go_collector_plugins is defined and netdata_go_collector_plugins|length > 0 notify: Restart Netdata -- name: Lay down charts.d.conf - ansible.builtin.copy: - content: 'enable_all_charts="yes"' - dest: "/etc/netdata/charts.d.conf" - owner: root - group: netdata - mode: '0644' - when: netdata_manage_charts - notify: Restart Netdata - - name: Process all Jinja2 chart templates ansible.builtin.template: src: "{{ item }}" diff --git a/tasks/install-debian.yml b/tasks/install-debian.yml index 46baa89..56b2386 100644 --- a/tasks/install-debian.yml +++ b/tasks/install-debian.yml @@ -14,13 +14,16 @@ - name: Install Netdata repo key. ansible.builtin.apt_key: url: "{{ netdata_repository_key_url }}" + id: "9DD4A74CECFA8F4F" state: present - name: Add repository ansible.builtin.apt_repository: filename: "netdata" - repo: | - deb {{ netdata_repository_url }}{{ netdata_release_version }}/{{ ansible_facts.distribution | lower }}/ {{ ansible_distribution_release | lower }}/ + repo: >- + deb {{ netdata_repository_url }}{{ netdata_release_channel_normalized }}/ + {{ ansible_facts.distribution | lower }}/ + {{ ansible_distribution_release | lower }}/ state: present - name: Install package diff --git a/tasks/install-opensuse.yml b/tasks/install-opensuse.yml index 499dcb9..2dbe964 100644 --- a/tasks/install-opensuse.yml +++ b/tasks/install-opensuse.yml @@ -24,14 +24,14 @@ - name: Add repository community.general.zypper_repository: name: "netdata" - repo: "{{ netdata_repository_url }}{{ netdata_release_version }}/opensuse/$releasever/$basearch" + repo: "{{ netdata_repository_url }}{{ netdata_release_channel_normalized }}/opensuse/$releasever/$basearch" state: present auto_import_keys: true - name: Add repository configuration community.general.zypper_repository: name: "netdata-repoconfig" - repo: "{{ netdata_repository_url }}{{ netdata_release_version }}/opensuse/$releasever/$basearch" + repo: "{{ netdata_repository_url }}{{ netdata_release_channel_normalized }}/opensuse/$releasever/$basearch" state: present auto_import_keys: true diff --git a/tasks/install-ubuntu.yml b/tasks/install-ubuntu.yml deleted file mode 100644 index 3e88788..0000000 --- a/tasks/install-ubuntu.yml +++ /dev/null @@ -1,37 +0,0 @@ ---- - -- name: Add repo and install package - block: - - - name: Ensure gpg is installed. - ansible.builtin.apt: - name: gnupg - state: present - update_cache: true - - - name: Install Netdata repo key. - ansible.builtin.apt_key: - url: "{{ netdata_repository_key_url }}" - state: present - - - name: Add repository - ansible.builtin.apt_repository: - filename: "netdata" - repo: | - deb {{ netdata_repository_url }}{{ netdata_release_version }}/{{ ansible_facts.distribution | lower }}/ {{ ansible_distribution_release | lower }}/ - state: present - - - name: Install package - ansible.builtin.apt: - name: "netdata" - state: present - install_recommends: true - update_cache: true - notify: Restart Netdata - - - name: Install chart support if enabled - ansible.builtin.apt: - name: "netdata-plugin-chartsd" - state: present - notify: Restart Netdata - when: netdata_manage_charts diff --git a/tasks/main.yml b/tasks/main.yml index f58f37a..2d8df9d 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -3,13 +3,13 @@ - name: Gather facts ansible.builtin.setup: -- name: Install the Netdata Linux agent on Debian - ansible.builtin.include_tasks: install-debian.yml - when: "'debian' in ansible_facts.distribution | lower" +- name: Normalize release channel (nightly -> edge) + ansible.builtin.set_fact: + netdata_release_channel_normalized: "{{ 'edge' if netdata_release_channel == 'nightly' else netdata_release_channel }}" -- name: Install the Netdata Linux agent on Ubuntu - ansible.builtin.include_tasks: install-ubuntu.yml - when: "'ubuntu' in ansible_facts.distribution | lower" +- name: Install the Netdata Linux agent on Debian/Ubuntu + ansible.builtin.include_tasks: install-debian.yml + when: "'debian' in ansible_facts.distribution | lower or 'ubuntu' in ansible_facts.distribution | lower" - name: Install the Netdata Linux agent on OpenSUSE ansible.builtin.include_tasks: install-opensuse.yml diff --git a/tasks/node_claim.yml b/tasks/node_claim.yml index 2733169..1413282 100644 --- a/tasks/node_claim.yml +++ b/tasks/node_claim.yml @@ -7,4 +7,4 @@ owner: root group: root mode: '0644' - notify: Restart Netdata + notify: Reload Netdata claiming state diff --git a/templates/claim.conf.j2 b/templates/claim.conf.j2 index 7d266c0..1cef24c 100644 --- a/templates/claim.conf.j2 +++ b/templates/claim.conf.j2 @@ -5,4 +5,3 @@ {% if netdata_proxy %} proxy = {{ netdata_proxy }} {% endif %} - insecure = 'no' diff --git a/vars/main.yml b/vars/main.yml deleted file mode 100644 index 01ab1e4..0000000 --- a/vars/main.yml +++ /dev/null @@ -1,2 +0,0 @@ ---- -# vars file for role From 7987cd7ede47ffe0dc63feb08743a5552dbe3c15 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 25 Nov 2025 22:13:51 +0000 Subject: [PATCH 3/3] Address code review feedback: fix operator precedence, error handling, and line length Co-authored-by: pid1 <4173362+pid1@users.noreply.github.com> --- handlers/main.yml | 1 + tasks/install-debian.yml | 9 +++++---- tasks/main.yml | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/handlers/main.yml b/handlers/main.yml index acc5c65..52fdf94 100644 --- a/handlers/main.yml +++ b/handlers/main.yml @@ -10,3 +10,4 @@ - name: Reload Netdata claiming state ansible.builtin.command: netdatacli reload-claiming-state changed_when: true + failed_when: false diff --git a/tasks/install-debian.yml b/tasks/install-debian.yml index 56b2386..d317980 100644 --- a/tasks/install-debian.yml +++ b/tasks/install-debian.yml @@ -5,6 +5,10 @@ # Debian + - name: Set repository URL + ansible.builtin.set_fact: + netdata_repo_url: "{{ netdata_repository_url }}{{ netdata_release_channel_normalized }}/{{ ansible_facts.distribution | lower }}/" + - name: Ensure gpg is installed. ansible.builtin.apt: name: gnupg @@ -20,10 +24,7 @@ - name: Add repository ansible.builtin.apt_repository: filename: "netdata" - repo: >- - deb {{ netdata_repository_url }}{{ netdata_release_channel_normalized }}/ - {{ ansible_facts.distribution | lower }}/ - {{ ansible_distribution_release | lower }}/ + repo: "deb {{ netdata_repo_url }} {{ ansible_distribution_release | lower }}/" state: present - name: Install package diff --git a/tasks/main.yml b/tasks/main.yml index 2d8df9d..d87013b 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -9,7 +9,7 @@ - name: Install the Netdata Linux agent on Debian/Ubuntu ansible.builtin.include_tasks: install-debian.yml - when: "'debian' in ansible_facts.distribution | lower or 'ubuntu' in ansible_facts.distribution | lower" + when: "('debian' in ansible_facts.distribution | lower) or ('ubuntu' in ansible_facts.distribution | lower)" - name: Install the Netdata Linux agent on OpenSUSE ansible.builtin.include_tasks: install-opensuse.yml