# Packages
No description provided by the author
# README
First, make sure you have:
- Authenticated with GCP:
gcloud auth login
gcloud auth application-default login
- Set your project ID:
gcloud config set project YOUR_PROJECT_ID
- Enable the Secret Manager API in your project:
gcloud services enable secretmanager.googleapis.com
- Then run these commands in your project root directory:
# go mod init <path to github repo>
go mod init github.com/dawidjelenkowski/aidevs3go
# Tidy up dependencies
go mod tidy
# Verify modules
go mod verify
# Download dependencies
go mod download
# Dependencies
go get cloud.google.com/go/secretmanager/apiv1
go get github.com/joho/godotenv
- Create a service account
# Format: gcloud iam service-accounts create NAME --display-name "DISPLAY_NAME"
gcloud iam service-accounts create secret-manager-sa \
--display-name "Secret Manager Service Account"
- Get your project ID
gcloud config get-value project
- Grant the necessary IAM roles to the service account
# Set your project ID
export PROJECT_ID=$(gcloud config get-value project)
# Grant Secret Manager Admin role (can create and manage secrets)
gcloud projects add-iam-policy-binding $PROJECT_ID \
--member="serviceAccount:secret-manager-sa@$PROJECT_ID.iam.gserviceaccount.com" \
--role="roles/secretmanager.admin"
Alternatively, for read-only access, use secretmanager.secretAccessor:
gcloud projects add-iam-policy-binding $PROJECT_ID \
--member="serviceAccount:secret-manager-sa@$PROJECT_ID.iam.gserviceaccount.com" \
--role="roles/secretmanager.secretAccessor"
- Create and download the service account key JSON
gcloud iam service-accounts keys create service-account-key.json \
--iam-account=secret-manager-sa@$PROJECT_ID.iam.gserviceaccount.com
- Set the environment variable for authentication:
export GOOGLE_APPLICATION_CREDENTIALS="$PWD/service-account-key.json"
Optional:
To verify the service account
# List service accounts
gcloud iam service-accounts list
# List keys for the service account
gcloud iam service-accounts keys list \
--iam-account=secret-manager-sa@$PROJECT_ID.iam.gserviceaccount.com
To clean up when no longer needed
# Delete the service account
gcloud iam service-accounts delete secret-manager-sa@$PROJECT_ID.iam.gserviceaccount.com
# Or just delete a specific key
gcloud iam service-accounts keys delete KEY_ID \
--iam-account=secret-manager-sa@$PROJECT_ID.iam.gserviceaccount.com
Tasks
- poligon
- capcha
- liar
- langfuse
- cenzura
- mp3