What are Pros and Cons of various VCS and CI/CD tools to store, change and deploy configuration snippets of more than 1000 customers in a VCS?
Personally I'd keep them in separate repositories, for clear customer isolation:


minimal/no risk of unwanted interference between customers
different access control for different customers is possible
different CI/CD pipelines and/or configs for different customers is possible
simpler/standard CI/CD configurations
clean per-customer repository history
easier calculation of per customer resource usage
lower maintenance risks - better to have just a few customers down than all of them at once


I see some cons as well, but IMHO not enough to tip the balance:


more resources needed (one CI/CD pipeline per customer), but these costs can be reflected in the service pricing. And they should get a lot smaller due to automation.
sharing of configs/procedures across customers becomes difficult


If a unified VCS vision/presentation is desired I'd still keep separate per-customer repositories (thus keeping some/all of the pros above), collectively managed under a single umbrella repository:


the umbrella repository would contain just a manifest file listing the per-customer repositories, their versions and maybe some other relevant info
changes in one or more of the individual repositories need to be accompanied by corresponding manifest changes in the umbrella repository to advance the overall project
a small set of wrapper tools would be used to operate at the umbrella repository level but controlling the individual repositories