Skip to content

Commit f937b23

Browse files
chore: merge main
2 parents de62ec5 + 7bf08ee commit f937b23

File tree

144 files changed

+15055
-14607
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

144 files changed

+15055
-14607
lines changed

.github/workflows/ipa-changelog.yml

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -32,20 +32,23 @@ jobs:
3232
env:
3333
VERSION_BUMP: ${{ steps.version_check.outputs.version_changed }}
3434
run: |
35-
npm run gen-ipa-changelog
36-
37-
# Check for uncommitted changes specific to CHANGELOG.md
38-
uncommitted_changes=$(git status --porcelain | grep "CHANGELOG.md" || echo "")
39-
40-
diff_changelog=$(git diff -- tools/spectral/ipa/CHANGELOG.md || echo "")
35+
diff_changelog=$(git diff origin/main -- CHANGELOG.md || echo "")
36+
37+
echo "Changelog diff: ${diff_changelog}"
4138
42-
if [[ "${VERSION_BUMP}" == "false" && -n "${uncommitted_changes}" ]]; then
39+
if [[ "${VERSION_BUMP}" == "false" && -n "${diff_changelog}" ]]; then
4340
echo "Error: Changelog should only be updated alongside a version bump. Please restore the changelog."
4441
exit 1
4542
fi
46-
47-
if [[ "${VERSION_BUMP}" == "true" && -n "${diff_changelog}" ]]; then
48-
echo "Error: Changelog must be updated alongside a version bump. Please run 'npm run gen-ipa-changelog' from the ipa directory and commit the changes."
43+
44+
npm run gen-ipa-changelog
45+
46+
# Check CHANGELOG.md is the generated changelog result
47+
uncommitted_changes=$(git status --porcelain | grep "CHANGELOG.md" || echo "")
48+
49+
if [[ "${VERSION_BUMP}" == "true" && -n "${uncommitted_changes}" ]]; then
50+
echo "Error: Changelog is not the same as the generated result. Please run 'npm run gen-ipa-changelog' from the ipa directory and commit the changes."
4951
exit 1
5052
fi
51-
exit 0
53+
54+
exit 0

.github/workflows/ipa-release.yml

Lines changed: 47 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,15 @@ name: Release IPA Package
22

33
on:
44
workflow_dispatch:
5+
inputs:
6+
workflow_call:
7+
description: 'To distinguish workflow_call from regular push'
8+
type: boolean
9+
required: false
10+
default: true
11+
use_existing_tag:
12+
description: 'Set value to `true` to use an existing tag for the release process, default is `false`'
13+
default: 'false'
514
push:
615
branches:
716
- main
@@ -10,12 +19,13 @@ on:
1019

1120
jobs:
1221
check-version:
13-
runs-on: ubuntu-latest
14-
outputs:
15-
version_changed: ${{ steps.version_check.outputs.version_changed }}
16-
22+
runs-on: ubuntu-latest
23+
outputs:
24+
version_changed: ${{ steps.version_check.outputs.version_changed }}
25+
current_version: ${{ steps.version_check.outputs.current_version }}
26+
1727
steps:
18-
- name: Checkout Repository
28+
- name: Checkout Repository
1929
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332
2030
with:
2131
fetch-depth: 0
@@ -24,21 +34,47 @@ jobs:
2434
.github/scripts
2535
- name: Fetch Versions
2636
id: version_check
27-
env:
37+
env:
2838
BASE_BRANCH: "main~1"
2939
run: |
3040
version_changed=$(./.github/scripts/ipa_version_check.sh)
3141
echo "Version changed? ${version_changed}"
3242
echo "version_changed=${version_changed}" >> "${GITHUB_OUTPUT}"
33-
43+
current_version=$(jq -r '.version' tools/spectral/ipa/package.json)
44+
echo "Current version: ${current_version}"
45+
echo "current_version=${current_version}" >> "${GITHUB_OUTPUT}"
46+
47+
create-tag:
48+
runs-on: ubuntu-latest
49+
needs: check-version
50+
if: >-
51+
!cancelled()
52+
&& (!inputs.use_existing_tag || inputs.use_existing_tag == 'false')
53+
&& needs.check-version.outputs.version_changed == 'true'
54+
steps:
55+
- name: Validation of version format
56+
run: |
57+
echo "${{ needs.check-version.outputs.current_version }}" | grep -P '^\d+\.\d+\.\d+$'
58+
- name: Checkout
59+
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332
60+
- name: Get the latest commit SHA
61+
id: get-sha
62+
run: echo "sha=$(git rev-parse HEAD)" >> "$GITHUB_OUTPUT"
63+
- name: Create release tag
64+
uses: rickstaa/action-create-tag@a1c7777fcb2fee4f19b0f283ba888afa11678b72
65+
with:
66+
tag: 'ipa-validation-ruleset-v${{ needs.check-version.outputs.current_version }}'
67+
commit_sha: ${{ steps.get-sha.outputs.sha }}
68+
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
69+
gpg_passphrase: ${{ secrets.PASSPHRASE }}
70+
3471
publish:
3572
needs: check-version
3673
runs-on: ubuntu-latest
3774
permissions:
3875
contents: read
3976
id-token: write
40-
if: ${{ needs.check-version.outputs.version_changed == 'true' }}
41-
77+
if: ${{ needs.check-version.outputs.version_changed == 'true' || inputs.workflow_call }}
4278
steps:
4379
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332
4480
- uses: actions/setup-node@v4
@@ -50,4 +86,5 @@ jobs:
5086
- run: npm publish --access public
5187
working-directory: tools/spectral/ipa
5288
env:
53-
NODE_AUTH_TOKEN: ${{ secrets.IPA_VALIDATION_TOKEN }}
89+
NODE_AUTH_TOKEN: ${{ secrets.IPA_VALIDATION_NPM_TOKEN }}
90+

