Skip to content

Commit b23784b

Browse files
authored
chore: merge pull request #305
2 parents d7f28ee + 8e7ad95 commit b23784b

546 files changed

Lines changed: 8305 additions & 8511 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.air.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ root = "."
33
tmp_dir = "tmp"
44

55
[build]
6-
bin = "bin/os"
6+
entrypoint = ["bin/os"]
77
cmd = "make build"
88
delay = 1000
99
exclude_dir = [".git", "bin", "logs", "tmp", "vendor", "src/devUtils"]

.augmentignore

Lines changed: 0 additions & 2 deletions
This file was deleted.

.env.example

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ PRIMARY_VHOST=
44
# Required for dev only
55
DUMMY_USER_ID=1000
66
DUMMY_USER_NAME=dummy
7-
DUMMY_USER_PASS=example123
7+
DUMMY_USER_PASS=example123!
88

99
# Auto generated by `os serve`
1010
## Must be 32 bytes-key-before-base64-encoding if generated manually:

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,5 @@ logs/
55
TODO.md
66
*.db
77
*_templ.go
8+
.agents/
9+
.memory/

AGENTS.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# AGENTS.md
2+
3+
Read `.agents/README.md`.
4+
5+
## Bug Reporting
6+
7+
When a bug is reported, create a GitHub issue via `gh issue create` with:
8+
- How to reproduce it
9+
- What it affects
10+
- Which version of the project
11+
12+
When the bug is fixed, close the issue via `gh issue close` with a comment mentioning the commit hash that fixed it.

CHANGELOG.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,40 @@
11
# Changelog
22

33
```log
4+
0.2.8 - 2026/03/XX
5+
chore: remove temporary echo-swagger replace directive and upgrade to v1.5.2
6+
fix(ssl): wrap SslPrivateKey around tk EnvelopedPrivateKey
7+
fix(ssl): repair altnames filter and add pagination to ssl listing
8+
feat(api): add swagger dto import for account endpoint
9+
feat(ui): add database user and alias shortcut buttons
10+
fix(files): handle root directory in file tree builder
11+
fix(database): use WeakPassword for database user creation
12+
fix(api): read operatorAccountId from echo context in file endpoints
13+
refactor(liaison): migrate manual pagination to tk PaginationParser
14+
refactor(cli): migrate to tk SimpleCliResponseRenderer
15+
refactor(api): migrate to tk LiaisonApiResponseEmitter
16+
refactor(liaison): migrate LiaisonOutput to tk LiaisonResponse
17+
fix: get key path via replace
18+
fix: show error on ssl list error
19+
fix: add primaryKeyColumn to PaginationQueryBuilder calls
20+
fix: sort services by name in ReadFirstInstalledItem
21+
refactor(valueObject): eliminate pure alias files with direct tk usage
22+
feat(files): add file privileges normalizer with ownership resolution
23+
fix(services): use name sort for installable services pagination
24+
refactor(infra): replace PaginationQueryBuilder alias with tk direct usage
25+
test(auth): add security tests with repo constructors
26+
feat(auth): add jwt v5 algorithm validation and api key hash security
27+
refactor: remove obsolete migrateOperatorAccountIdToSri
28+
refactor: use ActivityRecordLevelSecurity const and inline NewSriAccount
29+
refactor: delete presentation wrappers and use tk directly
30+
refactor: migrate infra consumers from wrappers to tk directly
31+
fix: replace panic with ResponseWrapper in files API controller
32+
refactor: add fileClerk field to repo structs for locality of behavior
33+
refactor: eliminate tk type aliases from all layers
34+
chore: add context to every src/ dir
35+
fix: use tk input reader for api
36+
chore: update go and deps
37+
438
0.2.7.1 - 2025/10/31
539
fix: remove / from database and runtime hx-get/post to respect base href
640
fix: add / to footer fragment

container/nginx/root/nginx.conf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
daemon off;
22
user nobody nogroup;
33
pid /run/nginx.pid;
4-
worker_processes 1;
4+
worker_processes auto;
55
worker_rlimit_nofile 65535;
66

77
include /etc/nginx/modules-enabled/*.conf;
@@ -46,7 +46,7 @@ http {
4646
ssl_stapling_verify on;
4747
resolver 8.8.8.8 1.1.1.1 185.228.169.9 valid=60s ipv6=off;
4848
resolver_timeout 2s;
49-
49+
5050
server_names_hash_bucket_size 128;
5151

5252
include /app/conf/nginx/*.conf;

dev-build.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ echo "=> Replacing the standard binary with the development binary..."
3939
podman exec os /bin/bash -c 'rm -f os && ln -s bin/os os && supervisorctl restart os-api'
4040

4141
echo "=> Creating a development account..."
42-
podman exec os /bin/bash -c 'os account create -u dev -p 123456 --is-super-admin false'
42+
podman exec os /bin/bash -c 'os account create -u dev -p abc123! --is-super-admin false'
4343

4444
if [[ ${1} == "ssh" ]]; then
4545
echo "=> Installing OpenSSH..."

docs/AGENTS.md

Lines changed: 0 additions & 42 deletions
This file was deleted.

docs/DEVELOPMENT.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,3 +138,13 @@ When the project is running, you can access the documentation at [`https://local
138138
The `src/devUtils` folder is not a Clean Architecture layer, it's there to help you during development. You can add any file you want there, but it's not recommended to add any file that is not related to development since the code there is meant to be ignored by the build process.
139139

140140
For instance there you'll find a `testHelpers.go` file that is used to read the `.env` during tests.
141+
142+
## Context Files
143+
144+
Every directory under `src/` contains a `.context.md` file, and there is a `docs/FEATURE-MAP.md` at the project level. These files exist to orient anyone — human or AI agent — on what a given directory contains, what constraints apply there, and how features flow end-to-end through the codebase.
145+
146+
All `.context.md` files follow a standard schema: a short prose summary, a `Constraints` block, and a `Guidance` block. When you make a structural change — moving files, adding a layer, renaming a package — update the relevant `.context.md` files in the same commit. Letting them drift defeats their purpose.
147+
148+
## AI-Assisted Development
149+
150+
If you are using an AI toolkit to assist with development, clone it into the project root as `.agents/`. That directory is already gitignored, so nothing in it will affect the repository.

0 commit comments

Comments
 (0)