Understanding Daily Storage Usage with Different Usage Control Settings

I’m trying to understand how the “Usage Control” settings impact storage usage when running workflows that persist data to the workspace. I’ve corresponded with CircleCI support, but I’m still unclear on certain details and am hoping someone here can provide some clarity.

Assume that we run a workflow every day that generates 1GB of data via the persist_to_workspace operation.

  1. If “Usage Control” is set to “1 day”:
  • As I understand it, each time the workflow runs and generates 1GB of data, this data is cleared after being stored for one day. However, this doesn’t mean our Storage usage resets to 0 every day. For example, if we run the workflow on July 1st, the 1GB of data will be cleared on July 2nd. But if we run the workflow again on July 2nd, this will generate another 1GB of data. Hence, our Storage usage on July 2nd would be 2GB (1GB from July 1st, 1GB from July 2nd). At the end of July 2nd, the 1GB of data from July 1st is cleared, but we still have 1GB of data in storage (from the run on July 2nd). So, throughout the month, we would see our Storage usage increase by 1GB every day.
  1. If “Usage Control” is set to “30 days”:
  • In this case, the 1GB of data generated each time the workflow runs will be stored for 30 days. This means that if we run the workflow on July 1st, this 1GB of data will be cleared on July 31st. Similarly, if we run the workflow on July 2nd, the 1GB of data will be cleared on August 1st, and so on. This would result in a continuous increase in our Storage usage throughout the month, going up to 30GB (assuming we run the workflow every day). Then, as each day passes, we would see our Storage usage decrease by 1GB because the data from 30 days ago is being cleared.

My question is: Is my understanding of how “Usage Control” settings impact the storage usage accurate? If not, can someone explain where I’m going wrong?

Thank you in advance for your help.