Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SAM-104 Document current technical state of project #180

Open
JoshuaCWebDeveloper opened this issue Jan 24, 2023 · 1 comment
Open

SAM-104 Document current technical state of project #180

JoshuaCWebDeveloper opened this issue Jan 24, 2023 · 1 comment

Comments

@JoshuaCWebDeveloper
Copy link
Collaborator

JoshuaCWebDeveloper commented Jan 24, 2023

Metadata:

Original Estimate: 
Priority: Critical
Epic:  

Docs

  • Docusaurus app
  • CI/CD
  • GitHub pages

Herakles

  • Source of truth for all tickets
  • TASK: Migrate JIRA to GitHub Issues in Herakles repo (probably an export/import should suffice)
  • What each submodule is used for
  • What other processes are used for
  • Communication flow
  • How to run full stack
  • CI/CD
  • Submodule management:
    ** Auto-generated submodule update PRs
    ** Merge develop into master for all modules (ff only)
    ** Push hotfixes to master and merge master back into develop
  • Obsolete scripts/files:
    ** [balena.sh|http://balena.sh]
    ** docker-compose.local.yml
    ** [local.sh|http://local.sh]
    ** [merge.sh|http://merge.sh]
    ** [setup.sh|http://setup.sh]
  • Local mode specific stuff:
    ** Deploy to local mode
    ** How to specify custom .local domain for box
    ** .balena/balena.yml

Athena

  • Services, clients, shared, and tools
  • What each service/client is used for
    ** Communication flow
  • How to run each service on it's own locally
  • How to run full stack locally (as much as is currently implemented)
  • Creating a new service/client
    ** nx commands
    *** client: react/app
    *** service: nestjs/app
    ** Dockerfile
    *** Remember to copy libraries used by the service
    ** Using libp2p libraries
    *** Eslint will tell you which libraries
    *** Separate build-libp2p and build-service targets
    ** Remove environments directory, use environment variables instead with optional environment.ts file
  • app-service
    ** NestJS app
    ** Used for manually adding docker-compose stacks in box
    ** Main purpose was to prevent balena from destroying containers, this is in fact likely not needed, or as neccessary
    ** When CasaOS switches over to using docker-compose (soon), then it will likely be a drop-in replacement for the app-service
  • gateway-client
    ** React app + service worker app
    ** Uses libp2p libraries
    ** How to run locally
    *** Commands
    *** Environment variables
    ** Worker architecture
    *** Root: service-worker.ts
    **** Restrictions around updating root worker
    **** Semver
    *** App: app.ts
    *** Overview of worker update cycle
    *** Dev tools
  • networking-service
    ** Bespoke singleton architecture, but contains nestjs app
    ** Uses libp2p libraries
    ** How to run locally
    *** Commands
    *** Environment variables
    *** Creating files/directories
  • shared-api
    ** SMZ REST API models
  • shared-libp2p
    ** The libp2p libraries
  • shared-service-worker
    ** Used for registering service worker
    ** Copied from CRA
  • status-service
    ** Nestjs app
    ** Tracks status by using a log model
    ** Only keeps last 5 logs (status is current, not historical)
    ** Services are expected to send status at least every 5 minutes, 4 minutes is better (status is current, historical)
    ** Link to issues:
    *** Most services aren't currently sending status
    *** Need to attach metadata to a service status
  • tools-cli
    ** Yargs app wrapped in bespoke terminal interface
    ** How to run
    ** Paste help output

Android and Electron Repos

  • ?
@JoshuaCWebDeveloper
Copy link
Collaborator Author

We never arrived at any needed docs for the android and electron app repos.

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

No branches or pull requests

1 participant