Commit graph

174 commits

Author SHA1 Message Date
Maieul BOYER
6d630fee92 feat(frontend/auth): Added way to automatically fetch providers
This allows the frontend to list all available providers without
hardcoding them in.
2025-11-14 16:57:14 +01:00
Raphaël
3ef811b334
Merge branch 'master' into raph/logs 2025-11-14 16:25:06 +01:00
Raphael
b6789188ae
core(env): adding the elastic password to the env 2025-11-14 16:21:49 +01:00
Raphael
bf0b1a7772
feat(logs/ilm): adding the logs management 2025-11-14 16:18:01 +01:00
Raphael
9adc92f549
feat(logs/ilm): adding the memory management 2025-11-14 16:17:51 +01:00
Raphael
2f4d55e119
feat(logs/logstash): adding the logstash configuration 2025-11-14 16:17:23 +01:00
Raphael
7356041e0d
build(compose): adding the logging rules 2025-11-14 16:16:59 +01:00
Raphael
c4aae6b9dd
feat(logs): Adding the log containers 2025-11-14 16:16:42 +01:00
Raphael
9f7d88da41
build(make): adding the logs-setup rules 2025-11-14 16:15:21 +01:00
Raphael
3302710ae0
build(docker/monitoring): adding the logs part to the makefile 2025-11-14 16:14:57 +01:00
NigeParis
9ce9fa44e4 feat(chat): added base for chat service
added front html

nigel in the mud

route function with openapi - gen

clean up the code a little

