Comments (16)
@dantecatalfamo That would be a product decision (@marko-lisica ), but I think we usually clear when the immediate parent (the key that contains a slice) is present but empty, so that would mean this would clear both:
software:
packages:
app_store_apps:
but this would not alter any:
software:
from fleet.
@dantecatalfamo just a heads-up, you may want to verify with Marko but if we plan on adding the
self_service
flag to VPP apps in the near-future, it might be better for the "batch" API endpoint to immediately receive an array of objects instead of an array of strings (and have the app_store_id being a field on each object, in preparation to have the self_service flag added in the future).
@dantecatalfamo @mna I agree. We have a story to add to enable self-service for VPP apps. I think we should make this API so it receives a list of objects instead of a list of strings.
from fleet.
What's the current behavior for software packages? Do we clear software if software is empty?
Yes, but that's because currently,
software
is the immediate parent of the software packages. In the new structure,software.packages
will be the immediate parent for software installers, andsoftware.app_store_apps
for VPP apps.
@mna That makes sense to me, so user needs to specify empty software.packages
in order to remove all packages.
@noahtalerman Would it make sense to document this behavior in the docs? Is this something that's expected?
from fleet.
Hey team! Please add your planning poker estimate with Zenhub @dantecatalfamo @ghernandez345 @gillespi314 @mna @roperzh
from fleet.
@mna For apply
, should an empty software
clear both pacakges
and appstoreapps
, or should they have to have to explicitly clear software.packages
and software.appstoreapps
?
from fleet.
@dantecatalfamo just a heads-up, you may want to verify with Marko but if we plan on adding the self_service
flag to VPP apps in the near-future, it might be better for the "batch" API endpoint to immediately receive an array of objects instead of an array of strings (and have the app_store_id being a field on each object, in preparation to have the self_service flag added in the future).
from fleet.
@mna Can we make the bulk API its own ticket? I'd like to close this one with what I have working so far, since the goal of what the bulk API should look like keeps changing
from fleet.
@dantecatalfamo Sure! Feel free to create a new ticket for it, linked to the VPP story.
from fleet.
@mna Moved here, will await further product specification before starting #20278 🙂
from fleet.
@mna For
apply
, should an emptysoftware
clear bothpacakges
andappstoreapps
, or should they have to have to explicitly clearsoftware.packages
andsoftware.appstoreapps
?
@dantecatalfamo That would be a product decision (@marko-lisica ), but I think we usually clear when the immediate parent (the key that contains a slice) is present but empty, so that would mean this would clear both:
software: packages: app_store_apps:
but this would not alter any:
software:
@dantecatalfamo @mna What's the current behavior for software packages? Do we clear software if software
is empty?
from fleet.
What's the current behavior for software packages? Do we clear software if software is empty?
Yes, but that's because currently, software
is the immediate parent of the software packages. In the new structure, software.packages
will be the immediate parent for software installers, and software.app_store_apps
for VPP apps.
from fleet.
Do we clear software if software is empty?
@marko-lisica, @dantecatalfamo, and @mna yes.
In Fleet's best practice GitOps, all top level keys (required) behave this way (remove if empty): https://fleetdm.com/docs/using-fleet/gitops#configuration-options
from fleet.
@noahtalerman @marko-lisica @dantecatalfamo What you mention is correct but that's for fleetctl gitops
, and it's normal since gitops expects the full content of every top-level key to always be provided (it is the whole config, not a partial one).
The convo is regarding how fleetctl apply
should behave to empty those lists, because in fleetctl apply
, only what is provided gets updated. As I mentioned earlier, I think typically we require the immediate parent of the list to be provided-but-empty to clear the list.
from fleet.
regarding how
fleetctl apply
should behave
@mna Ah, gotcha. Sorry I missed that.
typically we require the immediate parent of the list to be provided-but-empty to clear the list.
This behavior makes sense to me. fleetctl apply
is used for one-off imports (like a PATCH): https://github.com/fleetdm/fleet/blob/main/docs/Contributing/fleetctl-apply.md
cc @marko-lisica @dantecatalfamo
from fleet.
Batch-set of apps bloom,
Like nature, Fleet adapts grace,
In the cloud city's room.
from fleet.
(sorry, a bad trackpad manipulation in zenhub dragged it to the closed column)
from fleet.
Related Issues (20)
- fleetdm/fleetctl: v9.99.9 & v9 on hub.docker.com HOT 4
- debian stable-slim base image used in docker image fleetdm/fleetctl contains critical vulnerability in libssl1.1 HOT 1
- Fleet UI: Update macOS profile activity items copies to include iPadOS and iOS HOT 4
- broken link in fleet-gitops readme
- VPP UI: Update add software modal with instructions to enable VPP
- Fleet Hosts page fails to load when using MariaDB HOT 4
- osqueryd crashing on Fedora 40 host with distributed queries HOT 7
- Large software installers can run Fleet out of memory.
- Inaccurate `policy.failing_host_count` and `policy.passing_host_count`s in webhook payload
- Website code box rendering
- [QA Wolf] Host page - When filtered by OS, the OS column shows hosts with "---" [REOPENED] HOT 3
- /better tumbler comp slip HOT 1
- [QA Wolf] Going to the last page of results of hosts with low disk page breaks page
- VPP: UI update host software and device user pages for VPP feature
- Check production dependencies of fleetdm.com
- Export button for all vulnerabilities data in the Software page (parity with vuln dash)
- Policies > Manage automations modal inputs aren't disabled in loading state
- Past calendar events created pre-4.54.0 not automatically rescheduled for the future
- Don't stop unit tests if Go integration tests fail
- Re-targeting ads 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 fleet.