Skip to content

rokus-box/butane-server

Repository files navigation

image

Butane

This repository contains the source code for a language-agnostic password manager app implemented utilizing AWS, Terraform, Golang, and Node.js.

What I aimed to learn and demonstrate.

  • Language Agnostic: Demonstrated the use of Golang and Node.js (and other languages potentially such as Python, Java, C# and Rust) to build a language-agnostic application.
  • AWS Lambda: Utilized AWS Lambda for serverless architecture, ensuring scalability and cost-effectiveness and also language agnosticism.
  • DynamoDB Single Table Schema: Implemented a single table schema design in DynamoDB to manage various relations efficiently.
  • Infrastructure as Code (IaC): Used Terraform for Infrastructure as Code (IaC), providing a reproducible and version-controlled infrastructure setup. Used S3 to store latest state and DynamoDB for the lock mechanism.
  • Continuous Integration/Continuous Deployment (CI/CD): Set up a CI/CD pipeline using GitHub Actions for automated testing and deployment.
  • OIDC: Made CI/CD pipeline using ephemeral access keys by setting up OIDC provider in AWS to avoid using hard-coded secret keys.
  • OAuth2: Handled authorization using 3rd party OAuth2 clients to avoid spam accounts as much as possible by allowing only verified users.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published