after pull request
2025-11-14 15:50:03 +01:00
Raphael
21b4db5a56
refactor(montoring/prometheus): removing the useless endpoint 2025-11-13 23:09:36 +01:00
Raphael
9e98ff2d13
monitoring(monitoring/grafana): setting up the rules for the notification 2025-11-13 23:07:38 +01:00
Raphael
20cac0e42b
feat(monitoring/grafana): setting up the notification policies 2025-11-13 23:07:08 +01:00
Raphaël
73a4946d17
Monitoring tools (#32)
* feat(docker/monitoring): adding the first monitoring tools from the docker file

- The first tools is Grafana basicly the tool to supervise all the data

* feat(monitoring/blackbox): adding initial configuration

* feat(monitoring/grafana): adding the configuration to alerting on the discord channels

* feat(monitoring/grafana): adding the grafana dashboard (docker monitoring)

* feat(monitoring/grafana): adding the grafana dashboard (global monitoring)

* feat(monitoring/grafana): adding the global configuration for dashboards

* feat(monitoring/grafana): adding the prometheus configuration

* feat(monitoring/prometheus): adding the configuration of prometheus as the main grafana sources

* core(docker-compose): adding the monitoring part for the docker files

* feat(monitoring/grafana): removing the monitoring global

* feat(monitoring/prometheus): removing the blackbox

- The self certificate is ruinning everything

* core(docker-compose): removing the blackbox container

* core(env/example): adding a env example

* feat(monitoring/blackbox): adding initial configuration

* test(nginx/location): adding a test to test blackbox

* feat(monitoring/prometheus): adding blackbox to the prometheus configuration

* feat(monitoring/grafana): adding the start of the global dashboard

* feat(monitoring/blackbox): adding tls_configuration skip

- The ssl certificate have to be self-signed

* feat(monitoring/grafana): global is now checked and work w/ others services

* feat(monitoring/prometheus): checking other services run

* feat(nginx/conf): now http port will mirror the https

- Usefull for intern docker communication

* feat(auth/app): adding the /monitoring routes

* feat(icons/app): adding the /monitoring routes

* feat(user/app): adding the /monitoring routes

* refactor(auth/src): linting the app.ts

* refactor(icons/src): linting the app.ts

* refactor(user/src): linting the app.ts
2025-11-12 11:50:32 +01:00
Maieul BOYER
fac6df3882 fixes(frontend): fixed small types/incorrect code 2025-11-11 00:20:26 +01:00
Maieul BOYER
16cac7e111 chore(git): add package-lock.json to gitignore 2025-11-11 00:20:26 +01:00
Maieul BOYER
aba4c4498c feat(frontend/auth): fix cookie not working due to path being /app
Cookies being set to path=/app meant that the API didn't have those
cookies.
Also fixed the Schema injection for auth'ed routes
2025-11-11 00:20:26 +01:00
Maieul BOYER
e8b0b7e310 feat(frontend/openapi): Generated Openapi client for frontend
Generated The API client using the openapi.json file generated from the
services
2025-11-11 00:20:26 +01:00
Maieul BOYER
08c910c193 feat(frontend): added frontend
- Router: client side route handling with client side rendering
- Toast: rought Toast handling for better UX and messaging
- Auth: single point of truth for the Logged in user

This commit doesnt not include the openapi generated code
2025-11-11 00:20:26 +01:00
Maieul BOYER
0db41a440d feat(frontend): scaffolding to build frontend
- Added `make fnginx` to have better dev experience
- Added app.conf to nginx configuration to handle frontend
2025-11-11 00:20:26 +01:00
Maieul BOYER
5dd6067c95 feat(openapi): Add modified typescript-fetch template
This template is modified from the original one, to handle multiple
status-code handling of response.

Don't ask me how they work, I don't quite understand them in depth...
2025-11-10 18:34:22 +01:00
Maieul BOYER
b7c2a3dff9 feat(openapi): Started working on Openapi generation
- Updated to Typebox 1.0.0 to better support Openapi type generation
- Changed dockerfile to fetch depedencies only once
- Fixed Routes to properly handle openapi
- Fixed Routes to respond with multiples status code (no more only 200)
- Fixed Schemas so the auth-gated endpoint properly reflect that
- Added Makefile rule to generate openapi client (none working due to
  missing files)
2025-11-10 18:34:22 +01:00
Raphael
1bd2b4594b fix(direnv/envrc): adding the use flake to the repo 2025-11-03 15:58:39 +01:00
Raphael
8ebd6b6bff feat(flake/tmux-setup): adding the tmux-setup w/ lazydocker 2025-11-03 15:58:39 +01:00
Maieul BOYER
fc2cfdb7cf
chore(Makefile): reworked npm@ rules to use pnpm 2025-10-29 19:38:31 +01:00
Maieul BOYER
a66fad3360
chore(lockfile/icons): updated lockfile and fixed icons service shutdown
- Updated lockfile and packages version
- Updated icons service to stop on SIGTERM
2025-10-29 19:24:59 +01:00
Maieul BOYER
332086d5e2 feat(auth): split login_name and display_name for better oauth2/guest user handling 2025-10-28 13:47:20 +01:00
Maieul BOYER
e0689143c4 feat(oauth2): fixed small issues 2025-10-28 13:47:20 +01:00
Maieul BOYER
a67d29af3c feat(oauth2): commented a bit of stuff 2025-10-28 13:47:20 +01:00
Maieul BOYER
66537e2ccb feat(oauth2/user): Implementation of the whole oauth2 pipeline
Auth: user can now login with any oauth2 provider the config list
      account will be created on demands if not already created.
      any oauth2 account is unique (can't link an account to any other
      auth method)
2025-10-28 13:47:20 +01:00
Maieul BOYER
7557a7aa76 feat(oauth2): provider.toml config file with template 2025-10-28 13:47:20 +01:00
Maieul BOYER
bc7a615dcf feat(db/oauth2): Added oauth2 handling to database
- Database: edited dmbl/sql for oauth2 changes
- Database/oauth2: new oauth2 mixin
- Database/user: exported raw functions to be used in oauth2 mixin
2025-10-28 13:47:20 +01:00
Maieul BOYER
26627cd4d7 feat(infra/nginx): Fixed nginx redirection and fixed dockerfiles
- nginx now use "raw" proxy_pass, where it doesnt supply the $uri since
  if only the host is provided, nginx will handle lots of usecases
- pnpm now uses the lockfile correctly
- Docker: use lockfile in all steps
- Docker: install the necessary packages if building from source is
  needed (better-sqlite3 for example)
2025-10-28 13:47:20 +01:00
Maieul BOYER
2074f8d8f1 fix(shared/auth/icon): Fixed lots of small things
Icons: Fixed docker-compose to force JWT_SECRET for now
Auth: Fixed Guest Login to actually work
Auth: Added `Login as Guest` in the login_demo page
Shared: Fixed db/user + uuid modules
2025-10-11 14:29:00 +02:00
Maieul BOYER
5306ccfc60 fix(db/user): small issues in user database layer 2025-10-11 14:29:00 +02:00
Maieul BOYER
1cbd778131 feat(auth/user): Finished User Rework to handle Guest
- Split userinfo APIs to their own service (`user`)
- Added user service to nginx and docker-compose
- Cleaned up package.json across the project to remove useless
  depedencies
- Added word list for Guest username generation (source in file itself)
- Reworked internal of `user` DB to not have a difference between "raw"
  id and normal ID (UUID)
2025-10-11 14:29:00 +02:00
Maieul BOYER
7d0f5c11d6 core(eslint): added Makefile rule to run eslint
Added makefile rule to run eslint (npm@eslint) using an npm script
2025-10-11 14:29:00 +02:00
Maieul BOYER
812959b16f feat(auth): fixed JWT using wrong data and SIGTERM handler
- JWT now uses the correct information to determine the user
  (id instead of name)
- A SIGTERM handler has been made, such that docker doesn't use SIGKILL
2025-10-11 14:29:00 +02:00
Maieul BOYER
bca385adc9 feat(database): regenerated the sql code and fixed autoincrement on text column 2025-10-11 14:29:00 +02:00
Maix0
8e4081f494
core(ci/husky): Added husky and CI Jobs
* core(package): adding rules in package
* feat(husky): Fixed lint job and miscellaneous fixes
- Changed lint.yml job name
- Fixed pnpm version in package.json to be straight version 10
- Added act in flake.nix to run actions locally
- Added all dist/ files to eslint ignored files
- Fixed Dockerfile to use correct casing (as -> AS)
2025-10-07 22:18:23 +02:00
Raphaël
ff0e218803
core: adding a linter to the project
This update focuses on improving **code consistency, readability, and maintainability** across the project.  
No functional changes have been introduced.

---

##  New
- Added a dedicated **`eslint.config.js`** configuration file.  
  - Integrates recommended JavaScript and TypeScript ESLint rules.  
  - Enforces consistent use of single quotes, semicolons, spacing, and other style standards.

---

## 🔧 Improvements
- Applied unified formatting to the following directories and files:
  - `src/@shared/src/auth/`  
  - `src/@shared/src/database/`  
  - `src/@shared/src/utils/`  
  - `src/auth/extra/login_demo.js`
- Replaced `let` with `const` where applicable to improve scoping and code safety.
- Standardized error handling and minor syntax refinements for greater clarity.

---

## 📌 Impact
- No changes to application logic or functionality.  
- The codebase is now **easier to read, maintain, and extend**, reducing the risk of style-related issues in the future.
2025-10-03 14:26:07 +02:00
Raphael
bb43622684
test 2025-10-03 13:31:54 +02:00
Raphael
c1b0833229
test 2025-10-03 13:31:35 +02:00
Raphael
357f1cc128
core(husky): adding the prefix 2025-10-03 13:17:32 +02:00
Raphael
8e1cfc0c4a
fix(flake/tmux): switching from pnpm to npx to workspace work
I don't know why but seems better
2025-09-30 14:47:48 +02:00
Raphael
fbc870f240
fix(package/eslint): adding the type module like asked by npmx eslint 2025-09-30 14:46:57 +02:00
Raphael
ec4eec13c8
core(flake/tmux): correct the name of the project 2025-09-30 14:42:12 +02:00
Raphael
80f9c13203
core(flake/tmux): adding tmux env for me
- Using tmux for developpement propose so adding a cmd to addit
(tmux-setup)
2025-09-30 14:39:19 +02:00
Raphael
9424bcf213
fix(package/script): adding a dev script for husky 2025-09-29 14:30:45 +02:00