From 5b12c091f9681c1f184f2541eb8e07a6b2f744d1 Mon Sep 17 00:00:00 2001 From: Jon Date: Mon, 19 Feb 2024 00:50:53 +0930 Subject: [PATCH 01/46] docs: fix github badge links !1 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 701247b..93bac01 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ -![GitHub forks](https://img.shields.io/github/forks/NofussComputing/ansible_collection_scan_agent?logo=github&style=plastic&color=000000&labell=Forks) ![GitHub stars](https://img.shields.io/github/stars/NofussComputing/ansible_collection_scan_agent?color=000000&logo=github&style=plastic) ![Github Watchers](https://img.shields.io/github/watchers/NofussComputing/ansible_collection_scan_agent?color=000000&label=Watchers&logo=github&style=plastic) +![GitHub forks](https://img.shields.io/github/forks/NofussComputing/ansible_collection_phpipam_scan_agent?logo=github&style=plastic&color=000000&labell=Forks) ![GitHub stars](https://img.shields.io/github/stars/NofussComputing/ansible_collection_phpipam_scan_agent?color=000000&logo=github&style=plastic) ![Github Watchers](https://img.shields.io/github/watchers/NofussComputing/ansible_collection_phpipam_scan_agent?color=000000&label=Watchers&logo=github&style=plastic)
This project is hosted on [gitlab](https://gitlab.com/nofusscomputing/projects/ansible/collections/phpipam_scan_agent) and has a read-only copy hosted on [Github](https://github.com/NofussComputing/ansible_collection_phpipam_scan_agent). From 972ff70053a5a47b35323968989c611bd10bcf4e Mon Sep 17 00:00:00 2001 From: Jon Date: Mon, 19 Feb 2024 00:54:03 +0930 Subject: [PATCH 02/46] chore: add default vscode items !1 --- .vscode/extensions.json | 11 +++++++++++ .vscode/settings.json | 5 +++++ 2 files changed, 16 insertions(+) create mode 100644 .vscode/extensions.json create mode 100644 .vscode/settings.json diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..6097c9d --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,11 @@ +{ + "recommendations": [ + "gitlab.gitlab-workflow", + "jebbs.markdown-extended", + "redhat.vscode-yaml", + "streetsidesoftware.code-spell-checker", + "streetsidesoftware.code-spell-checker-australian-english", + "redhat.ansible", + "ms-azuretools.vscode-docker" + ] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..b83abee --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "gitlab.aiAssistedCodeSuggestions.enabled": false, + "gitlab.duoChat.enabled": false, + "cSpell.language": "en-AU,en" +} \ No newline at end of file From 12c404ca9440ce91929336361af344be0d6de42a Mon Sep 17 00:00:00 2001 From: Jon Date: Mon, 19 Feb 2024 03:25:28 +0930 Subject: [PATCH 03/46] ci: add ci templates and deps !1 --- .cz.yaml | 8 ++++++++ .gitignore | 2 ++ .gitlab-ci.yml | 12 ++++++++++++ .gitmodules | 8 ++++++++ .nfc_automation.yaml | 8 ++++++++ CHANGELOG.md | 0 gitlab-ci | 1 + website-template | 1 + 8 files changed, 40 insertions(+) create mode 100644 .cz.yaml create mode 100644 .gitignore create mode 100644 .gitlab-ci.yml create mode 100644 .gitmodules create mode 100644 .nfc_automation.yaml create mode 100644 CHANGELOG.md create mode 160000 gitlab-ci create mode 160000 website-template diff --git a/.cz.yaml b/.cz.yaml new file mode 100644 index 0000000..54f4ce1 --- /dev/null +++ b/.cz.yaml @@ -0,0 +1,8 @@ +--- +commitizen: + name: cz_conventional_commits + prerelease_offset: 1 + tag_format: $version + update_changelog_on_bump: false + version: 0.0.1 + version_scheme: semver diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8f22651 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +artifacts/* +cache/* diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..4a862d3 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,12 @@ + +variables: + GIT_SUBMODULE_PATHS: gitlab-ci + ANSIBLE_GALAXY_PACKAGE_NAME: phpipam_scanagent + ##JOB_ROOT_DIR: gitlab-ci + +include: + - project: nofusscomputing/projects/gitlab-ci + ref: ansible-collections + file: + - .gitlab-ci_common.yaml + - template/ansible-collection.gitlab-ci.yaml diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..de6bfdd --- /dev/null +++ b/.gitmodules @@ -0,0 +1,8 @@ +[submodule "gitlab-ci"] + path = gitlab-ci + url = https://gitlab.com/nofusscomputing/projects/gitlab-ci.git + branch = development +[submodule "website-template"] + path = website-template + url = https://gitlab.com/nofusscomputing/infrastructure/website-template.git + branch = development diff --git a/.nfc_automation.yaml b/.nfc_automation.yaml new file mode 100644 index 0000000..077d7f4 --- /dev/null +++ b/.nfc_automation.yaml @@ -0,0 +1,8 @@ +--- + +role_git_conf: + gitlab: + submodule_branch: "development" + default_branch: development + mr_labels: ~"type::automation" ~"impact::0" ~"priority::0" + auto_merge: true diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..e69de29 diff --git a/gitlab-ci b/gitlab-ci new file mode 160000 index 0000000..d29064f --- /dev/null +++ b/gitlab-ci @@ -0,0 +1 @@ +Subproject commit d29064f1490073599518b629c7bf6585b48c8736 diff --git a/website-template b/website-template new file mode 160000 index 0000000..f5a82d3 --- /dev/null +++ b/website-template @@ -0,0 +1 @@ +Subproject commit f5a82d3604faca56756eec91acee28ff89defd1d From 7dd0e35ab2224f5663590fb0d8ff7ab7bc57611f Mon Sep 17 00:00:00 2001 From: Jon Date: Mon, 19 Feb 2024 03:30:38 +0930 Subject: [PATCH 04/46] docs(readme): remove html tags to keep ansible galaxy happy !1 --- README.md | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 93bac01..c33f713 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,20 @@ -
+# No Fuss Computing - Ansible Collection PHPIPAM Scan Agent -# No Fuss Computing - Ansible Collection Scan Agent - -
+. ![Project Status - Active](https://img.shields.io/badge/Project%20Status-Active-green?logo=gitlab&style=plastic) -
+. + +---- +. ![Gitlab forks count](https://img.shields.io/badge/dynamic/json?label=Forks&query=%24.forks_count&url=https%3A%2F%2Fgitlab.com%2Fapi%2Fv4%2Fprojects%2F55052132%2F&color=ff782e&logo=gitlab&style=plastic) ![Gitlab stars](https://img.shields.io/badge/dynamic/json?label=Stars&query=%24.star_count&url=https%3A%2F%2Fgitlab.com%2Fapi%2Fv4%2Fprojects%2F55052132%2F&color=ff782e&logo=gitlab&style=plastic) [![Open Issues](https://img.shields.io/badge/dynamic/json?color=ff782e&logo=gitlab&style=plastic&label=Open%20Issues&query=%24.statistics.counts.opened&url=https%3A%2F%2Fgitlab.com%2Fapi%2Fv4%2Fprojects%2F55052132%2Fissues_statistics)](https://gitlab.com/nofusscomputing/projects/ansible/collections/phpipam_scan_agent/-/issues) - ![GitHub forks](https://img.shields.io/github/forks/NofussComputing/ansible_collection_phpipam_scan_agent?logo=github&style=plastic&color=000000&labell=Forks) ![GitHub stars](https://img.shields.io/github/stars/NofussComputing/ansible_collection_phpipam_scan_agent?color=000000&logo=github&style=plastic) ![Github Watchers](https://img.shields.io/github/watchers/NofussComputing/ansible_collection_phpipam_scan_agent?color=000000&label=Watchers&logo=github&style=plastic) -
+ This project is hosted on [gitlab](https://gitlab.com/nofusscomputing/projects/ansible/collections/phpipam_scan_agent) and has a read-only copy hosted on [Github](https://github.com/NofussComputing/ansible_collection_phpipam_scan_agent). @@ -31,9 +31,19 @@ This project is hosted on [gitlab](https://gitlab.com/nofusscomputing/projects/a ![Gitlab build status - development](https://img.shields.io/badge/dynamic/json?color=ff782e&label=Build&query=0.status&url=https%3A%2F%2Fgitlab.com%2Fapi%2Fv4%2Fprojects%2F55052132%2Fpipelines%3Fref%3Ddevelopment&logo=gitlab&style=plastic) ![branch release version](https://img.shields.io/badge/dynamic/yaml?color=ff782e&logo=gitlab&style=plastic&label=Release&query=%24.commitizen.version&url=https%3A//gitlab.com/nofusscomputing/projects/ansible/collections/phpipam_scan_agent%2F-%2Fraw%2Fdevelopment%2F.cz.yaml) ---- -
-
+**Ansible Galaxy** + +[![Latest Version](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fgalaxy.ansible.com%2Fapi%2Fv3%2Fplugin%2Fansible%2Fcontent%2Fpublished%2Fcollections%2Findex%2Fnofusscomputing%2Fphp_scan_agent%2F&query=%24.highest_version.version&style=plastic&logo=ansible&logoColor=white&label=Latest%20Release&labelColor=black&color=cyan)](https://galaxy.ansible.com/ui/repo/published/nofusscomputing/ci_test_collection/) +![Downloads](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fgalaxy.ansible.com%2Fapi%2Fv3%2Fplugin%2Fansible%2Fcontent%2Fpublished%2Fcollections%2Findex%2Fnofusscomputing%2Fphp_scan_agent%2F&query=%24.download_count&style=plastic&logo=ansible&logoColor=white&label=Downloads&labelColor=black&color=cyan) + +---- + +**Docker Hub** + + + +---- links: From 785a324293c54bee99e6e2d1cbaa9792feeb120c Mon Sep 17 00:00:00 2001 From: Jon Date: Mon, 19 Feb 2024 03:31:06 +0930 Subject: [PATCH 05/46] chore: add collection skeleton !1 --- galaxy.yml | 74 ++++++++++++++++++++++++++++++++++++++++++++++++ meta/runtime.yml | 52 ++++++++++++++++++++++++++++++++++ 2 files changed, 126 insertions(+) create mode 100644 galaxy.yml create mode 100644 meta/runtime.yml diff --git a/galaxy.yml b/galaxy.yml new file mode 100644 index 0000000..6697a65 --- /dev/null +++ b/galaxy.yml @@ -0,0 +1,74 @@ +### REQUIRED +# The namespace of the collection. This can be a company/brand/organization or product namespace under which all +# content lives. May only contain alphanumeric lowercase characters and underscores. Namespaces cannot start with +# underscores or numbers and cannot contain consecutive underscores +namespace: nofusscomputing + +# The name of the collection. Has the same character restrictions as 'namespace' +name: phpipam_scan_agent + +# The version of the collection. Must be compatible with semantic versioning +version: 0.0.1 + +# The path to the Markdown (.md) readme file. This path is relative to the root of the collection +readme: README.md + +# A list of the collection's content authors. Can be just the name or in the format 'Full Name (url) +# @nicks:irc/im.site#channel' +authors: +- No Fuss Computing + + +### OPTIONAL but strongly recommended +# A short summary description of the collection +description: A phpIPAM Scan Agent that can be used in local or remote sites. + +# Either a single license or a list of licenses for content inside of a collection. Ansible Galaxy currently only +# accepts L(SPDX,https://spdx.org/licenses/) licenses. This key is mutually exclusive with 'license_file' +license: +- MIT + +# The path to the license file for the collection. This path is relative to the root of the collection. This key is +# mutually exclusive with 'license' +license_file: '' + +# A list of tags you want to associate with the collection for indexing/searching. A tag name has the same character +# requirements as 'namespace' and 'name' +tags: [] + +# Collections that this collection requires to be installed for it to be usable. The key of the dict is the +# collection label 'namespace.name'. The value is a version range +# L(specifiers,https://python-semanticversion.readthedocs.io/en/latest/#requirement-specification). Multiple version +# range specifiers can be set and are separated by ',' +dependencies: {} + +# The URL of the originating SCM repository +repository: https://gitlab.com/nofusscomputing/projects/ansible/collections/phpipam_scan_agent + +# The URL to any online docs +documentation: https://nofusscomputing.com/projects/ansible/collection/phpipam_scan_agent/ + +# The URL to the homepage of the collection/project +# homepage: https://example.com + +# The URL to the collection issue tracker +issues: https://gitlab.com/nofusscomputing/projects/ansible/collections/phpipam_scan_agent/-/issues + +# A list of file glob-like patterns used to filter any files or directories that should not be included in the build +# artifact. A pattern is matched from the relative path of the file or directory of the collection directory. This +# uses 'fnmatch' to match the files or directories. Some directories and files like 'galaxy.yml', '*.pyc', '*.retry', +# and '.git' are always filtered. Mutually exclusive with 'manifest' +build_ignore: + - artifacts/* + - .cz.yaml + - .gitlab* + - .nfc_automation.yaml + - mkdocs.yaml + +# A dict controlling use of manifest directives used in building the collection artifact. The key 'directives' is a +# list of MANIFEST.in style +# L(directives,https://packaging.python.org/en/latest/guides/using-manifest-in/#manifest-in-commands). The key +# 'omit_default_directives' is a boolean that controls whether the default directives are used. Mutually exclusive +# with 'build_ignore' +# manifest: null + diff --git a/meta/runtime.yml b/meta/runtime.yml new file mode 100644 index 0000000..2fe301c --- /dev/null +++ b/meta/runtime.yml @@ -0,0 +1,52 @@ +--- +# Collections must specify a minimum required ansible version to upload +# to galaxy +requires_ansible: '>=2.9.10' + +# Content that Ansible needs to load from another location or that has +# been deprecated/removed +# plugin_routing: +# action: +# redirected_plugin_name: +# redirect: ns.col.new_location +# deprecated_plugin_name: +# deprecation: +# removal_version: "4.0.0" +# warning_text: | +# See the porting guide on how to update your playbook to +# use ns.col.another_plugin instead. +# removed_plugin_name: +# tombstone: +# removal_version: "2.0.0" +# warning_text: | +# See the porting guide on how to update your playbook to +# use ns.col.another_plugin instead. +# become: +# cache: +# callback: +# cliconf: +# connection: +# doc_fragments: +# filter: +# httpapi: +# inventory: +# lookup: +# module_utils: +# modules: +# netconf: +# shell: +# strategy: +# terminal: +# test: +# vars: + +# Python import statements that Ansible needs to load from another location +# import_redirection: +# ansible_collections.ns.col.plugins.module_utils.old_location: +# redirect: ansible_collections.ns.col.plugins.module_utils.new_location + +# Groups of actions/modules that take a common set of options +# action_groups: +# group_name: +# - module1 +# - module2 From 3128596d81a97e7af7147bb2cb0b86906eecc69f Mon Sep 17 00:00:00 2001 From: Jon Date: Mon, 19 Feb 2024 03:31:56 +0930 Subject: [PATCH 06/46] feat(agent): Create cache directory !1 --- playbooks/agent.yaml | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 playbooks/agent.yaml diff --git a/playbooks/agent.yaml b/playbooks/agent.yaml new file mode 100644 index 0000000..e74f29e --- /dev/null +++ b/playbooks/agent.yaml @@ -0,0 +1,11 @@ +- name: Fetch API Data + hosts: localhost + become: false + gather_facts: false + + tasks: + + - name: Create API Cache Directory + ansible.builtin.file: + path: "{{ nfc_c_path_cache }}" + state: directory From 6ce64d6d69fff171ba71665955e6261689c816b1 Mon Sep 17 00:00:00 2001 From: Jon Date: Mon, 19 Feb 2024 03:33:12 +0930 Subject: [PATCH 07/46] feat(agent): api call task !1 --- playbooks/tasks/api_call.yaml | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 playbooks/tasks/api_call.yaml diff --git a/playbooks/tasks/api_call.yaml b/playbooks/tasks/api_call.yaml new file mode 100644 index 0000000..26c88a3 --- /dev/null +++ b/playbooks/tasks/api_call.yaml @@ -0,0 +1,32 @@ +--- +- name: Try/Catch + block: + + + - name: Mandatory Variables set + ansible.builtin.assert: + that: + - api_client_name is defined + - api_path is defined + - api_token is defined + + + - name: > + PHPIPAM API Call - {{ api_path }}{%- if api_query_string is defined -%} + /?{{ api_query_string }} + {%- endif %} + ansible.builtin.uri: + url: >- + https://phpipam.local/api/{{ api_client_name }}/{{ api_path }} + {%- if api_query_string is defined -%} + /?{{ api_query_string }} + {%- endif %} + headers: + token: "{{ api_token }}" + return_content: true + status_code: + - 200 + validate_certs: false + changed_when: "{{ api_call.json | length | int > 0 }}" + no_log: true + register: api_call From eb242f77ce89c7d1199669c7873a33cb5870d44b Mon Sep 17 00:00:00 2001 From: Jon Date: Mon, 19 Feb 2024 03:36:36 +0930 Subject: [PATCH 08/46] feat(agent): fetch agent id from agent code !1 --- playbooks/agent.yaml | 8 ++++++++ playbooks/tasks/agent_id.yaml | 10 ++++++++++ 2 files changed, 18 insertions(+) create mode 100644 playbooks/tasks/agent_id.yaml diff --git a/playbooks/agent.yaml b/playbooks/agent.yaml index e74f29e..48fc498 100644 --- a/playbooks/agent.yaml +++ b/playbooks/agent.yaml @@ -9,3 +9,11 @@ ansible.builtin.file: path: "{{ nfc_c_path_cache }}" state: directory + + - name: Agent ID + ansible.builtin.include_tasks: + file: tasks/agent_id.yaml + + + vars: # ToDo: remove the below t4est vars + api_scanagents: tools/scanagents diff --git a/playbooks/tasks/agent_id.yaml b/playbooks/tasks/agent_id.yaml new file mode 100644 index 0000000..01ac6d0 --- /dev/null +++ b/playbooks/tasks/agent_id.yaml @@ -0,0 +1,10 @@ +--- + +- name: Get My ScanAgent ID + ansible.builtin.include_tasks: + file: tasks/api_call.yaml + vars: + api_client_name: "{{ client_name }}" + api_token: "{{ client_token }}" + api_path: "{{ api_scanagents }}" + api_query_string: "filter_by=code&filter_value={{ scanagent_code }}" From fc7d816ab152146907e7a6f7bcfbb4e1def66ab9 Mon Sep 17 00:00:00 2001 From: Jon Date: Mon, 19 Feb 2024 03:38:14 +0930 Subject: [PATCH 09/46] feat(agent): cache PHPIPAM data !1 --- playbooks/agent.yaml | 3 ++ playbooks/tasks/agent_id.yaml | 8 ++++ playbooks/tasks/api_call.yaml | 73 +++++++++++++++++++++++++++++++++++ 3 files changed, 84 insertions(+) diff --git a/playbooks/agent.yaml b/playbooks/agent.yaml index 48fc498..262c0cd 100644 --- a/playbooks/agent.yaml +++ b/playbooks/agent.yaml @@ -17,3 +17,6 @@ vars: # ToDo: remove the below t4est vars api_scanagents: tools/scanagents + nfc_c_path_cache: "{{ playbook_dir }}/../cache" + nfc_c_cache_expire_time: 1800 + nfc_c_epoch_time_offset: "{{ -((3600 * 9) + 1800 | int) | int }}" diff --git a/playbooks/tasks/agent_id.yaml b/playbooks/tasks/agent_id.yaml index 01ac6d0..2bd20d3 100644 --- a/playbooks/tasks/agent_id.yaml +++ b/playbooks/tasks/agent_id.yaml @@ -8,3 +8,11 @@ api_token: "{{ client_token }}" api_path: "{{ api_scanagents }}" api_query_string: "filter_by=code&filter_value={{ scanagent_code }}" + + +- name: My ScanAgent ID + ansible.builtin.set_fact: + nfc_c_scan_agent_id: "{{ data[0].id }}" + failed_when: data[0].id is not defined + vars: + data: "{{ lookup('file', cache_filepath) }}" diff --git a/playbooks/tasks/api_call.yaml b/playbooks/tasks/api_call.yaml index 26c88a3..870f58e 100644 --- a/playbooks/tasks/api_call.yaml +++ b/playbooks/tasks/api_call.yaml @@ -11,6 +11,49 @@ - api_token is defined + - name: API Facts + ansible.builtin.set_fact: + epoch: "{{ ((('%Y-%m-%d %H:%M:%S' | strftime) | string | to_datetime) - ('1970-01-01 00:00:00' | to_datetime)).total_seconds() | int }}" + expired: false + cache_filepath: >- + {{ nfc_c_path_cache }}/{{ api_path }} + {%- if api_query_string is defined -%} + _{{ ((api_query_string | split('&'))[0] | split('='))[1] | lower }}_{{ ((api_query_string | split('&'))[1] | split('='))[1] | lower }} + {%- endif -%}.json + + + - name: check Cache Files + ansible.builtin.stat: + path: "{{ cache_filepath }}" + register: cache_files + + + - name: Expire + ansible.builtin.set_fact: + expired: "{{ ((epoch | int + nfc_c_epoch_time_offset | int) >= ((cache_files.stat.mtime | int) + nfc_c_cache_expire_time | int) | int ) | bool }}" + when: cache_files.stat.exists + + + - name: TRACE - Cached file + ansible.builtin.debug: + msg: + - "exists: {{ cache_files.stat.exists | default('') }}" + - "mtime: {{ cache_files.stat.mtime | default(0) | int }}" + - "expire: {{ (cache_files.stat.mtime | int) + nfc_c_cache_expire_time | int }}" + - "epoch: {{ (epoch | int + nfc_c_epoch_time_offset | int) | int }} [{{ nfc_c_cache_expire_time }}]" + - "epoch: {{ epoch }}" + - "expired: {{ expired }}" + + - name: Expire Cache + ansible.builtin.file: + path: "{{ cache_files.stat.path }}" + state: absent + when: > + expired + and + cache_files.stat.exists + + - name: > PHPIPAM API Call - {{ api_path }}{%- if api_query_string is defined -%} /?{{ api_query_string }} @@ -30,3 +73,33 @@ changed_when: "{{ api_call.json | length | int > 0 }}" no_log: true register: api_call + when: > + ( + expired + and + cache_files.stat.exists + ) + or + not cache_files.stat.exists + + + - name: Create Cache DIR + ansible.builtin.file: + path: "{{ nfc_c_path_cache }}/{{ (api_path | split('/'))[0] }}" + state: directory + when: > + '/' in api_path + + + - name: Cache Data + ansible.builtin.copy: + content: "{{ api_call.json.data | to_nice_json }}" + dest: "{{ cache_filepath }}" + when: > + ( + expired + and + cache_files.stat.exists + ) + or + not cache_files.stat.exists From 805c50cd7e75f63fe76a389a0d0371fca002b5fa Mon Sep 17 00:00:00 2001 From: Jon Date: Mon, 19 Feb 2024 03:39:13 +0930 Subject: [PATCH 10/46] feat(agent): Fetch subnets that match agents ID !1 --- playbooks/agent.yaml | 5 +++++ playbooks/tasks/subnets.yaml | 28 ++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 playbooks/tasks/subnets.yaml diff --git a/playbooks/agent.yaml b/playbooks/agent.yaml index 262c0cd..11e08b6 100644 --- a/playbooks/agent.yaml +++ b/playbooks/agent.yaml @@ -15,7 +15,12 @@ file: tasks/agent_id.yaml + - name: Subnets + ansible.builtin.include_tasks: + file: tasks/subnets.yaml + vars: # ToDo: remove the below t4est vars + api_subnets: subnets api_scanagents: tools/scanagents nfc_c_path_cache: "{{ playbook_dir }}/../cache" nfc_c_cache_expire_time: 1800 diff --git a/playbooks/tasks/subnets.yaml b/playbooks/tasks/subnets.yaml new file mode 100644 index 0000000..fd7c8b0 --- /dev/null +++ b/playbooks/tasks/subnets.yaml @@ -0,0 +1,28 @@ +--- + +- name: Reset Subnet List + ansible.builtin.set_fact: + nfc_c_scan_agent_subnets: [] + + +- name: Get subnets to Scan + ansible.builtin.include_tasks: + file: tasks/api_call.yaml + vars: + api_client_name: "{{ client_name }}" + api_token: "{{ client_token }}" + api_path: "{{ api_subnets }}" + api_query_string: "filter_by=scanAgent&filter_value={{ nfc_c_scan_agent_id }}" + + +- name: Update Subnets List + ansible.builtin.set_fact: + nfc_c_scan_agent_subnets: "{{ nfc_c_scan_agent_subnets + [{ + 'id': network.id, + 'address': network.subnet + '/' + network.mask + }] }}" + loop: "{{ data | default ([]) }}" + loop_control: + loop_var: network + vars: + data: "{{ lookup('file', cache_filepath) }}" From 225fbe51c8a7273e9576cb898591144ec4ee704e Mon Sep 17 00:00:00 2001 From: Jon Date: Mon, 19 Feb 2024 03:43:35 +0930 Subject: [PATCH 11/46] feat(agent): Scan subnet !1 --- playbooks/agent.yaml | 9 +++++++++ playbooks/tasks/scan_subnet.yaml | 7 +++++++ 2 files changed, 16 insertions(+) create mode 100644 playbooks/tasks/scan_subnet.yaml diff --git a/playbooks/agent.yaml b/playbooks/agent.yaml index 11e08b6..e7b0960 100644 --- a/playbooks/agent.yaml +++ b/playbooks/agent.yaml @@ -19,6 +19,15 @@ ansible.builtin.include_tasks: file: tasks/subnets.yaml + + - name: Scan Subnet + ansible.builtin.include_tasks: + file: tasks/scan_subnet.yaml + loop: "{{ nfc_c_scan_agent_subnets }}" + loop_control: + loop_var: subnet + + vars: # ToDo: remove the below t4est vars api_subnets: subnets api_scanagents: tools/scanagents diff --git a/playbooks/tasks/scan_subnet.yaml b/playbooks/tasks/scan_subnet.yaml new file mode 100644 index 0000000..7c89749 --- /dev/null +++ b/playbooks/tasks/scan_subnet.yaml @@ -0,0 +1,7 @@ +--- + +- name: Scan subnet + ansible.builtin.command: + cmd: nmap -sn "{{ subnet.address }}" -oX - + become: true + register: nmap_scan From 3f7e8051a08eb10954f03111b5b67848d3aa0d0f Mon Sep 17 00:00:00 2001 From: Jon Date: Mon, 19 Feb 2024 03:44:35 +0930 Subject: [PATCH 12/46] feat(agent): Fetch subnets belonging to agent the agent is the agent ID of the agent code. !1 --- playbooks/tasks/scan_subnet.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/playbooks/tasks/scan_subnet.yaml b/playbooks/tasks/scan_subnet.yaml index 7c89749..eac1305 100644 --- a/playbooks/tasks/scan_subnet.yaml +++ b/playbooks/tasks/scan_subnet.yaml @@ -5,3 +5,11 @@ cmd: nmap -sn "{{ subnet.address }}" -oX - become: true register: nmap_scan +- name: Get subnets Address' + ansible.builtin.include_tasks: + file: tasks/api_call.yaml + vars: + api_client_name: "{{ client_name }}" + api_token: "{{ client_token }}" + api_path: "{{ api_address }}" + api_query_string: "filter_by=subnetId&filter_value={{ subnet.id }}" From fb2871fccabff746831c7d1e403d613d29beed46 Mon Sep 17 00:00:00 2001 From: Jon Date: Mon, 19 Feb 2024 03:46:23 +0930 Subject: [PATCH 13/46] feat(agent): process scanned subnet using cached subnet details !1 --- playbooks/agent.yaml | 1 + playbooks/tasks/scan_subnet.yaml | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) diff --git a/playbooks/agent.yaml b/playbooks/agent.yaml index e7b0960..f1c1aaa 100644 --- a/playbooks/agent.yaml +++ b/playbooks/agent.yaml @@ -29,6 +29,7 @@ vars: # ToDo: remove the below t4est vars + api_address: addresses api_subnets: subnets api_scanagents: tools/scanagents nfc_c_path_cache: "{{ playbook_dir }}/../cache" diff --git a/playbooks/tasks/scan_subnet.yaml b/playbooks/tasks/scan_subnet.yaml index eac1305..bd3fe60 100644 --- a/playbooks/tasks/scan_subnet.yaml +++ b/playbooks/tasks/scan_subnet.yaml @@ -13,3 +13,35 @@ api_token: "{{ client_token }}" api_path: "{{ api_address }}" api_query_string: "filter_by=subnetId&filter_value={{ subnet.id }}" + + +- name: Load Subnet + ansible.builtin.set_fact: + cached_subnet: "{{ lookup('file', cache_filepath) }}" + cacheable: false + + +- name: Process Scan Results + ansible.builtin.set_fact: + subnet_scan_results: |- + [ + {% for scanned_host in ((nmap_scan.stdout | ansible.utils.from_xml) | from_yaml).nmaprun.host %} + {% if scanned_host.address[0]['@addrtype'] | default('') == 'ipv4' %} + { + {% for cached_host in cached_subnet -%} + {%- if cached_host.ip == scanned_host.address[0]['@addr'] -%} + "id": {{ cached_host.id }}, + {%- endif -%} + {%- endfor %} + "subnetId": "{{ subnet.id }}", + "ip": "{{ scanned_host.address[0]['@addr'] }}", + "lastSeen": "{{ nmap_scan.start }}", + "mac": "{{ scanned_host.address[1]['@addr'] | upper }}" + }, + {% endif %} + {% endfor %} + ] + +- name: To JSON + ansible.builtin.set_fact: + subnet_scan_results: "{{ subnet_scan_results | from_yaml }}" From adbee0001980c51690ebe6c9d277fb6e5e4dbda0 Mon Sep 17 00:00:00 2001 From: Jon Date: Mon, 19 Feb 2024 03:49:40 +0930 Subject: [PATCH 14/46] fix(ci): use correct branch !1 --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4a862d3..da7d13e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -6,7 +6,7 @@ variables: include: - project: nofusscomputing/projects/gitlab-ci - ref: ansible-collections + ref: development file: - .gitlab-ci_common.yaml - template/ansible-collection.gitlab-ci.yaml From 8655c407b1721acd8b45402cc1f45b1755d29102 Mon Sep 17 00:00:00 2001 From: Jon Date: Mon, 19 Feb 2024 04:10:12 +0930 Subject: [PATCH 15/46] chore: fix liniting errors !1 --- .ansible-lint-ignore | 1 + galaxy.yml | 12 ++++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) create mode 100644 .ansible-lint-ignore diff --git a/.ansible-lint-ignore b/.ansible-lint-ignore new file mode 100644 index 0000000..d025a99 --- /dev/null +++ b/.ansible-lint-ignore @@ -0,0 +1 @@ +galaxy.yml galaxy[version-incorrect] \ No newline at end of file diff --git a/galaxy.yml b/galaxy.yml index 6697a65..101e750 100644 --- a/galaxy.yml +++ b/galaxy.yml @@ -16,7 +16,7 @@ readme: README.md # A list of the collection's content authors. Can be just the name or in the format 'Full Name (url) # @nicks:irc/im.site#channel' authors: -- No Fuss Computing + - No Fuss Computing ### OPTIONAL but strongly recommended @@ -26,7 +26,7 @@ description: A phpIPAM Scan Agent that can be used in local or remote sites. # Either a single license or a list of licenses for content inside of a collection. Ansible Galaxy currently only # accepts L(SPDX,https://spdx.org/licenses/) licenses. This key is mutually exclusive with 'license_file' license: -- MIT + - MIT # The path to the license file for the collection. This path is relative to the root of the collection. This key is # mutually exclusive with 'license' @@ -34,7 +34,12 @@ license_file: '' # A list of tags you want to associate with the collection for indexing/searching. A tag name has the same character # requirements as 'namespace' and 'name' -tags: [] +tags: + - ipam + - scan_agent + - network + - phpipam + - tools # Collections that this collection requires to be installed for it to be usable. The key of the dict is the # collection label 'namespace.name'. The value is a version range @@ -71,4 +76,3 @@ build_ignore: # 'omit_default_directives' is a boolean that controls whether the default directives are used. Mutually exclusive # with 'build_ignore' # manifest: null - From edd3f5a14d47dd3ea108f6a00accc825c8280776 Mon Sep 17 00:00:00 2001 From: Jon Date: Mon, 19 Feb 2024 20:14:56 +0930 Subject: [PATCH 16/46] feat(server): initial playbook to process incoming scan results !1 --- playbooks/server.yaml | 63 +++++++++++++++++++++++++ playbooks/tasks/server/ipaddress.yaml | 53 +++++++++++++++++++++ playbooks/tasks/server/subnet_scan.yaml | 33 +++++++++++++ 3 files changed, 149 insertions(+) create mode 100644 playbooks/server.yaml create mode 100644 playbooks/tasks/server/ipaddress.yaml create mode 100644 playbooks/tasks/server/subnet_scan.yaml diff --git a/playbooks/server.yaml b/playbooks/server.yaml new file mode 100644 index 0000000..f29a454 --- /dev/null +++ b/playbooks/server.yaml @@ -0,0 +1,63 @@ +--- +- name: Agent Server + hosts: all + gather_facts: false + + + tasks: + + + - name: TRACE Inbound data Received + ansible.builtin.debug: + msg: "{{ inbound_data }}" + + + - name: Fetch Agent Details + community.mysql.mysql_query: + login_host: "{{ nfc_c_mysql_host }}" + login_port: "{{ nfc_c_mysql_port | default(3306) | int }}" + login_user: "{{ nfc_c_mysql_user }}" + login_password: "{{ nfc_c_mysql_password }}" + + login_db: 'phpipam' + query: > + SELECT id, code FROM scanAgents WHERE code='{{ inbound_data.code }}' + single_transaction: true + register: mysql_query_agent_details + + + - name: Confirm Subnet Assignment + community.mysql.mysql_query: + login_host: "{{ nfc_c_mysql_host }}" + login_port: "{{ nfc_c_mysql_port | default(3306) | int }}" + login_user: "{{ nfc_c_mysql_user }}" + login_password: "{{ nfc_c_mysql_password }}" + + login_db: 'phpipam' + query: > + SELECT id, subnet FROM subnets WHERE + scanAgent='{{ mysql_query_agent_details.query_result[0][0].id }}' + and + subnet='{{ inbound_data.scan[0].subnet | ip2ipam }}' + single_transaction: true + register: mysql_query_agent_subnets + + + - name: Arrange Subnets + ansible.builtin.set_fact: + agent_subnets: "{{ agent_subnets | default([]) + [ item.id ] }}" + + loop: "{{ mysql_query_agent_subnets.query_result[0] }}" + + + - name: Process Scan results + ansible.builtin.include_tasks: + file: tasks/server/subnet_scan.yaml + loop: "{{ inbound_data.scan }}" + loop_control: + loop_var: scan_result + label: "{{ scan_result }}" + + + vars: + ansible_connection: local diff --git a/playbooks/tasks/server/ipaddress.yaml b/playbooks/tasks/server/ipaddress.yaml new file mode 100644 index 0000000..34ce7a2 --- /dev/null +++ b/playbooks/tasks/server/ipaddress.yaml @@ -0,0 +1,53 @@ +--- + + +- name: Update IP Address' found + community.mysql.mysql_query: + login_host: "{{ nfc_c_mysql_host }}" + login_port: "{{ nfc_c_mysql_port | default(3306) | int }}" + login_user: "{{ nfc_c_mysql_user }}" + login_password: "{{ nfc_c_mysql_password }}" + + login_db: 'phpipam' + query: |- + {% if + scan_address.rowcount[0] | int > 0 + %} + + UPDATE ipaddresses + SET + lastSeen = '{{ scan_address.ipaddress.lastSeen }}', + + {% if scan_address.ipaddress.mac != '' %} + + mac = '{{ scan_address.ipaddress.mac }}' + + {% endif %} + + WHERE + id = {{ scan_address.query_result[0][0].id | int }} + + {% elif + scan_address.rowcount[0] | int == 0 + %} + + INSERT INTO ipaddresses + VALUES + subnetId = {{ scan_address.ipaddress.subnetId | int }}, + ip_addr = '{{ scan_address.ipaddress.ip | ip2ipam }}', + description = '-- autodiscovered --', + + {% if scan_address.ipaddress.mac != '' %} + + mac = '{{ scan_address.ipaddress.mac }}', + + {% endif %} + + note = 'This host was autodiscovered on {{ scan_address.ipaddress.lastSeen }}', + lastSeen = '{{ scan_address.ipaddress.lastSeen }}', + + {% endif %} + + single_transaction: true + when: > + scan_address.ipaddress.subnetId | int in agent_subnets diff --git a/playbooks/tasks/server/subnet_scan.yaml b/playbooks/tasks/server/subnet_scan.yaml new file mode 100644 index 0000000..f7c3a5f --- /dev/null +++ b/playbooks/tasks/server/subnet_scan.yaml @@ -0,0 +1,33 @@ +--- + + +- name: Match Scan Addresses to DB Details + community.mysql.mysql_query: + login_host: "{{ nfc_c_mysql_host }}" + login_port: "{{ nfc_c_mysql_port | default(3306) | int }}" + login_user: "{{ nfc_c_mysql_user }}" + login_password: "{{ nfc_c_mysql_password }}" + + login_db: 'phpipam' + query: |- + SELECT + id, description, state, note, lastSeen + FROM ipaddresses + WHERE + id='{{ ipaddress.id }}' + AND + ip_addr='{{ ipaddress.ip | ip2ipam }}' + single_transaction: true + register: mysql_query_find_ipaddress + loop: "{{ scan_result.results }}" + loop_control: + loop_var: ipaddress + + +- name: Update IP Addresses + ansible.builtin.include_tasks: + file: tasks/server/ipaddress.yaml + loop: "{{ mysql_query_find_ipaddress.results }}" + loop_control: + loop_var: scan_address + label: "{{ scan_address }}" From 7a0c5775b1b6b47a63fb157a94c08ed0fb7a3540 Mon Sep 17 00:00:00 2001 From: Jon Date: Mon, 19 Feb 2024 20:16:22 +0930 Subject: [PATCH 17/46] feat(filter): ip2ipam and ipam2ip jinja filter added converts IPv4 IP Address to phpIPAM decimal format !1 --- .gitignore | 2 + playbooks/filter_plugins/phpipam_db_ip.py | 57 +++++++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 playbooks/filter_plugins/phpipam_db_ip.py diff --git a/.gitignore b/.gitignore index 8f22651..7de001c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ artifacts/* cache/* +**__pycache__/ + diff --git a/playbooks/filter_plugins/phpipam_db_ip.py b/playbooks/filter_plugins/phpipam_db_ip.py new file mode 100644 index 0000000..46479e0 --- /dev/null +++ b/playbooks/filter_plugins/phpipam_db_ip.py @@ -0,0 +1,57 @@ + +def ip2ipam(a): + """convert an IPv4 IP Address to phpIPAM decimal IP Address""" + + s_bin = '' + + try: + + if '.' in str(a): + + a = a.split('.') + + for octet in a: + + s_bin = s_bin + '{0:08b}'.format(int(octet)) + + except Exception as e: + + raise AnsibleFilterError("to_nice_yaml - %s" % to_native(e), orig_exc=e) + + + return int(s_bin, 2) + + +def ipam2ip(a): + """convert a phpIPAM decimal IP Address to an IPv4 IP Address""" + + s_bin = '' + + try: + + s_bin = '{0:08b}'.format(int(a)) + + s_bin = str( + str(int(s_bin[0:8], 2)) + '.' + + str(int(s_bin[8:16], 2)) + '.' + + str(int(s_bin[16:24], 2)) + '.' + + str(int(s_bin[24:32], 2)) + ) + + except Exception as e: + + raise AnsibleFilterError("to_nice_yaml - %s" % to_native(e), orig_exc=e) + + return s_bin + + +class FilterModule(object): + """my format filters.""" + + + def filters(self): + """Return the filter list.""" + return { + 'ip2ipam': ip2ipam, + 'ipam2ip': ipam2ip + } From d57ba159057b622c2ae61388734918e0079e95b7 Mon Sep 17 00:00:00 2001 From: Jon Date: Mon, 19 Feb 2024 20:17:16 +0930 Subject: [PATCH 18/46] feat(agent): upload scan results to server !1 --- playbooks/tasks/scan_subnet.yaml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/playbooks/tasks/scan_subnet.yaml b/playbooks/tasks/scan_subnet.yaml index bd3fe60..4c70421 100644 --- a/playbooks/tasks/scan_subnet.yaml +++ b/playbooks/tasks/scan_subnet.yaml @@ -45,3 +45,17 @@ - name: To JSON ansible.builtin.set_fact: subnet_scan_results: "{{ subnet_scan_results | from_yaml }}" + + +- name: Upload Scan Results + ansible.builtin.uri: + url: "{{ nfc_c_http_server }}:{{ nfc_c_http_port }}/" + method: POST + body_format: json + body: { + "code": "{{ scanagent_code }}", + "scan": { + "subnet": "{{ subnet.address }}", + "results": "{{ subnet_scan_results }}" + } + } From a59b279c1cdaa7b8d68aa192cc0de25847cb59ad Mon Sep 17 00:00:00 2001 From: Jon Date: Mon, 19 Feb 2024 20:18:52 +0930 Subject: [PATCH 19/46] feat(server): initial rulebook to receive inbound data from client !1 --- extensions/eda/rulebooks/agent_receive.yml | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 extensions/eda/rulebooks/agent_receive.yml diff --git a/extensions/eda/rulebooks/agent_receive.yml b/extensions/eda/rulebooks/agent_receive.yml new file mode 100644 index 0000000..5a64137 --- /dev/null +++ b/extensions/eda/rulebooks/agent_receive.yml @@ -0,0 +1,25 @@ +- name: Agent Webhook + hosts: all + execution_strategy: parallel + + sources: + - name: Webhook + ansible.eda.webhook: + host: 0.0.0.0 + port: "{{ HTTP_PORT }}" + + rules: + + - name: Process inbound Subnet Scans + condition: true # Always run action + actions: + + + - print_event: + pretty: true + + + - run_playbook: + name: nofusscomputing.phpipam_scan_agent.server + extra_vars: + inbound_data: "{{ event.payload }}" From 274629ddc5511b7806920806b73f34256940caaa Mon Sep 17 00:00:00 2001 From: Jon Date: Mon, 19 Feb 2024 20:19:28 +0930 Subject: [PATCH 20/46] ci: add git sync job !1 --- .gitlab-ci.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index da7d13e..e87ed02 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,8 +1,9 @@ variables: - GIT_SUBMODULE_PATHS: gitlab-ci ANSIBLE_GALAXY_PACKAGE_NAME: phpipam_scanagent - ##JOB_ROOT_DIR: gitlab-ci + GIT_SYNC_URL: "https://$GITHUB_USERNAME_ROBOT:$GITHUB_TOKEN_ROBOT@github.com/NoFussComputing/docker-bind.git" + GIT_SUBMODULE_PATHS: gitlab-ci + include: - project: nofusscomputing/projects/gitlab-ci @@ -10,3 +11,5 @@ include: file: - .gitlab-ci_common.yaml - template/ansible-collection.gitlab-ci.yaml + # ToDo: update gitlabCI jobs for collections workflow + - git_push_mirror/.gitlab-ci.yml From b6a7c8d750fcd0444020f126ea2f1b8cd0f3ecc9 Mon Sep 17 00:00:00 2001 From: Jon Date: Tue, 20 Feb 2024 15:17:34 +0930 Subject: [PATCH 21/46] fix(server): corrected mysql insert syntax !1 --- playbooks/tasks/server/ipaddress.yaml | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/playbooks/tasks/server/ipaddress.yaml b/playbooks/tasks/server/ipaddress.yaml index 34ce7a2..4fc587c 100644 --- a/playbooks/tasks/server/ipaddress.yaml +++ b/playbooks/tasks/server/ipaddress.yaml @@ -32,19 +32,29 @@ %} INSERT INTO ipaddresses + ( + subnetId, + ip_addr, + description, + {% if scan_address.ipaddress.mac | default('') != '' %}mac,{% endif %} + note, + lastSeen + ) VALUES - subnetId = {{ scan_address.ipaddress.subnetId | int }}, - ip_addr = '{{ scan_address.ipaddress.ip | ip2ipam }}', - description = '-- autodiscovered --', + ( + {{ scan_address.ipaddress.subnetId | int }}, + '{{ scan_address.ipaddress.ip | ip2ipam }}', + '-- autodiscovered --', - {% if scan_address.ipaddress.mac != '' %} + {% if scan_address.ipaddress.mac | default('') != '' %} - mac = '{{ scan_address.ipaddress.mac }}', + '{{ scan_address.ipaddress.mac }}', - {% endif %} + {% endif %} - note = 'This host was autodiscovered on {{ scan_address.ipaddress.lastSeen }}', - lastSeen = '{{ scan_address.ipaddress.lastSeen }}', + 'This host was autodiscovered on {{ scan_address.ipaddress.lastSeen }}', + '{{ scan_address.ipaddress.lastSeen }}' + ) {% endif %} From 30947877e69582f150297d88ac96394e46fbd795 Mon Sep 17 00:00:00 2001 From: Jon Date: Tue, 20 Feb 2024 15:19:10 +0930 Subject: [PATCH 22/46] fix(server): new hosts wont be in db, don't search with id !1 --- playbooks/server.yaml | 6 ++---- playbooks/tasks/server/subnet_scan.yaml | 8 +++++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/playbooks/server.yaml b/playbooks/server.yaml index f29a454..176af38 100644 --- a/playbooks/server.yaml +++ b/playbooks/server.yaml @@ -53,10 +53,8 @@ - name: Process Scan results ansible.builtin.include_tasks: file: tasks/server/subnet_scan.yaml - loop: "{{ inbound_data.scan }}" - loop_control: - loop_var: scan_result - label: "{{ scan_result }}" + vars: + scan_result: "{{ inbound_data.scan.results }}" vars: diff --git a/playbooks/tasks/server/subnet_scan.yaml b/playbooks/tasks/server/subnet_scan.yaml index f7c3a5f..5b6c5e9 100644 --- a/playbooks/tasks/server/subnet_scan.yaml +++ b/playbooks/tasks/server/subnet_scan.yaml @@ -14,12 +14,14 @@ id, description, state, note, lastSeen FROM ipaddresses WHERE - id='{{ ipaddress.id }}' - AND + {% if ipaddress.id is defined %} + id='{{ ipaddress.id }}' + AND + {% endif %} ip_addr='{{ ipaddress.ip | ip2ipam }}' single_transaction: true register: mysql_query_find_ipaddress - loop: "{{ scan_result.results }}" + loop: "{{ scan_result }}" loop_control: loop_var: ipaddress From 68f43bf70f8aeea654d4f1a6d208822c320498e7 Mon Sep 17 00:00:00 2001 From: Jon Date: Tue, 20 Feb 2024 15:28:36 +0930 Subject: [PATCH 23/46] fix: Use updated scan structure !1 --- playbooks/server.yaml | 4 +++- playbooks/tasks/scan_subnet.yaml | 16 +++++++++++----- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/playbooks/server.yaml b/playbooks/server.yaml index 176af38..e28aa87 100644 --- a/playbooks/server.yaml +++ b/playbooks/server.yaml @@ -38,7 +38,9 @@ SELECT id, subnet FROM subnets WHERE scanAgent='{{ mysql_query_agent_details.query_result[0][0].id }}' and - subnet='{{ inbound_data.scan[0].subnet | ip2ipam }}' + subnet='{{ (inbound_data.scan.subnet | split('/'))[0] | ip2ipam }}' + and + mask = '{{ (inbound_data.scan.subnet | split('/'))[1] | int }}' single_transaction: true register: mysql_query_agent_subnets diff --git a/playbooks/tasks/scan_subnet.yaml b/playbooks/tasks/scan_subnet.yaml index 4c70421..a2fc1d3 100644 --- a/playbooks/tasks/scan_subnet.yaml +++ b/playbooks/tasks/scan_subnet.yaml @@ -26,17 +26,23 @@ subnet_scan_results: |- [ {% for scanned_host in ((nmap_scan.stdout | ansible.utils.from_xml) | from_yaml).nmaprun.host %} - {% if scanned_host.address[0]['@addrtype'] | default('') == 'ipv4' %} + {% if + scanned_host.address[0]['@addrtype'] | default('') == 'ipv4' + or + scanned_host.address['@addrtype'] | default('') == 'ipv4' + %} { - {% for cached_host in cached_subnet -%} - {%- if cached_host.ip == scanned_host.address[0]['@addr'] -%} + {% for cached_host in cached_subnet | default([]) -%} + {%- if cached_host.ip == scanned_host.address['@addr'] | default(scanned_host.address[0]['@addr']) -%} "id": {{ cached_host.id }}, {%- endif -%} {%- endfor %} "subnetId": "{{ subnet.id }}", - "ip": "{{ scanned_host.address[0]['@addr'] }}", + "ip": "{{ scanned_host.address['@addr'] | default(scanned_host.address[0]['@addr']) }}", "lastSeen": "{{ nmap_scan.start }}", - "mac": "{{ scanned_host.address[1]['@addr'] | upper }}" + {% if scanned_host.address['@addrtype'] | default(scanned_host.address[1]['@addrtype']) == 'mac' %} + "mac": "{{ scanned_host.address['@addr'] | default(scanned_host.address[1]['@addr']) | upper }}" + {% endif %} }, {% endif %} {% endfor %} From 11a4701a63a24e0a5f9325ac2f041581a62a8c70 Mon Sep 17 00:00:00 2001 From: Jon Date: Tue, 20 Feb 2024 15:34:51 +0930 Subject: [PATCH 24/46] fix(agent): don't load subnet from cache if not present !1 --- playbooks/tasks/api_call.yaml | 8 +++++++- playbooks/tasks/scan_subnet.yaml | 3 +++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/playbooks/tasks/api_call.yaml b/playbooks/tasks/api_call.yaml index 870f58e..7039e2a 100644 --- a/playbooks/tasks/api_call.yaml +++ b/playbooks/tasks/api_call.yaml @@ -43,6 +43,7 @@ - "epoch: {{ (epoch | int + nfc_c_epoch_time_offset | int) | int }} [{{ nfc_c_cache_expire_time }}]" - "epoch: {{ epoch }}" - "expired: {{ expired }}" + when: cache_files.stat.exists - name: Expire Cache ansible.builtin.file: @@ -69,8 +70,9 @@ return_content: true status_code: - 200 + - 404 validate_certs: false - changed_when: "{{ api_call.json | length | int > 0 }}" + changed_when: api_call.json | length | int > 0 no_log: true register: api_call when: > @@ -89,6 +91,8 @@ state: directory when: > '/' in api_path + and + api_call.status | default(0) | int != 404 - name: Cache Data @@ -103,3 +107,5 @@ ) or not cache_files.stat.exists + and + api_call.status | default(0) | int != 404 diff --git a/playbooks/tasks/scan_subnet.yaml b/playbooks/tasks/scan_subnet.yaml index a2fc1d3..b9df83d 100644 --- a/playbooks/tasks/scan_subnet.yaml +++ b/playbooks/tasks/scan_subnet.yaml @@ -19,6 +19,9 @@ ansible.builtin.set_fact: cached_subnet: "{{ lookup('file', cache_filepath) }}" cacheable: false + no_log: true + when: > + api_call.status | default(0) | int != 404 - name: Process Scan Results From ca981b838eb0fc935e48fa53e0b02157322689d6 Mon Sep 17 00:00:00 2001 From: Jon Date: Tue, 20 Feb 2024 15:35:29 +0930 Subject: [PATCH 25/46] fix(server): if no mac address in scan result, dont attempt to add to DB !1 --- playbooks/tasks/server/ipaddress.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/playbooks/tasks/server/ipaddress.yaml b/playbooks/tasks/server/ipaddress.yaml index 4fc587c..52ceb04 100644 --- a/playbooks/tasks/server/ipaddress.yaml +++ b/playbooks/tasks/server/ipaddress.yaml @@ -16,9 +16,9 @@ UPDATE ipaddresses SET - lastSeen = '{{ scan_address.ipaddress.lastSeen }}', + lastSeen = '{{ scan_address.ipaddress.lastSeen }}' - {% if scan_address.ipaddress.mac != '' %} + {% if scan_address.ipaddress.mac | default('') != '' %}, mac = '{{ scan_address.ipaddress.mac }}' From f8e010df015d953d890079cd1dda7ac3a0d667c4 Mon Sep 17 00:00:00 2001 From: Jon Date: Tue, 20 Feb 2024 15:57:41 +0930 Subject: [PATCH 26/46] feat(agent): Only scan if phpIPAM setting 'Discover new hosts' enabled !1 --- playbooks/tasks/subnets.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/playbooks/tasks/subnets.yaml b/playbooks/tasks/subnets.yaml index fd7c8b0..b907daf 100644 --- a/playbooks/tasks/subnets.yaml +++ b/playbooks/tasks/subnets.yaml @@ -26,3 +26,4 @@ loop_var: network vars: data: "{{ lookup('file', cache_filepath) }}" + when: network.discoverSubnet | int == 1 From e4c6126136ef8dd5a0e5d075589ec744bc8461c1 Mon Sep 17 00:00:00 2001 From: Jon Date: Tue, 20 Feb 2024 17:15:58 +0930 Subject: [PATCH 27/46] feat: add dependencies !1 --- galaxy.yml | 4 +++- requirements.txt | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 requirements.txt diff --git a/galaxy.yml b/galaxy.yml index 101e750..b6e9e32 100644 --- a/galaxy.yml +++ b/galaxy.yml @@ -45,7 +45,9 @@ tags: # collection label 'namespace.name'. The value is a version range # L(specifiers,https://python-semanticversion.readthedocs.io/en/latest/#requirement-specification). Multiple version # range specifiers can be set and are separated by ',' -dependencies: {} +dependencies: + ansible.eda: '1.4.5' + community.mysql: '3.8.0' # The URL of the originating SCM repository repository: https://gitlab.com/nofusscomputing/projects/ansible/collections/phpipam_scan_agent diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..4851b8d --- /dev/null +++ b/requirements.txt @@ -0,0 +1,4 @@ +ansible-core==2.16.1 +ansible-rulebook==1.0.5 +PyMySQL==1.1.0 +xmltodict==0.13.0 From c6b2499b8ec9699a4e02b8cef31a7ac5ce053735 Mon Sep 17 00:00:00 2001 From: Jon Date: Wed, 21 Feb 2024 00:13:05 +0930 Subject: [PATCH 28/46] feat: build required vars from environmental variables !1 --- playbooks/agent.yaml | 53 +++++++++++++++++++++++++++++++++++ playbooks/server.yaml | 9 ++++++ playbooks/tasks/api_call.yaml | 1 + 3 files changed, 63 insertions(+) diff --git a/playbooks/agent.yaml b/playbooks/agent.yaml index f1c1aaa..9a319ed 100644 --- a/playbooks/agent.yaml +++ b/playbooks/agent.yaml @@ -5,6 +5,59 @@ tasks: + + - name: Fetch Required Environmental Variables + ansible.builtin.set_fact: + client_token: "{{ lookup('ansible.builtin.env', 'SCANNER_TOKEN') | default('') }}" + client_name: "{{ lookup('ansible.builtin.env', 'SCANNER_NAME') }}" + scanagent_code: "{{ lookup('ansible.builtin.env', 'SCANNER_CODE') | default('') }}" + api_url: "{{ lookup('ansible.builtin.env', 'API_URL') | default('') }}" + no_log: true + when: > + client_token is not defined + and + client_name is not defined + and + scanagent_code is not defined + and + api_url is not defined + + + - name: Fetch Required Environmental Variables + ansible.builtin.set_fact: + nfc_c_http_server: "{{ lookup('ansible.builtin.env', 'HTTP_URL') | default('') }}" + when: > + lookup('ansible.builtin.env', 'HTTP_URL') | default('') != '' + + + - name: Confirm 'api_url' is Set + ansible.builtin.assert: + that: + - api_url is defined + msg: "missing Required Variables" + + + - name: Confirm 'client_token' is Set + ansible.builtin.assert: + that: + - client_token is defined + msg: "missing Required Variables" + + + - name: Confirm 'client_name' is Set + ansible.builtin.assert: + that: + - client_name is defined + msg: "missing Required Variables" + + + - name: Confirm 'scanagent_code' is Set + ansible.builtin.assert: + that: + - scanagent_code is defined + msg: "missing Required Variables" + + - name: Create API Cache Directory ansible.builtin.file: path: "{{ nfc_c_path_cache }}" diff --git a/playbooks/server.yaml b/playbooks/server.yaml index e28aa87..dc41f9b 100644 --- a/playbooks/server.yaml +++ b/playbooks/server.yaml @@ -7,6 +7,15 @@ tasks: + - name: Fetch Required Environmental Variables + ansible.builtin.set_fact: + nfc_c_mysql_host: "{{ lookup('ansible.builtin.env', 'MYSQL_HOST') | default('') }}" + nfc_c_mysql_port: "{{ lookup('ansible.builtin.env', 'MYSQL_PORT') | default(3306) | int }}" + nfc_c_mysql_user: "{{ lookup('ansible.builtin.env', 'MYSQL_USER') | default('') }}" + nfc_c_mysql_password: "{{ lookup('ansible.builtin.env', 'MYSQL_PASSWORD') | default('') }}" + no_log: true + + - name: TRACE Inbound data Received ansible.builtin.debug: msg: "{{ inbound_data }}" diff --git a/playbooks/tasks/api_call.yaml b/playbooks/tasks/api_call.yaml index 7039e2a..aac94d6 100644 --- a/playbooks/tasks/api_call.yaml +++ b/playbooks/tasks/api_call.yaml @@ -9,6 +9,7 @@ - api_client_name is defined - api_path is defined - api_token is defined + - api_url is defined - name: API Facts From a2ab1c2c613a1bd27f3434154ce335de4e3ece5c Mon Sep 17 00:00:00 2001 From: Jon Date: Wed, 21 Feb 2024 00:16:13 +0930 Subject: [PATCH 29/46] fix(scanner): epoch time offset var is optional !1 --- playbooks/agent.yaml | 1 - playbooks/tasks/api_call.yaml | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/playbooks/agent.yaml b/playbooks/agent.yaml index 9a319ed..1be6bdc 100644 --- a/playbooks/agent.yaml +++ b/playbooks/agent.yaml @@ -87,4 +87,3 @@ api_scanagents: tools/scanagents nfc_c_path_cache: "{{ playbook_dir }}/../cache" nfc_c_cache_expire_time: 1800 - nfc_c_epoch_time_offset: "{{ -((3600 * 9) + 1800 | int) | int }}" diff --git a/playbooks/tasks/api_call.yaml b/playbooks/tasks/api_call.yaml index aac94d6..9c9ef8b 100644 --- a/playbooks/tasks/api_call.yaml +++ b/playbooks/tasks/api_call.yaml @@ -31,7 +31,7 @@ - name: Expire ansible.builtin.set_fact: - expired: "{{ ((epoch | int + nfc_c_epoch_time_offset | int) >= ((cache_files.stat.mtime | int) + nfc_c_cache_expire_time | int) | int ) | bool }}" + expired: "{{ ((epoch | int + (nfc_c_epoch_time_offset | default(0)) | int) >= ((cache_files.stat.mtime | int) + nfc_c_cache_expire_time | int) | int ) | bool }}" when: cache_files.stat.exists @@ -41,7 +41,7 @@ - "exists: {{ cache_files.stat.exists | default('') }}" - "mtime: {{ cache_files.stat.mtime | default(0) | int }}" - "expire: {{ (cache_files.stat.mtime | int) + nfc_c_cache_expire_time | int }}" - - "epoch: {{ (epoch | int + nfc_c_epoch_time_offset | int) | int }} [{{ nfc_c_cache_expire_time }}]" + - "epoch: {{ (epoch | int + (nfc_c_epoch_time_offset | default(0)) | int) | int }} [{{ nfc_c_cache_expire_time }}]" - "epoch: {{ epoch }}" - "expired: {{ expired }}" when: cache_files.stat.exists From 4870e32970cffd663fa2b6b0a34dd4755ed7def4 Mon Sep 17 00:00:00 2001 From: Jon Date: Wed, 21 Feb 2024 00:21:33 +0930 Subject: [PATCH 30/46] feat(scanner): customizable phpIPAM api url !1 --- playbooks/agent.yaml | 1 + playbooks/tasks/api_call.yaml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/playbooks/agent.yaml b/playbooks/agent.yaml index 1be6bdc..b059795 100644 --- a/playbooks/agent.yaml +++ b/playbooks/agent.yaml @@ -34,6 +34,7 @@ ansible.builtin.assert: that: - api_url is defined + - api_url != '' msg: "missing Required Variables" diff --git a/playbooks/tasks/api_call.yaml b/playbooks/tasks/api_call.yaml index 9c9ef8b..99e5cac 100644 --- a/playbooks/tasks/api_call.yaml +++ b/playbooks/tasks/api_call.yaml @@ -62,7 +62,7 @@ {%- endif %} ansible.builtin.uri: url: >- - https://phpipam.local/api/{{ api_client_name }}/{{ api_path }} + {{ api_url }}/api/{{ api_client_name }}/{{ api_path }} {%- if api_query_string is defined -%} /?{{ api_query_string }} {%- endif %} From 5e07a325c8e2f75297716dd30a07d9ab5dae6df3 Mon Sep 17 00:00:00 2001 From: Jon Date: Wed, 21 Feb 2024 00:23:23 +0930 Subject: [PATCH 31/46] feat(scanner): customizable scan server url and port !1 --- playbooks/agent.yaml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/playbooks/agent.yaml b/playbooks/agent.yaml index b059795..1307424 100644 --- a/playbooks/agent.yaml +++ b/playbooks/agent.yaml @@ -23,13 +23,20 @@ api_url is not defined - - name: Fetch Required Environmental Variables + - name: Fetch Required Environmental Variable - HTTP_URL ansible.builtin.set_fact: nfc_c_http_server: "{{ lookup('ansible.builtin.env', 'HTTP_URL') | default('') }}" when: > lookup('ansible.builtin.env', 'HTTP_URL') | default('') != '' + - name: Fetch Required Environmental Variable - HTTP_PORT + ansible.builtin.set_fact: + nfc_c_http_port: "{{ lookup('ansible.builtin.env', 'HTTP_PORT') | default('') }}" + when: > + lookup('ansible.builtin.env', 'HTTP_PORT') | default('') != '' + + - name: Confirm 'api_url' is Set ansible.builtin.assert: that: @@ -83,6 +90,9 @@ vars: # ToDo: remove the below t4est vars + nfc_c_http_port: 5000 + nfc_c_http_server: http://127.0.0.1 + api_address: addresses api_subnets: subnets api_scanagents: tools/scanagents From add0b2390b9767bbfd22a02c70652d3bb1ada2b3 Mon Sep 17 00:00:00 2001 From: Jon Date: Wed, 21 Feb 2024 00:23:59 +0930 Subject: [PATCH 32/46] fix: add missing collection dep 'ansible.utils' !1 --- galaxy.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/galaxy.yml b/galaxy.yml index b6e9e32..5247060 100644 --- a/galaxy.yml +++ b/galaxy.yml @@ -48,6 +48,7 @@ tags: dependencies: ansible.eda: '1.4.5' community.mysql: '3.8.0' + ansible.utils: '2.12.0' # The URL of the originating SCM repository repository: https://gitlab.com/nofusscomputing/projects/ansible/collections/phpipam_scan_agent @@ -66,10 +67,16 @@ issues: https://gitlab.com/nofusscomputing/projects/ansible/collections/phpipam_ # uses 'fnmatch' to match the files or directories. Some directories and files like 'galaxy.yml', '*.pyc', '*.retry', # and '.git' are always filtered. Mutually exclusive with 'manifest' build_ignore: + - .vscode/* - artifacts/* - - .cz.yaml + - docs/* - .gitlab* + - includes/ + - website-template/* + - .ansible-lint-ignore + - .cz.yaml - .nfc_automation.yaml + - dockerfile - mkdocs.yaml # A dict controlling use of manifest directives used in building the collection artifact. The key 'directives' is a From f9af64e7a1bcc4a37d18d857b0772e2bbe284d0b Mon Sep 17 00:00:00 2001 From: Jon Date: Wed, 21 Feb 2024 00:26:40 +0930 Subject: [PATCH 33/46] feat(docker): container that launches server and scanner in one !1 --- .dockerignore | 21 ++ .gitlab-ci.yml | 257 +++++++++++++++++++ .vscode/extensions.json | 3 +- .vscode/settings.json | 15 +- dockerfile | 126 +++++++++ includes/etc/cron.d/scanner | 5 + includes/etc/supervisor/conf.d/cron.conf | 8 + includes/etc/supervisor/conf.d/rulebook.conf | 8 + includes/etc/supervisor/supervisord.conf | 27 ++ includes/root/hosts.yaml | 6 + 10 files changed, 474 insertions(+), 2 deletions(-) create mode 100644 .dockerignore create mode 100644 dockerfile create mode 100644 includes/etc/cron.d/scanner create mode 100644 includes/etc/supervisor/conf.d/cron.conf create mode 100644 includes/etc/supervisor/conf.d/rulebook.conf create mode 100644 includes/etc/supervisor/supervisord.conf create mode 100644 includes/root/hosts.yaml diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..e1cf0ed --- /dev/null +++ b/.dockerignore @@ -0,0 +1,21 @@ +.vscode/* +artifacts/* +cache/* +docs/* +extensions/* +gitlab-ci/* +meta/* +playbooks/* +plugins/* +roles/* +website-template/* +.ansible-lint-ignore +.cz.yaml +.gitignore +.gitlab* +.gitmodules +.nfc_automation.yaml +*.md +galaxy.yml +LICENSE +mkdocs.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e87ed02..685fd5f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -4,6 +4,20 @@ variables: GIT_SYNC_URL: "https://$GITHUB_USERNAME_ROBOT:$GITHUB_TOKEN_ROBOT@github.com/NoFussComputing/docker-bind.git" GIT_SUBMODULE_PATHS: gitlab-ci + # Docs NFC + PAGES_ENVIRONMENT_PATH: "projects/ansible/collection/$CI_PROJECT_NAME" + + # Docker Build / Publish + DOCKER_IMAGE_BUILD_TARGET_PLATFORMS: "linux/amd64,linux/arm64" + DOCKER_IMAGE_BUILD_NAME: phpipam-scan-agent + DOCKER_IMAGE_BUILD_REGISTRY: $CI_REGISTRY_IMAGE + DOCKER_IMAGE_BUILD_TAG: $CI_COMMIT_SHA + + # Docker Publish + DOCKER_IMAGE_PUBLISH_NAME: phpipam-scan-agent + DOCKER_IMAGE_PUBLISH_REGISTRY: docker.io/nofusscomputing + DOCKER_IMAGE_PUBLISH_URL: https://hub.docker.com/r/nofusscomputing/$DOCKER_IMAGE_PUBLISH_NAME + include: - project: nofusscomputing/projects/gitlab-ci @@ -13,3 +27,246 @@ include: - template/ansible-collection.gitlab-ci.yaml # ToDo: update gitlabCI jobs for collections workflow - git_push_mirror/.gitlab-ci.yml + + + +.build_docker_container: + stage: prepare + image: + name: nofusscomputing/docker-buildx-qemu:dev + pull_policy: always + services: + - name: docker:23-dind + entrypoint: ["env", "-u", "DOCKER_HOST"] + command: ["dockerd-entrypoint.sh"] + variables: + DOCKER_HOST: tcp://docker:2375/ + DOCKER_DRIVER: overlay2 + DOCKER_DOCKERFILE: dockerfile + # See https://github.com/docker-library/docker/pull/166 + DOCKER_TLS_CERTDIR: "" + # DOCKER_BUILD_ARGS: # Optional + before_script: + - git submodule foreach git submodule update --init + - docker info + - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY + - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes + - update-binfmts --display + - update-binfmts --enable # Important: Ensures execution of other binary formats is enabled in the kernel + - docker buildx create --driver=docker-container --driver-opt image=moby/buildkit:v0.11.6 --use + - docker buildx inspect --bootstrap + script: + - update-binfmts --display + - | + echo "[DEBUG] building multiarch/specified arch image"; + + if [ ${CI_COMMIT_TAG} ]; then + + export DOCKER_BUILD_ARGS="$DOCKER_BUILD_ARGS --build-arg COLLECTION_PACKAGE=${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${CI_PROJECT_NAME}/${CI_COMMIT_TAG}/${ANSIBLE_GALAXY_NAMESPACE}-${ANSIBLE_GALAXY_PACKAGE_NAME}-${CI_COMMIT_TAG}.tar.gz" + + echo "Trace Updated DOCKER_BUILD_ARGS[$DOCKER_BUILD_ARGS]"; + + fi; + + docker buildx build --platform=$DOCKER_IMAGE_BUILD_TARGET_PLATFORMS . \ + --label org.opencontainers.image.created="$(date '+%Y-%m-%d %H:%M:%S%:z')" \ + --label org.opencontainers.image.documentation="https://nofusscomputing/$PAGES_ENVIRONMENT_PATH/" \ + --label org.opencontainers.image.source="$CI_PROJECT_URL" \ + --label org.opencontainers.image.revision="$CI_COMMIT_SHA" \ + --push \ + --build-arg COLLECTION_BRANCH=$CI_COMMIT_BRANCH --build-arg COLLECTION_COMMIT=$CI_COMMIT_SHA \ + $DOCKER_BUILD_ARGS \ + --build-arg CI_JOB_TOKEN=$CI_JOB_TOKEN --build-arg CI_PROJECT_ID=$CI_PROJECT_ID --build-arg CI_API_V4_URL=$CI_API_V4_URL \ + --file $DOCKER_DOCKERFILE \ + --tag $DOCKER_IMAGE_BUILD_REGISTRY/$DOCKER_IMAGE_BUILD_NAME:$DOCKER_IMAGE_BUILD_TAG; + + docker buildx imagetools inspect $DOCKER_IMAGE_BUILD_REGISTRY/$DOCKER_IMAGE_BUILD_NAME:$DOCKER_IMAGE_BUILD_TAG; + + # during docker multi platform build there are >=3 additional unknown images added to gitlab container registry. cleanup + + DOCKER_MULTI_ARCH_IMAGES=$(docker buildx imagetools inspect "$DOCKER_IMAGE_BUILD_REGISTRY/$DOCKER_IMAGE_BUILD_NAME:$DOCKER_IMAGE_BUILD_TAG" --format "{{ range .Manifest.Manifests }}{{ if ne (print .Platform) \"&{unknown unknown [] }\" }}$DOCKER_IMAGE_BUILD_REGISTRY/$DOCKER_IMAGE_BUILD_NAME:$DOCKER_IMAGE_BUILD_TAG@{{ println .Digest }}{{end}} {{end}}"); + + docker buildx imagetools create $DOCKER_MULTI_ARCH_IMAGES --tag $DOCKER_IMAGE_BUILD_REGISTRY/$DOCKER_IMAGE_BUILD_NAME:$DOCKER_IMAGE_BUILD_TAG; + + docker buildx imagetools inspect $DOCKER_IMAGE_BUILD_REGISTRY/$DOCKER_IMAGE_BUILD_NAME:$DOCKER_IMAGE_BUILD_TAG; + + # Declare rules with job + # rules: + + # - if: $CI_COMMIT_TAG + # when: on_success + + # - if: "$CI_COMMIT_AUTHOR =='nfc_bot '" + # when: never + + # - if: # Occur on merge + # $CI_COMMIT_BRANCH == "development" + # && + # $CI_PIPELINE_SOURCE == "push" + # when: always + + # - if: + # $CI_COMMIT_BRANCH != "development" + # && + # $CI_COMMIT_BRANCH != "master" + # && + # $CI_PIPELINE_SOURCE == "push" + # when: always + + + # - when: never + + +.publish-docker-hub: + stage: publish + image: docker:23-dind + services: + - docker:23-dind + variables: + GIT_STRATEGY: none + before_script: + - | + + docker login $CI_REGISTRY -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD; + + for i in ${DOCKER_IMAGE_BUILD_TARGET_PLATFORMS//,/ } + do + + docker buildx imagetools inspect $DOCKER_IMAGE_BUILD_REGISTRY/$DOCKER_IMAGE_BUILD_NAME:$DOCKER_IMAGE_BUILD_TAG; + + DOCKER_MULTI_ARCH_IMAGES=$(docker buildx imagetools inspect "$DOCKER_IMAGE_BUILD_REGISTRY/$DOCKER_IMAGE_BUILD_NAME:$DOCKER_IMAGE_BUILD_TAG" --format "{{ range .Manifest.Manifests }}$DOCKER_IMAGE_BUILD_REGISTRY/$DOCKER_IMAGE_BUILD_NAME:$DOCKER_IMAGE_BUILD_TAG@{{ println .Digest }} {{end}}") + + echo "[DEBUG] DOCKER_MULTI_ARCH_IMAGES=$DOCKER_MULTI_ARCH_IMAGES"; + + done; + + script: + - docker login docker.io -u $NFC_DOCKERHUB_USERNAME -p $NFC_DOCKERHUB_TOKEN + - docker image ls + - | + DOCKER_HUB_TAG=dev + + echo "[DEBUG] default: DOCKER_HUB_TAG=$DOCKER_HUB_TAG"; + + if [ "$CI_COMMIT_BRANCH" != "master" ]; then + + DOCKER_HUB_TAG=latest + + echo "[DEBUG] stable: DOCKER_HUB_TAG=$DOCKER_HUB_TAG"; + + elif [ "$CI_COMMIT_BRANCH" == "development" ]; then + + DOCKER_HUB_TAG=dev + + echo "[DEBUG] dev: DOCKER_HUB_TAG=$DOCKER_HUB_TAG"; + + fi; + + echo "[DEBUG] DOCKER_IMAGE_PUBLISH_NAME=$DOCKER_IMAGE_PUBLISH_NAME"; + + echo "[DEBUG] final: DOCKER_HUB_TAG=$DOCKER_HUB_TAG"; + + echo "[DEBUG] DOCKER_MULTI_ARCH_IMAGES=$DOCKER_MULTI_ARCH_IMAGES"; + + docker buildx imagetools create $DOCKER_MULTI_ARCH_IMAGES --tag $DOCKER_IMAGE_PUBLISH_REGISTRY/$DOCKER_IMAGE_PUBLISH_NAME:$DOCKER_HUB_TAG; + + docker buildx imagetools create $DOCKER_MULTI_ARCH_IMAGES --tag $DOCKER_IMAGE_PUBLISH_REGISTRY/$DOCKER_IMAGE_PUBLISH_NAME:$CI_COMMIT_TAG; + + after_script: + - docker logout docker.io + + environment: + name: DockerHub + url: $DOCKER_IMAGE_PUBLISH_URL + rules: + + - if: $CI_COMMIT_TAG + when: on_success + + - when: never + + + + + + + + + +Docker Container (dev): + extends: .build_docker_container + resource_group: docker-build + needs: + - Build Collection + rules: + - if: $CI_COMMIT_TAG + when: never + + - if: "$CI_COMMIT_AUTHOR =='nfc_bot '" + when: never + + - if: + $CI_COMMIT_BRANCH != "development" + && + $CI_COMMIT_BRANCH != "master" + && + $CI_PIPELINE_SOURCE == "push" + when: always + + - when: never + + +Docker Hub (dev): + extends: .publish-docker-hub + needs: + - "Docker Container (dev)" + resource_group: docker-build + rules: + - if: $CI_COMMIT_TAG + when: never + + - if: "$CI_COMMIT_AUTHOR =='nfc_bot '" + when: never + + - if: + $CI_COMMIT_BRANCH == "development" + && + $CI_PIPELINE_SOURCE == "push" + when: always + + - when: never + + +Docker Container: + extends: .build_docker_container + resource_group: docker-build + needs: + - Stage Collection + rules: + - if: $CI_COMMIT_TAG + when: on_success + + - if: "$CI_COMMIT_AUTHOR =='nfc_bot '" + when: never + + - if: # Occur on merge + $CI_COMMIT_BRANCH == "development" + && + $CI_PIPELINE_SOURCE == "push" + when: always + + - when: never + + +Docker Hub: + extends: .publish-docker-hub + needs: + - "Docker Container" + - "Gitlab Release" + resource_group: docker-build + rules: + + - if: $CI_COMMIT_TAG + when: on_success + + - when: never \ No newline at end of file diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 6097c9d..b60062e 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -6,6 +6,7 @@ "streetsidesoftware.code-spell-checker", "streetsidesoftware.code-spell-checker-australian-english", "redhat.ansible", - "ms-azuretools.vscode-docker" + "ms-azuretools.vscode-docker", + "ms-python.python" ] } \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index b83abee..9183fba 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,5 +1,18 @@ { "gitlab.aiAssistedCodeSuggestions.enabled": false, "gitlab.duoChat.enabled": false, - "cSpell.language": "en-AU,en" + "cSpell.language": "en-AU,en", + "yaml.schemas": { + "https://raw.githubusercontent.com/ansible/ansible-lint/main/src/ansiblelint/schemas/ansible.json#/$defs/tasks": [ + "file://${workspaceFolder}/playbooks/tasks/**", + "file://${workspaceFolder}/playbooks/tasks/**/**", + ], + "https://raw.githubusercontent.com/ansible/ansible-lint/main/src/ansiblelint/schemas/inventory.json": [ + "file://${workspaceFolder}/includes/root/hosts.yaml" + ], + }, + "files.associations": { + "includes/etc/supervisor/supervisord.conf": "ini", + "includes/etc/supervisor/conf.d/*.conf": "ini", + } } \ No newline at end of file diff --git a/dockerfile b/dockerfile new file mode 100644 index 0000000..db63184 --- /dev/null +++ b/dockerfile @@ -0,0 +1,126 @@ + +FROM python:3.11-alpine3.19 as build + + +RUN apk update; \ + apk add gcc + + +RUN pip install --upgrade \ + setuptools \ + wheel + + +RUN apk add openjdk21-jdk; + + +RUN apk add \ + alpine-sdk \ + libffi-dev \ + maven; + + +ENV JAVA_HOME /usr/lib/jvm/java-21-openjdk + + +COPY requirements.txt /tmp/requirements.txt + + +RUN mkdir -p /tmp/python_modules; \ + cd /tmp/python_modules; \ + pip download --dest . --check-build-dependencies \ + supervisor==4.2.5 \ + -r /tmp/requirements.txt + +RUN mkdir -p /tmp/python_builds; + + +RUN cd /tmp/python_modules; \ + mkdir -p /tmp/python_builds; \ + echo "[DEBUG] PATH=$PATH"; \ + pip wheel --wheel-dir /tmp/python_builds --find-links . *.whl; \ + pip wheel --wheel-dir /tmp/python_builds --find-links . *.tar.gz; + + +RUN echo $(date)\ + cd /tmp; \ + ls -laR /tmp + + + + +FROM python:3.11-alpine3.19 + +LABEL \ + # org.opencontainers.image.authors="{contributor url}" \ + # org.opencontainers.image.url="{dockerhub url}" \ + # org.opencontainers.image.documentation="{docs url}" \ + # org.opencontainers.image.source="{repo url}" \ + # org.opencontainers.image.revision="{git commit sha at time of build}" \ + org.opencontainers.image.title="No Fuss Computings phpIPAM Scan Agent" \ + org.opencontainers.image.description="A phpIPAM Scan agent for local and remote networks" \ + org.opencontainers.image.vendor="No Fuss Computing" + # org.opencontainers.image.version="{git tag}" + +RUN apk --no-cache update; \ + apk add \ + openjdk21-jdk \ + git \ + dcron \ + nmap; + + +ENV JAVA_HOME /usr/lib/jvm/java-21-openjdk + + +COPY --from=build /tmp/python_builds /tmp/python_builds + + +RUN chmod 644 -R /etc/cron.d; \ + pip install /tmp/python_builds/*; \ + rm -R /tmp/python_builds + + +ARG COLLECTION_COMMIT=none + +ARG COLLECTION_BRANCH=development + +ARG COLLECTION_PACKAGE=dev + + +COPY includes/ / + +RUN mkdir -p /tmp/collection; \ + if [ "$COLLECTION_PACKAGE" != "dev" ]; then \ + echo "specified"; \ + ansible-galaxy collection install --force-with-deps --pre \ + $COLLECTION; \ + elif [ "$COLLECTION_PACKAGE" == "dev" ]; then \ + git clone \ + --depth=1 \ + -b $COLLECTION_BRANCH \ + https://gitlab.com/nofusscomputing/projects/ansible/collections/phpipam_scan_agent.git \ + /tmp/collection; \ + if [ "${COLLECTION_COMMIT}" != "none" ]; then git switch $COLLECTION_COMMIT; fi; \ + ansible-galaxy collection install --force-with-deps --pre \ + /tmp/collection/.; \ + rm -Rf /tmp/collection; \ + fi; \ + chmod +x /etc/cron.d/*; + + +WORKDIR /root + + +HEALTHCHECK --interval=10s --timeout=10s --start-period=5s --retries=3 CMD \ + supervisorctl status || exit 1 + + +ENV HTTP_PORT 5000 + +ENV ANSIBLE_FORCE_COLOR 'true' + +ENV ANSIBLE_LOG_PATH /var/log/ansible.log + + +CMD [ "/usr/local/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf" ] diff --git a/includes/etc/cron.d/scanner b/includes/etc/cron.d/scanner new file mode 100644 index 0000000..d191fdb --- /dev/null +++ b/includes/etc/cron.d/scanner @@ -0,0 +1,5 @@ +# +# Default Scanner Scheduled Job +# + +*/1 * * * * ansible-playbook nofusscomputing.phpipam_scan_agent.agent -v diff --git a/includes/etc/supervisor/conf.d/cron.conf b/includes/etc/supervisor/conf.d/cron.conf new file mode 100644 index 0000000..d677dd1 --- /dev/null +++ b/includes/etc/supervisor/conf.d/cron.conf @@ -0,0 +1,8 @@ +[program:cron] +startsecs=0 +stopwaitsecs=55 +autostart=true +autorestart=true +stdout_logfile=/dev/fd/1 +stdout_logfile_maxbytes=0 +command=/usr/sbin/crond -f -L /var/log/crond.log -l info diff --git a/includes/etc/supervisor/conf.d/rulebook.conf b/includes/etc/supervisor/conf.d/rulebook.conf new file mode 100644 index 0000000..c63aed3 --- /dev/null +++ b/includes/etc/supervisor/conf.d/rulebook.conf @@ -0,0 +1,8 @@ +[program:rulebook] +startsecs=0 +stopwaitsecs=55 +command=ansible-rulebook -r nofusscomputing.phpipam_scan_agent.agent_receive --env-vars "HTTP_PORT" -i /root/hosts.yaml -v +autorestart=true +autostart=true +stdout_logfile=/dev/fd/1 +stdout_logfile_maxbytes=0 diff --git a/includes/etc/supervisor/supervisord.conf b/includes/etc/supervisor/supervisord.conf new file mode 100644 index 0000000..a19d9be --- /dev/null +++ b/includes/etc/supervisor/supervisord.conf @@ -0,0 +1,27 @@ + +[unix_http_server] +file=/var/run/supervisor.sock +chmod=0700 + +;[inet_http_server] +;port = :9001 +; username = user +; password = 123 + +[supervisord] +logfile=/var/log/supervisord.log +pidfile=/var/run/supervisord.pid +nodaemon = true +user=root + + +[rpcinterface:supervisor] +supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface + + +[supervisorctl] +serverurl=unix:///var/run/supervisor.sock + + +[include] +files = /etc/supervisor/conf.d/*.conf diff --git a/includes/root/hosts.yaml b/includes/root/hosts.yaml new file mode 100644 index 0000000..c6b01de --- /dev/null +++ b/includes/root/hosts.yaml @@ -0,0 +1,6 @@ +all: + hosts: + localhost: + vars: + ansible_connection: local + From e8af8a6356cc04aca6a7c9fa1f77abf62f2abc63 Mon Sep 17 00:00:00 2001 From: Jon Date: Wed, 21 Feb 2024 00:44:07 +0930 Subject: [PATCH 34/46] feat(docs): add initial doc layout and CI jobs !1 --- .gitlab-ci.yml | 1 + docs/articles/index.md | 0 docs/contact.md | 0 docs/index.md | 0 docs/operations/index.md | 0 docs/projects/ansible/collection/index.md | 0 .../collection/phpipam_scan_agent/index.md | 45 +++++++++++++++++ .../collection/phpipam_scan_agent/scanner.md | 48 +++++++++++++++++++ .../collection/phpipam_scan_agent/server.md | 11 +++++ docs/projects/ansible/index.md | 0 docs/projects/index.md | 0 docs/tags.md | 0 mkdocs.yml | 42 ++++++++++++++++ 13 files changed, 147 insertions(+) create mode 100644 docs/articles/index.md create mode 100644 docs/contact.md create mode 100644 docs/index.md create mode 100644 docs/operations/index.md create mode 100644 docs/projects/ansible/collection/index.md create mode 100644 docs/projects/ansible/collection/phpipam_scan_agent/index.md create mode 100644 docs/projects/ansible/collection/phpipam_scan_agent/scanner.md create mode 100644 docs/projects/ansible/collection/phpipam_scan_agent/server.md create mode 100644 docs/projects/ansible/index.md create mode 100644 docs/projects/index.md create mode 100644 docs/tags.md create mode 100644 mkdocs.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 685fd5f..d2e8ee0 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -25,6 +25,7 @@ include: file: - .gitlab-ci_common.yaml - template/ansible-collection.gitlab-ci.yaml + - template/mkdocs-documentation.gitlab-ci.yaml # ToDo: update gitlabCI jobs for collections workflow - git_push_mirror/.gitlab-ci.yml diff --git a/docs/articles/index.md b/docs/articles/index.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/contact.md b/docs/contact.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/operations/index.md b/docs/operations/index.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/projects/ansible/collection/index.md b/docs/projects/ansible/collection/index.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/projects/ansible/collection/phpipam_scan_agent/index.md b/docs/projects/ansible/collection/phpipam_scan_agent/index.md new file mode 100644 index 0000000..d091e81 --- /dev/null +++ b/docs/projects/ansible/collection/phpipam_scan_agent/index.md @@ -0,0 +1,45 @@ +--- +title: phpIPAM Scan Agent +description: No Fuss Computings {php}IPAM Scan Agent for local and remote networks +date: 2024-02-20 +template: project.html +about: https://gitlab.com/nofusscomputing/projects/ansible/collections/phpipam_scan_agent +--- + +
+ +![Project Status - Active](https://img.shields.io/badge/Project%20Status-Active-green?logo=gitlab&style=plastic) +
+[![Latest Version](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fgalaxy.ansible.com%2Fapi%2Fv3%2Fplugin%2Fansible%2Fcontent%2Fpublished%2Fcollections%2Findex%2Fnofusscomputing%2Fphp_scan_agent%2F&query=%24.highest_version.version&style=plastic&logo=ansible&logoColor=white&label=Latest%20Release&labelColor=black&color=cyan)](https://galaxy.ansible.com/ui/repo/published/nofusscomputing/ci_test_collection/) +![Downloads](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fgalaxy.ansible.com%2Fapi%2Fv3%2Fplugin%2Fansible%2Fcontent%2Fpublished%2Fcollections%2Findex%2Fnofusscomputing%2Fphp_scan_agent%2F&query=%24.download_count&style=plastic&logo=ansible&logoColor=white&label=Downloads&labelColor=black&color=cyan) +
+[![Docker Image Version](https://img.shields.io/docker/v/nofusscomputing/phpipam-scan-agent?sort=semver&style=plastic&logo=docker&logoColor=0db7ed&color=0db7ed&label=Latest%20Release)](https://hub.docker.com/r/nofusscomputing/phpipam-scan-agent) +[![Docker Pulls](https://img.shields.io/docker/pulls/nofusscomputing/phpipam-scan-agent?style=plastic&logo=docker&logoColor=0db7ed&color=0db7ed)](https://hub.docker.com/r/nofusscomputing/phpipam-scan-agent) + +
+ +A phpIPAM scan agent designed for both local and remote network scanning. This Ansible Collection contains all of the componets required to launch a scan agent that will report back to the phpIPAM server. This collection is also built into it's own docker container and is [available on Docker Hub](https://hub.docker.com/r/nofusscomputing/phpipam-scan-agent). + +This collection has been broken down into two components, a server and a scanner. The scanner as the name implies will scan the networks assigned to it by phpIPAM and on completing a scan of a subnet, will post the results to the Server component which will process the results, and update the phpIPAM MySQL/MariaDB database directly. + + +## Installation + +This collection is available on Ansible Galaxy and can be installed with `ansible-galaxy collection install nofusscomputing.phpipam_scan_agent`. When installing all of the required dependencies are installed. + +Prefer to use our docker image? It's available on Docker Hub `docker pull nofusscomputing/phpipam-scan-agent:latest`. + + +## Features + +Currenty this collection has the following features: + +- Discover new hosts + +- [**ToDo** Hosts check](https://gitlab.com/nofusscomputing/projects/ansible/collections/phpipam_scan_agent/-/issues/3) + +- [**ToDo** Host Self-Update](https://gitlab.com/nofusscomputing/projects/ansible/collections/phpipam_scan_agent/-/issues/2) + +- [**ToDo** Remote Network Scanning](https://gitlab.com/nofusscomputing/projects/ansible/collections/phpipam_scan_agent/-/issues/1) + +- [**ToDo** Resolve DNS names](https://gitlab.com/nofusscomputing/projects/ansible/collections/phpipam_scan_agent/-/issues/4) diff --git a/docs/projects/ansible/collection/phpipam_scan_agent/scanner.md b/docs/projects/ansible/collection/phpipam_scan_agent/scanner.md new file mode 100644 index 0000000..2b72b6b --- /dev/null +++ b/docs/projects/ansible/collection/phpipam_scan_agent/scanner.md @@ -0,0 +1,48 @@ +--- +title: phpIPAM Scanner +description: No Fuss Computings {php}IPAM Scan Agent scenner component +date: 2024-02-20 +template: project.html +about: https://gitlab.com/nofusscomputing/projects/ansible/collections/phpipam_scan_agent +--- + +The Scan Agent Scanner component is intended to scan networks that are assigned to it by the phpIPAM server. It can be installed and ran from any host that is capable of running python. + + +## Usage + +After installing the collection, running the agent is as simple as running the following command: + +``` bash + +ansible-playbook nofusscomputing.phpipam_scan_agent.agent \ + --extra-vars "api_url=" \ + --extra-vars "client_token=" \ + --extra-vars "client_name=" \ + --extra-vars "scanagent_code=" + +``` +_See below for the variable details_ + + +### Variables + +The variables described below, if optional the value specified here is the default value. Any variable that can be set via environmental variables have the variable name enclosed in `[]` + +``` yaml +client_token: "" # Mandatory, String client api token to connect to phpIPAM API [SCANNER_TOKEN] +client_name: "" # Mandatory, String. The scanner name as set in phpIPAM interface [SCANNER_NAME] +scanagent_code: "" # Mandatory, String. Scan Agent Code as set in phpIPAM interface [SCANNER_CODE] + + +nfc_c_http_port: 5000 # Optional, Integer. http port to connect to the server. [HTTP_PORT] +nfc_c_http_server: http://127.0.0.1 # Optional, Integer. url with protocol of the Scan Server to connect to. [HTTP_URL] + + +api_url: http://127.0.0.1 # Optional, String. url with protocol of the phpIPAM API to connect to. [API_URL] + + +nfc_c_cache_expire_time: 1800 # Optional, Integer. Time in seconds to expire the phpIPAM cache. +nfc_c_epoch_time_offset: 0 # optional, int. Value in seconds to offset the time + +``` diff --git a/docs/projects/ansible/collection/phpipam_scan_agent/server.md b/docs/projects/ansible/collection/phpipam_scan_agent/server.md new file mode 100644 index 0000000..3d39263 --- /dev/null +++ b/docs/projects/ansible/collection/phpipam_scan_agent/server.md @@ -0,0 +1,11 @@ +--- +title: phpIPAM Scan Server +description: No Fuss Computings {php}IPAM Scan Agent Server component +date: 2024-02-20 +template: project.html +about: https://gitlab.com/nofusscomputing/projects/ansible/collections/phpipam_scan_agent +--- + +The Scan Agent Server component is intended to act as the go between for the Scanner component and phpIPAM. + +## Usage diff --git a/docs/projects/ansible/index.md b/docs/projects/ansible/index.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/projects/index.md b/docs/projects/index.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/tags.md b/docs/tags.md new file mode 100644 index 0000000..e69de29 diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 0000000..2c57670 --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,42 @@ +INHERIT: website-template/mkdocs.yml + +docs_dir: 'docs' + +repo_name: phpIPAM Scan Agent +repo_url: https://gitlab.com/nofusscomputing/projects/ansible/collections/phpipam_scan_agent +edit_uri: '/-/ide/project/nofusscomputing/projects/ansible/collections/phpipam_scan_agent/edit/development/-/docs/' + +nav: + +- Home: index.md + +- Articles: + + - articles/index.md + +- Projects: + + - projects/index.md + + - Ansible: + + - projects/ansible/index.md + + - Collections: + + - docs/projects/ansible/collection/index.md + + - phpIPAM Scan Agent: + + - projects/ansible/collection/phpipam_scan_agent/index.md + + - projects/ansible/collection/phpipam_scan_agent/scanner.md + + - projects/ansible/collection/phpipam_scan_agent/server.md + +- Operations: + + - operations/index.md + +- Contact Us: contact.md + From 1dde3fa9e2d079551ff81975aaf5697016095fca Mon Sep 17 00:00:00 2001 From: Jon Date: Wed, 21 Feb 2024 00:44:25 +0930 Subject: [PATCH 35/46] docs(readme): add docker hub badges !1 --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index c33f713..85eceec 100644 --- a/README.md +++ b/README.md @@ -41,6 +41,8 @@ This project is hosted on [gitlab](https://gitlab.com/nofusscomputing/projects/a **Docker Hub** +[![Docker Image Version](https://img.shields.io/docker/v/nofusscomputing/phpipam-scan-agent?sort=semver&style=plastic&logo=docker&logoColor=0db7ed&color=0db7ed&label=Latest%20Release)](https://hub.docker.com/r/nofusscomputing/phpipam-scan-agent) +[![Docker Pulls](https://img.shields.io/docker/pulls/nofusscomputing/phpipam-scan-agent?style=plastic&logo=docker&logoColor=0db7ed&color=0db7ed)](https://hub.docker.com/r/nofusscomputing/phpipam-scan-agent) ---- From 0f8ea25ba5c2e5023e264f8ae17f265295e60bd0 Mon Sep 17 00:00:00 2001 From: Jon Date: Wed, 21 Feb 2024 00:54:53 +0930 Subject: [PATCH 36/46] ci: dont specify git submodule paths !1 --- .gitlab-ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d2e8ee0..dfdfd9d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -2,7 +2,8 @@ variables: ANSIBLE_GALAXY_PACKAGE_NAME: phpipam_scanagent GIT_SYNC_URL: "https://$GITHUB_USERNAME_ROBOT:$GITHUB_TOKEN_ROBOT@github.com/NoFussComputing/docker-bind.git" - GIT_SUBMODULE_PATHS: gitlab-ci + # GIT_SUBMODULE_PATHS: gitlab-ci + GIT_SUBMODULE_DEPTH: 1 # Docs NFC PAGES_ENVIRONMENT_PATH: "projects/ansible/collection/$CI_PROJECT_NAME" From 0c7f42684d78f235d1594904901826c8d336f9e9 Mon Sep 17 00:00:00 2001 From: Jon Date: Wed, 21 Feb 2024 00:59:18 +0930 Subject: [PATCH 37/46] fix(docs): correct nav link !1 --- mkdocs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mkdocs.yml b/mkdocs.yml index 2c57670..35664ae 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -24,7 +24,7 @@ nav: - Collections: - - docs/projects/ansible/collection/index.md + - projects/ansible/collection/index.md - phpIPAM Scan Agent: From 866beb7da0920306f48f155aa1f6a915dcacff40 Mon Sep 17 00:00:00 2001 From: Jon Date: Wed, 21 Feb 2024 01:20:17 +0930 Subject: [PATCH 38/46] docs: Set component link names !1 --- mkdocs.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mkdocs.yml b/mkdocs.yml index 35664ae..155e7f1 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -30,9 +30,9 @@ nav: - projects/ansible/collection/phpipam_scan_agent/index.md - - projects/ansible/collection/phpipam_scan_agent/scanner.md + - Scanner: projects/ansible/collection/phpipam_scan_agent/scanner.md - - projects/ansible/collection/phpipam_scan_agent/server.md + - Server: projects/ansible/collection/phpipam_scan_agent/server.md - Operations: From c06a278ac30e6f5750da9ad21d498f39d3d100e7 Mon Sep 17 00:00:00 2001 From: Jon Date: Wed, 21 Feb 2024 01:23:05 +0930 Subject: [PATCH 39/46] docs: use span instead of div to center content !1 --- README.md | 9 ++++----- .../ansible/collection/phpipam_scan_agent/index.md | 9 +++++---- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 85eceec..59ec25a 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,12 @@ + # No Fuss Computing - Ansible Collection PHPIPAM Scan Agent -. - ![Project Status - Active](https://img.shields.io/badge/Project%20Status-Active-green?logo=gitlab&style=plastic) -. - ---- -. + +
![Gitlab forks count](https://img.shields.io/badge/dynamic/json?label=Forks&query=%24.forks_count&url=https%3A%2F%2Fgitlab.com%2Fapi%2Fv4%2Fprojects%2F55052132%2F&color=ff782e&logo=gitlab&style=plastic) ![Gitlab stars](https://img.shields.io/badge/dynamic/json?label=Stars&query=%24.star_count&url=https%3A%2F%2Fgitlab.com%2Fapi%2Fv4%2Fprojects%2F55052132%2F&color=ff782e&logo=gitlab&style=plastic) [![Open Issues](https://img.shields.io/badge/dynamic/json?color=ff782e&logo=gitlab&style=plastic&label=Open%20Issues&query=%24.statistics.counts.opened&url=https%3A%2F%2Fgitlab.com%2Fapi%2Fv4%2Fprojects%2F55052132%2Fissues_statistics)](https://gitlab.com/nofusscomputing/projects/ansible/collections/phpipam_scan_agent/-/issues) @@ -44,6 +42,7 @@ This project is hosted on [gitlab](https://gitlab.com/nofusscomputing/projects/a [![Docker Image Version](https://img.shields.io/docker/v/nofusscomputing/phpipam-scan-agent?sort=semver&style=plastic&logo=docker&logoColor=0db7ed&color=0db7ed&label=Latest%20Release)](https://hub.docker.com/r/nofusscomputing/phpipam-scan-agent) [![Docker Pulls](https://img.shields.io/docker/pulls/nofusscomputing/phpipam-scan-agent?style=plastic&logo=docker&logoColor=0db7ed&color=0db7ed)](https://hub.docker.com/r/nofusscomputing/phpipam-scan-agent) +
---- diff --git a/docs/projects/ansible/collection/phpipam_scan_agent/index.md b/docs/projects/ansible/collection/phpipam_scan_agent/index.md index d091e81..89964f8 100644 --- a/docs/projects/ansible/collection/phpipam_scan_agent/index.md +++ b/docs/projects/ansible/collection/phpipam_scan_agent/index.md @@ -6,17 +6,18 @@ template: project.html about: https://gitlab.com/nofusscomputing/projects/ansible/collections/phpipam_scan_agent --- -
+ ![Project Status - Active](https://img.shields.io/badge/Project%20Status-Active-green?logo=gitlab&style=plastic) -
+ [![Latest Version](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fgalaxy.ansible.com%2Fapi%2Fv3%2Fplugin%2Fansible%2Fcontent%2Fpublished%2Fcollections%2Findex%2Fnofusscomputing%2Fphp_scan_agent%2F&query=%24.highest_version.version&style=plastic&logo=ansible&logoColor=white&label=Latest%20Release&labelColor=black&color=cyan)](https://galaxy.ansible.com/ui/repo/published/nofusscomputing/ci_test_collection/) ![Downloads](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fgalaxy.ansible.com%2Fapi%2Fv3%2Fplugin%2Fansible%2Fcontent%2Fpublished%2Fcollections%2Findex%2Fnofusscomputing%2Fphp_scan_agent%2F&query=%24.download_count&style=plastic&logo=ansible&logoColor=white&label=Downloads&labelColor=black&color=cyan) -
+ [![Docker Image Version](https://img.shields.io/docker/v/nofusscomputing/phpipam-scan-agent?sort=semver&style=plastic&logo=docker&logoColor=0db7ed&color=0db7ed&label=Latest%20Release)](https://hub.docker.com/r/nofusscomputing/phpipam-scan-agent) [![Docker Pulls](https://img.shields.io/docker/pulls/nofusscomputing/phpipam-scan-agent?style=plastic&logo=docker&logoColor=0db7ed&color=0db7ed)](https://hub.docker.com/r/nofusscomputing/phpipam-scan-agent) -
+ + A phpIPAM scan agent designed for both local and remote network scanning. This Ansible Collection contains all of the componets required to launch a scan agent that will report back to the phpIPAM server. This collection is also built into it's own docker container and is [available on Docker Hub](https://hub.docker.com/r/nofusscomputing/phpipam-scan-agent). From 2b9fab665164503cd44b2395b3b585ac7a031700 Mon Sep 17 00:00:00 2001 From: Jon Date: Wed, 21 Feb 2024 01:48:43 +0930 Subject: [PATCH 40/46] fix: Don't process results if scan report is empty !1 --- playbooks/tasks/scan_subnet.yaml | 2 +- playbooks/tasks/server/subnet_scan.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/playbooks/tasks/scan_subnet.yaml b/playbooks/tasks/scan_subnet.yaml index b9df83d..5847c43 100644 --- a/playbooks/tasks/scan_subnet.yaml +++ b/playbooks/tasks/scan_subnet.yaml @@ -28,7 +28,7 @@ ansible.builtin.set_fact: subnet_scan_results: |- [ - {% for scanned_host in ((nmap_scan.stdout | ansible.utils.from_xml) | from_yaml).nmaprun.host %} + {% for scanned_host in ((nmap_scan.stdout | ansible.utils.from_xml) | from_yaml).nmaprun.host | default([]) %} {% if scanned_host.address[0]['@addrtype'] | default('') == 'ipv4' or diff --git a/playbooks/tasks/server/subnet_scan.yaml b/playbooks/tasks/server/subnet_scan.yaml index 5b6c5e9..d9eb038 100644 --- a/playbooks/tasks/server/subnet_scan.yaml +++ b/playbooks/tasks/server/subnet_scan.yaml @@ -29,7 +29,7 @@ - name: Update IP Addresses ansible.builtin.include_tasks: file: tasks/server/ipaddress.yaml - loop: "{{ mysql_query_find_ipaddress.results }}" + loop: "{{ mysql_query_find_ipaddress.results | default([]) }}" loop_control: loop_var: scan_address label: "{{ scan_address }}" From 7705184b8696c75fb3c3178b154def05ecc83411 Mon Sep 17 00:00:00 2001 From: Jon Date: Wed, 21 Feb 2024 02:24:08 +0930 Subject: [PATCH 41/46] docs: add mac addresss updates to feature list !1 --- docs/projects/ansible/collection/phpipam_scan_agent/index.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/projects/ansible/collection/phpipam_scan_agent/index.md b/docs/projects/ansible/collection/phpipam_scan_agent/index.md index 89964f8..736b86e 100644 --- a/docs/projects/ansible/collection/phpipam_scan_agent/index.md +++ b/docs/projects/ansible/collection/phpipam_scan_agent/index.md @@ -41,6 +41,11 @@ Currenty this collection has the following features: - [**ToDo** Host Self-Update](https://gitlab.com/nofusscomputing/projects/ansible/collections/phpipam_scan_agent/-/issues/2) +- MAC Address updating* + + !!! info + It's only possible to obtain a MAC Address if the scanner is on the same L2 network (Broadcast Domain). Within the docs you will find the different methods available to achieve this. + - [**ToDo** Remote Network Scanning](https://gitlab.com/nofusscomputing/projects/ansible/collections/phpipam_scan_agent/-/issues/1) - [**ToDo** Resolve DNS names](https://gitlab.com/nofusscomputing/projects/ansible/collections/phpipam_scan_agent/-/issues/4) From c20202c0c7094a9823bb7bba6187fb390dfdf17b Mon Sep 17 00:00:00 2001 From: Jon Date: Wed, 21 Feb 2024 14:54:13 +0930 Subject: [PATCH 42/46] docs: initial docker pages !1 --- .../collection/phpipam_scan_agent/docker.md | 36 +++++++++++++++++++ .../collection/phpipam_scan_agent/index.md | 1 + mkdocs.yml | 2 ++ 3 files changed, 39 insertions(+) create mode 100644 docs/projects/ansible/collection/phpipam_scan_agent/docker.md diff --git a/docs/projects/ansible/collection/phpipam_scan_agent/docker.md b/docs/projects/ansible/collection/phpipam_scan_agent/docker.md new file mode 100644 index 0000000..f49ee38 --- /dev/null +++ b/docs/projects/ansible/collection/phpipam_scan_agent/docker.md @@ -0,0 +1,36 @@ +--- +title: phpIPAM Scan Agent Docker Container +description: No Fuss Computings {php}IPAM Scan Agent Docker Container +date: 2024-02-21 +template: project.html +about: https://gitlab.com/nofusscomputing/projects/ansible/collections/phpipam_scan_agent +--- + +The Scan Agent Docker container has the Ansible collection installed which when launched will by default, start a Scan Server and scanner. The components running inside the container can be customised to suit different use cases. + + +## Usage + +Launching the docker container can be done with + +``` bash + +docker run \ + -d \ + -e "API_URL=" \ + -e "MYSQL_HOST=" \ + -e "MYSQL_USER=" \ + -e "MYSQL_PASSWORD=" \ + -e "SCANNER_TOKEN=" \ + -e "SCANNER_NAME=" \ + -e "SCANNER_CODE=" \ + -p "5000:5000" \ + --name scan-agent \ + scan-agent:dev; + +``` + +### Logs + +when viewing the container logs `docker logs `, what you will see is the Server component logs. This is by design. If however you are also running the scanner component, as is the default. To view those logs you will need to ensure that when launching the container that you specify environmental variable `ANSIBLE_LOG_PATH=/var/log/ansible.log`. This tells the scanner component to log to file at path `/var/log/ansible.log`. + diff --git a/docs/projects/ansible/collection/phpipam_scan_agent/index.md b/docs/projects/ansible/collection/phpipam_scan_agent/index.md index 736b86e..b9a56df 100644 --- a/docs/projects/ansible/collection/phpipam_scan_agent/index.md +++ b/docs/projects/ansible/collection/phpipam_scan_agent/index.md @@ -49,3 +49,4 @@ Currenty this collection has the following features: - [**ToDo** Remote Network Scanning](https://gitlab.com/nofusscomputing/projects/ansible/collections/phpipam_scan_agent/-/issues/1) - [**ToDo** Resolve DNS names](https://gitlab.com/nofusscomputing/projects/ansible/collections/phpipam_scan_agent/-/issues/4) + diff --git a/mkdocs.yml b/mkdocs.yml index 155e7f1..d390a4b 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -30,6 +30,8 @@ nav: - projects/ansible/collection/phpipam_scan_agent/index.md + - Docker Container: projects/ansible/collection/phpipam_scan_agent/docker.md + - Scanner: projects/ansible/collection/phpipam_scan_agent/scanner.md - Server: projects/ansible/collection/phpipam_scan_agent/server.md From 52b576be80c95cfdfefb190b01089a6fb2827726 Mon Sep 17 00:00:00 2001 From: Jon Date: Wed, 21 Feb 2024 15:24:18 +0930 Subject: [PATCH 43/46] feat(docker): adjust scanner job to run every 5 mins !1 --- includes/etc/cron.d/scanner | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes/etc/cron.d/scanner b/includes/etc/cron.d/scanner index d191fdb..acdab00 100644 --- a/includes/etc/cron.d/scanner +++ b/includes/etc/cron.d/scanner @@ -2,4 +2,4 @@ # Default Scanner Scheduled Job # -*/1 * * * * ansible-playbook nofusscomputing.phpipam_scan_agent.agent -v +*/5 * * * * ansible-playbook nofusscomputing.phpipam_scan_agent.agent -v From 565eba3d0daa80482ac999fcba22edd1a18ebad9 Mon Sep 17 00:00:00 2001 From: Jon Date: Wed, 21 Feb 2024 15:25:25 +0930 Subject: [PATCH 44/46] docs: further work on completing !1 --- .../collection/phpipam_scan_agent/docker.md | 23 +++++++++- .../collection/phpipam_scan_agent/index.md | 39 ++++++++++++++-- .../collection/phpipam_scan_agent/scanner.md | 33 ++++++++++++++ .../collection/phpipam_scan_agent/server.md | 45 +++++++++++++++++++ 4 files changed, 135 insertions(+), 5 deletions(-) diff --git a/docs/projects/ansible/collection/phpipam_scan_agent/docker.md b/docs/projects/ansible/collection/phpipam_scan_agent/docker.md index f49ee38..80e69c6 100644 --- a/docs/projects/ansible/collection/phpipam_scan_agent/docker.md +++ b/docs/projects/ansible/collection/phpipam_scan_agent/docker.md @@ -8,6 +8,8 @@ about: https://gitlab.com/nofusscomputing/projects/ansible/collections/phpipam_s The Scan Agent Docker container has the Ansible collection installed which when launched will by default, start a Scan Server and scanner. The components running inside the container can be customised to suit different use cases. +The Container has been setup to use supervisord, with the server and cron setup as the two available services. Due to the simplicity of supervisord, the container does have a healthcheck, that on failure means one or both of the services have failed. + ## Usage @@ -26,11 +28,28 @@ docker run \ -e "SCANNER_CODE=" \ -p "5000:5000" \ --name scan-agent \ - scan-agent:dev; + scan-agent:latest; ``` +Variables must still be set for the running container, please review the [Scanner](scanner.md) or [Server](server.md) documentation as appropriate. + + ### Logs -when viewing the container logs `docker logs `, what you will see is the Server component logs. This is by design. If however you are also running the scanner component, as is the default. To view those logs you will need to ensure that when launching the container that you specify environmental variable `ANSIBLE_LOG_PATH=/var/log/ansible.log`. This tells the scanner component to log to file at path `/var/log/ansible.log`. +When viewing the container logs `docker logs `, what you will see is the Server component logs. This is by design. If however you are also running the scanner component, as is the default. To view those logs you will need to ensure that when launching the container that you specify environmental variable `ANSIBLE_LOG_PATH=/var/log/ansible.log`. This tells the scanner component to log to file at path `/var/log/ansible.log`. +During the build of the container environmental variable `ANSIBLE_FORCE_COLOR='true'` is set, this enables the playbooks to be in colour when viewing the container logs. If this is not desired, set the variable to `ANSIBLE_FORCE_COLOR='false'` when launching the container. + + +### Volumes + +There are no volumes for this container. + +If you wish to customize the cronjob for the scan component within the container, mount a new cron file to path `/etc/cron.d/scanner`. The default cron file is as follows: + +``` yaml title="/etc/cron.d/scanner" linenums="1" + +--8<-- "includes/etc/cron.d/scanner" + +``` diff --git a/docs/projects/ansible/collection/phpipam_scan_agent/index.md b/docs/projects/ansible/collection/phpipam_scan_agent/index.md index b9a56df..e00e5d8 100644 --- a/docs/projects/ansible/collection/phpipam_scan_agent/index.md +++ b/docs/projects/ansible/collection/phpipam_scan_agent/index.md @@ -21,22 +21,24 @@ about: https://gitlab.com/nofusscomputing/projects/ansible/collections/phpipam_s A phpIPAM scan agent designed for both local and remote network scanning. This Ansible Collection contains all of the componets required to launch a scan agent that will report back to the phpIPAM server. This collection is also built into it's own docker container and is [available on Docker Hub](https://hub.docker.com/r/nofusscomputing/phpipam-scan-agent). -This collection has been broken down into two components, a server and a scanner. The scanner as the name implies will scan the networks assigned to it by phpIPAM and on completing a scan of a subnet, will post the results to the Server component which will process the results, and update the phpIPAM MySQL/MariaDB database directly. +This collection has been broken down into two components, a [server](server.md) and a [scanner](scanner.md). The scanner as the name implies will scan the networks assigned to it by phpIPAM and on completing a scan of a subnet, will post the results to the Server component which will process the results, and update the phpIPAM MySQL/MariaDB database directly. ## Installation This collection is available on Ansible Galaxy and can be installed with `ansible-galaxy collection install nofusscomputing.phpipam_scan_agent`. When installing all of the required dependencies are installed. -Prefer to use our docker image? It's available on Docker Hub `docker pull nofusscomputing/phpipam-scan-agent:latest`. +Prefer to use our [docker](docker.md) image? It's available on Docker Hub `docker pull nofusscomputing/phpipam-scan-agent:latest`. ## Features -Currenty this collection has the following features: +The following features are available or planned to be implmented: - Discover new hosts +- [**ToDo** Execute scan from remote host](https://gitlab.com/nofusscomputing/projects/ansible/collections/phpipam_scan_agent/-/issues/7) + - [**ToDo** Hosts check](https://gitlab.com/nofusscomputing/projects/ansible/collections/phpipam_scan_agent/-/issues/3) - [**ToDo** Host Self-Update](https://gitlab.com/nofusscomputing/projects/ansible/collections/phpipam_scan_agent/-/issues/2) @@ -50,3 +52,34 @@ Currenty this collection has the following features: - [**ToDo** Resolve DNS names](https://gitlab.com/nofusscomputing/projects/ansible/collections/phpipam_scan_agent/-/issues/4) + +## Development Notes + +Contributions to this project are welcome. Below you will find some useful commands for use during development. + +``` bash +# To build the container. ensure the changes are commited and push to you feature branch +docker build . --tag scan-agent:dev --build-arg COLLECTION_BRANCH= --build-arg COLLECTION_COMMIT=$(git log -n1 --format=format:"%H") + + +# Launch your build container +docker run \ + -d \ + -e "API_URL=" \ + -e "MYSQL_HOST=" \ + -e "MYSQL_USER=" \ + -e "MYSQL_PASSWORD=" \ + -e "SCANNER_TOKEN=" \ + -e "SCANNER_NAME=" \ + -e "SCANNER_CODE=" \ + -e "ANSIBLE_LOG_PATH=/var/log/ansible.log" \ + -p "5000:5000" \ + --name scan-agent \ + scan-agent:dev; + +# remove launched dev container +docker rm --force scan-agent + +``` + +Our docker build file has been designed so that during development it will pull from the repository branch as specified to find the collection to install. if you fail to specify your feature branch, the collection will not install the work you have been doing. diff --git a/docs/projects/ansible/collection/phpipam_scan_agent/scanner.md b/docs/projects/ansible/collection/phpipam_scan_agent/scanner.md index 2b72b6b..265199b 100644 --- a/docs/projects/ansible/collection/phpipam_scan_agent/scanner.md +++ b/docs/projects/ansible/collection/phpipam_scan_agent/scanner.md @@ -22,6 +22,7 @@ ansible-playbook nofusscomputing.phpipam_scan_agent.agent \ --extra-vars "scanagent_code=" ``` + _See below for the variable details_ @@ -30,6 +31,7 @@ _See below for the variable details_ The variables described below, if optional the value specified here is the default value. Any variable that can be set via environmental variables have the variable name enclosed in `[]` ``` yaml + client_token: "" # Mandatory, String client api token to connect to phpIPAM API [SCANNER_TOKEN] client_name: "" # Mandatory, String. The scanner name as set in phpIPAM interface [SCANNER_NAME] scanagent_code: "" # Mandatory, String. Scan Agent Code as set in phpIPAM interface [SCANNER_CODE] @@ -46,3 +48,34 @@ nfc_c_cache_expire_time: 1800 # Optional, Integer. Time in seconds to e nfc_c_epoch_time_offset: 0 # optional, int. Value in seconds to offset the time ``` + +!!! tip + You can specify environmental variable `ANSIBLE_LOG_PATH=/var/log/ansible.log`, which will tell the scanner component to log to a file at path `/var/log/ansible.log` + + +## Workflow + +The scanner component has the following workflow: + +1. Expire cache, if cache expiry has elapsed. + +1. Fetch from the phpIPAM API, the subnets assigned to it. _results are cached_ + +1. Fetch ALL address' from phpIPAM API, that are assosiated with agent subnets. _results are cached_ + +1. For each network: + + 1. conduct Scan of network. + + !!! info + The following details are included in the scan report: + + - IP Address + + - MAC Address* _Only if the scanner is on the same L2 network (Broadcast Domain)_ + + 1. Re-format nmap scan report to format Server component recognizes. + + 1. upload scan report to configured Server. + +1. workflow complete. diff --git a/docs/projects/ansible/collection/phpipam_scan_agent/server.md b/docs/projects/ansible/collection/phpipam_scan_agent/server.md index 3d39263..06f103e 100644 --- a/docs/projects/ansible/collection/phpipam_scan_agent/server.md +++ b/docs/projects/ansible/collection/phpipam_scan_agent/server.md @@ -8,4 +8,49 @@ about: https://gitlab.com/nofusscomputing/projects/ansible/collections/phpipam_s The Scan Agent Server component is intended to act as the go between for the Scanner component and phpIPAM. + ## Usage + +After installing the collection, running the server is as simple as running the following command: + +``` bash + +ansible-rulebook -r nofusscomputing.phpipam_scan_agent.agent_receive + +``` + + +### Variables + +The variables described below, if optional the value specified here is the default value. All variables that are used by the server component are environmental variables that must be set before execution. + +``` bash + +# phpIPAM MariaDB/MySQL Variables +MYSQL_HOST= # Mandatory, String. IP/DNS of host to connect. +MYSQL_PORT=3306 # Optional, Integer. port to use for connection. +MYSQL_USER= # Mandatory, String. User to authenticate with. +MYSQL_PASSWORD= # Mandatory, String. Password for the user to connect with. + + +# Server Component Variables +HTTP_PORT=5000 # Optional, Integer. The port for the Server component to listen for connections. + +``` + + +# Workflow + +The Server componet has the following workflow: + +1. Receive the Scanner component report. + +1. check if the Scanner Code is in the DB + + - _if no results found, no further processing occurs_ + +1. Confirm the subnet scanned is assigned to the scanner + + - _if no results found, no further processing occurs_ + +1. Update the phpIPAM MariaDB/MySQL database directly From 9ac8cceb93fdbcaae9f90b81e742a8ba11bd144e Mon Sep 17 00:00:00 2001 From: Jon Date: Wed, 21 Feb 2024 15:44:58 +0930 Subject: [PATCH 45/46] docs: add images for scanner vars !1 --- .../phpipam_scan_agent/images/phpipam_api.png | Bin 0 -> 279977 bytes .../images/phpipam_scan_agent_details.png | Bin 0 -> 142065 bytes .../collection/phpipam_scan_agent/scanner.md | 20 ++++++++++++++++++ 3 files changed, 20 insertions(+) create mode 100644 docs/projects/ansible/collection/phpipam_scan_agent/images/phpipam_api.png create mode 100644 docs/projects/ansible/collection/phpipam_scan_agent/images/phpipam_scan_agent_details.png diff --git a/docs/projects/ansible/collection/phpipam_scan_agent/images/phpipam_api.png b/docs/projects/ansible/collection/phpipam_scan_agent/images/phpipam_api.png new file mode 100644 index 0000000000000000000000000000000000000000..71c1a8969a92ceded7c151b56d9b97ac568c1e16 GIT binary patch literal 279977 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 E~$k=2gYc#iNUnRa~v0x<9f16D9FcoZq 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

mS*nEikLO@8dJ}M2vZnNVm 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˵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 Z1Iwn^n8~w${{jIYB?Wc)YFV?8{{gAyNxJ|5 literal 0 HcmV?d00001 diff --git a/docs/projects/ansible/collection/phpipam_scan_agent/images/phpipam_scan_agent_details.png b/docs/projects/ansible/collection/phpipam_scan_agent/images/phpipam_scan_agent_details.png new file mode 100644 index 0000000000000000000000000000000000000000..405581a7c0382bf6f7244fc5f7f1783d25bf5ee9 GIT binary patch literal 142065 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

&eVN_N&yNlOk8z6%IIuzMgYP-( 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

^8-rZK1l+L62>bbA4zEtq>g{ZGi2YjR#zx=uz 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 z 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

o5Y(KxZCY;HQv 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 literal 0 HcmV?d00001 diff --git a/docs/projects/ansible/collection/phpipam_scan_agent/scanner.md b/docs/projects/ansible/collection/phpipam_scan_agent/scanner.md index 265199b..bddabe2 100644 --- a/docs/projects/ansible/collection/phpipam_scan_agent/scanner.md +++ b/docs/projects/ansible/collection/phpipam_scan_agent/scanner.md @@ -26,6 +26,11 @@ ansible-playbook nofusscomputing.phpipam_scan_agent.agent \ _See below for the variable details_ +### phpIPAM API + +The scanner component requires API access to phpIPAM. THe API user that is used, must only be given read only access to the API. + + ### Variables The variables described below, if optional the value specified here is the default value. Any variable that can be set via environmental variables have the variable name enclosed in `[]` @@ -53,6 +58,21 @@ nfc_c_epoch_time_offset: 0 # optional, int. Value in seconds to offs You can specify environmental variable `ANSIBLE_LOG_PATH=/var/log/ansible.log`, which will tell the scanner component to log to a file at path `/var/log/ansible.log` +#### phpIPAM Interface variable Mapping + +These images are of the phpIPAM interface that show in green text the variable name that would be set as detailed above. + +![phpIPAM API](images/phpipam_api.png) + +phpIPAM API Settings + +---- + +![phpIPAM Scan Agent](images/phpipam_scan_agent_details.png) + +phpIPAM Scan Agent Settings + + ## Workflow The scanner component has the following workflow: From 7057f775041f44cadf81ac3a32e156e59c5905bc Mon Sep 17 00:00:00 2001 From: Jon Date: Wed, 21 Feb 2024 16:02:38 +0930 Subject: [PATCH 46/46] docs: detail phpIPAM features releated to the scanner !1 --- .../collection/phpipam_scan_agent/index.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/docs/projects/ansible/collection/phpipam_scan_agent/index.md b/docs/projects/ansible/collection/phpipam_scan_agent/index.md index e00e5d8..35745c2 100644 --- a/docs/projects/ansible/collection/phpipam_scan_agent/index.md +++ b/docs/projects/ansible/collection/phpipam_scan_agent/index.md @@ -53,6 +53,21 @@ The following features are available or planned to be implmented: - [**ToDo** Resolve DNS names](https://gitlab.com/nofusscomputing/projects/ansible/collections/phpipam_scan_agent/-/issues/4) +## phpIPAM Features + +This section describes the phpIPAM settings and what they each do for the scanner/server component. Regardless of any setting detailed below, unless otherwise specified. If the scan agent is not assigned to the subnet, the subnet will not be scanned. + + +### Discover new hosts + +- Location `Subnet -> Discover new hosts` + +When this setting is enabled, the scanner will scan the entire subnet that has been assigned to it. Every host that is found is updated in phpIPAM. + +!!! note + the work in [Hosts check](https://gitlab.com/nofusscomputing/projects/ansible/collections/phpipam_scan_agent/-/issues/3), will adjust this behaviour to only add hosts that dont exist. + + ## Development Notes Contributions to this project are welcome. Below you will find some useful commands for use during development.