Skip to content

Commit

Permalink
feat: release 1.12.0 (#1104)
Browse files Browse the repository at this point in the history
* chore: update pre-commit config (#1072)

* chore: fossa update (#1073)

* fix: refactor process snmp data (#1060)

* chore(release): 1.11.1-beta.1

## [1.11.1-beta.1](v1.11.0...v1.11.1-beta.1) (2024-09-11)

### Bug Fixes

* refactor process snmp data ([#1060](#1060)) ([0250242](0250242))

* chore(deps): update splunk/addonfactory-github-workflows action to v1.6.0 (#1070)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency opentelemetry-api to v1.27.0 (#1026)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency pytest to v8.3.3 (#1054)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency mkdocs-material to v9.5.34 (#1056)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency pyyaml to v6.0.2 (#1057)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency mike to v2.1.3 (#1059)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency mongoengine to ^0.29.0 (#1061)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency pydantic to v1.10.18 (#1062)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency urllib3 to v1.26.20 (#1063)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency mkdocs to v1.6.1 (#1067)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update helm release redis to v20 (#1058)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* docs: add kubernetes guide (#1076)

* docs: add kubernetes guide

* docs: fix misspellings

* fix: pysnmp debug mode (#1069)

* fix: pysnmp debug mode [run-int-tests]

Signed-off-by: Ilya Kheifets <[email protected]>

* fix: make debug mode more configurable [run-int-tests]

Signed-off-by: Ilya Kheifets <[email protected]>

* fix: add debug logs for traps

Signed-off-by: Ilya Kheifets <[email protected]>

* fix: linting tips

Signed-off-by: Ilya Kheifets <[email protected]>

---------

Signed-off-by: Ilya Kheifets <[email protected]>

* chore(release): 1.11.1-beta.2

## [1.11.1-beta.2](v1.11.1-beta.1...v1.11.1-beta.2) (2024-09-17)

### Bug Fixes

* pysnmp debug mode ([#1069](#1069)) ([d4770e2](d4770e2))

* Fix: broken tests (#1075)

* fix: broken tests

Signed-off-by: Ilya Kheifets <[email protected]>

* fix: update mib server version

Signed-off-by: Ilya Kheifets <[email protected]>

---------

Signed-off-by: Ilya Kheifets <[email protected]>

* fix: add monitoring dashboard (#1068)

Signed-off-by: Ilya Kheifets <[email protected]>

* chore(release): 1.11.1-beta.3

## [1.11.1-beta.3](v1.11.1-beta.2...v1.11.1-beta.3) (2024-09-18)

### Bug Fixes

* add monitoring dashboard ([#1068](#1068)) ([903ed4e](903ed4e))

* docs: describe components (#1079)

* docs: describe components

* docs: broaden components descriptions

* feat: support ipv6 (#1071)

* chore(release): 1.12.0-beta.1

# [1.12.0-beta.1](v1.11.1-beta.3...v1.12.0-beta.1) (2024-09-19)

### Features

* support ipv6 ([#1071](#1071)) ([53a586f](53a586f))

* chore(deps): update dependency mkdocs-material to v9.5.35 (#1080)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* feat: enable ipv6 on docker (#1086)

* feat: add ipv6 for docker

* docs: update documentation

* chore(release): 1.12.0-beta.2

# [1.12.0-beta.2](v1.12.0-beta.1...v1.12.0-beta.2) (2024-10-02)

### Features

* enable ipv6 on docker ([#1086](#1086)) ([af6ed8d](af6ed8d))

* docs: update CHANGELOG.md (#1088)

* docs: update polling links (#1089)

* fix: refactor create secrets (#1091)

* chore(release): 1.12.0-beta.3

# [1.12.0-beta.3](v1.12.0-beta.2...v1.12.0-beta.3) (2024-10-09)

### Bug Fixes

* refactor create secrets ([#1091](#1091)) ([2479ddf](2479ddf))

* fix: add nodeselector for sim (#1094)

* chore(release): 1.12.0-beta.4

# [1.12.0-beta.4](v1.12.0-beta.3...v1.12.0-beta.4) (2024-10-10)

### Bug Fixes

* add nodeselector for sim ([#1094](#1094)) ([3596139](3596139))

* docs: add k8s scaling guide (#1087)

Signed-off-by: Ilya Kheifets <[email protected]>

* fix: trim at dashboard port number in SNMP device address (#1092)

Signed-off-by: Ilya Kheifets <[email protected]>

* chore(release): 1.12.0-beta.5

# [1.12.0-beta.5](v1.12.0-beta.4...v1.12.0-beta.5) (2024-10-11)

### Bug Fixes

* trim at dashboard port number in SNMP device address ([#1092](#1092)) ([6343413](6343413))

* docs: add docker troubleshooting instructions (#1097)

* chore(deps): update dependency mkdocs-material to v9.5.40 (#1084)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore: update mike workflow (#1099)

* chore(deps): update splunk/addonfactory-github-workflows action to v1.7.0 (#1096)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update helm release redis to ~20.2.0 (#1095)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency mongoengine to v0.29.1 (#1083)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix: refactor do work (#1098)

* chore(release): 1.12.0-beta.6

# [1.12.0-beta.6](v1.12.0-beta.5...v1.12.0-beta.6) (2024-10-15)

### Bug Fixes

* refactor do work ([#1098](#1098)) ([b37a07f](b37a07f))

* chore: update changelog 1.12.0 (#1102)

---------

Signed-off-by: Ilya Kheifets <[email protected]>
Co-authored-by: srv-rr-github-token <[email protected]>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ilya Kheifets <[email protected]>
  • Loading branch information
4 people authored Oct 16, 2024
1 parent dc5f24d commit 0d59b99
Show file tree
Hide file tree
Showing 100 changed files with 2,732 additions and 778 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/agreements.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ on:

jobs:
call-workflow-agreements:
uses: splunk/addonfactory-github-workflows/.github/workflows/reusable-agreements.yaml@v1.5.1
uses: splunk/addonfactory-github-workflows/.github/workflows/reusable-agreements.yaml@v1.7.0
permissions:
actions: read
contents: read
Expand Down
22 changes: 22 additions & 0 deletions .github/workflows/cd-dashboard-release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: dashboard-release
on:
push:
tags:
- "v*"

jobs:
dashboard-release:
name: Dashboard release
runs-on: ubuntu-latest
permissions:
contents: write
packages: write
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Upload dashboard to release assets
run: |
VERSION=$(echo $GITHUB_REF | cut -d / -f 3)
gh release upload $VERSION dashboard/dashboard.xml
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2 changes: 2 additions & 0 deletions .github/workflows/ci-main.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,8 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.10"
- uses: pre-commit/[email protected]
test-unit:
name: Test Unit Python ${{ matrix.python-version }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/mike.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ jobs:
sudo apt install gnome-keyring
BRANCH=$(echo $GITHUB_REF | cut -d / -f 3)
echo $BRANCH
pip3 install poetry=="1.5.1"
curl -sSL https://install.python-poetry.org | python3 -
poetry install
poetry run pip install 'setuptools==65.6.3'
poetry run mike deploy -p $BRANCH
2 changes: 1 addition & 1 deletion .github/workflows/release-notes.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,6 @@ jobs:
permissions:
contents: write
packages: write
uses: splunk/addonfactory-github-workflows/.github/workflows/reusable-release-notes.yaml@v1.5.1
uses: splunk/addonfactory-github-workflows/.github/workflows/reusable-release-notes.yaml@v1.7.0
secrets:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
13 changes: 7 additions & 6 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,27 +15,28 @@
#
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.1.0
rev: v4.6.0
hooks:
- id: check-merge-conflict
- id: debug-statements
- repo: https://github.com/asottile/pyupgrade
rev: v2.31.0
rev: v3.17.0
hooks:
- id: pyupgrade
args:
- --py3-plus
- repo: https://github.com/psf/black
rev: 22.3.0
rev: 24.8.0
hooks:
- id: black
- repo: https://github.com/PyCQA/isort
rev: 5.12.0
rev: 5.13.2
hooks:
- id: isort
args: ["--profile", "black"]
- repo: https://github.com/pre-commit/mirrors-mypy
rev: v0.931
rev: v1.11.2
hooks:
- id: mypy
additional_dependencies: [types-all]
exclude: (^ui_tests|^test*|^docs)
additional_dependencies: [types-requests, types-PyYAML]
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,15 @@

### Fixed

## [1.12.0]

### Changed
- add metrics dashboard
- add support for IPv6 polling and traps for kubernetes deployment
- add support for IPv6 polling and traps for docker deployment
- add nodeSelector and podAntiAffinity to sim chart
- add support for new IP format in dashboard

## [1.11.0]

### Changed
Expand Down
8 changes: 4 additions & 4 deletions charts/splunk-connect-for-snmp/Chart.lock
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ dependencies:
version: 13.18.5
- name: redis
repository: https://charts.bitnami.com/bitnami
version: 19.6.2
version: 20.2.0
- name: mibserver
repository: https://pysnmp.github.io/mibs/charts/
version: 1.15.11
digest: sha256:bf06c372ef537ce231d60cc88f571997c6be554e0a2ae0ead95d262183d6aabe
generated: "2024-07-24T13:03:51.800592+02:00"
version: 1.15.13
digest: sha256:dedfae30b39e9b78a83f8e1822666095f79ba2b9b112b04f7a11a2a318674713
generated: "2024-10-14T10:28:52.408747265Z"
6 changes: 3 additions & 3 deletions charts/splunk-connect-for-snmp/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,19 +14,19 @@ type: application
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)

version: 1.11.0
version: 1.12.0-beta.6
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes.
appVersion: "1.11.0"
appVersion: "1.12.0-beta.6"
#
dependencies:
- name: mongodb
version: ~13.18.0
repository: https://charts.bitnami.com/bitnami
- name: redis
version: ~19.6.0
version: ~20.2.0
repository: https://charts.bitnami.com/bitnami
- name: mibserver
version: ~1.15
Expand Down
23 changes: 23 additions & 0 deletions charts/splunk-connect-for-snmp/templates/sim/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,29 @@ spec:
- name: config
mountPath: "/config"
readOnly: true
{{- with .Values.sim.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- if eq .Values.sim.podAntiAffinity "hard" }}
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- topologyKey: "kubernetes.io/hostname"
labelSelector:
matchLabels:
{{- include "splunk-connect-for-snmp.sim.selectorLabels" . | nindent 22 }}
{{- else if eq .Values.sim.podAntiAffinity "soft" }}
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 1
podAffinityTerm:
topologyKey: kubernetes.io/hostname
labelSelector:
matchLabels:
{{- include "splunk-connect-for-snmp.sim.selectorLabels" . | nindent 22 }}
{{- end }}
volumes:
- name: config
configMap:
Expand Down
13 changes: 13 additions & 0 deletions charts/splunk-connect-for-snmp/templates/traps/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,8 @@ spec:
value: "http://{{ printf "%s-%s" .Release.Name "mibserver" }}/standard.txt"
- name: LOG_LEVEL
value: {{ .Values.traps.logLevel | default "INFO" }}
- name: PYSNMP_DEBUG
value: {{ .Values.pysnmpDebug | default "" | quote }}
{{- if .Values.splunk.protocol }}
- name: SPLUNK_HEC_SCHEME
value: {{ .Values.splunk.protocol | default "https" | quote }}
Expand All @@ -82,10 +84,21 @@ spec:
secretKeyRef:
name: {{ include "splunk-connect-for-snmp.name" . }}-splunk
key: hec_token
- name: IPv6_ENABLED
{{- if has "IPv6" .Values.traps.ipFamilies}}
value: "true"
{{ else }}
value: "false"
{{- end }}
ports:
- name: snmp-udp
containerPort: 2162
protocol: UDP
{{- if has "IPv6" .Values.traps.ipFamilies}}
- name: snmp-udp6
containerPort: 2163
protocol: UDP
{{- end }}
volumeMounts:
- name: config
mountPath: "/app/config"
Expand Down
13 changes: 12 additions & 1 deletion charts/splunk-connect-for-snmp/templates/traps/service.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ metadata:
annotations:
{{- if .Values.traps.service.usemetallb }}
metallb.universe.tf/allow-shared-ip: {{ .Values.traps.service.metallbsharingkey | default "splunk-connect" | quote }}
metallb.universe.tf/loadBalancerIPs: {{ .Values.traps.loadBalancerIP }}
{{- end }}
{{- if .Values.traps.service.annotations }}
{{ toYaml .Values.traps.service.annotations | indent 4 }}
Expand All @@ -20,7 +21,8 @@ spec:
type: {{ .Values.traps.service.type }}
externalTrafficPolicy: {{ .Values.traps.service.externalTrafficPolicy | default "Local" }}
{{- if .Values.traps.loadBalancerIP }}
loadBalancerIP: {{ .Values.traps.loadBalancerIP }}
ipFamilyPolicy: {{ .Values.traps.ipFamilyPolicy }}
ipFamilies: {{ .Values.traps.ipFamilies | toYaml | nindent 2 }}
{{- end }}
ports:
- port: {{ .Values.traps.service.port }}
Expand All @@ -30,6 +32,15 @@ spec:
targetPort: 2162
protocol: UDP
name: snmp-udp
{{- if has "IPv6" .Values.traps.ipFamilies}}
- port: {{ .Values.traps.service.ipv6Port | default 2163}}
{{- if and .Values.traps.service.nodePort (eq .Values.traps.service.type "NodePort")}}
nodePort: {{ .Values.traps.service.ipv6NodePort | default 30003 }}
{{- end }}
targetPort: 2163
protocol: UDP
name: snmp-udp6
{{- end }}
selector:
{{- include "splunk-connect-for-snmp.traps.selectorLabels" . | nindent 4 }}
{{- end -}}
2 changes: 2 additions & 0 deletions charts/splunk-connect-for-snmp/templates/worker/_helpers.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,8 @@ Common labels
value: {{ .Values.worker.udpConnectionTimeout | default "3" | quote }}
- name: MAX_OID_TO_PROCESS
value: {{ .Values.poller.maxOidToProcess | default "70" | quote }}
- name: PYSNMP_DEBUG
value: {{ .Values.pysnmpDebug | default "" | quote }}
- name: PROFILES_RELOAD_DELAY
value: {{ .Values.worker.profilesReloadDelay | default "60" | quote }}
- name: MIB_SOURCES
Expand Down
24 changes: 24 additions & 0 deletions charts/splunk-connect-for-snmp/values.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,9 @@
"imagePullSecrets": {
"type": "array"
},
"pysnmpDebug": {
"type": "string"
},
"UI": {
"type": "object",
"additionalProperties": false,
Expand Down Expand Up @@ -244,6 +247,15 @@
"type": "boolean"
}
}
},
"podAnnotations": {
"type": "object"
},
"podAntiAffinity": {
"type": "string"
},
"nodeSelector": {
"type": "object"
}
}
},
Expand Down Expand Up @@ -716,12 +728,24 @@
},
"nodePort": {
"type": "integer"
},
"ipv6Port": {
"type": "integer"
},
"ipv6NodePort": {
"type": "integer"
}
}
},
"loadBalancerIP": {
"type": "string"
},
"ipFamilyPolicy": {
"type": "string"
},
"ipFamilies": {
"type": "array"
},
"resources": {
"type": "object",
"additionalProperties": false,
Expand Down
10 changes: 10 additions & 0 deletions charts/splunk-connect-for-snmp/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,10 @@ sim:
autoscaling:
enabled: false

podAnnotations: { }
podAntiAffinity: soft
nodeSelector: { }

################################################################################
# SC4SNMP components settings
################################################################################
Expand Down Expand Up @@ -425,13 +429,19 @@ traps:
# on a multi-node it's better to set this as NodePort and configure traps.service.nodePort
type: LoadBalancer
port: 162
# ipv6Port: 2163

# nodePort will be set only when type of service is a NodePort
#nodePort: 30000
#ipv6NodePort: 30003

#loadBalancerIP must be set to the IP address in the metallb pool.
#It is required when service type is set to LoadBalancer.
#loadBalancerIP: 18.117.100.37
loadBalancerIP: ""
ipFamilyPolicy: SingleStack
ipFamilies:
- IPv4

resources: {}
# limits:
Expand Down
Loading

0 comments on commit 0d59b99

Please sign in to comment.