-
Notifications
You must be signed in to change notification settings - Fork 174
5.13.0 Release Notes #1668
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
5.13.0 Release Notes #1668
Changes from 10 commits
Commits
Show all changes
12 commits
Select commit
Hold shift + click to select a range
daacc51
Created doc page for the Audit Stream Plugin
edbaltra f9aee8f
Some docs cleanup
fdevans f56c4de
Update docs/administration/security/audit-stream-plugin.md
fdevans 89057fd
Deleted screenshots, added properties and description to payload header
edbaltra f2f2bd2
deleted unnecesary lines
edbaltra 2214fe6
Merge pull request #1658 from rundeck/RUN-3260-Review-and-Finalize-Au…
fdevans 4854c7a
5.13.0 Release Notes Prep
fdevans 06cf4f6
new date
fdevans 839b1d2
Merge branch '4.0.x' into 5.13.0
fdevans 51084c5
Release Notes Final 5.13.0
fdevans d2c0f49
Update docs/history/cves/index.md
fdevans 0b1ebde
Update docs/history/5_x/version-5.13.0.md
fdevans File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -8,7 +8,7 @@ | |
| "version": [ | ||
| "docs", | ||
| "4.0.x", | ||
| "5.12.0" | ||
| "5.13.0" | ||
| ] | ||
| } | ||
| } | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,203 @@ | ||
| # Audit Stream Plugin | ||
|
|
||
| :::enterprise | ||
| ::: | ||
|
|
||
| This plugin streams **Rundeck audit events** to external systems via secure, configurable webhooks. It's useful for sending specific event logs to tools like **Datadog**, **New Relic**, **Sumo Logic**, or custom endpoints. | ||
|
|
||
| --- | ||
|
|
||
| ## What It Does | ||
|
|
||
| - Sends audit events as JSON via HTTP POST requests | ||
| - Supports authentication methods required by major observability providers | ||
| - Offers advanced filtering to control which events are sent | ||
| - Can enrich payloads with contextual metadata (user, resource, request) | ||
|
|
||
| --- | ||
|
|
||
| ## Prerequisites | ||
|
|
||
| - Rundeck version **4.17.0 or higher** | ||
| - An external system that can receive and process HTTP webhooks | ||
| - HTTPS endpoint access from the Rundeck server | ||
|
|
||
| --- | ||
|
|
||
| ## Supported Authentication Methods | ||
|
|
||
| | Type | Description | | ||
| |-------------|-------------------------------------------------------------------| | ||
| | `NONE` | No authentication headers | | ||
| | `BEARER` | Adds `Authorization: Bearer <token>` header | | ||
| | `AZURE_SAS` | Sends a custom header (e.g. `x-functions-key`) with a token | | ||
| | `AWS_SIGV4` | Signs the request with AWS Signature V4 credentials | | ||
|
|
||
| --- | ||
|
|
||
| ## Configuration Guide | ||
|
|
||
| Access these properties via the System Configuration menu under Plugins → Audit Stream. | ||
|
|
||
| ### AWS API Gateway Example | ||
|
|
||
| ```properties | ||
| framework.plugin.AuditEventListener.WebhookAuditListener.webhookUrl=https://api-id.execute-api.us-west-2.amazonaws.com/prod/webhook | ||
| framework.plugin.AuditEventListener.WebhookAuditListener.securityType=AWS_SIGV4 | ||
| framework.plugin.AuditEventListener.WebhookAuditListener.awsRegion=us-west-2 | ||
| framework.plugin.AuditEventListener.WebhookAuditListener.awsService=execute-api | ||
| ``` | ||
| - Optional: If you haven’t configured credentials in Rundeck’s Key Storage, you can set them here: | ||
|
|
||
| ```properties | ||
| framework.plugin.AuditEventListener.WebhookAuditListener.awsAccessKey=<your-access-key> | ||
| framework.plugin.AuditEventListener.WebhookAuditListener.awsSecretKey=<your-secret-key> | ||
| ``` | ||
|
|
||
| ### Azure Function Example | ||
|
|
||
|
|
||
| ```properties | ||
| framework.plugin.AuditEventListener.WebhookAuditListener.webhookUrl=https://<your-function-app>.azurewebsites.net/api/rundeckwebhook | ||
| framework.plugin.AuditEventListener.WebhookAuditListener.securityType=AZURE_SAS | ||
| framework.plugin.AuditEventListener.WebhookAuditListener.azureSasToken=<your-function-key> | ||
| framework.plugin.AuditEventListener.WebhookAuditListener.azureHeaderName=x-functions-key | ||
| ``` | ||
|
|
||
| ### Bearer Token Example | ||
|
|
||
|
|
||
| ```properties | ||
| framework.plugin.AuditEventListener.WebhookAuditListener.webhookUrl=https://api.example.com/secure-audit | ||
| framework.plugin.AuditEventListener.WebhookAuditListener.securityType=BEARER | ||
| framework.plugin.AuditEventListener.WebhookAuditListener.authToken=<your-bearer-token> | ||
| ``` | ||
| ### Custom Headers Example (Datadog, New Relic, etc.) | ||
|
|
||
| #### Datadog: | ||
|
|
||
| ```properties | ||
| framework.plugin.AuditEventListener.WebhookAuditListener.webhookUrl=https://api.datadoghq.com/api/v2/events | ||
| framework.plugin.AuditEventListener.WebhookAuditListener.securityType=NONE | ||
| framework.plugin.AuditEventListener.WebhookAuditListener.customHeaders=DD-API-KEY:your_api_key,DD-APPLICATION-KEY:your_app_key,Accept:application/json | ||
| ``` | ||
|
|
||
|
|
||
| #### New Relic: | ||
|
|
||
| ```properties | ||
| framework.plugin.AuditEventListener.WebhookAuditListener.webhookUrl=https://insights-collector.newrelic.com/v1/accounts/YOUR_ACCOUNT_ID/events | ||
| framework.plugin.AuditEventListener.WebhookAuditListener.securityType=NONE | ||
| framework.plugin.AuditEventListener.WebhookAuditListener.customHeaders=X-Insert-Key:your_insert_key //This key must have type: INGEST - LICENSE | ||
| ``` | ||
| > Ensure your insert key is of type INGEST – LICENSE | ||
|
|
||
|
|
||
|
|
||
| #### No Authentication: | ||
|
|
||
| ```properties | ||
| framework.plugin.AuditEventListener.WebhookAuditListener.webhookUrl=https://internal.example.com/webhook | ||
| framework.plugin.AuditEventListener.WebhookAuditListener.securityType=NONE | ||
| ``` | ||
|
|
||
|
|
||
| ### Event Filtering | ||
|
|
||
| You can filter which audit events are sent by listing specific actionType values: | ||
|
|
||
| ```properties | ||
| framework.plugin.AuditEventListener.WebhookAuditListener.includedEvents=run,create,login_success | ||
| ``` | ||
|
|
||
| #### Common `actionType` Values | ||
|
|
||
| | Type | Meaning | | ||
| |-----------------|----------------------------------| | ||
| | `run` | Job or command executed | | ||
| | `create` | Job or resource created | | ||
| | `update` | Resource updated (e.g. job, ACL) | | ||
| | `delete` | Resource deleted | | ||
| | `login_success` | User logged in | | ||
| | `login_failed` | Failed login attempt | | ||
| | `logout` | User logged out | | ||
| | `view` | Resource viewed | | ||
|
|
||
| --- | ||
| ### Timeout | ||
|
|
||
| You can configure the HTTP connection timeout (in seconds). The default is 30: | ||
|
|
||
| ```properties | ||
| framework.plugin.AuditEventListener.WebhookAuditListener.timeout=20 | ||
| ``` | ||
|
|
||
| ## JSON Payload Format Sent to Webhook Endpoints | ||
|
|
||
| The following are example JSON payloads sent by the plugin, formatted based on the destination provider (e.g., Datadog, New Relic, etc). These payloads can be used to test or validate integration. | ||
|
|
||
| ### Default (e.g. Azure, AWS, or custom) | ||
| ```json | ||
| { | ||
| "timestamp": "2025-03-03T22:27:48.281Z", | ||
| "actionType": "CREATE", | ||
| "userInfo": { | ||
| "username": "admin", | ||
| "userRoles": ["admin", "user"] | ||
| }, | ||
| "resourceInfo": { | ||
| "type": "job", | ||
| "name": "backup-database" | ||
| }, | ||
| "requestInfo": { | ||
| "serverUUID": "550e8400-e29b-41d4-a716-446655440000", | ||
| "userAgent": "Mozilla/5.0..." | ||
| } | ||
| } | ||
| ``` | ||
|
|
||
| ### Datadog API v1 | ||
| ```json | ||
| { | ||
| "title": "Rundeck Audit Event: login_success", | ||
| "text": "{\"timestamp\":1746726668522,\"actionType\":\"login_success\",\"userInfo\":{\"username\":\"admin\",\"userRoles\":[\"admin\",\"user\"]},\"resourceInfo\":{\"type\":\"user\",\"name\":\"admin\"},\"requestInfo\":{\"serverUUID\":\"abc123\",\"userAgent\":\"Mozilla/5.0\"}}", | ||
| "alert_type": "info", | ||
| "tags": ["rundeck", "action:login_success"] | ||
| } | ||
| ``` | ||
|
|
||
| ### Datadog API v2 | ||
| ```json | ||
| { | ||
| "data": { | ||
| "type": "event", | ||
| "attributes": { | ||
| "title": "Rundeck Audit Event: login_success", | ||
| "text": "{\"timestamp\":1746726668522,\"actionType\":\"login_success\",\"userInfo\":{\"username\":\"admin\",\"userRoles\":[\"admin\",\"user\"]},\"resourceInfo\":{\"type\":\"user\",\"name\":\"admin\"},\"requestInfo\":{\"serverUUID\":\"abc123\",\"userAgent\":\"Mozilla/5.0\"}}", | ||
| "alert_type": "info", | ||
| "tags": ["rundeck", "action:login_success"] | ||
| } | ||
| } | ||
| } | ||
| ``` | ||
|
|
||
| ### New Relic | ||
| ```json | ||
| { | ||
| "eventType": "RundeckAuditStreamPlugin", | ||
| "timestamp": 1746726668522, | ||
| "actionType": "login_success", | ||
| "userInfo.username": "admin", | ||
| "userInfo.userRoles": ["admin", "user"], | ||
| "resourceInfo.type": "user", | ||
| "resourceInfo.name": "admin", | ||
| "requestInfo.serverUUID": "abc123", | ||
| "requestInfo.userAgent": "Mozilla/5.0" | ||
| } | ||
| ``` | ||
|
|
||
|
|
||
| ## Troubleshooting Tips | ||
|
|
||
| - Check that your webhook endpoint is reachable from the Rundeck host. | ||
| - If using AWS SIGV4, make sure the IAM role or access keys have permissions. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,121 @@ | ||
| --- | ||
|
|
||
| title: "5.13.0 Release Notes" | ||
| date: 2025-06-25 | ||
| image: /images/chevron-logo-red-on-white.png | ||
| description: "Rundeck | Runbook Automation Releases 5.13.0 - New Job Metrics and ROI Graphs" | ||
| feed: | ||
| enable: true | ||
| description: "New Job Metrics and ROI Graphs" | ||
|
|
||
| --- | ||
|
|
||
| # 5.13.0 Release Notes | ||
|
|
||
| ## Overview | ||
|
|
||
|
|
||
| ::: danger Important Security Update | ||
|
|
||
| ::: | ||
| A security vulnerability was identified and patched in the Enterprise Runner component where certain password patterns containing regex special characters (particularly multiple '+' characters) could bypass the password masking mechanism, potentially exposing sensitive information in error logs. This issue affected Enterprise Runner versions used with Process Automation 4.14.0 through 5.12.0, but did not impact Open Source Rundeck or the Process Automation server itself. The vulnerability has been remediated in version 5.13.0, which includes fixes in both the server and runner components to prevent exposure of secrets containing regex special characters. *Process Automation Self Hosted customers should upgrade both their server and all Enterprise Runners* to version 5.13.0 or later for complete remediation. Process Automation SaaS servers are already updated, customers should proceed directly to upgrading all their Enterprise Runners. | ||
|
|
||
| [Full details on on this page](/history/cves/2025-06-runner-security.md) | ||
|
|
||
| ### Job Metrics | ||
| The Job Metrics plugin provides comprehensive visualization and analysis of your Rundeck job execution patterns, success rates, and timing trends through an intuitive dashboard interface. | ||
|
|
||
| <br> | ||
|
|
||
| <br> | ||
|
|
||
| ### ROI Metrics | ||
|
|
||
| The ROI Summary plugin brings your automation's financial impact to life through intuitive visualizations and real-time calculations, helping teams quantify and demonstrate the value of their automation initiatives. | ||
|
|
||
| <br> | ||
|
|
||
| <br> | ||
|
|
||
|
|
||
| ### Webhook Audit Listener | ||
|
|
||
| The [Webhook Audit Listener plugin](/administration/security/audit-stream-plugin.md) enables real-time streaming of Rundeck audit events to external systems through configurable webhook endpoints. This allows teams to integrate Rundeck’s audit trail with external monitoring, logging, or security platforms. | ||
|
|
||
| ## Runbook Automation Updates | ||
|
|
||
| > Also includes all Open Source updates from below | ||
|
|
||
| ### Additional Updates | ||
|
|
||
|
|
||
| * Add new UI for Job Metrics and ROI Metrics graphs | ||
| * Fix: Ansible Model Sources return host vars data in key=value format when "Gather Facts" is set to "no" | ||
| * Fix: Webhook events don't get deleted properly from DB | ||
| * Update vault-storage plugin version to 1.3.14 for CVE-2019-17571 | ||
| * Add MongoDB Node Step to allow Runner functionality | ||
|
|
||
|
|
||
| ## Rundeck Open Source Product Updates | ||
|
|
||
| * [Added new ansible-plugin release](https://github.com/rundeck/rundeck/pull/9675) | ||
| * [Fix: DELETE query type for stored events is ignored](https://github.com/rundeck/rundeck/pull/9668) | ||
| * [Update multiline-regex-datacapture-filter plugin to 1.1.2 for CVE-2019-17571](https://github.com/rundeck/rundeck/pull/9664) | ||
| * [Allow Audit Events Plugins to refresh config](https://github.com/rundeck/rundeck/pull/9658) | ||
| * [Upgrade Gradle to 7.6.2](https://github.com/rundeck/rundeck/pull/9657) | ||
| * [Upgrade asset-pipeline-grails lib version to 3.4.7](https://github.com/rundeck/rundeck/pull/9656) | ||
| * [upgrade go](https://github.com/rundeck/rundeck/pull/9652) | ||
| * [Fix/Add 72-char limit for BCRYPT passwords to address CVE-2025-22228](https://github.com/rundeck/rundeck/pull/9651) | ||
| * [Upgrade sshj plugin version for Security Fixes](https://github.com/rundeck/rundeck/pull/9649) | ||
| * [Update attribute match plugin to 0.2.1](https://github.com/rundeck/rundeck/pull/9648) | ||
| * [fix: blank string value for "Options" property type causes Exception](https://github.com/rundeck/rundeck/pull/9647) | ||
| * [Add project name to params to get plugin details](https://github.com/rundeck/rundeck/pull/9636) | ||
| * [Add autocomplete behavior to inputs and scripts](https://github.com/rundeck/rundeck/pull/9632) | ||
| * [NextUI: Add job activity list menu action ](https://github.com/rundeck/rundeck/pull/9615) | ||
| * [Upgrade selenium version to 4.31.0](https://github.com/rundeck/rundeck/pull/9323) | ||
|
|
||
|
|
||
| [Here is a link to the full list of public PRs](https://github.com/rundeck/rundeck/pulls?q=is%3Apr+milestone%3A5.13.0+is%3Aclosed) | ||
|
|
||
| ## Ansible Plugin Updates | ||
| * [Fix: Ansible Model Sources return host vars data in key=value format when "Gather Facts" is set to "no"](https://github.com/rundeck-plugins/ansible-plugin/pull/411) | ||
|
|
||
|
|
||
| ## Links | ||
|
|
||
| - Download the Releases: [Open Source](https://www.rundeck.com/community-downloads/5.13.0) | [Self-Hosted](https://www.rundeck.com/enterprise-downloads/5.13.0) | ||
| - [Sign up for Release Notes](https://www.rundeck.com/release-notes-signup) | ||
| - [Upgrade instructions](/upgrading/index.md) | ||
| - [Catch us on LinkedIn for the Live Stream Release Videos](https://www.linkedin.com/company/pagerduty/events) | ||
|
|
||
| ## Version Info | ||
|
|
||
| Name: <span style="color: red"><span class="glyphicon glyphicon-headphones"></span> "Kirkjufell red headphones"</span> | ||
|
|
||
| Release Date: June 25th, 2025 | ||
|
|
||
|
|
||
| ## Community Contributors | ||
|
|
||
| Submit your own Pull Requests to get recognition here! | ||
|
|
||
| * Rui Melo Amaro ([rmeloamaro](https://github.com/rmeloamaro)) | ||
|
|
||
|
|
||
| ## Staff Contributors | ||
|
|
||
| * Greg Schueler ([gschueler](https://github.com/gschueler)) | ||
| * Alexander Abarca ([alexander-variacode](https://github.com/alexander-variacode)) | ||
| * Alexander Grachtchouk ([mrdubr](https://github.com/mrdubr)) | ||
| * Carlos Eduardo ([carlosrfranco](https://github.com/carlosrfranco)) | ||
| * Eduardo Baltra ([edbaltra](https://github.com/edbaltra)) | ||
| * Forrest Evans ([fdevans](https://github.com/fdevans)) | ||
| * Jake Cohen ([jsboak](https://github.com/jsboak)) | ||
| * Jaya Singh ([jayas006](https://github.com/jayas006)) | ||
| * Julianna Green ([juliannagreen1](https://github.com/juliannagreen1)) | ||
| * Jason Brooks ([jbrookspd](https://github.com/jbrookspd)) | ||
| * Jesus Osuna ([Jesus-Osuna-M](https://github.com/Jesus-Osuna-M)) | ||
| * José Vásquez ([hiawvp](https://github.com/hiawvp)) | ||
| * Luis Toledo ([ltamaster](https://github.com/ltamaster)) | ||
| * Rodrigo Navarro ([ronaveva](https://github.com/ronaveva)) | ||
| * Sarah Martinelli Benedetti ([smartinellibenedetti](https://github.com/smartinellibenedetti)) | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.