Categorygithub.com/dawidjelenkowski/aidevs3go
repositorypackage
0.0.0-20241228182257-ad6fd3d0cf72
Repository: https://github.com/dawidjelenkowski/aidevs3go.git
Documentation: pkg.go.dev

# Packages

No description provided by the author

# README

First, make sure you have:

  1. Authenticated with GCP:
gcloud auth login
gcloud auth application-default login
  1. Set your project ID:
gcloud config set project YOUR_PROJECT_ID
  1. Enable the Secret Manager API in your project:
gcloud services enable secretmanager.googleapis.com
  1. 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
  1. 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"
  1. Get your project ID
gcloud config get-value project
  1. 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"
  1. 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
  1. 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

  1. poligon
  2. capcha
  3. liar
  4. langfuse
  5. cenzura
  6. mp3