Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create system actor #318

Open
perillamint opened this issue Aug 26, 2023 · 2 comments
Open

Create system actor #318

perillamint opened this issue Aug 26, 2023 · 2 comments

Comments

@perillamint
Copy link
Contributor

perillamint commented Aug 26, 2023

Pitch

Currently, Kitsune does not have any "system account". But in the future, the system actor is required to

  • Sign anonymous fetch request (related issue: Make Kitsune to sign outgoing GET requests #267 )
  • Report (Flag) federation (it is possible to implement it without the system actor, but it is strongly advised to anonymize the report (sign with the system actor's key) before sending it to the destination.
  • Relay implementation (Relay needs an actor to follow/followed by the relay's actor; related issue: official relay support #260 )

Note that the system can have multiple actors for every "purpose".

@perillamint
Copy link
Contributor Author

perillamint commented Aug 28, 2023

More questions to be addressed:

  1. In case of Mastodon Migration, how we should treat Mastodon's special (id: -99) service account?
    1. It can safely deleted after the migration by broadcasting delete object to every server we know.
    2. Do not create a default service account and reuse Mastodon's one.
  2. Unlike Mastodon, Kitsune stores actor's private key in the users table. It means, in the current schema, Kitsune is unable to have service accounts but treat them as real "user". Schema refactoring can give more clean implementation, but will need some work.

@aumetra
Copy link
Member

aumetra commented Aug 28, 2023

A schema refactor was actually something I thought about for a while, especially in relation to #201, where we probably want the ActivityPub-specific things, like keypairs, stored away in separate tables.

If you have any ideas on a potential schema redesign, please let me know!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants