LXD supports configuration at two places:
- The container itself
- Profiles
The final configuration is then computed by applying all the profiles in the order that they’re specified for the container, then applying the container configuration itself on top of it. Whichever comes last for any given device or config key wins.
In your case, the container’s disk is configured through a profile (“root” device on “default” profile). If you were to change the size setting on that profile, all containers would be affected, which I’m guessing isn’t what you want.
Instead what you need to do is add that same device to the container directly, therefore masking the one coming from the profile and letting you set config keys like the size at the container level.
lxc config device add haproxy root disk pool=lxd path=/ size=10GB