disinto/projects/disinto.toml.example
Claude f700c33a1b
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
ci/woodpecker/pr/smoke-init Pipeline was successful
fix: bug: local-model agents reuse FORGE_TOKEN of main agent — wrong Forgejo identity (#563)
This fixes the issue where agents-llama containers were using the main
FORGE_TOKEN (dev-bot) instead of dedicated credentials for the llama bot user.

Changes:
- forge-setup.sh: Added generation of FORGE_TOKEN_LLAMA and FORGE_PASS_LLAMA
  for local-model bot users (dev-qwen, dev-qwen-nightly). These are created
  as Forgejo users with their own API tokens and passwords for git push.
- generators.sh: Updated agents-llama service to use FORGE_TOKEN_LLAMA and
  FORGE_PASS_LLAMA instead of falling back to dev-bot's credentials.
  Fixed escaping to defer variable resolution to docker-compose runtime.
- docker-compose.yml: Updated to use FORGE_TOKEN_LLAMA and FORGE_PASS_LLAMA
  (renamed from FORGE_TOKEN_DEVQWEN for consistency).
- .env.example: Added documentation for all per-bot tokens and passwords.
- projects/disinto.toml.example: Documented the auto-credential generation.

When a project TOML configures [agents.llama] with forge_user = dev-qwen:
1. disinto init creates the dev-qwen Forgejo user
2. Generates FORGE_TOKEN_LLAMA and FORGE_PASS_LLAMA
3. Adds dev-qwen as write collaborator on the project repo
4. The agents-llama container uses these credentials for all Forgejo API calls

This ensures issues and PRs created by the llama agent are correctly
attributed to dev-qwen instead of dev-bot.
2026-04-10 10:49:23 +00:00

46 lines
1.4 KiB
Text

# projects/disinto.toml.example — Template for disinto self-management
#
# Copy to projects/disinto.toml and fill in box-specific values,
# or run: disinto init johba/disinto
name = "disinto"
repo = "johba/disinto"
ops_repo = "disinto-admin/disinto-ops"
forge_url = "http://localhost:3000"
repo_root = "/home/YOU/dark-factory"
ops_repo_root = "/home/YOU/disinto-ops"
primary_branch = "main"
[ci]
woodpecker_repo_id = 0
stale_minutes = 60
[services]
containers = []
[monitoring]
check_prs = true
check_dev_agent = true
check_pipeline_stall = false
# Local-model agents (optional) — configure to use llama-server or similar
# for local LLM inference. Each agent gets its own container with isolated
# credentials and configuration.
#
# When enabled, `disinto init` automatically:
# 1. Creates a Forgejo bot user matching agents.llama.forge_user
# 2. Generates FORGE_TOKEN_<BOT> and FORGE_PASS_<BOT> (stored in .env.enc)
# 3. Adds the bot user as a write collaborator on the project repo
#
# [agents.llama]
# base_url = "http://10.10.10.1:8081"
# model = "unsloth/Qwen3.5-35B-A3B"
# api_key = "sk-no-key-required"
# roles = ["dev"]
# forge_user = "dev-qwen"
# compact_pct = 60
# poll_interval = 60
# [mirrors]
# github = "git@github.com:johba/disinto.git"
# codeberg = "git@codeberg.org:johba/disinto.git"