flowchart user((user)) --> |use| deployment configuration1 -->|deploy| deployed1 maintainers --> |maintain| fediversity fediversity --> |update| provider1 subgraph provider1["fediversity setup A"] subgraph configurations1[configurations] configuration1[staged configuration] configuration1 --> |update| configuration1 deployed1[deployed configuration] end deployed1 --> |describe| deployment provider-config[runtime config] --> |describe| host provider-config --> |implement runtime interfaces| configurations1 subgraph host[runtime environment] deployment[applications] state{state} end end deployment --> |store| state operator((operator)) --> |change| configuration1 subgraph provider2["fediversity setup B"] subgraph configurations2[configurations] configuration2[staged configuration] deployed2[deployed configuration] end subgraph host2[runtime environment] deployment2[applications] state2{state} end end operator --> |trigger| migration(migration) configurations1 & state --> migration migration --> configurations2 & state2 provider((hosting provider)) --> |maintain| provider1 subgraph fediversity[fediversity source code] applications[application modules] backends[runtime backends] config{{runtime options}} end