feat: Fediverse-like instance migration for team settings #88

Open
opened 2026-06-14 01:26:13 +02:00 by diyon · 0 comments
Collaborator

Summary

Allow users to migrate settings from one Goloom instance to another in a simple, Fediverse-like way. Focus on configuration data only.

Scope

  • Team settings — name, description, scheduling preferences, brand color
  • Team profile / AI style — tonality, formatting rules, banned words, hashtags, identity, language DNA, reach strategy, style examples, knowledge sources
  • AI service config — provider, model, parameters
  • RSS feed configs — feed URLs, templates, output modes, AI enhance settings
  • Post templates (recurring) — content, recurrence rules, AI settings, target accounts
  • Campaign formats — structure, hashtags, weekday

Design

Export

  • GET /api/v1/teams/{teamId}/export returns JSON bundle
  • Version field for forward compatibility
  • Sensitive fields (API keys, OAuth tokens) excluded
  • Account IDs exported as username@instance references

Import

  • POST /api/v1/teams/{teamId}/import accepts JSON bundle
  • Modes: merge (upsert) or replace (clear + import)
  • Account references resolved by username@instance
  • Returns import summary

Technical Notes

  • Self-contained JSON bundle (versioned schema)
  • No posts, analytics, OAuth tokens, user accounts
  • Both SQLite and PostgreSQL stores must support
  • Tests required per AGENTS.md
## Summary Allow users to migrate settings from one Goloom instance to another in a simple, Fediverse-like way. Focus on configuration data only. ## Scope - **Team settings** — name, description, scheduling preferences, brand color - **Team profile / AI style** — tonality, formatting rules, banned words, hashtags, identity, language DNA, reach strategy, style examples, knowledge sources - **AI service config** — provider, model, parameters - **RSS feed configs** — feed URLs, templates, output modes, AI enhance settings - **Post templates (recurring)** — content, recurrence rules, AI settings, target accounts - **Campaign formats** — structure, hashtags, weekday ## Design ### Export - GET /api/v1/teams/{teamId}/export returns JSON bundle - Version field for forward compatibility - Sensitive fields (API keys, OAuth tokens) excluded - Account IDs exported as username@instance references ### Import - POST /api/v1/teams/{teamId}/import accepts JSON bundle - Modes: merge (upsert) or replace (clear + import) - Account references resolved by username@instance - Returns import summary ## Technical Notes - Self-contained JSON bundle (versioned schema) - No posts, analytics, OAuth tokens, user accounts - Both SQLite and PostgreSQL stores must support - Tests required per AGENTS.md
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
kreativmonkey/goloom#88
No description provided.