Skip to content

andybar2/team

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

team

Save your project configuration (environment variables, configuration files, etc) in a remote store and easily share it with your team instead of having to store it inside your project repository.

This allows you to securely share the source code of your project without including secrets, API keys, service account files, etc.

Currently only the aws remote store is supported, but the package can be extended for adding more stores in the future.

  • aws: Stores project configuration in your AWS account. Environment variables are stored in the SSM Parameters Store, and files are stored in S3.

Installation:

go get -u github.com/andybar2/team

Configuration:

Create the team.json file in your project folder, and set your configuration parameters there.

{
  "project": "example",
  "store": "aws",
  "aws_profile": "myaccount",
  "aws_region": "us-east-2"
}

The value of aws_profile is a reference to your ~/.aws/credentials file. The keys for the given profile will be used by team to connect to your AWS account:

[myaccount]
aws_access_key_id = xxxxxxxx
aws_secret_access_key = xxxxxxxxxxxxxxxxxxxxxxxx

Manage environment variables:

Set variable:

team env set -s "development" -n "STRIPE_API_KEY" -v "1234567890"

Get variable:

team env get -s "development" -n "STRIPE_API_KEY"

Delete variable:

team env delete -s "development" -n "STRIPE_API_KEY"

Print all variables for a stage:

team env print -s "development"

Configure your local environment with all the variables in a stage:

export $(team env print -s "development")

Import all the environment variables on a stage to a local file:

mkdir -p .team/development
team env print -s "development" > .team/development/env

Tip: Add .team to your .gitignore file :)

Manage configuration files:

Upload file:

team files upload -s "development" -p ".team/development/google-service-account.json"

Download file:

team files download -s "development" -p ".team/development/google-service-account.json"

Delete file:

team files delete -s "development" -p ".team/development/google-service-account.json"

List all files in a stage:

team files list -s "development"

Releases

No releases published

Packages

No packages published

Languages