datawire / forge

Define and run multi-container apps in Kubernetes
http://forge.sh
Apache License 2.0
416 stars 43 forks source link

Feature Request to limit / change the forge deploy scope #174

Open pkim-auro opened 6 years ago

pkim-auro commented 6 years ago

Currently when we try to deploy forge, it seems to do a scan of the tree for all repos and dependencies. If we have a simple case where we only have one repository where we already know ahead that there are no dependencies, then we would like the ability to skip the long scan (if we have dozens of repos in the tree) and just do one of the following. 1) use limit a la ansible: forge deploy -limit deply_repo 2) enumerate multiple repos: forge deploy -limit deply_repo,deploy_repo2 3) regex repos (i'm bad with regex): forge deploy -g ^dep.* 4) In case where we know there is a simple set of dependencies allow a recursive option (-r) : forge deploy -limit deploy_repo -r 5) change the name of the service.yaml to forge-manifest.yaml? forge-service.yaml? 6) allow to overwrite the search name in env variable or in forge.yaml

I think 1 and 4 would be the most useful - the rest are icing. the reason I see this being useful is that the scan goes through entire tree looking and parsing service.yaml files which seemed to go a little slow (performance issue here). Although the latest release ignores service.yaml, there might be other non forge compliant service.yaml files. if it finds one, forge will fail and then the dev needs to add the repo to .forgeignore file until the are all cleared which could take several repos. 1 - simply for the option to not have to change into the specific directory of the project you want to build so you can deploy 1 repo from other directories.