Skip to content

UserNotes:chief

Lajos Papp edited this page Apr 30, 2017 · 14 revisions

Developing cmd.io locally

Developer Accounts You Will Need

  • A test auth0 account
  • An OAuth integration w/ GitHub
  • A test stripe account

Software Requirements

  • Moby Docker for OSX / Linux
  • golang
  • glide, brew install glide
  • make if you don't have it

Setup

Auth0

Authentication is done through auth0. To develop locally, you will need to create a mock client app in the auth0 dashboard. When creating a client, you may choose the "regular web application" type. To enable API access, go to your account profile page, and then under advanced settings, look for Enable APIs Section and make sure that it's turned on. You'll need to add the GitHub social integration into your client. Be sure to test it to ensure the login flow is working.

Helpful Links

dev/dev.toml Changes

The cmd config file should look something like this for auth0: (note, you may also use an .env file to inject these values into viper)

[auth0]
domain = "<auth0username>.auth0.com"
callback_url = "http://localhost:8080/_auth/callback"
logout_url = "http://localhost:8080/_auth/logout"
client_id = "Jna0dfj2nmnmdfap2mplaal2m2n2okljn22"
client_secret = "tzviIHfvUu1W4K9NWaBsadfasdf_asdfdfdfdfdaa2Oht_3LClrbQyrta8V1FS5a"
api_token = "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6Ik1qUXhSRUZDTmpWR09EVkVOelkxTXpCRlF6UkVRVU16TjBJd01UazBOVEV4UkRjM1JVSTFNUSJ9.eyJpc3MiOiJodHRwczovL2NoaWVmeS5dddddasdfasdfaf4a3N3T0VlY29mTnNqVUQ1SWdxVHpPZDZQbGJAY2xpZW50cyIsImF1ZCI6Imh0dHBzOi8vY2hpZWZ5LmF1dGgwLmNvbS9hcGkvdjIvIiwiZXhwIjoxNDkzNTkxMzY0LCJpYXQiOjE0OTM1MDQ5NjQsInNjb3BlIjoicmVhZDpjbGllbnRfZ3JhbnRzIGNyZWF0ZTpjbGllbnRfZ3JhbnRzIGRlbGV0ZTpjbGllbnRfZ3JhbnRzIHVwZGF0ZTpjbGllbnRfZ3JhbnRzIHJlYWQ6dXNlcnMgdXBkYXRlOnVzZXJzIGRlbGV0ZTp1c2VycyBjcmVhdGU6dXNlcnMgcmVhZDp1c2Vyc19hcHBfbWV0YWRhdGEgdXBkYXRlOnVzZXJzX2FwcF9tZXRhZGF0YSBkZWxldGU6dXNlcnNfYXBwX21ldGFkYXRhIGNyZWF0ZTp1c2Vyc19hcHBfbWV0YWRhdGEgY3JlYXRlOnVzZXJfdGlja2Vasdfa4f3afudHMgdXBkYXRlOmNsaWVudHMgZGVsZXRlOmNsaWVudHMgY3JlYXRlOmNsaWVudHMgcmVhZDpjbGllbnRfa2V5cyB1cGRhdGU6Y2xpZW50X2tleXMgZGVsZXRlOmNsaWVudF9rZXlzIGNyZWF0ZTpjbGllbnRfa2V5cyByZWFkOmNvbm5lY3Rpb25zIHVwZGF0ZTpjb25uZWN0aW9ucy433Y29ubmVjdGlvbnMgY3JlYXRlOmNvbm5lY3Rpb25zIHJlYWQ6cmVzb3VyY2Vfc2VydmVycyB1cGRhdGU6cmVzb3VyY2Vfc2VydmVycyBkZWxldGU6cmVzb3VyY2Vfc2VdyBjcmVhdGU6cmVzb3VyY2Vfc2VydmVycyByZWFkOmRldmljZV9jcmVkZW50aWFscyB1cGRhdGU6ZGV2aWNlX2NyZWRlbnRpYWxzIGRlbGV0ZTpkZXZpY2VfY3JlZGdfasdYWQ6ZW1haWxfcHJvdmlkZXIgdXBkYXRlOmVtYWlsX3Byb3ZpZGVyIGRlbGV0ZTplbWFpbF9wcm92aWRlciBjcmVhdGU6ZW1haWxfcHJvdmlkZXIgYmxhY2tsaXN0OnRva2VucyByZWFkOnN0YXRzIHJlYWQ6dGVuYW50X3NldHRpbmdzIHVwZGF0ZTp0ZW5hbnRfc2V0dGluZ3MgcmVhZDpsb2dzIHJlYWQ6c2hpZWxkcyBjcmVhdGU6c2hpZWxkcyBkZWxldGU6c2hpZWxkcyB1cGRhdGU6dHJpZ2dlcnMgcmVhZDp0cmlnZ2VycyByZWFkOmdyYW50cyBkZWxldGU6Z3JhbnRzIHJlYWQ6Z3VhcmRpYW5fZmFjdG9ycyB1cGRhdGU6Z3VhcmRpYW5fZmFjdG9ycyByZWFkOmd1YXJkaWFuX2Vucm9sbG1lbnRzIGRlbGV0ZTpndWFyZGlhbl9lbnJvbGxtZW50cyBjcmVhdGU6Z3VhcmRpYW5fZW5yb2xsbWVudF90aWNrZXRzIHJlYWQ6dXNlcl9pZHBfdG9rZW5zIn0.r1sc-QNbO1DopKF3coS_k15Zfmeu_MRWP0rSUlyoApLdHEJSSR80fh6ATGq7oamIYASDHf2t5mfIaWthpaNEd-dN0Z3dre5iDF-tbC_wIJLGwQ9dW_8MG-rhoVc48WtGz4-cvasRk7pySCI_hKYrp1T4Q8SXQtsaOlG8jfcPzpBTB-wo1Q_ZJZr7AcRHzR6yZneWNKFPM1mYrLbGntR6SgEKdrpiUdSjL4JmjsJzFY6jHQEeEce5fhjR-xPvXEpxX6sw106QXdyHkPEItwFQFHxRD-dTMt4g6ZFohEr3ASssd9hCq00cGPwc6PlHeo_rlpbyaQ2_mpGEk4zJYHbPQg"

Stripe

To obtain a test API key for Stripe, head over to their dashboard and signup/signin. Go to the "API" section and copy your Test Secret Key.

Add the following stanza to your dev/dev.toml, or .env etc.

[stripe]
secret_key = "sk_test_8SddfdfasdfsdfzfKoqnn2mJFg5i"

Crypto

Add the following stanza to your dev/dev.toml, or .env etc.

[crypto]
secret_key = "somesupersecrettextorsomething"

GitHub API

Create a personal access token in the GitHub UI, make sure it has read access.

[access]
gh_token = "2asdfa8fal9820u43lkafs09f039e8a434"

Install Software Requirements

  • Run glide install
  • Run make dynamodb, this will start a local dynamodb instance for testing in the foreground
  • Open a new terminal session and make clean && make build to build cmd
  • docker pull gliderlabs/ssh-agent-proxy
  • Start the daemon: ./build/<your_os_your_arch/cmd ./dev/dev/toml
  • Open web browser to http://localhost/register to register yourself a test account