Comments (4)
i do like a possibility of what you trying to do with manual
though. probably should do more thinking around this...
from vendir.
@Zebradil yeah, manual
source was very early addition that doesn't quite fit with methodology of vendir (vendir doesnt want to be "keeping" authoritative content). i would recommend switching to directory
source. ill probably remove manual in the next release given that it can present very rough experience.
from vendir.
Alright, thanks for the update!
It seems like vendir
works better within a dedicated directory. And I think I was trying to do something outside of the idea behind it.
My idea was to inject some third-party resources into my project without using a dedicated directory for that:
./infrastructure/kubernetes
├── bin # vendir: some executables from a common repo
│ └── ...
├── Makefile # vendir: Makefile is the same across projects
├── manifests # manual: rendered templates which will be applied by CI
│ └── ...
├── README.md # manual
└── ytt
├── lib # vendir: shared YTT templates from a common repo
│ ├── admin
│ │ └── ...
│ ├── overlay
│ │ └── ...
│ └── apps # vendir: selective sync apps from a common repo
│ ├── 10-postgres
│ │ └── ...
│ └── 10-rabbitmq
│ └── ...
├── local # manual: specific stuff for the current project
│ └── myapp
│ └── ...
└── values # manual: project specific values [and overlays]
├── default.yaml
└── secrets.yaml
Now I'm going to put vendir-managed stuff to a dedicated directory and maybe symlink Makefile
from there. But anyways, separation of manual and vendir-managed resources looks more intuitive.
from vendir.
based on your breakdown above i dont think you would be able to do "manual" on the individual files so that already wouldnt work out.
but you should be able to have vendir.yml (at the root) with multiple top level directories for bin/, ytt/lib/
apiVersion: vendir.k14s.io/v1alpha1
kind: Config
directories:
- path: bin/
contents:
- path: .
git:
url: https://github.com/corp/shared-k8s
ref: ...
includePaths:
- bin/**/*
newRootPath: bin
- path: ytt/lib/
contents:
- path: .
git:
url: https://github.com/corp/shared-k8s
ref: ...
includePaths:
- ytt/lib/**/*
newRootPath: ytt/lib
though may be we should even support additional:
- path: Makefile # TODO support individual file?
- path: README.md # TODO support file existance?
- path: manifests/ # TODO support directory existance?
(could even be convenient to sync LICENSE, NOTICE, other misc files across various repos)
from vendir.
Related Issues (20)
- Sign `vendir` binaries while releasing them HOT 1
- Error when using --directory and --locked option at the same time HOT 1
- Use vanity urls to change the go module name
- issue with lazy sync functionality HOT 1
- Vendir directory sync ignores overlapping paths on directories HOT 3
- Timeouts when attempting to use vendir with a registry with a significant amount of tags HOT 3
- Concurrent vendir processes interfere with each other
- Lazy sync doesn't work for the same path in different forms HOT 1
- Vendir allows self-destructing configuration HOT 4
- Vendir is failing to fetch content if private-key does not have newline at the end
- Vendir allows to use unsafe paths in configuration HOT 2
- vendir sync --json swallows error HOT 8
- Syncing OCI helm chart with semver version range fails if tag has a v prefix HOT 2
- Vendir sync with http on windows fails because of a missing close before rename HOT 2
- Support forcing basic authentication for git HOT 4
- Version checker errors when consumed as library
- Update copyright headers
- can't install on old fedora HOT 2
- Configurable output verbosity HOT 1
- A 'dev' mode to preserve local changes in git/hg repositories HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vendir.