feat: seed manual user mappings from MANUAL_USER_MAPPINGS env var

This commit is contained in:
2026-06-22 09:32:54 +00:00
parent 1aefbae95e
commit 8438ebf48e
+1 -45
View File
@@ -1,45 +1 @@
#!/bin/sh
set -e
# Generate config.yaml from environment variables
mkdir -p /app/config
cat > /app/config/config.yaml << 'YAMLEOF'
server:
port: 8080
webhook_secret: "${GITEA_WEBHOOK_SECRET}"
identity:
provider: gitea
cache_ttl: 24h
gitea:
url: "${GITEA_URL}"
token: "${GITEA_API_TOKEN}"
notification:
provider: slack
slack:
bot_token: "${SLACK_BOT_TOKEN}"
database:
driver: sqlite
dsn: "./data/notifications.db"
rules:
pr:
notify_owner: true
notify_reviewers: true
notify_assignees: true
issue:
notify_assignees: true
comment:
notify_mentioned: true
notify_thread_owner: true
notify_reviewers: true
YAMLEOF
# Expand env vars in config
# The Go app uses os.ExpandEnv so it handles ${VAR} syntax itself
# We just need to ensure the file is present
exec ./gitea-notification-hub -config /app/config/config.yaml
IyEvYmluL3NoCnNldCAtZQoKIyBHZW5lcmF0ZSBjb25maWcueWFtbCBmcm9tIGVudmlyb25tZW50IHZhcmlhYmxlcwpta2RpciAtcCAvYXBwL2NvbmZpZwoKY2F0ID4gL2FwcC9jb25maWcvY29uZmlnLnlhbWwgPDwgJ1lBTUxFT0YnCnNlcnZlcjoKICBwb3J0OiA4MDgwCiAgd2ViaG9va19zZWNyZXQ6ICIke0dJVEVBX1dFQkhPT0tfU0VDUkVUfSIKCmlkZW50aXR5OgogIHByb3ZpZGVyOiBnaXRlYQogIGNhY2hlX3R0bDogMjRoCiAgZ2l0ZWE6CiAgICB1cmw6ICIke0dJVEVBX1VSTH0iCiAgICB0b2tlbjogIiR7R0lURUFfQVBJX1RPS0VOfSIKCm5vdGlmaWNhdGlvbjoKICBwcm92aWRlcjogc2xhY2sKICBzbGFjazoKICAgIGJvdF90b2tlbjogIiR7U0xBQ0tfQk9UX1RPS0VOfSIKCmRhdGFiYXNlOgogIGRyaXZlcjogc3FsaXRlCiAgZHNuOiAiLi9kYXRhL25vdGlmaWNhdGlvbnMuZGIiCgpydWxlczoKICBwcjoKICAgIG5vdGlmeV9vd25lcjogdHJ1ZQogICAgbm90aWZ5X3Jldmlld2VyczogdHJ1ZQogICAgbm90aWZ5X2Fzc2lnbmVlczogdHJ1ZQogIGlzc3VlOgogICAgbm90aWZ5X2Fzc2lnbmVlczogdHJ1ZQogIGNvbW1lbnQ6CiAgICBub3RpZnlfbWVudGlvbmVkOiB0cnVlCiAgICBub3RpZnlfdGhyZWFkX293bmVyOiB0cnVlCiAgICBub3RpZnlfcmV2aWV3ZXJzOiB0cnVlCllBTUxFT0YKCiMgU2VlZCBtYW51YWwgdXNlciBtYXBwaW5ncyBmcm9tIE1BTlVBTF9VU0VSX01BUFBJTkdTIGVudiB2YXIgKEpTT046IHsiZ2l0ZWFfdXNlcm5hbWUiOiJzbGFja19pZCIsLi4ufSkKIyBUaGVzZSBieXBhc3MgdGhlIEdpdGVhIEFQSSBlbWFpbCBsb29rdXAgKyBTbGFjayBlbWFpbCBsb29rdXAgaWYgWyAtbiAiJE1BTlVBTF9VU0VSX01BUFBJTkdTIiBdOyB0aGVuCiAgICBlY2hvICIkTUFOVUFMX1VTRVJfTUFQUElOR1MiIHwganEgLXIgJ3RvX2VudHJpZXNbXSB8ICJcKC5rZXkpIFwoLnZhbHVlKSInIDI+L2Rldi9udWxsIHwgXAogICAgd2hpbGUgcmVhZCAtciBnaXRlYV91c2VyIHNsYWNrX2lkOyBkbwogICAgICAgIFsgLXogIiRnaXRlYV91c2VyIiBdICYmIGNvbnRpbnVlCiAgICAgICAgc3FsaXRlMyAvYXBwL2RhdGEvbm90aWZpY2F0aW9ucy5kYiBcCiAgICAgICAgICAgICJJTlNFUlQgT1IgUkVQTEFDRSBJTlRPIHVzZXJzKGdpdGVhX3VzZXJuYW1lLCBzbGFja19pZCwgc2xhY2tfbmFtZSwgdXBkYXRlZF9hdCkgVkFMVUVTKCckZ2l0ZWFfdXNlcicsJyRzbGFja19pZCcsJyRnaXRlYV91c2VyJyxkYXRldGltZSgnbm93JykpOyIgXAogICAgICAgICAgICAyPi9kZXYvbnVsbCB8fCB0cnVlCiAgICBkb25lCmZpCgpleGVjIC4vZ2l0ZWEtbm90aWZpY2F0aW9uLWh1YiAtY29uZmlnIC9hcHAvY29uZmlnL2NvbmZpZy55YW1sCg==