changelog/changelog.json

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,29 @@
11
[
2+
{
3+
"date": "2025-08-08",
4+
"paths": [
5+
{
6+
"path": "/api/atlas/v2/groups/{groupId}/cloudProviderAccess",
7+
"httpMethod": "GET",
8+
"versions": [
9+
{
10+
"version": "2025-03-12",
11+
"changes": [
12+
{
13+
"change": "added the optional property 'gcpServiceAccounts' to the response",
14+
"changeCode": "response-optional-property-added",
15+
"backwardCompatible": true
16+
}
17+
],
18+
"stabilityLevel": "stable",
19+
"changeType": "update"
20+
}
21+
],
22+
"operationId": "listCloudProviderAccessRoles",
23+
"tag": "Cloud Provider Access"
24+
}
25+
]
26+
},
227
{
328
"date": "2025-08-06",
429
"paths": [

changelog/changelog.yaml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
- date: "2025-08-08"
2+
paths:
3+
- httpMethod: GET
4+
operationId: listCloudProviderAccessRoles
5+
path: /api/atlas/v2/groups/{groupId}/cloudProviderAccess
6+
tag: Cloud Provider Access
7+
versions:
8+
- changeType: update
9+
changes:
10+
- backwardCompatible: true
11+
change: added the optional property 'gcpServiceAccounts' to the response
12+
changeCode: response-optional-property-added
13+
stabilityLevel: stable
14+
version: "2025-03-12"
115
- date: "2025-08-06"
216
paths:
317
- httpMethod: GET

changelog/internal/changelog-all.json

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,29 @@
11
[
2+
{
3+
"date": "2025-08-08",
4+
"paths": [
5+
{
6+
"path": "/api/atlas/v2/groups/{groupId}/cloudProviderAccess",
7+
"httpMethod": "GET",
8+
"versions": [
9+
{
10+
"version": "2025-03-12",
11+
"changes": [
12+
{
13+
"change": "added the optional property 'gcpServiceAccounts' to the response",
14+
"changeCode": "response-optional-property-added",
15+
"backwardCompatible": true
16+
}
17+
],
18+
"stabilityLevel": "stable",
19+
"changeType": "update"
20+
}
21+
],
22+
"operationId": "listCloudProviderAccessRoles",
23+
"tag": "Cloud Provider Access"
24+
}
25+
]
26+
},
227
{
328
"date": "2025-08-06",
429
"paths": [

changelog/internal/changelog-all.yaml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
- date: "2025-08-08"
2+
paths:
3+
- httpMethod: GET
4+
operationId: listCloudProviderAccessRoles
5+
path: /api/atlas/v2/groups/{groupId}/cloudProviderAccess
6+
tag: Cloud Provider Access
7+
versions:
8+
- changeType: update
9+
changes:
10+
- backwardCompatible: true
11+
change: added the optional property 'gcpServiceAccounts' to the response
12+
changeCode: response-optional-property-added
13+
stabilityLevel: stable
14+
version: "2025-03-12"
115
- date: "2025-08-06"
216
paths:
317
- httpMethod: GET

changelog/internal/metadata.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
2-
"runDate": "2025-08-07",
3-
"specRevision": "d85d82acd096f120c66f7f9302e8b0f55b4f5678",
4-
"specRevisionShort": "d85d82acd09",
2+
"runDate": "2025-08-13",
3+
"specRevision": "5e6ecb5261d104e00de686c2f3ef0db114eb926b",
4+
"specRevisionShort": "5e6ecb5261d",
55
"versions": [
66
"2023-01-01",
77
"2023-02-01",

openapi/.raw/v2.json

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10366,6 +10366,17 @@
1036610366
"pattern": "^([a-f0-9]{24})$",
1036710367
"readOnly": true,
1036810368
"type": "string"
10369+
},
10370+
"status": {
10371+
"description": "Provision status of the service account.",
10372+
"enum": [
10373+
"IN_PROGRESS",
10374+
"COMPLETE",
10375+
"FAILED",
10376+
"NOT_INITIATED"
10377+
],
10378+
"readOnly": true,
10379+
"type": "string"
1036910380
}
1037010381
},
1037110382
"type": "object"
@@ -10563,6 +10574,16 @@
1056310574
"x-xgen-IPA-exception": {
1056410575
"xgen-IPA-124-array-max-items": "Schema predates IPA validation"
1056510576
}
10577+
},
10578+
"gcpServiceAccounts": {
10579+
"description": "List that contains the Google Service Accounts registered and authorized with MongoDB Cloud.",
10580+
"items": {
10581+
"$ref": "#/components/schemas/CloudProviderAccessGCPServiceAccount"
10582+
},
10583+
"type": "array",
10584+
"x-xgen-IPA-exception": {
10585+
"xgen-IPA-124-array-max-items": "Schema predates IPA validation"
10586+
}
1056610587
}
1056710588
},
1056810589
"type": "object"
@@ -52998,7 +53019,7 @@
5299853019
"termsOfService": "https://www.mongodb.com/mongodb-management-service-terms-and-conditions",
5299953020
"title": "MongoDB Atlas Administration API",
5300053021
"version": "2.0",
53001-
"x-xgen-sha": "d85d82acd096f120c66f7f9302e8b0f55b4f5678"
53022+
"x-xgen-sha": "5e6ecb5261d104e00de686c2f3ef0db114eb926b"
5300253023
},
5300353024
"openapi": "3.0.1",
5300453025
"paths": {
@@ -57443,7 +57464,7 @@
5744357464
"x-xgen-owner-team": "Atlas Dedicated"
5744457465
},
5744557466
"post": {
57446-
"description": "Creates one access role for the specified cloud provider. Some MongoDB Cloud features use these cloud provider access roles for authentication. To use this resource, the requesting Service Account or API Key must have the Project Owner role.",
57467+
"description": "Creates one access role for the specified cloud provider. Some MongoDB Cloud features use these cloud provider access roles for authentication. To use this resource, the requesting Service Account or API Key must have the Project Owner role. For the GCP provider, if the project folder is not yet provisioned, Atlas will now create the role asynchronously. An intermediate role with status `IN_PROGRESS` will be returned, and the final service account will be provisioned. Once the GCP project is set up, subsequent requests will create the service account synchronously.",
5744757468
"externalDocs": {
5744857469
"description": "Set Up Access to Cloud Providers",
5744957470
"url": "https://www.mongodb.com/docs/atlas/security/cloud-provider-access/"

openapi/.raw/v2.yaml

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8420,6 +8420,15 @@ components:
84208420
pattern: ^([a-f0-9]{24})$
84218421
readOnly: true
84228422
type: string
8423+
status:
8424+
description: Provision status of the service account.
8425+
enum:
8426+
- IN_PROGRESS
8427+
- COMPLETE
8428+
- FAILED
8429+
- NOT_INITIATED
8430+
readOnly: true
8431+
type: string
84238432
type: object
84248433
description: Details that describe the features linked to the GCP Service Account.
84258434
required:
@@ -8554,6 +8563,13 @@ components:
85548563
type: array
85558564
x-xgen-IPA-exception:
85568565
xgen-IPA-124-array-max-items: Schema predates IPA validation
8566+
gcpServiceAccounts:
8567+
description: List that contains the Google Service Accounts registered and authorized with MongoDB Cloud.
8568+
items:
8569+
$ref: '#/components/schemas/CloudProviderAccessGCPServiceAccount'
8570+
type: array
8571+
x-xgen-IPA-exception:
8572+
xgen-IPA-124-array-max-items: Schema predates IPA validation
85578573
type: object
85588574
CloudProviderAzureAutoScaling:
85598575
description: Range of instance sizes to which your cluster can scale.
@@ -41687,7 +41703,7 @@ info:
4168741703
termsOfService: https://www.mongodb.com/mongodb-management-service-terms-and-conditions
4168841704
title: MongoDB Atlas Administration API
4168941705
version: "2.0"
41690-
x-xgen-sha: d85d82acd096f120c66f7f9302e8b0f55b4f5678
41706+
x-xgen-sha: 5e6ecb5261d104e00de686c2f3ef0db114eb926b
4169141707
openapi: 3.0.1
4169241708
paths:
4169341709
/api/atlas/v2:
@@ -44497,7 +44513,7 @@ paths:
4449744513
x-xgen-docs-url: https://mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Cloud-Provider-Access/operation/listCloudProviderAccessRoles
4449844514
x-xgen-owner-team: Atlas Dedicated
4449944515
post:
44500-
description: Creates one access role for the specified cloud provider. Some MongoDB Cloud features use these cloud provider access roles for authentication. To use this resource, the requesting Service Account or API Key must have the Project Owner role.
44516+
description: Creates one access role for the specified cloud provider. Some MongoDB Cloud features use these cloud provider access roles for authentication. To use this resource, the requesting Service Account or API Key must have the Project Owner role. For the GCP provider, if the project folder is not yet provisioned, Atlas will now create the role asynchronously. An intermediate role with status `IN_PROGRESS` will be returned, and the final service account will be provisioned. Once the GCP project is set up, subsequent requests will create the service account synchronously.
4450144517
externalDocs:
4450244518
description: Set Up Access to Cloud Providers
4450344519
url: https://www.mongodb.com/docs/atlas/security/cloud-provider-access/

openapi/v1-deprecated/v1.json

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6640,7 +6640,7 @@
66406640
"post": {
66416641
"tags": ["Cloud Provider Access"],
66426642
"summary": "Create One Cloud Provider Access Role",
6643-
"description": "Creates one access role for the specified cloud provider. Some MongoDB Cloud features use these cloud provider access roles for authentication. To use this resource, the requesting Service Account or API Key must have the Project Owner role.",
6643+
"description": "Creates one access role for the specified cloud provider. Some MongoDB Cloud features use these cloud provider access roles for authentication. To use this resource, the requesting Service Account or API Key must have the Project Owner role. For the GCP provider, if the project folder is not yet provisioned, Atlas will now create the role asynchronously. An intermediate role with status `IN_PROGRESS` will be returned, and the final service account will be provisioned. Once the GCP project is set up, subsequent requests will create the service account synchronously.",
66446644
"externalDocs": {
66456645
"description": "Set Up Access to Cloud Providers",
66466646
"url": "https://www.mongodb.com/docs/atlas/security/cloud-provider-access/"
@@ -45624,6 +45624,12 @@
4562445624
"description": "Unique 24-hexadecimal digit string that identifies the role.",
4562545625
"readOnly": true,
4562645626
"example": "32b6e34b3d91647abb20e7b8"
45627+
},
45628+
"status": {
45629+
"type": "string",
45630+
"description": "Provision status of the service account.",
45631+
"readOnly": true,
45632+
"enum": ["IN_PROGRESS", "COMPLETE", "FAILED", "NOT_INITIATED"]
4562745633
}
4562845634
}
4562945635
}
@@ -45879,6 +45885,16 @@
4587945885
"items": {
4588045886
"$ref": "#/components/schemas/CloudProviderAccessAzureServicePrincipal"
4588145887
}
45888+
},
45889+
"gcpServiceAccounts": {
45890+
"type": "array",
45891+
"description": "List that contains the Google Service Accounts registered and authorized with MongoDB Cloud.",
45892+
"x-xgen-IPA-exception": {
45893+
"xgen-IPA-124-array-max-items": "Schema predates IPA validation"
45894+
},
45895+
"items": {
45896+
"$ref": "#/components/schemas/CloudProviderAccessGCPServiceAccount"
45897+
}
4588245898
}
4588345899
}
4588445900
},

0 commit comments

Comments
 (0)