# State of Domains in Pulp 2024
## Gerrod Ubben
slides: https://hackmd.io/@gerrod/H1O0IA8-Jx
---
### Agenda
* What has changed since last year
* What is planned to be added
* Current usage of domains
* Any questions/feedback
---
### Quick recap on Domains
Domains are Pulp's multi-tenancy feature to allow multiple users to have their objects siloed into separate namespaces.
* Allows users to bring their own storage backend
* Enabling requires **all** installed plugins to support domains
* [User docs on enabling domains](https://pulpproject.org/pulpcore/docs/user/guides/create-domains), [Technical overview of domains](https://hackmd.io/@gerrod/Hk40ibLEj#/)
---
### New plugins Domain support
This year we have added domain support to an additional 2 plugins:
* [pulp_ostree >= 2.3.0](https://github.com/pulp/pulp_ostree/commit/a94298cd8e1cce172df2030d0484cbbd15559412)
* [pulp_python >= 3.12.0](https://github.com/pulp/pulp_python/commit/a3068e4187793349e3d3ebe9bbc1e050e44d2cbb)
Now we have domain support for these plugins:
`pulp_file, pulp_rpm, pulp_gem, pulp_ostree, pulp_python`
---
### New domain feature: Migrate
As of [3.61](https://github.com/pulp/pulpcore/pull/4298) you can now migrate the artifacts of your domain from one storage backend to another:
```bash
http POST :/pulp/test/api/v3/domains/migrate/ \
storage_class="new.storage_backend.class" \
storage_settings:='{"storage": "settings"}'
```
This will put the domain into a read only state while it migrates the artifacts over in a background task. After finishing migrating it updates the domain's backend to the new settings.
---
### What's planned for Domains
Plugins in our oci-images that don't support domains:
* pulp_ansible
* pulp_container
* pulp_deb
* pulp_maven
Support for pulp_container is coming soon (hopefully before the year is over :crossed_fingers:)
---
### Domains wishlist
* [Google Cloud Platform backend support](https://github.com/pulp/pulpcore/issues/5256)
* Better domain admin permissions/abilities [0](https://github.com/pulp/pulpcore/issues/4919), [1](https://github.com/pulp/pulpcore/issues/5467), [2](https://github.com/pulp/pulpcore/issues/3362)
* [Ability for domains to interact with secret vaults/token services upon backend storage creation](https://github.com/pulp/pulpcore/issues/5346)
---
### Current usage of Domains
https://analytics.pulpproject.org/

 
---
### Any questions/feedback?
* [Dev docs on how to add domain support](https://pulpproject.org/pulpcore/docs/dev/learn/domains/domains_compatibility)
* [File new issue](https://github.com/pulp/pulpcore/issues/new/choose)
* [Ask a question on our discourse](https://discourse.pulpproject.org/)
{"contributors":"[{\"id\":\"4b1152d2-c7d3-42a7-ae07-9821ff05bb92\",\"add\":2964,\"del\":51}]","title":"State of Domains in Pulp","description":"slides: https://hackmd.io/@gerrod/H1O0IA8-Jx"}