Skip to content
This repository has been archived by the owner on Oct 5, 2020. It is now read-only.

PACKAGES: Get ready for v2 #585

Open
joe-getcouragenow opened this issue Sep 8, 2020 · 0 comments
Open

PACKAGES: Get ready for v2 #585

joe-getcouragenow opened this issue Sep 8, 2020 · 0 comments

Comments

@joe-getcouragenow
Copy link
Contributor

joe-getcouragenow commented Sep 8, 2020

Aims

We only need the following for the next release

  • auth and authn
  • jwt login
  • mod-accounts

Deployment

We will run a single instance on Hertner cloud. Single binary with GRPC and genji. LIfe is easy then.

All the other fancy real time stuff we just comment out so its not loaded in maintemplate client and golang. Will make compilation etc easier.

Stages

STOP the CI build to Google k8

  • It works and lets not break it as its a good reference.

maintemplate/Client

maintemplate/Server is busted locally. Thats because it relies on NATS from k8.

Get Hertzner account up:
https://github.com/getcouragenow/junk/tree/master/archi/hosting

  • Get initial binary there.

CI
Make a New CI_V2 task.

  • Take bits of old..
  • Must build flutter web and embed build into Server.
  • then build Server with it inside.
  • Maybe add Desktop client. Not mobile because it needs all that signing crap.

CD
Make the binary self updating off github release.

Copy core runtime bits we need into the package repo.

  • makes CI easier
  • We are only using this: sys_core:
    git:
    url: git://github.com/getcouragenow/core-runtime.git
    path: sys-core/client
    ref: master

Get the Desktop updating:
https://github.com/getcouragenow/junk/tree/master/archi/daemon#restart-servers
https://github.com/sanbornm/go-selfupdate

Cut code

Server IOC pattern same that each Module can run by itself OR with other Instances.

  • Essentially, if mod-chat needs to take to mod-Auth, it needs to find it via a Factory Pattern.
    • When single binary VERSUS when Many Servers with same binary.

Encrypt data

Get Genji able to encrypt the data. Check with the devs there, but should be a part of the options when we start badger
https://github.com/genjidb/genji/blob/master/engine/badgerengine/engine.go#L23
https://godoc.org/github.com/dgraph-io/badger#Options.WithEncryptionKey

Encrypt transport

everyone uses github.com/caddyserver/certmagic

Data Backup and Restore

Auth in mod-accounts:

  • needs domain model done in grpc. Its sort of 80% done
  • needs genji
  • needs crappy golang CLI client so golang devs know it works.
  • needs flutter GUI in /Ops route. Why ? so we know it works and we can fix shit.
  • needs Signup, Signin, Change Password, etc: https://maintemplate.ci.getcouragenow.org/#/account/signup
  • Will need an Accounts route for user to edit their contact info, Avatar etc
  • Will need Email SMTP to send out email on account SignUp and password change.

authz in mod-accounts

  • Now to use that Auth domain model.
  • JWT based
  • there are plugins that do 99% of this in flutter now.
  • server code to do the its thing.

Mod-main for Enrollment: https://maintemplate.ci.getcouragenow.org/#/userInfo

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant