Open iamjoshfrank opened 4 years ago
So it would be super helpful since we have very little time here to know a subdomain we want this to live in so i can begin building it in conjunction with the cluster i am already building for a client.
unless there are objections im going to go with the subdomain covid.revelry.net
@bit-herder can you assign subdomain post-build? leave it ugly for now?
will work to get an answer to that question. i have no objection to that subdomain but i also know that we'll be working on some kind of naming for this thing over the next day or so.
I'd say if it's truly a blocker, run with it unless you hear different in the next 30.
Hold on please. Can we talk about resourcing for this? Chris is in the middle of working on getting a cluster set up for a paying client (WSWD), and it would be better if he could stay focused on those tasks primarily. It would be better if we could pull either joel or jason in from Platform since they are proficient enough to get a cluster up and running.
We should nail down an internal hostname we want to use before we stand up the cluster. We can always use DNS to customize domain names for individual applications hosted in the cluster, but we need an internal name to use for setting up internal services. It's a non trivial amount of work to change it later as far as I know. We've never tried it before.
@iamjoshfrank I'd love to get on a call and talk thru some things. Let me know when you have some time. I'm mostly freed up from critical TSS support for the afternoon.
I'm booking a meeting for 4pm. Those that can make it, can make it.
Gerard has the ultimate call on resourcing, timing, and support.
proposed cluster domain: nightingale.revelry.org
Revelry Moondog to bootstrap a Kubernetes unique cluster (Moondog Engine) and provide a UI into the cluster for contributors (Moondog Navigator)
Put initial app deployments into an existing Revelry cluster so we can run right away Tuesday morning.Then new cluster as part of next week's work.- At the end of the meeting, we reversed this decision. @jwietelmann and @grossvogel have full-time capacity to switch gears tomorrow and get a new cluster set up in the new org and AWS account. @vaxinate and @bit-herder will provide feedback and support on an as-needed basis without shifting their current main priorities. After talking things through a bit more, this was deemed more expedient than starting in existing and switching to a new one, especially across different orgs/owners.
- New cluster belongs on different AWS account?
- Yes-ish; and also TBD, b/c we should receive/apply some credits for this
- Open to putting Moondog Engine on a Kubernetes cluster on a different cloud provider and inviting contributors in to help work out kinks on non-AWS provider
New topic: What GitHub org should all this live in?
New topic: Domain for the cluster
New topic: Repo names for Backend
, Flux
, Mobile
, Marketing
?
Revelry's Elixir/Phoenix base app template for the backend
- Good assumption, but not necessary to decide at the moment
- Might be some things that need ripped out (authentication)
- Template is currently public; but the Generator isn't
Revelry's React Native mobile app template for the frontend
- Yes
- Is it public or private?
Limit scope of one-week POC to iOS in order to maximize execution capacity and reduce testing and App / Play Store complexities
- Yes
Revelry Harmonium component library for design / styling (note/question: Harmonium for React Native??)
- Uhhhh, nope. Doesn't exist.
New Topic: Geolocation stuff?
- Will we need a separate, cross-platform library
- Or can we do
significant-location-change
and focus on best iOS tracking and leave Android for future equivalent, even if it means building a separate table?- Yes, probably
- Can we ingest the history as opposed to "tracking" and "storing" in the app itself?
- Will need to be careful about local storage amounts
Biggest Risk: Not being able to access Significant Change Location History the way we want.
Revelry Lintron for static code analysis at the Pull Request Level
- Yes.
Revelry Kanban for managing priorities and Issues' statuses
- Yes.
New Topic: Other Revelry Tools (IssueBot, PokerBot, etc.)
Revelry will be the official maintainers for this OSS project
- Yes, slight tweak: Revelry Foundation will be the maintainers
How Might We enable contributors to gain insights into the cluster infrastructure, deployments, and health?
- eg Moondog Navigator
- We can tie permissions to a Team w/in the Revelry Foundation org; and anyone that is authed as a Team member can log in to Moondog Navigator and what we do right now.
- Will need to audit for any security concerns/exceptions.
- [ ] @jwietelmann to own or delegate
What database decisions need made now, during initial infrastructure set-up, vs later, during our one-week Proof of Concept experiment?
- Do we have PostGIS on our KubeDBs?
- Yes, there's exactly 1 version we can deploy currently.
- Can we deploy an arbitrary number of replicas?
- Yes,
read-only
; but not clustering them- Should we just go straight to RDS?
- Yes, probably.
- TimescaleDB? Does RDS support it?
- We think no. But checking...
- Set up a
read-replica
sort of schema for prod?- Needed up-front or wait and...see what happens?
- A: we can hang back and upsize and replicate when needed in the future
How Might We expediently manage mobile app store deployments in an open project?
- [ ] Get the right people from Revelry to validate and/or answer this question - @iamjoshfrank (probably Nick and/or Harley)
How are we getting (app template) (cluster) (tooling (CI, Lintron, Travis)) set-up done so the team can hit the ground running on Tuesday?
Background
This is planned to be an Open Source project that is worked very transparently with the public.
Here's the Google Doc with a very raw project description for more context re: what we hope to build as a Proof of Concept (POC).
We're in the process of shaping this doc up into a solid Project Brief for this repo's
README
file as well as to start splitting out user stories into workable Issues.Basic Core Loop
significant-location-change
permissionssignificant-location-change
locations from the past [today - n days].status: negative
, their app will periodically query the server for location information while never sending their own location history.status: positive
location date/time is detected, the app alerts the user appropriately.Goal for This Issue
During the shortened U.S. Memorial Day week (starting Tuesday, May 26, 2020), Revelry will lead a one-week effort to build a usable POC for a contact tracing application that can be tested and further iterated upon.
In order to maximize the available time next week, we want to try to have the necessary infrastructure and base app template(s) in place so that we can start executing against user-facing features ASAP on Tuesday.
Tools and Resources Assumptions
Infrastructure Resources
Application Resources
Revelry's Elixir/Phoenix base app template for the backend
Revelry's React Native mobile app template for the frontend
Limit scope of one-week POC to iOS in order to maximize execution capacity and reduce testing and App / Play Store complexities
Revelry Harmonium component library for design / styling (note/question: Harmonium for React Native??)
Product Development Resources
Revelry Lintron for static code analysis at the Pull Request Level
Revelry Kanban for managing priorities and Issues' statuses
Maintainer
Questions and Risks
Security / Accessibility / Governance
We want to encourage public participation in this open, transparent project. To that end, we want contributors to have the same kind of visibility into Infrastructure and source code as possible.
How Might We enable contributors to gain insights into the cluster infrastructure, deployments, and health?
What database decisions need made now, during initial infrastructure set-up, vs later, during our one-week Proof of Concept experiment?
How Might We expediently manage mobile app store deployments in an open project?