Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
8cea597
Merge pull request #748 from hyposcaler-bot/hyposcaler/issue-747
karimra Sep 28, 2025
052515d
Merge pull request #746 from nokia/refactor-interfaces
karimra Sep 28, 2025
3d3587b
Bump golang.org/x/crypto from 0.41.0 to 0.42.0
dependabot[bot] Sep 28, 2025
4fed1b2
Merge pull request #734 from openconfig/dependabot/go_modules/golang.…
karimra Sep 28, 2025
1a8ee6f
handle `[null]` and `null` when format is `event`
karimra Oct 9, 2025
b6933bc
add missing processor name to proc list
karimra Oct 9, 2025
7a1995e
fail xpath parsing when there are trailing chars after a key and befo…
karimra Oct 9, 2025
07786fa
Merge pull request #754 from openconfig/fix753
karimra Oct 9, 2025
0314bda
Merge pull request #755 from openconfig/reorg-proc-list
karimra Oct 9, 2025
938d926
Merge pull request #756 from openconfig/fix751
karimra Oct 9, 2025
5c8542a
bump api pkg go version and main pkg dependencies
karimra Oct 9, 2025
a387236
Merge pull request #757 from openconfig/bump-api-deps
karimra Oct 9, 2025
65d4abe
feat: capability for jetstream input to set MaxAckPending
marco-minervino Oct 13, 2025
1e57a5f
Fix leading slash handling for flat format
earies Oct 18, 2025
e6f5eef
Merge pull request #758 from marco-minervino/feat-maxackpending-input…
karimra Oct 20, 2025
0514e8c
fix event_group_by not handling delete events
alkshmir Oct 31, 2025
d6839c2
fix #770 The API path to patch subscriptions for a target ID is docum…
ashvanth48t Nov 3, 2025
107dc97
Bump golangci/golangci-lint-action from 8 to 9
dependabot[bot] Nov 10, 2025
0686dee
Address karima comments
earies Nov 16, 2025
add67c2
Handle prefix without origin
earies Nov 16, 2025
4b93215
Bump golang.org/x/crypto from 0.43.0 to 0.45.0
dependabot[bot] Nov 20, 2025
fc37d57
Merge pull request #771 from ashvanth48t/main
karimra Nov 22, 2025
8d3249f
Merge pull request #769 from alkshmir/main
karimra Nov 22, 2025
2db8319
Merge pull request #773 from openconfig/dependabot/github_actions/gol…
karimra Nov 22, 2025
1172391
Merge pull request #760 from earies/flat-root
karimra Nov 22, 2025
055b727
Merge pull request #776 from openconfig/dependabot/go_modules/golang.…
karimra Nov 22, 2025
1f85795
add windows build
mcarbonneaux Dec 19, 2025
55003e6
change github.com/c-bata/go-prompt to https://github.com/elk-language…
mcarbonneaux Dec 30, 2025
21b7995
add gnmic.exe to .gitignore
mcarbonneaux Jan 12, 2026
d28cf36
ignore arm arch for windows
mcarbonneaux Jan 12, 2026
d8c5d6f
add cache and fail fast to debug windows test (without macos fail)
mcarbonneaux Jan 12, 2026
691114a
to remove Warning: Input 'fail_on_error' has been deprecated with mes…
mcarbonneaux Jan 12, 2026
2dad991
try to fix staticcheck fail on macos and windows by updating reviewdog
mcarbonneaux Jan 12, 2026
ae82099
try to use version in place on hash to try to fix
mcarbonneaux Jan 12, 2026
b3ec6f3
remove staticcheck on windows/macos only one is needed
mcarbonneaux Jan 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
with:
go-version: ${{ env.GOVER }}
- name: golangci-lint
uses: golangci/golangci-lint-action@v8
uses: golangci/golangci-lint-action@v9
with:
# Required: the version of golangci-lint is required and must be specified without patch version: we always use the latest patch version.
version: v1.46
Expand Down
14 changes: 11 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,18 +13,26 @@ on:
tags:
- v*
env:
GOVER: 1.24.7
GORELEASER_VER: v1.19.2
GOVER: 1.24.x
GORELEASER_VER: latest

