diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 8c719b501..14abf628d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -26,7 +26,7 @@ jobs: - name: Install Go uses: actions/setup-go@v2 with: - go-version: '^1.15.0' + go-version: '^1.16.1' - name: Install Ziti CI uses: netfoundry/ziti-ci@v1 @@ -52,7 +52,7 @@ jobs: - name: Install Go uses: actions/setup-go@v2 with: - go-version: '^1.15.0' + go-version: '^1.16.1' - name: Install Ziti CI uses: netfoundry/ziti-ci@v1 @@ -81,7 +81,7 @@ jobs: - name: Install Go uses: actions/setup-go@v2 with: - go-version: '^1.15.0' + go-version: '^1.16.1' - name: Install Ziti CI uses: netfoundry/ziti-ci@v1 diff --git a/.github/workflows/mattermost-ziti-webhook.yml b/.github/workflows/mattermost-ziti-webhook.yml new file mode 100644 index 000000000..93205e9af --- /dev/null +++ b/.github/workflows/mattermost-ziti-webhook.yml @@ -0,0 +1,23 @@ +name: mattermost-ziti-webhook +on: + create: + delete: + issues: + issue_comment: + pull_request_review: + pull_request_review_comment: + pull_request: + push: + fork: + release: + +jobs: + mattermost-ziti-webhook: + runs-on: macos-latest + name: POST Webhook + steps: + - uses: openziti/ziti-webhook-action@main + with: + ziti-id: ${{ secrets.ZITI_MATTERMOST_IDENTITY }} + webhook-url: ${{ secrets.ZITI_MATTERMOST_WEBHOOK_URL }} + webhook-secret: ${{ secrets.ZITI_MATTERMOSTI_WEBHOOK_SECRET }} diff --git a/CHANGELOG.md b/CHANGELOG.md index 289e19a9d..754d48d4a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,95 @@ +# Release 0.19.7 + +## What's New + +* Update to Golang 1.16 +* Idle route garbage collection: orphaned routing table entries will be garbage collected. New + infrastructure for session confirmation facilitating additional types of garbage collection +* Configurable Xgress dial "dwell time" + +### Idle Route Garbage Collection + +The following router configuration stanza controls idle route garbage collection: + +``` +forwarder: + # + # After how many milliseconds of inactivity is a forwarding table entry considered idle? + # + idleSessionTimeout: 60000 + # + # How frequently will we confirm idle sessions with the controller? + # + idleTxInterval: 60000 +``` + +### Xgress Dial Dwell Time + +The following router configuration stanza controls Xgress dial "dwell time". You probably don't want to +use this unless you're debugging a timing-related issue in the overlay: + +``` +forwarder: + # + # (Debugging) Xgress dial "dwell time". When dialing, the Xgress framework will wait this number of milliseconds + # before responding in the affirmative to the controller. + # + xgressDialDwellTime: 0 +``` + +# Release 0.19.6 + +## What's New + +* Service Event Counters +* New log message which shows local (router side) address, including port, when router dials are + successful. This allows correlating server side access logs with ziti logs + +## Service Event Counters + +There are new events emitted for service, with statistics for how many dials are successful, failed, +timed out, or fail for non-dial related reasons. Stats are aggregated per-minute, similar to usage +statistics. They can be enabled in the controller config as follows: + +```yaml +events: + jsonLogger: + subscriptions: + - type: services + handler: + type: file + format: json + path: /tmp/ziti-events.log +``` + +Example of the events JSON output: + +```json +{ + "namespace": "service.events", + "event_type": "service.dial.fail", + "service_id": "HSfgHzIom", + "count": 8, + "interval_start_utc": 1615400160, + "interval_length": 60 +} +{ + "namespace": "service.events", + "event_type": "service.dial.success", + "service_id": "HSfgHzIom", + "count": 29, + "interval_start_utc": 1615400160, + "interval_length": 60 +} +``` + +Event types: + +* `service.dial.success` +* `service.dial.fail` +* `service.dial.timeout` +* `service.dial.error_other` + # Release 0.19.5 ## What's New diff --git a/etc/001.yml b/etc/001.yml index a8b1f2716..209e95d1e 100644 --- a/etc/001.yml +++ b/etc/001.yml @@ -21,6 +21,14 @@ forwarder: # latencyProbeTimeout: 10000 # + # After how many milliseconds of inactivity is a forwarding table entry considered idle? + # + idleSessionTimeout: 60000 + # + # How frequently will we confirm idle sessions with the controller? + # + idleTxInterval: 60000 + # # How many xgress dials can be queued for processing by the xgress dial workers. An xgress dial occurs # for services that have a terminator egress specified with an xgress binding (e.g. transport) # (minimum 1, max 10000, default 1000) @@ -42,6 +50,11 @@ forwarder: # (minimum 1, max 10000, default 10) # linkDialWorkerCount: 10 + # + # (Debugging) Xgress dial "dwell time". When dialing, the Xgress framework will wait this number of milliseconds + # before responding in the affirmative to the controller. + # + xgressDialDwellTime: 0 #trace: # path: 001.trace diff --git a/go.mod b/go.mod index 5c4b89690..2e5b98908 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/openziti/ziti -go 1.15 +go 1.16 replace github.com/openziti/foundation => ../foundation @@ -25,8 +25,8 @@ require ( github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d github.com/keybase/go-ps v0.0.0-20190827175125-91aafc93ba19 github.com/michaelquigley/pfxlog v0.3.7 - github.com/openziti/edge v0.19.23 - github.com/openziti/fabric v0.16.22 + github.com/openziti/edge v0.19.32 + github.com/openziti/fabric v0.16.27 github.com/openziti/foundation v0.15.35 github.com/openziti/sdk-golang v0.15.21 github.com/pborman/uuid v1.2.0