Skip to main content
Glama
common.nu3.23 kB
#!/usr/bin/env nu # Prompts user to select a cloud provider from available options # # Returns: # The selected provider name and saves it to .env file def "main get provider" [ --providers = [aws azure google kind upcloud] # List of cloud providers to choose from ] { let message = $" Right now, only providers listed below are supported in this demo. Please send an email to (ansi yellow_bold)viktor@farcic.com(ansi reset) if you'd like to add additional providers. (ansi yellow_bold)Select a provider(ansi green_bold)" let provider = $providers | input list $message print $"(ansi reset)" $"export PROVIDER=($provider)\n" | save --append .env $provider } # Prints a reminder to source the environment variables def "main print source" [] { print $" Execute `(ansi yellow_bold)source .env(ansi reset)` to load the environment variables. " } # Removes temporary files created during script execution def "main delete temp_files" [] { rm --force .env rm --force kubeconfig*.yaml } # Retrieves and configures credentials for the specified cloud provider # # Examples: # > main get creds aws # > main get creds azure def --env "main get creds" [ provider: string, # The cloud provider to configure credentials for (aws, azure, google) ] { mut creds = {provider: $provider} if $provider == "google" { gcloud auth login } else if $provider == "aws" { mut aws_access_key_id = "" if AWS_ACCESS_KEY_ID in $env { $aws_access_key_id = $env.AWS_ACCESS_KEY_ID } else { $aws_access_key_id = input $"(ansi green_bold)Enter AWS Access Key ID: (ansi reset)" } $"export AWS_ACCESS_KEY_ID=($aws_access_key_id)\n" | save --append .env $creds = ( $creds | upsert aws_access_key_id $aws_access_key_id ) mut aws_secret_access_key = "" if AWS_SECRET_ACCESS_KEY in $env { $aws_secret_access_key = $env.AWS_SECRET_ACCESS_KEY } else { $aws_secret_access_key = input $"(ansi green_bold)Enter AWS Secret Access Key: (ansi reset)" --suppress-output print "" } $"export AWS_SECRET_ACCESS_KEY=($aws_secret_access_key)\n" | save --append .env $creds = ( $creds | upsert aws_secret_access_key $aws_secret_access_key ) mut aws_account_id = "" if AWS_ACCOUNT_ID in $env { $aws_account_id = $env.AWS_ACCOUNT_ID } else { $aws_account_id = input $"(ansi green_bold)Enter AWS Account ID: (ansi reset)" } $"export AWS_ACCOUNT_ID=($aws_account_id)\n" | save --append .env $creds = ( $creds | upsert aws_account_id $aws_account_id ) } else if $provider == "azure" { mut tenant_id = "" if AZURE_TENANT in $env { $tenant_id = $env.AZURE_TENANT } else { $tenant_id = input $"(ansi green_bold)Enter Azure Tenant ID: (ansi reset)" } $creds = ( $creds | upsert tenant_id $tenant_id ) az login --tenant $tenant_id } else { print $"(ansi red_bold)($provider)(ansi reset) is not a supported." exit 1 } $creds }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/vfarcic/dot-ai'

If you have feedback or need assistance with the MCP directory API, please join our Discord server