jobs:
test:
runs-on: ubuntu-22.04
strategy:
matrix:
os: [ubuntu-22.04, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v5
- uses: actions/setup-go@v6
with:
go-version: ${{ env.GOVER }}
- run: ./tests/run_tests.sh
if: runner.os != 'Windows'
env:
CGO_ENABLED: 0
- run: bash ./tests/run_tests.sh
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this wouldn't work right ?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

windows runner are build with bash but you need to call explicitly to use it.

if: runner.os == 'Windows'
env:
CGO_ENABLED: 0

Expand Down
19 changes: 15 additions & 4 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,26 +16,37 @@ on:
- "main"
- "!releases/**"
env:
GOVER: 1.24.7
GOVER: 1.24.x

jobs:
test:
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
os: [ubuntu-22.04, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v5
- uses: actions/setup-go@v6
with:
go-version: ${{ env.GOVER }}
cache: true
- run: ./tests/run_tests.sh
if: runner.os != 'Windows'
env:
CGO_ENABLED: 0
- run: bash ./tests/run_tests.sh
if: runner.os == 'Windows'
env:
CGO_ENABLED: 0
# run staticcheck
- uses: reviewdog/action-staticcheck@73cfd0daa6fdbba9a858dcb0f62844012fa8317d
- uses: reviewdog/[email protected]
if: runner.os == 'Linux'
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
# Change reviewdog reporter if you need [github-pr-check,github-check,github-pr-review].
reporter: github-pr-review
# Report all results.
filter_mode: nofilter
# Exit with 1 when it find at least one finding.
fail_on_error: true
fail_level: error
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ builds/
dist
*.log
gnmic
gnmic.exe
*.tmp
*.work*
.idea
4 changes: 4 additions & 0 deletions .goreleaser.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,15 @@ builds:
goos:
- linux
- darwin
- windows
goarch:
- amd64
- "386"
- arm
- arm64
ignore:
- goos: windows
goarch: arm
dockers:
- goos: linux
goarch: amd64
Expand Down
38 changes: 38 additions & 0 deletions docs/user_guide/api/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -248,6 +248,44 @@ Returns an empty body
```json
```

### `PATCH /api/v1/config/targets/{id}/subscriptions`

Updates existing subscriptions for the target ID

Returns an empty body if successful.

=== "Request"
```bash
curl --request PATCH gnmic-api-address:port/api/v1/config/targets/192.168.1.131:57400/subscriptions -d '{"subscriptions": ["sub1", "sub2"]}'
```
=== "200 OK"
```json
```
=== "404 Not found"
```json
{
"errors": [
"target $target not found"
]
}
```
=== "400 Bad Request"
```json
{
"errors": [
"subscription $subscription does not exist"
]
}
```
=== "500 Internal Server Error"
```json
{
"errors": [
"Error Text"
]
}
```

## /api/v1/config/subscriptions

### `GET /api/v1/config/subscriptions`
Expand Down
37 changes: 0 additions & 37 deletions docs/user_guide/api/targets.md
Original file line number Diff line number Diff line change
Expand Up @@ -194,41 +194,4 @@ Returns an empty body if successful.
]
}
```

## `PATCH /api/v1/targets/{id}/subscriptions`

Updates existing subscriptions for the target ID

Returns an empty body if successful.

=== "Request"
```bash
curl --request PATCH gnmic-api-address:port/api/v1/targets/192.168.1.131:57400/subscriptions -d '{"subscriptions": ["sub1", "sub2"]}'
```
=== "200 OK"
```json
```
=== "404 Not found"
```json
{
"errors": [
"target $target not found"
]
}
```
=== "400 Bad Request"
```json
{
"errors": [
"subscription $subscription does not exist"
]
}
```
=== "500 Internal Server Error"
```json
{
"errors": [
"Error Text"
]
}
```
4 changes: 4 additions & 0 deletions docs/user_guide/inputs/jetstream_input.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,10 @@ inputs:
# default: 500
fetch-batch-size: 200

# integer, maximum number of allowed pending ack on the stream
# default: 1000
max-ack-pending: 5000

# optional list of output names this input writes to
# outputs must be configured at the root `outputs:` section
outputs:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ loader:
type: docker
filters:
- containers:
- label=clab-node-kind: srl
- label=clab-node-kind: nokia_srlinux
label=containerlab: lab11

subscriptions:
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# © 2022 Nokia.
#
# This code is a Contribution to the gNMIc project (“Work”) made under the Google Software Grant and Corporate Contributor License Agreement (“CLA”) and governed by the Apache License 2.0.
# No other rights or licenses in or to any of Nokia’s intellectual property are granted for any other purpose.
# This code is provided on an “as is” basis without any warranties of any kind.
#
# SPDX-License-Identifier: Apache-2.0

username: admin
password: NokiaSrl1!
skip-verify: true
encoding: json_ietf
log: true

# docker target loader
loader:
type: docker
filters:
- containers:
- label=clab-node-kind: nokia_srlinux
label=containerlab: lab12

subscriptions:
# Add subscriptions configuration here
# e.g:
sub1:
paths:
- /interface/statistics
stream-mode: sample
sample-interval: 10s

outputs:
kafka-output:
type: kafka
address: clab-lab12-kafka-server:9092
topic: telemetry
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# © 2022 Nokia.
#
# This code is a Contribution to the gNMIc project (“Work”) made under the Google Software Grant and Corporate Contributor License Agreement (“CLA”) and governed by the Apache License 2.0.
# No other rights or licenses in or to any of Nokia’s intellectual property are granted for any other purpose.
# This code is provided on an “as is” basis without any warranties of any kind.
#
# SPDX-License-Identifier: Apache-2.0

name: lab12

topology:
defaults:
kind: nokia_srlinux

kinds:
nokia_srlinux:
image: ghcr.io/nokia/srlinux

nodes:
spine1:
spine2:
leaf1:
leaf2:
leaf3:
leaf4:

gnmic:
kind: linux
image: ghcr.io/openconfig/gnmic:latest
binds:
- ./gnmic.yaml:/app/gnmic.yaml:ro
- /var/run/docker.sock:/var/run/docker.sock
cmd: '--config /app/gnmic.yaml --log subscribe'

kafka-server:
kind: linux
image: bitnami/kafka:latest
ports:
- 9092:9092
- 9093:9093
env:
KAFKA_ENABLE_KRAFT: yes
ALLOW_PLAINTEXT_LISTENER: yes
KAFKA_CFG_NODE_ID: 0
KAFKA_CFG_PROCESS_ROLES: broker,controller
KAFKA_CFG_CONTROLLER_LISTENER_NAMES: CONTROLLER
KAFKA_CFG_LISTENERS: PLAINTEXT://:9092,CONTROLLER://:9093
KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP: CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT
KAFKA_CFG_ADVERTISED_LISTENERS: PLAINTEXT://clab-lab12-kafka-server:9092
KAFKA_CFG_CONTROLLER_QUORUM_VOTERS: 0@clab-lab12-kafka-server:9093

links:
# spine1 links
- endpoints: ["spine1:e1-1", "leaf1:e1-1"]
- endpoints: ["spine1:e1-2", "leaf2:e1-1"]
- endpoints: ["spine1:e1-3", "leaf3:e1-1"]
- endpoints: ["spine1:e1-4", "leaf4:e1-1"]
# spine2 links
- endpoints: ["spine2:e1-1", "leaf1:e1-2"]
- endpoints: ["spine2:e1-2", "leaf2:e1-2"]
- endpoints: ["spine2:e1-3", "leaf3:e1-2"]
- endpoints: ["spine2:e1-4", "leaf4:e1-2"]
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ loader:
type: docker
filters:
- containers:
- label=clab-node-kind: srl
- label=clab-node-kind: nokia_srlinux
label=containerlab: lab12

subscriptions:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ topology:

kafka-server:
kind: linux
image: bitnami/kafka:latest
image: bitnami/kafka:3.5.2
ports:
- 9092:9092
- 9000:9000
Expand Down Expand Up @@ -62,4 +62,4 @@ topology:
- endpoints: ["spine2:e1-1", "leaf1:e1-2"]
- endpoints: ["spine2:e1-2", "leaf2:e1-2"]
- endpoints: ["spine2:e1-3", "leaf3:e1-2"]
- endpoints: ["spine2:e1-4", "leaf4:e1-2"]
- endpoints: ["spine2:e1-4", "leaf4:e1-2"]
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ loader:
type: docker
filters:
- containers:
- label=clab-node-kind: srl
- label=clab-node-kind: nokia_srlinux
label=containerlab: lab13

subscriptions:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ loader:
type: docker
filters:
- containers:
- label=clab-node-kind: srl
- label=clab-node-kind: nokia_srlinux
label=containerlab: lab14

subscriptions:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ mgmt:

topology:
defaults:
kind: srl
kind: nokia_srlinux

kinds:
srl:
nokia_srlinux:
image: ghcr.io/nokia/srlinux

nodes:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ loader:
type: docker
filters:
- containers:
- label=clab-node-kind: srl
- label=clab-node-kind: nokia_srlinux
label=containerlab: lab16

subscriptions:
Expand Down
Loading