Skip to content

Commit

Permalink
sauce: more updates for agent split
Browse files Browse the repository at this point in the history
  • Loading branch information
makinbacon21 committed Oct 29, 2024
1 parent 952c84d commit 1d65f9a
Show file tree
Hide file tree
Showing 7 changed files with 455 additions and 1,394 deletions.
2 changes: 1 addition & 1 deletion .eslintrc.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"parser": "@typescript-eslint/parser",
"parserOptions": {
"project": ["./tsconfig.json", "./browserTests/tsconfig.json", "./agent/tsconfig.json"],
"project": ["./tsconfig.json", "./browserTests/tsconfig.json", "./user-agent/tsconfig.json", "./mc-agent/tsconfig.json"],
"sourceType": "module",
"ecmaVersion": 8
},
Expand Down
5 changes: 3 additions & 2 deletions .github/workflows/node.js.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:

strategy:
matrix:
node-version: [18.x]
node-version: [20.x]
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/

steps:
Expand All @@ -28,6 +28,7 @@ jobs:
cache: 'npm'
- run: npm ci
- run: npm run install:webStatic
- run: npm run install:agent
- run: npm run install:user-agent
- run: npm run install:mc-agent
- run: npm run build --if-present
- run: npm test --if-present
15 changes: 9 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ project replaces GUTS (the Grand Unified Task System) and SCCS's previous static
- Minecraft server
- Secure password hashing with Argon2
- Admin dashboard with request management and user database search
- Seperate agent process to perform some tasks requiring root access
- Seperate agent processes to perform some tasks requiring root access
- Notification emails for users and admins

## Development
Expand Down Expand Up @@ -47,24 +47,25 @@ bin/test.sh
```

For production, certain secrets and config should be specified in a `docker-compose.override.yml`
file. An example file is provided in `docker-compose.override.yml.example`. Also, the agent needs to
be running somewhere on the system (see its README in `agent/`). Then, launch the backend:
file. An example file is provided in `docker-compose.override.yml.example`. Also, the agents need to
be running somewhere on the system (see READMEs in `user-agent/` and `mc-agent/`). Then, launch the backend:

```
docker-compose up
```

### Local Development

This is _not recommended_ as it requires spinning up your own instance of Mongo, LDAP, the agent,
This is _not recommended_ as it requires spinning up your own instance of Mongo, LDAP, the agents,
etc. However, it's provided here for completeness.

Installation:

```bash
npm install
# only necessary if you are using the local agent
npm run install:agent
npm run install:user-agent
npm run install:mc-agent
```

Build static web files and compile TypeScript:
Expand Down Expand Up @@ -92,8 +93,10 @@ When running Dockerized, the environment variables are provided through the

### Folder Structure

- `/agent`: A seperate, self-contained service to run certain management tasks that require root
- `/user-agent`: A seperate, self-contained service to run user management tasks that require root
access to the server.
- `/mc-agent`: A seperate, self-contained service to run minecraft server management tasks that
require root access to the server.
- `/browserTests`: Selenium WebDriver tests that are run through Docker.
- `/emailTemplates`: Basic plaintext templates for emails. Email templating uses
[this one-liner](https://stackoverflow.com/a/41077811), so variable incorporation is just
Expand Down
Loading

0 comments on commit 1d65f9a

Please sign in to comment.