Skip to content

Commit e4afa46

Browse files
feat: adding support of python v3.13 and migrating from pysnmplib to lextudio's pysnmp v7.1.8
- Replaced pysnmplib with lextudio’s pysmp v7.1.8 - Replaced pysnmp-pyasn1 to lextudio's pyasn1 - Replaced pysnmp-pysmi to lextudio's pysmi - Included pysnmpcrypto (maintained by lextudio's) for stronger crypto algorithms with pysnmp v6+ - Made SC4SNMP compatible with Python 3.13 - Updated SNMP walk implementation from bulkCmd to custom multi_bulk_walk_cmd - Introduced deploymentUser in values.yaml to make the sc4snmp entirely compatible with lextudio's pysnmp. - Added DEPLOYMENT_USER variable for Docker Compose deployment. - Introduces multi_bulk_walk_cmd to walk multiple OID trees simultaneously with lexicographic mode control per varbind. - Migrate auto-discovery feature to make compitable with lextuio's pysnmp and python 3.13 - Replace the thread-pool executor with semaphore asyncio for concurrency control
2 parents 735dae4 + d719fa7 commit e4afa46

File tree

177 files changed

+4876
-778
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

177 files changed

+4876
-778
lines changed

.github/workflows/ci-docker-deployment.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
strategy:
1515
matrix:
1616
python-version:
17-
- 3.10
17+
- 3.13
1818
steps:
1919
- name: Check out code
2020
uses: actions/checkout@v4

.github/workflows/ci-main.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ jobs:
7070
- uses: actions/checkout@v4
7171
- uses: actions/setup-python@v5
7272
with:
73-
python-version: "3.10"
73+
python-version: "3.13"
7474
- uses: pre-commit/[email protected]
7575

7676
trivy-scan:
@@ -102,7 +102,7 @@ jobs:
102102
strategy:
103103
matrix:
104104
python-version:
105-
- "3.10"
105+
- "3.13"
106106
steps:
107107
- uses: actions/checkout@v4
108108
- name: Setup python
@@ -197,7 +197,7 @@ jobs:
197197
- name: Setup python
198198
uses: actions/setup-python@v5
199199
with:
200-
python-version: "3.10"
200+
python-version: "3.13"
201201
- name: Install docker compose
202202
run: |
203203
# Add Docker's official GPG key:

.github/workflows/ci-ui-tests.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ jobs:
6464
- name: Set up Python
6565
uses: actions/setup-python@v5
6666
with:
67-
python-version: "3.10"
67+
python-version: "3.13"
6868

6969
- name: remove not used docker images
7070
run: |

.github/workflows/mike.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ jobs:
4040
token: "${{ secrets.PAT_CLATOOL }}"
4141
- uses: actions/setup-python@v5
4242
with:
43-
python-version: "3.10"
43+
python-version: "3.13"
4444
- name: Upload Docs
4545
run: |
4646
sudo apt update

.github/workflows/offline-installation.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
strategy:
1515
matrix:
1616
python-version:
17-
- "3.10"
17+
- "3.13"
1818
steps:
1919
- name: Check out code
2020
uses: actions/checkout@v4

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
- Implemented automatic data migration from Bitnami deployments (PVC reuse)
1010
- Enabled AOF persistence by default for data durability
1111
- add CounterBasedGauge64 and ZeroBasedCounter64 as metrics types
12+
- add SNMP-enabled device discovery feature
1213

1314
### Fixes
1415
- fix problem with service rendering when `traps.service.usemetallb` is set to false

Dockerfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
1-
FROM python:3.10-alpine AS base
1+
FROM python:3.13-alpine AS base
22

33
ENV PYTHONFAULTHANDLER=1 \
44
PYTHONHASHSEED=random \
55
PYTHONUNBUFFERED=1
66
RUN apk add -U git sqlite-dev
77
RUN pip install --upgrade setuptools pip
8+
RUN apk add --no-cache nmap
89
RUN mkdir /app
910
WORKDIR /app
1011

charts/splunk-connect-for-snmp/Chart.lock

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,5 @@ dependencies:
55
- name: mibserver
66
repository: https://pysnmp.github.io/mibs/charts/
77
version: 1.15.25
8-
digest: sha256:747fcedec83bf0d80600166a021b35436d8d2ea877b60e9a43044ed2140cf1c5
9-
generated: "2025-10-13T12:15:04.255986+02:00"
8+
digest: sha256:204f5bac63adfed27167a2d1f76682400e98ff9dd39bb319357633de25f91525
9+
generated: "2025-11-06T09:07:30.615857862Z"
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
Default walk no longer calls full oid tree, instead it is collecting only 'SNMPv2-MIB'.
2-
If you want to call full oid for the devices, you have to set enableFullWalk flag to true.
2+
If you want to call full oid for the devices, you have to set enableFullWalk flag to true.
3+
If the discovery feature is enabled, the time required may increase depending on the number of devices in the specified subnet.

charts/splunk-connect-for-snmp/templates/_helpers.tpl

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,17 @@ Whether enable polling
9696
{{- end -}}
9797
{{- end }}
9898

99+
{{/*
100+
Whether enable discovery
101+
*/}}
102+
{{- define "splunk-connect-for-snmp.discovery.enable" -}}
103+
{{- if .Values.discovery.enabled }}
104+
{{- printf "true" }}
105+
{{- else }}
106+
{{- printf "false" }}
107+
{{- end -}}
108+
{{- end }}
109+
99110
{{- /*
100111
Generate Redis environment variables for application pods
101112
*/ -}}

0 commit comments

Comments
 (0)