Tracking personal roi over time.
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
tests
.gitignore
README.md
__init__.py
packaged.yaml
requirements-dev.txt
template.yaml
test_stack.sh
update_build.sh

README.md

ROI Tracker

This a tool to track your successes over time and provide business reports. It runs on AWS and can be deployed to run on your own account.

Prerequisites

Create a new virtualenv in the roi-tracker directory and activate it. Pipenv will output the virtualenv location.
cd roi-tracker
pipenv --python 3.6
pipenv shell
Install AWS CLI, AWS SAM CLI and Docker
pip install awscli
pip install aws-sam-cli
brew cask install docker
Create IAM user with the following permissions to deploy.
Click to expand the policy
{
  "Version": "2012-10-17",
  "Statement": [
      {
          "Effect": "Allow",
          "NotAction": [
              "iam:*",
              "organizations:*"
          ],
          "Resource": "*"
      },
      {
          "Effect": "Allow",
          "Action": [
              "iam:CreateServiceLinkedRole",
              "iam:DeleteServiceLinkedRole",
              "iam:GetRole",
              "iam:ListRoles",
              "iam:CreateRole",
              "iam:PutRolePolicy",
              "iam:AttachRolePolicy",
              "iam:DetachRolePolicy",
              "iam:PassRole",
              "organizations:DescribeOrganization"
          ],
          "Resource": "*"
      }
  ]
}

Config access

To deploy to AWS, you need to provide an access and secret key. In order to deploy as different users or to different accounts you can use profiles. In this example the profile is tracker, but it can be called anything.

~/.aws/config
[tracker]
region=us-east-1
output=json

~/.aws/credentials 
[tracker]
aws_access_key_id=$KEY
aws_secret_access_key=$SECRET

export AWS_PROFILE=tracker

Deploying

  • Create an S3 bucket.
aws s3 mb s3://mbrenner-roi-tracker
  • Package roi-tracker and send to bucket
sam package --template-file template.yaml --output-template-file packaged.yaml --s3-bucket mbrenner-roi-tracker
  • Create the Cloudformation stack.
sam deploy --template-file packaged.yaml --stack-name roi-tracker --capabilities CAPABILITY_IAM

Using ROI Tracker

Now that your tracker is deployed. Time to add successes.