I am currently running a SaaS through Google's Cloud Run platform. The customers each have their own API credentials that require secure storage, and retrieval during use of my program.
I would like to use Google's Secret Manager as a method of storing these API credentials, however my problem is that the creation and retrieval of new secrets does not seem to scale. I am currently adding the credentials as environment variables (linked to Secret Manager secrets) during deployment of a new Cloud Run revision, however I do not want to have to do this every time new credentials are created. If the customers increase into the hundreds, this is not a practical solution.
I also have the problem of dynamically retrieving the environment variables. Since the customer ID number is not known at build time, it is not possible to dynamically retrieve variables such as process.env['API_USER_(customerID)'].
Is there a way to add and retrieve secrets without creating new Cloud Run revisions each time? Or am I simply using the wrong tool for my use case?