-
Notifications
You must be signed in to change notification settings - Fork 911
Audit/resolve unneccessary fleetctl transitive dependencies #36087
Copy link
Copy link
Open
2 / 22 of 2 issues completedLabels
#g-orchestrationOrchestration product groupOrchestration product group:releaseReady to write code. Scheduled in a release. See "Making changes" in handbook.Ready to write code. Scheduled in a release. See "Making changes" in handbook.customer-reedtimmerstoryA user story defining an entire featureA user story defining an entire feature~assisting qaThis issue can be QA'd by anyone outside the QA team when capacity allowsThis issue can be QA'd by anyone outside the QA team when capacity allows~engineering-initiatedEngineering-initiated story, such as a bug, refactor, or contributor experience improvement.Engineering-initiated story, such as a bug, refactor, or contributor experience improvement.
Milestone
Metadata
Metadata
Assignees
Labels
#g-orchestrationOrchestration product groupOrchestration product group:releaseReady to write code. Scheduled in a release. See "Making changes" in handbook.Ready to write code. Scheduled in a release. See "Making changes" in handbook.customer-reedtimmerstoryA user story defining an entire featureA user story defining an entire feature~assisting qaThis issue can be QA'd by anyone outside the QA team when capacity allowsThis issue can be QA'd by anyone outside the QA team when capacity allows~engineering-initiatedEngineering-initiated story, such as a bug, refactor, or contributor experience improvement.Engineering-initiated story, such as a bug, refactor, or contributor experience improvement.
Type
Fields
Give feedbackNo fields configured for issues without a type.
Projects
StatusShow more project fields
🐣 In progress
StatusShow more project fields
No status
Goal
Original requests
Context: We're pulling crewjam/saml into
fleetctl's binary because of transitive dependencies from fleetctl code. This caused a flag that's being fixed by crewjam/saml#646. But we almost certainly shouldn't be including the SAML library in fleetctl in the first place, and there are likely a number of libraries like it that we could stop building in if we cleaned up our package dependency graph.More context in Slack
Changes
Engineering
server/service/client*.gofiles to a newclient/directory. For that we will need to move and export all the*Responsetypes currently defined inserver/service/toserver/fleet/, e.g.listHostsResponse. That way any Fleet client in Go (likefleetctlandorbit) won't importserver/servicecode which doesn't make sense at all.QA
Risk assessment
Test plan
Binary audit
crewjam/samlno longer appears ingo list -m allscoped to thefleetctlbuild (go mod why -m github.com/crewjam/saml)fleetctl core commands
fleetctl login/fleetctl logoutfleetctl get hosts,get users,get teams,get enroll-secretfleetctl apply -f <spec>andfleetctl delete -f <spec>for a policy, query, and team specfleetctl query --hosts <hostname> --query "SELECT * FROM os_version"GitOps
fleetctl gitops -f <gitops-yaml>dry-run succeeds against a running Fleet instancefleetctl gitops -f <gitops-yaml>live run applies config without errorOrbit
Testing notes
Confirmation