Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
6f3392d
Remove preview section from pull request template (#753)
zliang-akamai Feb 10, 2026
c2fab1b
Add --yes flag to ansible-specdoc for non-interactive CI runs (#764)
ezilber-akamai Mar 2, 2026
9675e40
Cleanup disk encryption LA notices (#759)
zliang-akamai Mar 3, 2026
9819aa6
Align GHA workflows in the scope of report uploads (#754)
mawilk90 Mar 4, 2026
b5ddb25
Removed v4beta notices from Maintenance Policy (#756)
ezilber-akamai Mar 5, 2026
84eefb3
build(deps): bump crazy-max/ghaction-github-labeler from 5.3.0 to 6.0…
dependabot[bot] Mar 6, 2026
d3d578b
Drop support for ScaleGrid databases (#758)
dawiddzhafarov Mar 10, 2026
d29f7d8
Add Support for Locks (#751)
zliang-akamai Mar 11, 2026
2ad3786
domain_record TTLs are not rounded to closest valid values when diffi…
mgwoj Mar 12, 2026
c44cdf9
Update database host references from 'secondary' to 'standby' in docu…
zliang-akamai Mar 12, 2026
e1c6f51
Remove longview_subscription field from account_settings documentatio…
zliang-akamai Mar 18, 2026
cacd3e1
build(deps): bump actions/download-artifact from 7 to 8 (#762)
dependabot[bot] Mar 19, 2026
a8f1594
TPT-3931: Block Storage Volume Limits Increase (Project) (#766)
lgarber-akamai Mar 23, 2026
325b31a
build(deps): bump slackapi/slack-github-action from 2.1.1 to 3.0.1 (#…
dependabot[bot] Mar 24, 2026
2240df8
TPT-4318: Add @linode/dx-sdets to CODEOWNERS (#770)
lgarber-akamai Mar 25, 2026
7dc1503
Fix firewall update logic for `-1` (#772)
zliang-akamai Mar 31, 2026
0a0cebe
TPT-4298: Added PR title checking to lint workflow and clean up relea…
ezilber-akamai Apr 1, 2026
663707a
TPT-4326: Resolve unordered config device slot assignment issue; fix …
lgarber-akamai Apr 2, 2026
b0ae06a
TPT-3810: Add support for LDE on LKE (#775)
ezilber-akamai Apr 7, 2026
12a4b7a
build(deps): bump actions/upload-artifact from 6 to 7 (#761)
dependabot[bot] Apr 7, 2026
1d391b3
fix: update VPC task names and fix error messages assertion (#777)
zliang-akamai Apr 8, 2026
2f7b115
TPT-4218: Update test and docs for ACLP alert channels (#767)
yec-akamai Apr 15, 2026
db91b6d
TPT-4394: Update API documentation links for resource locks (#776)
zliang-akamai Apr 15, 2026
a6dd3f8
TPT-4417: Resolve `nodebalancer` module ordering and sync issues; sup…
lgarber-akamai Apr 15, 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
4 changes: 0 additions & 4 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,3 @@
**What are the steps to reproduce the issue or verify the changes?**

**How do I run the relevant unit/integration tests?**

## 📷 Preview

**If applicable, include a screenshot or code snippet of this change. Otherwise, please remove this section.**
37 changes: 37 additions & 0 deletions .github/workflows/clean-release-notes.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: Clean Release Notes

on:
release:
types: [published]

jobs:
clean-release-notes:
runs-on: ubuntu-latest
permissions:
contents: write

steps:
- name: Remove ticket prefixes from release notes
uses: actions/github-script@v8
with:
script: |
const release = context.payload.release;

let body = release.body;

if (!body) {
console.log("Release body empty, nothing to clean.");
return;
}

// Remove ticket prefixes like "TPT-1234: " or "TPT-1234:"
body = body.replace(/TPT-\d+:\s*/g, '');

await github.rest.repos.updateRelease({
owner: context.repo.owner,
repo: context.repo.repo,
release_id: release.id,
body: body
});

console.log("Release notes cleaned.");
18 changes: 13 additions & 5 deletions .github/workflows/integration-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,14 @@ on:
options:
- 'true'
- 'false'
test_report_upload:
description: 'Indicates whether to upload the test report to object storage. Defaults to "false"'
type: choice
required: false
default: 'false'
options:
- 'true'
- 'false'
push:
branches:
- main
Expand Down Expand Up @@ -66,7 +74,7 @@ jobs:

- name: Upload Test Report as Artifact
if: always()
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: xml-test-reports
if-no-files-found: ignore
Expand All @@ -77,7 +85,7 @@ jobs:
process-upload-report:
runs-on: ubuntu-latest
needs: [integration-tests]
if: ${{ (success() || failure()) && github.repository == 'linode/ansible_linode' }}
if: (success() || failure()) && github.repository == 'linode/ansible_linode' && (github.event_name == 'push' || (github.event_name == 'workflow_dispatch' && inputs.test_report_upload == 'true'))
outputs:
summary: ${{ steps.set-test-summary.outputs.summary }}

Expand All @@ -102,7 +110,7 @@ jobs:
run: mkdir -p tests/output/junit

- name: Download test report
uses: actions/download-artifact@v7
uses: actions/download-artifact@v8
with:
name: xml-test-reports # Specify the artifact name from the 'run-tests' job
path: tests/output/junit
Expand Down Expand Up @@ -208,7 +216,7 @@ jobs:
steps:
- name: Notify Slack
id: main_message
uses: slackapi/slack-github-action@v2.1.1
uses: slackapi/slack-github-action@v3
with:
method: chat.postMessage
token: ${{ secrets.SLACK_BOT_TOKEN }}
Expand Down Expand Up @@ -240,7 +248,7 @@ jobs:

- name: Test summary thread
if: success()
uses: slackapi/slack-github-action@v2.1.1
uses: slackapi/slack-github-action@v3
with:
method: chat.postMessage
token: ${{ secrets.SLACK_BOT_TOKEN }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
uses: actions/checkout@v6
-
name: Run Labeler
uses: crazy-max/ghaction-github-labeler@24d110aa46a59976b8a7f35518cb7f14f434c916
uses: crazy-max/ghaction-github-labeler@548a7c3603594ec17c819e1239f281a3b801ab4d
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
yaml-file: .github/labels.yml
Expand Down
28 changes: 28 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,35 @@ on: pull_request
jobs:
lint:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: read
steps:
# Enforce TPT-1234: prefix on PR titles, with the following exemptions:
# - PRs labeled 'dependencies' (e.g. Dependabot PRs)
# - PRs labeled 'hotfix' (urgent fixes that may not have a ticket)
# - PRs labeled 'community-contribution' (external contributors without TPT tickets)
# - PRs labeled 'ignore-for-release' (release PRs that don't need a ticket prefix)
- name: Validate PR Title
if: github.event_name == 'pull_request'
uses: amannn/action-semantic-pull-request@v6
with:
types: |
TPT-\d+
requireScope: false
# Override the default header pattern to allow hyphens and digits in the type
# (e.g. "TPT-4298: Description"). The default pattern only matches word
# characters (\w) which excludes hyphens.
headerPattern: '^([\w-]+):\s?(.*)$'
headerPatternCorrespondence: type, subject
ignoreLabels: |
dependencies
hotfix
community-contribution
ignore-for-release
env:
GITHUB_TOKEN: ${{ github.token }}

- name: checkout repo
uses: actions/checkout@v6

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/nightly-smoke-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ jobs:

- name: Notify Slack
if: (success() || failure()) && github.repository == 'linode/ansible_linode'
uses: slackapi/slack-github-action@v2.1.1
uses: slackapi/slack-github-action@v3
with:
method: chat.postMessage
token: ${{ secrets.SLACK_BOT_TOKEN }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release-notify-slack.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
steps:
- name: Notify Slack - Main Message
id: main_message
uses: slackapi/slack-github-action@v2.1.1
uses: slackapi/slack-github-action@v3
with:
method: chat.postMessage
token: ${{ secrets.SLACK_BOT_TOKEN }}
Expand Down
2 changes: 1 addition & 1 deletion CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1 +1 @@
* @linode/dx
* @linode/dx @linode/dx-sdets
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -135,10 +135,10 @@ endif
inject:
@echo "Injecting documentation into source files"
find ./plugins/modules -maxdepth 1 -name '*.py' -print0 | \
xargs -I {} -0 -P 5 bash -c 'export TARGET="{}"; echo "$$TARGET" && ansible-specdoc -j -i "$$TARGET";'
xargs -I {} -0 -P 5 bash -c 'export TARGET="{}"; echo "$$TARGET" && ansible-specdoc -j -i "$$TARGET" --yes;'

inject-clean:
@echo "Removing injected documentation from source files"
find ./plugins/modules -maxdepth 1 -name '*.py' -print0 | \
xargs -I {} -0 -P 5 bash -c 'export TARGET="{}"; echo "$$TARGET" && ansible-specdoc -jc -i "$$TARGET";'
xargs -I {} -0 -P 5 bash -c 'export TARGET="{}"; echo "$$TARGET" && ansible-specdoc -jc -i "$$TARGET" --yes;'

5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,7 @@ Name | Description |
--- | ------------ |
[linode.cloud.account_settings](./docs/modules/account_settings.md)|Returns information related to your Account settings.|
[linode.cloud.api_request](./docs/modules/api_request.md)|Make an arbitrary Linode API request.|
[linode.cloud.database_mysql](./docs/modules/database_mysql.md)|Manage a Linode MySQL database.|
[linode.cloud.database_mysql_v2](./docs/modules/database_mysql_v2.md)|Create, read, and update a Linode MySQL database.|
[linode.cloud.database_postgresql](./docs/modules/database_postgresql.md)|Manage a Linode PostgreSQL database.|
[linode.cloud.database_postgresql_v2](./docs/modules/database_postgresql_v2.md)|Create, read, and update a Linode PostgreSQL database.|
[linode.cloud.domain](./docs/modules/domain.md)|Manage Linode Domains.|
[linode.cloud.domain_record](./docs/modules/domain_record.md)|Manage Linode Domain Records.|
Expand All @@ -44,6 +42,7 @@ Name | Description |
[linode.cloud.ip_share](./docs/modules/ip_share.md)|Manage the Linode shared IPs.|
[linode.cloud.lke_cluster](./docs/modules/lke_cluster.md)|Manage Linode LKE clusters.|
[linode.cloud.lke_node_pool](./docs/modules/lke_node_pool.md)|Manage Linode LKE cluster node pools.|
[linode.cloud.lock](./docs/modules/lock.md)|Create and delete Linode resource locks.|
[linode.cloud.monitor_services_alert_definition](./docs/modules/monitor_services_alert_definition.md)|Manage an alert definition for a specific service type. Akamai refers to these as user alerts. You need read_only access to the scope for the selected serviceType. |
[linode.cloud.nodebalancer](./docs/modules/nodebalancer.md)|Manage a Linode NodeBalancer.|
[linode.cloud.nodebalancer_node](./docs/modules/nodebalancer_node.md)|Manage Linode NodeBalancer Nodes.|
Expand Down Expand Up @@ -88,6 +87,7 @@ Name | Description |
[linode.cloud.ipv6_range_info](./docs/modules/ipv6_range_info.md)|Get info about a Linode IPv6 range.|
[linode.cloud.lke_cluster_info](./docs/modules/lke_cluster_info.md)|Get info about a Linode LKE cluster.|
[linode.cloud.lke_version_info](./docs/modules/lke_version_info.md)|Get info about a Linode LKE Version.|
[linode.cloud.lock_info](./docs/modules/lock_info.md)|Get info about a Linode Lock.|
[linode.cloud.monitor_services_alert_definition_info](./docs/modules/monitor_services_alert_definition_info.md)|Get info about a Linode Alert Definition.|
[linode.cloud.nodebalancer_info](./docs/modules/nodebalancer_info.md)|Get info about a Linode Node Balancer.|
[linode.cloud.object_cluster_info](./docs/modules/object_cluster_info.md)|**NOTE: This module has been deprecated because it relies on deprecated API endpoints. Going forward, `region` will be the preferred way to designate where Object Storage resources should be created.**|
Expand Down Expand Up @@ -131,6 +131,7 @@ Name | Description |
[linode.cloud.instance_type_list](./docs/modules/instance_type_list.md)|**NOTE: This module has been deprecated in favor of `type_list`.**|
[linode.cloud.lke_type_list](./docs/modules/lke_type_list.md)|List and filter on LKE Types.|
[linode.cloud.lke_version_list](./docs/modules/lke_version_list.md)|List and filter on LKE Versions.|
[linode.cloud.lock_list](./docs/modules/lock_list.md)|List and filter on Locks.|
[linode.cloud.maintenance_policy_list](./docs/modules/maintenance_policy_list.md)|List and filter on Maintenance Policies.|
[linode.cloud.monitor_alert_channel_list](./docs/modules/monitor_alert_channel_list.md)|List and filter on Alert Channels.|
[linode.cloud.monitor_services_alert_definition_by_service_type_list](./docs/modules/monitor_services_alert_definition_by_service_type_list.md)|The return alert definitions by service type. **Note: filters and order are currently NOT supported by this endpoint.|
Expand Down
3 changes: 1 addition & 2 deletions docs/modules/account_settings.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,8 @@ Returns information related to your Account settings.
|-----------|------|----------|------------------------------------------------------------------------------|
| `state` | <center>`str`</center> | <center>**Required**</center> | The state of Account Settings. **(Choices: `present`)** |
| `backups_enabled` | <center>`bool`</center> | <center>Optional</center> | Account-wide backups default. If true, all Linodes created will automatically be enrolled in the Backups service. If false, Linodes will not be enrolled by default, but may still be enrolled on creation or later. |
| `longview_subscription` | <center>`str`</center> | <center>Optional</center> | The Longview Pro tier you are currently subscribed to. The value must be a Longview subscription ID or null for Longview Free. |
| `network_helper` | <center>`bool`</center> | <center>Optional</center> | Enables network helper across all users by default for new Linodes and Linode Configs. |
| `maintenance_policy` | <center>`str`</center> | <center>Optional</center> | The Slug of the maintenance policy associated with the account. NOTE: This field is under v4beta. **(Choices: `linode/migrate`, `linode/power_off_on`)** |
| `maintenance_policy` | <center>`str`</center> | <center>Optional</center> | The Slug of the maintenance policy associated with the account. **(Choices: `linode/migrate`, `linode/power_off_on`)** |

## Return Values

Expand Down
2 changes: 1 addition & 1 deletion docs/modules/database_list.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ List and filter on Linode Managed Databases.
"engine": "mysql",
"hosts": {
"primary": "lin-123-456-mysql-mysql-primary.servers.linodedb.net",
"secondary": "lin-123-456-mysql-primary-private.servers.linodedb.net"
"standby": "lin-123-456-mysql-primary-private.servers.linodedb.net"
},
"id": 123,
"instance_uri": "/v4/databases/mysql/instances/123",
Expand Down
Loading
Loading