Cloud-init setup_fs and mounts without nofail

Hi I’m trying to setup a proxmox VM using cloud-init, I have a disk setup using

disk_setup:
  /dev/sda:
    table_type: 'gpt'
    layout:
      - 100

fs_setup:
  - label: persistent_app
    filesystem: 'ext4'
    device: /dev/sda1
    partition: 'auto'

That I then mount using

mounts:
  - ["LABEL=persistent_app", "/srv", "ext4", "defaults,acl,comment=cloudconfig"]

But this fails as mounts seem to run before fs_setup is there any way around this? (IE the first time the VM boots it checks for the partition before creating it)

My current solution is that I have to add nofail to my mount the first time I start the VM then I can remove it.

The reason I don’t want nofail is that I count my VM as broken if the mounting fails.

I’m using the debian debian-11-genericcloud-amd64.qcow2 image if that helps.