Skip to content

Commit 35703fa

Browse files
committed
use Go script
1 parent 3f0102c commit 35703fa

File tree

4 files changed

+38
-75
lines changed

4 files changed

+38
-75
lines changed

.github/workflows/acceptance-tests-runner.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -556,7 +556,11 @@ jobs:
556556
MONGODB_ATLAS_CLIENT_ID: ${{ secrets.mongodb_atlas_client_id }}
557557
MONGODB_ATLAS_CLIENT_SECRET: ${{ secrets.mongodb_atlas_client_secret }}
558558
run: |
559-
ACCESS_TOKEN=$(bash ./scripts/generate-oauth2-token.sh)
559+
ACCESS_TOKEN=$(make generate-oauth2-token)
560+
if [ $? -ne 0 ] || [ -z "$ACCESS_TOKEN" ]; then
561+
echo "Error: Failed to generate access token"
562+
exit 1
563+
fi
560564
echo "access_token=$ACCESS_TOKEN" >> "$GITHUB_OUTPUT"
561565
- name: Acceptance Tests (Access Token)
562566
env:

Makefile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,10 @@ check-changelog-entry-file: ## Check a changelog entry file in a PR
201201
jira-release-version: ## Update Jira version in a release
202202
go run ./tools/jira-release-version/*.go
203203

204+
.PHONY: generate-oauth2-token
205+
generate-oauth2-token: ## Generate OAuth2 access token from Service Account credentials
206+
go run ./tools/generate-oauth2-token/*.go
207+
204208
.PHONY: enable-autogen
205209
enable-autogen: ## Enable use of autogen resources in the provider
206210
$(eval filename := ./internal/provider/provider.go)

scripts/generate-oauth2-token.sh

Lines changed: 0 additions & 74 deletions
This file was deleted.
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package main
2+
3+
import (
4+
"context"
5+
"fmt"
6+
"os"
7+
"strings"
8+
9+
"github.com/mongodb/atlas-sdk-go/auth/clientcredentials"
10+
)
11+
12+
func main() {
13+
baseURL := os.Getenv("MONGODB_ATLAS_BASE_URL")
14+
clientID := os.Getenv("MONGODB_ATLAS_CLIENT_ID")
15+
clientSecret := os.Getenv("MONGODB_ATLAS_CLIENT_SECRET")
16+
if baseURL == "" || clientID == "" || clientSecret == "" {
17+
fmt.Fprintln(os.Stderr, "Error: MONGODB_ATLAS_BASE_URL, MONGODB_ATLAS_CLIENT_ID, and MONGODB_ATLAS_CLIENT_SECRET environment variables are required")
18+
os.Exit(1)
19+
}
20+
baseURL = strings.TrimRight(baseURL, "/")
21+
conf := clientcredentials.NewConfig(clientID, clientSecret)
22+
conf.TokenURL = baseURL + clientcredentials.TokenAPIPath
23+
token, err := conf.Token(context.Background())
24+
if err != nil {
25+
fmt.Fprintf(os.Stderr, "Failed to generate OAuth2 token: %v\n", err)
26+
os.Exit(1)
27+
}
28+
fmt.Print(token.AccessToken)
29+
}

0 commit comments

Comments
 (0)