Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: chirpstack/chirpstack-gateway-bridge
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v3.10.0
Choose a base ref
...
head repository: chirpstack/chirpstack-gateway-bridge
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref

Commits on Jan 28, 2021

  1. Add fatal log to onConnectionLost handler to respect terminate OnConn…

    …ectError (#184)
    
    Co-authored-by: Greg Bird <greg.bird@joltup.com>
    gbird3 and Greg Bird authored Jan 28, 2021
    Copy the full SHA
    ce46f76 View commit details
  2. Copy the full SHA
    99d1450 View commit details

Commits on Feb 24, 2021

  1. Copy the full SHA
    37c0ef5 View commit details

Commits on Apr 6, 2021

  1. Copy the full SHA
    2097398 View commit details
  2. Copy the full SHA
    5f22f6b View commit details

Commits on Apr 11, 2021

  1. Publish ConnState message on gateway (un)subscribe.

    This introduces a new topic hierarchy gateway/ID/state/STATE for
    publishing state messages. State messages are published with the
    retained flag.
    
    The ConnState message is published to gateway/ID/state/conn and contains
    the state ONLINE or OFFLINE.
    brocaar committed Apr 11, 2021
    Copy the full SHA
    08dc3c9 View commit details

Commits on May 11, 2021

  1. Copy the full SHA
    68ed758 View commit details

Commits on Jun 7, 2021

  1. Copy the full SHA
    13e38dd View commit details

Commits on Jun 16, 2021

  1. Copy the full SHA
    6fb803f View commit details

Commits on Jun 23, 2021

  1. Copy the full SHA
    238bf98 View commit details

Commits on Jun 30, 2021

  1. Copy the full SHA
    8b85209 View commit details

Commits on Jul 13, 2021

  1. Copy the full SHA
    bbb0d54 View commit details

Commits on Aug 4, 2021

  1. Copy the full SHA
    e39633f View commit details
  2. Copy the full SHA
    8ca16e9 View commit details

Commits on Aug 12, 2021

  1. Copy the full SHA
    9975ada View commit details

Commits on Aug 20, 2021

  1. Add Docker builds for arm/v6, arm/v7 and arm64. (#198)

    Signed-off-by: Krasi Georgiev <8903888+krasi-georgiev@users.noreply.github.com>
    krasi-georgiev authored Aug 20, 2021
    Copy the full SHA
    0663255 View commit details

Commits on Aug 30, 2021

  1. Copy the full SHA
    3c674f5 View commit details

Commits on Aug 31, 2021

  1. Copy the full SHA
    2930b50 View commit details

Commits on Sep 13, 2021

  1. Copy the full SHA
    1206964 View commit details
  2. Update lorawan dependency.

    brocaar committed Sep 13, 2021
    Copy the full SHA
    8006360 View commit details

Commits on Oct 5, 2021

  1. Copy the full SHA
    87553df View commit details

Commits on Dec 6, 2021

  1. Copy the full SHA
    eef33fc View commit details
  2. Copy the full SHA
    ada4ef6 View commit details
  3. Copy the full SHA
    c962b80 View commit details

Commits on Dec 14, 2021

  1. Fix fetching tags.

    brocaar committed Dec 14, 2021
    Copy the full SHA
    2db4ed8 View commit details

Commits on Apr 18, 2022

  1. Copy the full SHA
    2b4070b View commit details
  2. Copy the full SHA
    83cbf0e View commit details
  3. Copy the full SHA
    db0b7ed View commit details
  4. Copy the full SHA
    3d0c7b8 View commit details
  5. Fix git error.

    brocaar committed Apr 18, 2022
    Copy the full SHA
    dc2ef20 View commit details

Commits on Apr 20, 2022

  1. Make sure uint32 token is truncated to uint16.

    ChirpStack v3 only uses the uint16 range, but this makes it possible to
    use the full uint32 range, while staying compatible with the Semtech UDP
    Packet Forwarder protocol.
    
    We truncate the uint32 token to uint16 and use this as the cache-key to
    store the downlink frame. On ack, we retrieve the downlink frame using
    the uint16 token and are able to recover the full uint32 token.
    brocaar committed Apr 20, 2022
    Copy the full SHA
    e23b2f6 View commit details

Commits on Apr 21, 2022

  1. Copy the full SHA
    44d2fb8 View commit details

Commits on Jun 13, 2022

  1. Copy the full SHA
    2eeb1d7 View commit details

Commits on Jul 7, 2022

  1. Update Go version.

    brocaar committed Jul 7, 2022
    Copy the full SHA
    de163f6 View commit details
  2. Update dependencies.

    brocaar committed Jul 7, 2022
    1
    Copy the full SHA
    d6b046e View commit details

Commits on Aug 1, 2022

  1. Copy the full SHA
    c7a2543 View commit details

Commits on Aug 2, 2022

  1. Revert to older go in go.mod + go mod tidy.

    'go 1.18' breaks the Yocto build.
    brocaar committed Aug 2, 2022
    Copy the full SHA
    74fc2a8 View commit details

Commits on Aug 3, 2022

  1. Copy the full SHA
    5edbd3b View commit details
  2. Copy the full SHA
    ddcc211 View commit details
  3. Fix test.

    brocaar committed Aug 3, 2022
    Copy the full SHA
    2242e06 View commit details
  4. Copy the full SHA
    a20e0ac View commit details

Commits on Aug 4, 2022

  1. Fix test.

    brocaar committed Aug 4, 2022
    Copy the full SHA
    0258161 View commit details

Commits on Aug 5, 2022

  1. Copy the full SHA
    388b42e View commit details

Commits on Aug 10, 2022

  1. Update help text.

    brocaar committed Aug 10, 2022
    Copy the full SHA
    f4382ce View commit details
  2. Update chirpstack-api.

    brocaar committed Aug 10, 2022
    Copy the full SHA
    7d628ed View commit details

Commits on Sep 2, 2022

  1. 1
    Copy the full SHA
    62c7316 View commit details

Commits on Sep 14, 2022

  1. Update chirpstack-api.

    brocaar committed Sep 14, 2022
    Copy the full SHA
    d7fb597 View commit details
  2. Fix double import.

    brocaar committed Sep 14, 2022
    Copy the full SHA
    62212f0 View commit details

Commits on Sep 16, 2022

  1. Update Go compiler version.

    brocaar committed Sep 16, 2022
    Copy the full SHA
    b9d3d7b View commit details

Commits on Oct 4, 2022

  1. Expose ACK rate for Semtech UDP backend per Gateway ID.

    If the ChirpStack Gateway Bridge is installed on the server and
    especially using Docker, there can be cases where the uplink path (GW >
    CGB) works, but the downlink path (CGB > GW) fails (UDP packets never
    reach the GW). By exposing the ACK rate per Gateway ID, it is possible
    to add per gateway monitoring.
    
    As the exposed ack-rate represents the last reported ack-rate by the GW,
    it is also important to monitor the ack-rate count. If this value does
    not increment, it could mean that the GW is no longer reporting the
    ack-rate and thus the exposed ack-rate is stale.
    brocaar committed Oct 4, 2022
    Copy the full SHA
    c83ee25 View commit details
Showing with 3,410 additions and 3,601 deletions.
  1. +0 −42 .circleci/config.yml
  2. +1 −0 .github/FUNDING.yml
  3. +93 −0 .github/workflows/main.yml
  4. +0 −6 .goreleaser.yml
  5. +3 −2 Dockerfile
  6. +3 −2 Dockerfile-devel
  7. +1 −1 LICENSE
  8. +1 −1 Makefile
  9. +8 −22 README.md
  10. +38 −10 cmd/chirpstack-gateway-bridge/cmd/configfile.go
  11. +22 −16 cmd/chirpstack-gateway-bridge/cmd/root.go
  12. +11 −1 cmd/chirpstack-gateway-bridge/cmd/root_run.go
  13. +6 −0 cmd/chirpstack-gateway-bridge/main.go
  14. +1 −1 docker-compose.yml
  15. +73 −31 go.mod
  16. +144 −566 go.sum
  17. +8 −8 internal/backend/backend.go
  18. +176 −196 internal/backend/basicstation/backend.go
  19. +289 −137 internal/backend/basicstation/backend_test.go
  20. +38 −7 internal/backend/basicstation/gateway.go
  21. +49 −68 internal/backend/basicstation/structs/downlink_message.go
  22. +94 −80 internal/backend/basicstation/structs/downlink_message_test.go
  23. +10 −5 internal/backend/basicstation/structs/downlink_transmitted.go
  24. +4 −4 internal/backend/basicstation/structs/join_request.go
  25. +19 −19 internal/backend/basicstation/structs/join_request_test.go
  26. +32 −24 internal/backend/basicstation/structs/radio_meta_data.go
  27. +44 −42 internal/backend/basicstation/structs/radio_meta_data_test.go
  28. +24 −26 internal/backend/basicstation/structs/router_config.go
  29. +2 −0 internal/backend/basicstation/structs/router_config_test.go
  30. +8 −0 internal/backend/basicstation/structs/time_sync.go
  31. +6 −6 internal/backend/basicstation/structs/uplink_data_frame.go
  32. +41 −39 internal/backend/basicstation/structs/uplink_data_frame_test.go
  33. +5 −5 internal/backend/basicstation/structs/uplink_proprietary.go
  34. +15 −15 internal/backend/basicstation/structs/uplink_proprietary_test.go
  35. +35 −73 internal/backend/concentratord/concentratord.go
  36. +20 −22 internal/backend/concentratord/concentratord_test.go
  37. +74 −77 internal/backend/semtechudp/backend.go
  38. +226 −240 internal/backend/semtechudp/backend_test.go
  39. +20 −1 internal/backend/semtechudp/metrics.go
  40. +14 −3 internal/backend/semtechudp/packets/packets.go
  41. +36 −52 internal/backend/semtechudp/packets/pull_resp.go
  42. +77 −67 internal/backend/semtechudp/packets/pull_resp_test.go
  43. +194 −106 internal/backend/semtechudp/packets/push_data.go
  44. +335 −130 internal/backend/semtechudp/packets/push_data_test.go
  45. +0 −361 internal/backend/semtechudp/pf_config.go
  46. +9 −7 internal/backend/semtechudp/registry.go
  47. +141 −0 internal/backend/stats/stats.go
  48. +299 −0 internal/backend/stats/stats_test.go
  49. +6 −9 internal/commands/commands.go
  50. +22 −21 internal/config/config.go
  51. +19 −35 internal/config/sx1301v1/sx1301v1.go
  52. +88 −118 internal/config/sx1301v1/sx1301v1_test.go
  53. +39 −48 internal/forwarder/forwarder.go
  54. +10 −8 internal/integration/integration.go
  55. +5 −0 internal/integration/mqtt/auth/auth.go
  56. +7 −0 internal/integration/mqtt/auth/azure_iot_hub.go
  57. +8 −1 internal/integration/mqtt/auth/gcp_cloud_iot_core.go
  58. +20 −0 internal/integration/mqtt/auth/generic.go
  59. +37 −0 internal/integration/mqtt/auth/generic_test.go
  60. +234 −85 internal/integration/mqtt/backend.go
  61. +141 −56 internal/integration/mqtt/backend_test.go
  62. +9 −0 internal/integration/mqtt/metrics.go
  63. +1 −1 packaging/vendor/cisco/IXM-LPWA/package.sh
  64. +1 −1 packaging/vendor/dragino/LG308/package.sh
  65. +0 −54 packaging/vendor/kerlink/ibts/files/chirpstack-gateway-bridge.init
  66. +0 −49 packaging/vendor/kerlink/ibts/package.sh
  67. +0 −54 packaging/vendor/kerlink/ifemtocell/files/chirpstack-gateway-bridge.init
  68. +0 −3 packaging/vendor/kerlink/ifemtocell/files/chirpstack-gateway-bridge.monit
  69. +0 −70 packaging/vendor/kerlink/ifemtocell/files/chirpstack-gateway-bridge.toml
  70. +0 −49 packaging/vendor/kerlink/ifemtocell/package.sh
  71. +0 −3 packaging/vendor/kerlink/istation/files/chirpstack-gateway-bridge.monit
  72. +0 −70 packaging/vendor/kerlink/istation/files/chirpstack-gateway-bridge.toml
  73. +0 −49 packaging/vendor/kerlink/istation/package.sh
  74. +2 −2 packaging/vendor/kerlink/{istation → keros-gws}/files/chirpstack-gateway-bridge.init
  75. 0 packaging/vendor/kerlink/{ibts → keros-gws}/files/chirpstack-gateway-bridge.monit
  76. +0 −1 packaging/vendor/{tektelic/kona-macro → kerlink/keros-gws}/files/chirpstack-gateway-bridge.toml
  77. +3 −8 packaging/vendor/{tektelic/kona-macro → kerlink/keros-gws}/package.sh
  78. 0 packaging/vendor/{tektelic/kona-macro → multitech/conduit}/files/chirpstack-gateway-bridge.monit
  79. +7 −1 packaging/vendor/multitech/conduit/package.sh
  80. +0 −42 packaging/vendor/tektelic/kona-mega/files/chirpstack-gateway-bridge.init
  81. +0 −70 packaging/vendor/tektelic/kona-mega/files/chirpstack-gateway-bridge.toml
  82. +0 −42 packaging/vendor/tektelic/kona-micro/files/chirpstack-gateway-bridge.init
  83. +0 −4 packaging/vendor/tektelic/kona-micro/files/chirpstack-gateway-bridge.monit
  84. +0 −70 packaging/vendor/tektelic/kona-micro/files/chirpstack-gateway-bridge.toml
  85. +0 −54 packaging/vendor/tektelic/kona-micro/package.sh
  86. 0 packaging/vendor/tektelic/{kona-macro → kona}/files/chirpstack-gateway-bridge.init
  87. 0 packaging/vendor/tektelic/{kona-mega → kona}/files/chirpstack-gateway-bridge.monit
  88. 0 packaging/vendor/{kerlink/ibts → tektelic/kona}/files/chirpstack-gateway-bridge.toml
  89. +2 −2 packaging/vendor/tektelic/{kona-mega → kona}/package.sh
42 changes: 0 additions & 42 deletions .circleci/config.yml

This file was deleted.

1 change: 1 addition & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
github: chirpstack
93 changes: 93 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
name: CI
on:
push:
branches:
- '*'
tags:
- 'v*'
pull_request:

jobs:
test:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v2
-
name: Run tests
run: docker compose run --rm chirpstack-gateway-bridge make test

dist:
needs: test
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/v')
steps:
-
name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
-
name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: eu-west-1
-
name: Build distributable binaries
run: docker compose run --rm chirpstack-gateway-bridge make dist
-
name: Upload binaries to S3
if: startsWith(github.ref, 'refs/tags/v')
run: |
aws s3 sync dist/upload s3://builds.loraserver.io/chirpstack-gateway-bridge
# Runs on pull request to ensure the docker build works,
# but pushes only on commits to master and on PRs.
docker:
needs: test
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
-
name: Docker meta
id: meta
uses: docker/metadata-action@v3
with:
images: |
chirpstack/${{ github.event.repository.name }}
tags: |
type=semver,pattern={{version}}
type=semver,pattern={{major}}
type=semver,pattern={{major}}.{{minor}}
-
name: Set up QEMU
uses: docker/setup-qemu-action@v1
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
-
name: Login to DockerHub
if: startsWith(github.ref, 'refs/tags/v')
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Build and push
id: docker_build
uses: docker/build-push-action@v2
with:
platforms: linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v6
push: ${{ startsWith(github.ref, 'refs/tags/v') }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
-
name: Image digest
run: echo ${{ steps.docker_build.outputs.digest }}
6 changes: 0 additions & 6 deletions .goreleaser.yml
Original file line number Diff line number Diff line change
@@ -7,22 +7,16 @@ builds:
- main: cmd/chirpstack-gateway-bridge/main.go
binary: chirpstack-gateway-bridge
goos:
- windows
- darwin
- linux
goarch:
- amd64
- 386
- arm
- arm64
- mips
goarm:
- 5
- 6
- 7
ignore:
- goos: darwin
goarch: 386
hooks:
post: ./packaging/scripts/compress-mips.sh

5 changes: 3 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM golang:1.15-alpine AS development
FROM golang:1.22.1-alpine AS development

ENV PROJECT_PATH=/chirpstack-gateway-bridge
ENV PATH=$PATH:$PROJECT_PATH/build
@@ -14,8 +14,9 @@ WORKDIR $PROJECT_PATH
RUN make dev-requirements
RUN make

FROM alpine:3 AS production
FROM alpine:3.17.0 AS production

RUN apk --no-cache add ca-certificates
COPY --from=development /chirpstack-gateway-bridge/build/chirpstack-gateway-bridge /usr/bin/chirpstack-gateway-bridge
USER nobody:nogroup
ENTRYPOINT ["/usr/bin/chirpstack-gateway-bridge"]
5 changes: 3 additions & 2 deletions Dockerfile-devel
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
FROM golang:1.15-alpine
FROM golang:1.22.1-alpine

ENV PROJECT_PATH=/chirpstack-gateway-bridge
ENV PATH=$PATH:$PROJECT_PATH/build
ENV CGO_ENABLED=0
ENV GO_EXTRA_BUILD_ARGS="-a -installsuffix cgo"

RUN apk add --no-cache ca-certificates make git bash upx rpm
RUN apk add --no-cache ca-certificates make git bash upx rpm tar

RUN mkdir -p $PROJECT_PATH
COPY . $PROJECT_PATH
WORKDIR $PROJECT_PATH

RUN git config --global --add safe.directory /chirpstack-gateway-bridge
RUN make dev-requirements
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The MIT License (MIT)

Copyright (c) 2019 Orne Brocaar
Copyright (c) 2022 Orne Brocaar

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -41,4 +41,4 @@ serve: build
./build/chirpstack-gateway-bridge

run-compose-test:
docker-compose run --rm chirpstack-gateway-bridge make test
docker compose run --rm chirpstack-gateway-bridge make test
30 changes: 8 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,45 +1,31 @@
# ChirpStack Gateway Bridge

[![CircleCI](https://circleci.com/gh/brocaar/chirpstack-gateway-bridge.svg?style=svg)](https://circleci.com/gh/brocaar/chirpstack-gateway-bridge)
![Tests](https://github.com/brocaar/chirpstack-gateway-bridge/actions/workflows/main.yml/badge.svg?branch=master)

ChirpStack Gateway Bridge is a service which converts LoRa<sup>&reg;</sup> Packet Forwarder protocols
into a ChirpStack Network Server [common data-format](https://github.com/brocaar/chirpstack-api/blob/master/protobuf/gw/gw.proto) (JSON and Protobuf).
This component is part of the ChirpStack open-source LoRaWAN<sup>&reg;</sup> Network Server stack.
into a ChirpStack [common data-format](https://github.com/chirpstack/chirpstack/blob/master/api/proto/gw/gw.proto) (JSON and Protobuf).
This component is part of the ChirpStack open-source LoRaWAN<sup>&reg;</sup> Network Server project.

## Backends

The following packet-forwarder backends are provided:

* [Semtech UDP packet-forwarder](https://github.com/Lora-net/packet_forwarder)
* [Basic Station packet-forwarder](https://github.com/lorabasics/basicstation)
* [ChirpStack Concentratord](https://github.com/brocaar/chirpstack-concentratord/)

## Integrations

The following integrations are provided:

* Generic MQTT broker
* [GCP Cloud IoT Core MQTT Bridge](https://cloud.google.com/iot-core/)
* [Azure IoT Hub](https://azure.microsoft.com/en-us/services/iot-hub/)

## Architecture
## Documentation

![architecture](https://www.chirpstack.io/static/img/graphs/architecture.dot.png)

### Component links

* [ChirpStack Gateway Bridge](https://www.chirpstack.io/gateway-bridge/)
* [ChirpStack Network Server](https://www.chirpstack.io/network-server/)
* [ChirpStack Application Server](https://www.chirpstack.io/application-server/)

## Links

* [Downloads](https://www.chirpstack.io/gateway-bridge/overview/downloads/)
* [Docker image](https://hub.docker.com/r/chirpstack/chirpstack-gateway-bridge/)
* [Documentation](https://www.chirpstack.io/gateway-bridge/)
* [Building from source](https://www.chirpstack.io/gateway-bridge/community/source/)
* [Contributing](https://www.chirpstack.io/gateway-bridge/community/contribute/)
* Support
* [Community forum](https://forum.chirpstack.io)
* [Bug or feature requests](https://github.com/brocaar/chirpstack-gateway-bridge/issues)
Please refer to the [ChirpStack documentation](https://www.chirpstack.io/) for
more information.

## License

48 changes: 38 additions & 10 deletions cmd/chirpstack-gateway-bridge/cmd/configfile.go
Original file line number Diff line number Diff line change
@@ -14,6 +14,9 @@ const configTemplate = `[general]
# debug=5, info=4, warning=3, error=2, fatal=1, panic=0
log_level={{ .General.LogLevel }}
# Log in JSON format.
log_json={{ .General.LogJSON }}
# Log to syslog.
#
# When set to true, log messages are being written to syslog.
@@ -79,25 +82,22 @@ type="{{ .Backend.Type }}"
# packet-forwarder matches this port.
udp_bind = "{{ .Backend.SemtechUDP.UDPBind }}"
# Skip the CRC status-check of received packets
#
# This is only has effect when the packet-forwarder is configured to forward
# LoRa frames with CRC errors.
skip_crc_check = {{ .Backend.SemtechUDP.SkipCRCCheck }}
# Fake RX timestamp.
#
# Fake the RX time when the gateway does not have GPS, in which case
# the time would otherwise be unset.
fake_rx_time={{ .Backend.SemtechUDP.FakeRxTime }}
# Connection timeout duration
#
# ChirpStack Gateway Bridge keeps a list of connected gateways. If a gateway does not send any
# UDP data within the configured timeout, then ChirpStack Gateway Bridge will consider the gateway
# disconnected and it will unsubscribe from the gateway MQTT topic and cleanup the UDP docket.
connection_timeout_duration={{ .Backend.SemtechUDP.CleanupDuration }}
# ChirpStack Concentratord backend.
[backend.concentratord]
# Check for CRC OK.
crc_check={{ .Backend.Concentratord.CRCCheck }}
# Event API URL.
event_url="{{ .Backend.Concentratord.EventURL }}"
@@ -111,6 +111,12 @@ type="{{ .Backend.Type }}"
# ip:port to bind the Websocket listener to.
bind="{{ .Backend.BasicStation.Bind }}"
# TLS support by a Reverse-Proxy
#
# When set to true, the websocket listener will use TLS to secure the connections
# between the gateways and a reverse-proxy (optional).
tls_support_proxy={{ .Backend.BasicStation.TLSSupportProxy }}
# TLS certificate and key files.
#
# When set, the websocket listener will use TLS to secure the connections
@@ -133,6 +139,13 @@ type="{{ .Backend.Type }}"
# Ping interval.
ping_interval="{{ .Backend.BasicStation.PingInterval }}"
# Timesync interval.
#
# This defines the interval in which the ChirpStack Gateway Bridge sends
# a timesync request to the gateway. Setting this to 0 disables sending
# timesync requests.
timesync_interval="{{ .Backend.BasicStation.TimesyncInterval }}"
# Read timeout.
#
# This interval must be greater than the configured ping interval.
@@ -213,17 +226,32 @@ type="{{ .Backend.Type }}"
#
# This defines how the MQTT payloads are encoded. Valid options are:
# * protobuf: Protobuf encoding
# * json: JSON encoding (easier for debugging, but less compact than 'protobuf')
# * json: JSON encoding (for debugging)
marshaler="{{ .Integration.Marshaler }}"
# MQTT integration configuration.
[integration.mqtt]
# Event topic template.
event_topic_template="{{ .Integration.MQTT.EventTopicTemplate }}"
# State topic template.
#
# States are sent by the gateway as retained MQTT messages (by default)
# so that the last message will be stored by the MQTT broker. When set to
# a blank string, this feature will be disabled. This feature is only
# supported when using the generic authentication type.
state_topic_template="{{ .Integration.MQTT.StateTopicTemplate }}"
# Command topic template.
command_topic_template="{{ .Integration.MQTT.CommandTopicTemplate }}"
# State retained.
#
# By default this value is set to true and states are published as retained
# MQTT messages. Setting this to false means that states will not be retained
# by the MQTT broker.
state_retained={{ .Integration.MQTT.StateRetained }}
# Keep alive will set the amount of time (in seconds) that the client should
# wait before sending a PING request to the broker. This will allow the client
# to know that a connection has not been lost with the server.
Loading