meta/diary.md

3.8 KiB

dev diary

2018-03-29

@dinosaur

  • setup ButtCloud.org and various linked services (GitHub, Docker Cloud, Twitter, Gmail)
  • started buttcloud/meta repo to store any meta information (including these dev diary entries)
  • started `buttcloud/butt-landing to be a simple public landing page for pub servers
    • working towards a multi-service pub using Docker Compose, i realized ssb-viewer and git-ssb-web were non-trivial to install in typical environments
    • the plan is to use this as a simple secondary service to get a multi-service pub working, then later can focus on the other secondary services

2018-03-30

@dinosaur

  • made Docker image for buttcloud/butt-landing
  • extracted minimal peer server and client code from scuttlebot into buttcloud/butt-peer
    • added custom logging plugin which uses pino, to try and have a consistent logging system across services
    • made two Docker images, one for butt-peer-server and one for butt-peer-client
      • i combined them so i could use the client code in the server healthcheck

2018-04-03

@dinosaur

  • started buttcloud/butt as docker-compose.yml of peer server, landing server, and nginx proxy
  • update butt-peer-server and butt-peer-client to not use node user, easier to start with default root user
    • why? i ran into an error with volume data permissions, would rather punt to later
    • UPDATE: changed this back, got it working with node user, needed to create volume in Dockerfile then mount external volume at same path
  • update butt-landing to auto re-connect to sbot, so it doesn't error when sbot is not yet up
    • why? this is the recommended way to have docker services depend on each other, docker-compose.yml v3 not longer supports depends_on: condition: healthy
  • setup Docker Hub automated builds to build tagged images based on git version tags
    • match tag name: /^v[0-9.]+$/, docker tag is same

2018-04-04

@dinosaur

  • got minimal buttcloud/butt working!
  • iron out some kinks...

2018-04-08

@dinosaur

  • switch to focus on Docker Swarm
  • change to use Traefik instead of Nginx Proxy

2018-04-09

@dinosaur

  • keep trying to get the Swarm setup to work, grr...!

2018-04-13

@dinosaur

  • take a break from Swarm for meow
  • first pass at scaffolding buttcloud/buttcloud-provider
    • have a working web server, browser app, and worker, but not yet complete to start feature development

2018-04-14

@dinosaur

  • more progress toward provider app scaffolding

buttcloud diary

2018-04-15 to 2018-04-17

@dinosaur

provider app has landed!

provider app landing

  • integrate redux-bundler
  • add emojis
  • found seamless background image to tile on landing page
  • start onboarding workflow
  • implement start step of onboarding
    • validate forms on client
    • validate service calls on server, show errors in form
    • show success or failure messages as snackbar
    • after form submission (which creates the user)
      • generate json web token that identifies user
      • send welcome email to next page of onboarding with token
        • emails are sent by queuing a delayed job to a worker (node-resque)
        • setup decent email templates with mjml
      • store user in local storage in case they refresh page before progressing
      • show help text on page
    • allow user to resend onboarding email