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