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 PRsMerge develop into master for all modules (ff only)
** Push hotfixes to master and merge master back into develop
Local mode specific stuff:Deploy to local modeHow 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/clientnx commands
**client: react/appservice: nestjs/appDockerfileRemember to copy libraries used by the serviceUsing libp2p librariesEslint will tell you which libraries
*Separate build-libp2p and build-service targetsRemove environments directory, use environment variables instead with optional environment.ts file
app-serviceNestJS appUsed for manually adding docker-compose stacks in boxMain purpose was to prevent balena from destroying containers, this is in fact likely not needed, or as neccessaryWhen CasaOS switches over to using docker-compose (soon), then it will likely be a drop-in replacement for the app-service
gateway-clientReact app + service worker appUses libp2p librariesHow to run locally
**CommandsEnvironment variablesWorker architecture
*Root: service-worker.ts
**Restrictions around updating root worker
***SemverApp: app.tsOverview of worker update cycleDev tools
networking-serviceBespoke singleton architecture, but contains nestjs appUses libp2p librariesHow to run locally
**CommandsEnvironment variables
*** Creating files/directories
shared-api
** SMZ REST API models
shared-libp2p
** The libp2p libraries
shared-service-workerUsed for registering service workerCopied from CRA
status-serviceNestjs appTracks status by using a log modelOnly 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 statusNeed to attach metadata to a service status
tools-cliYargs app wrapped in bespoke terminal interfaceHow to run
** Paste help output
Metadata:
DocsDocusaurus appCI/CDGitHub pagesHeraklesSource of truth for all ticketsTASK: Migrate JIRA to GitHub Issues in Herakles repo (probably an export/import should suffice)What each submodule is used forWhat other processes are used forCommunication flowHow to run full stackCI/CDSubmodule management:Auto-generated submodule update PRsMerge develop into master for all modules (ff only)**Push hotfixes to master and merge master back into developObsolete 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 modeHow to specify custom .local domain for box**.balena/balena.ymlAthenaServices, clients, shared, and toolsWhat each service/client is used for**Communication flowHow to run each service on it's own locallyHow to run full stack locally (as much as is currently implemented)Creating a new service/clientnx commands**client: react/appservice: nestjs/appDockerfileRemember to copy libraries used by the serviceUsing libp2p librariesEslint will tell you which libraries*Separate build-libp2p and build-service targetsRemove environments directory, use environment variables instead with optional environment.ts fileapp-serviceNestJS appUsed for manually adding docker-compose stacks in boxMain purpose was to prevent balena from destroying containers, this is in fact likely not needed, or as neccessaryWhen CasaOS switches over to using docker-compose (soon), then it will likely be a drop-in replacement for the app-servicegateway-clientReact app + service worker appUses libp2p librariesHow to run locally**CommandsEnvironment variablesWorker architecture*Root: service-worker.ts**Restrictions around updating root worker***SemverApp: app.tsOverview of worker update cycleDev toolsnetworking-serviceBespoke singleton architecture, but contains nestjs appUses libp2p librariesHow to run locally**CommandsEnvironment variables***Creating files/directoriesshared-api**SMZ REST API modelsshared-libp2p**The libp2p librariesshared-service-workerUsed for registering service workerCopied from CRAstatus-serviceNestjs appTracks status by using a log modelOnly 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 statusNeed to attach metadata to a service statustools-cliYargs app wrapped in bespoke terminal interfaceHow to run**Paste help outputAndroid and Electron Repos