Skip to content

MatthewC/copycat

Repository files navigation

Copy Cat - Environment Manager

CopyCat Logo

CI/CD

CopyCat is a .env manager I used as an excuse to learn Go. You can configure it with your own S3-compliant instance to have .env files synced. The client is also capable of syncing any files to a specific environment, so that they can later be re-downloaded.

Installation

Assuming Go has already been installed, you should be able to run

make build
make install

to install the binary. There is a known issue with Windows that I haven't been able to figure out with the Syscall.umask function, if you are building on Windows I'd recommend commenting out this line.

Usage

Create a new environment (uploads .env file)

copycat upload environment-name

Re-download the newly created environment (downloads .env file)

copycat download environment-name

Upload a new file (requires an existing environment)

copycat files environment-name upload secrets.txt aws_secrets.txt

The above command uploads the file secrets.txt and saves it as aws_secrets.txt under the environment name environment-name. Then you could use the following to re-download it:

copycat files environment-name download aws_secrets.txt new_secrets.txt

This would re-download that aws_secrets.txt file we uploaded before, and save it as new_secrets.txt.

Support

If you encounter any issue with the binary, feel free to open an Issue and I'll take a look at it as soon as I can.

Contributing

Contributions are always welcome! Feel free to fork and later open a pull request explaining what your changes do.

License

See License

Project status

There are still things I want to add to this project (most notably, test cases), but as of now, development of this project has slowed down.