Comments (6)
HI @bartmeuris, thanks for reporting this! For sure it's not great to get a nasty crash. It'd certainly be a good idea to error out in a more user-friendly way.
it would also be nice if there was a possibility to test within the template if specific datasources are specified/available before trying to access them.
Just so I'm clear, would something like this work for you?
{{ if datasource-available "test" }}
{{datasource "test"}}
{{ end }}
from gomplate.
Something like your proposed datasource-available
would be good, although it should then be clarified what "available" means then. Does it only mean it's specified on the cli, or that the file/url/vault connection/... is valid? If no validation is performed, a datasource-exists
would maybe be a better name, unless you want to keep the option open for future validation behind the scenes and start off with a simpler implementation.
from gomplate.
Yeah, good point. I'll start looking at a datasource-exists
function.
Just out of curiosity, is this more a usability thing, or do you have a real-world need to be able to render a template either with or without a datasource
defined?
from gomplate.
@bartmeuris - just in case you don't see the notification, I've got a PR for this in #94 - please let me know if that seems good to you! 🙂
from gomplate.
To satisfy your curiosity, yes I have an actual use-case for this.
I'm building a Wildfly docker image for our java-dev's, with a 'basic' default configuration that could satisfy 90% of the projects of our Java team. This implies that it requires some basic customization options, and this tool is very helpful in that :) Most is done through environment variables, but that's not suitable for everything, which is when in some situations I required the datasources and encountered this problem.
This way I'll be able to just test if a specific file is provided by the dev and append the datasource flag to the cli options of gomplate
, and won't have to provide an empty file (which is what I do now).
from gomplate.
@bartmeuris ok! awesome! I'm glad that gomplate
is useful for you 😁
from gomplate.
Related Issues (20)
- Cannot install in GitHub Actions using go install HOT 8
- `file.Write` doesn't respect outputDir HOT 7
- gomplate produces no result and no error HOT 1
- Need to finalize gomplate.Renderer and related types before v4.0.0 HOT 2
- Tests failing on 32-bit builds due to unaligned struct in dependency HOT 5
- Provide TrimLeft and TrimRight Support HOT 8
- Process datasources as templates before the final template
- SQL datasource HOT 3
- bug: can't retrieve from Vault KVv2 mounts with slashes in the name HOT 6
- Release `aarch64` artifact HOT 1
- vault aws iam auth support/documentation
- aws sm and smp datasources fail on EC2 instance HOT 3
- plugin function is executed within an if block that evaluates to false HOT 5
- Is the second example for `coll.Merge` incorrect?
- OS information... HOT 1
- Secrets Manager Datasource Doesn't Appear to Work HOT 3
- Turn off following symlinks HOT 3
- Handling generic path type with versioning in Vault
- Update Go version to 1.22.5 due to CVE-2024-24791
- `excludeProcessing` does not obey negative patterns
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 gomplate.