Comments (5)
Looking great, first test are positive. Thanks!
from dasel.
This put is causing that entry to appear:
dasel put string -p yaml 'spec.endpointSelector.matchLabels' {}
Dasel doesn't currently support putting empty values.
I would argue that this item should just be omitted since it doesn't contain any values, giving you the following YAML:
kind: CiliumNetworkPolicy
metadata:
name: allow-kube-dns
spec:
egress:
- toEndpoints:
- matchLabels:
k8s-app: kube-dns
k8s:io.kubernetes.pod.namespace: kube-system
toPorts:
- ports:
- port: "53"
protocol: UDP
from dasel.
Alternatively you could use dasel put object -p yaml 'spec.endpointSelector.matchLabels'
.
You will currently receive an error stating that type
is a required flag, but I can remove that requirement.
from dasel.
Hi @TomWright,
Could be great, when possible, to use { } would be great
from dasel.
No worries, that's now supported as of v1.6.1
🙂
Notice that I used put object
with no types/values rather than put string {}
:
echo '' | \
dasel put string -p yaml 'apiVersion' 'cilium.io/v2' | \
dasel put string -p yaml 'kind' 'CiliumNetworkPolicy' | \
dasel put string -p yaml 'metadata.name' 'allow-kube-dns' | \
dasel put object -p yaml 'spec.endpointSelector.matchLabels' | \
dasel put string -p yaml 'spec.egress.[0].toEndpoints.[0].matchLabels.k8s:io\.kubernetes\.pod\.namespace' 'kube-system' | \
dasel put string -p yaml 'spec.egress.[0].toEndpoints.[0].matchLabels.k8s-app' 'kube-dns' | \
dasel put string -p yaml 'spec.egress.[0].toPorts.[0].ports.[0].port' '53' | \
dasel put string -p yaml 'spec.egress.[0].toPorts.[0].ports.[0].protocol' 'UDP'
apiVersion: cilium.io/v2
kind: CiliumNetworkPolicy
metadata:
name: allow-kube-dns
spec:
egress:
- toEndpoints:
- matchLabels:
k8s-app: kube-dns
k8s:io.kubernetes.pod.namespace: kube-system
toPorts:
- ports:
- port: "53"
protocol: UDP
endpointSelector:
matchLabels: {}
from dasel.
Related Issues (20)
- YAML: multiple documents in a single YAML file are not handled correctly HOT 2
- Dasel can't read arrays from yaml file without hyphen HOT 1
- The fields with null value just disappear in the output HOT 1
- Hex, binary and octal values are not parsed in yaml HOT 3
- Int instead of string added to a document HOT 4
- Manual Installation for Windows - Improvement HOT 4
- Converting JSON -> YAML -> JSON errors if timestamp fields are involved HOT 3
- Unable to select on CSVs without transforming to a different format HOT 3
- [REG 2.2->2.3] Superfluous quotes in selector output HOT 2
- Handle quotes in values HOT 2
- `dasel put --type string` not working when converting to yaml HOT 5
- Delete selector can't find keys with null values HOT 2
- Special characters inside string literals are replaced with Unicode escape sequences in JSON HOT 3
- contains/includes HOT 2
- -w xml is not working when -r is not xml HOT 3
- Support multiple files HOT 1
- CSV file format: Support other characters as separator HOT 2
- Output formatting is not right in some arrays HOT 6
- [BUG] Dasel crash when reading an empty file HOT 5
- Suppress header generation HOT 1
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 dasel.