Skip to content

Remove trail package#112

Merged
rosstimothy merged 1 commit intomasterfrom
tross/remove_trail
Jan 15, 2025
Merged

Remove trail package#112
rosstimothy merged 1 commit intomasterfrom
tross/remove_trail

Conversation

@rosstimothy
Copy link
Copy Markdown
Contributor

@rosstimothy rosstimothy commented Jan 14, 2025

The trail package is the only reason that grpc-go was a dependency of trace. grpc-go is quite a heavy dependency and can cause problems for downstream consumers which don't make use of trail, see https://github.com/vulcand/predicate/blob/master/go.mod#L5-L8.

By moving trail from gravitational/trace to gravitational/teleport/api the functionality will still be available in a consumable module while drastically reducing the functionality and size of trace. Since api already depends on grpc-go the move should not impact the dependency tree there any.

From an audit of all non-teleport forks/mirrors on GitHub I could not find any direct dependents of trace that actually made use of trail. So while removing the package is a breaking change the impact should be minimal for the community at large.

The trail package is the only reason that grpc-go was a
dependency of trace. grpc-go is quite a heavy dependency and can
cause problems for downstream consumers which don't make use of
trail, see https://github.com/vulcand/predicate/blob/master/go.mod#L5-L8.

By moving trail from gravitational/trace to gravitational/teleport/api
the functionality will still be available in a consumable module
while drastically reducing the functionality and size of trace.
Since api already depends on grpc-go the move should not impact the
dependency tree there any.

From an audit of all non-teleport forks/mirrors on GitHub I could
not find any direct dependents of trace that actually made use of
trail. So while removing the package is a breaking change the
impact should be minimal for the community at large.
rosstimothy added a commit to gravitational/teleport that referenced this pull request Jan 14, 2025
Pulling in the trail package directly in api will allow the trace
module to shed the grpc-go dependency. This needs to land prior
to gravitational/trace#112 being included
in a new version of trace.

There should be no noticable change in the api depdency tree since
it already depends on grpc-go. Some additional items from the
trace/internal package were also vendored within trail as needed.
Additionally, some of the public api of trail that was not being
consumed has been made private.
@rosstimothy
Copy link
Copy Markdown
Contributor Author

This accompanied by gravitational/teleport#51032 and https://github.com/gravitational/teleport.e/pull/5843 should allow trail to be removed without breaking gravitational/teleport.

@rosstimothy rosstimothy marked this pull request as ready for review January 14, 2025 18:16
github-merge-queue Bot pushed a commit to gravitational/teleport that referenced this pull request Jan 14, 2025
* Vendor gravitational/trace/trail in api

Pulling in the trail package directly in api will allow the trace
module to shed the grpc-go dependency. This needs to land prior
to gravitational/trace#112 being included
in a new version of trace.

There should be no noticable change in the api depdency tree since
it already depends on grpc-go. Some additional items from the
trace/internal package were also vendored within trail as needed.
Additionally, some of the public api of trail that was not being
consumed has been made private.

* fix: appease linters
github-merge-queue Bot pushed a commit to gravitational/teleport that referenced this pull request Jan 14, 2025
* Vendor gravitational/trace/trail in api

Pulling in the trail package directly in api will allow the trace
module to shed the grpc-go dependency. This needs to land prior
to gravitational/trace#112 being included
in a new version of trace.

There should be no noticable change in the api depdency tree since
it already depends on grpc-go. Some additional items from the
trace/internal package were also vendored within trail as needed.
Additionally, some of the public api of trail that was not being
consumed has been made private.

* fix: appease linters
@rosstimothy rosstimothy merged commit fb34811 into master Jan 15, 2025
mvbrock pushed a commit to gravitational/teleport that referenced this pull request Jan 18, 2025
* Vendor gravitational/trace/trail in api

Pulling in the trail package directly in api will allow the trace
module to shed the grpc-go dependency. This needs to land prior
to gravitational/trace#112 being included
in a new version of trace.

There should be no noticable change in the api depdency tree since
it already depends on grpc-go. Some additional items from the
trace/internal package were also vendored within trail as needed.
Additionally, some of the public api of trail that was not being
consumed has been made private.

* fix: appease linters
carloscastrojumo pushed a commit to carloscastrojumo/teleport that referenced this pull request Feb 19, 2025
* Vendor gravitational/trace/trail in api

Pulling in the trail package directly in api will allow the trace
module to shed the grpc-go dependency. This needs to land prior
to gravitational/trace#112 being included
in a new version of trace.

There should be no noticable change in the api depdency tree since
it already depends on grpc-go. Some additional items from the
trace/internal package were also vendored within trail as needed.
Additionally, some of the public api of trail that was not being
consumed has been made private.

* fix: appease linters
tigrato pushed a commit to gravitational/teleport that referenced this pull request Jun 24, 2025
* Vendor gravitational/trace/trail in api

Pulling in the trail package directly in api will allow the trace
module to shed the grpc-go dependency. This needs to land prior
to gravitational/trace#112 being included
in a new version of trace.

There should be no noticable change in the api depdency tree since
it already depends on grpc-go. Some additional items from the
trace/internal package were also vendored within trail as needed.
Additionally, some of the public api of trail that was not being
consumed has been made private.

* fix: appease linters
github-merge-queue Bot pushed a commit to gravitational/teleport that referenced this pull request Jun 25, 2025
* Vendor gravitational/trace/trail in api (#51032)

* Vendor gravitational/trace/trail in api

Pulling in the trail package directly in api will allow the trace
module to shed the grpc-go dependency. This needs to land prior
to gravitational/trace#112 being included
in a new version of trace.

There should be no noticable change in the api depdency tree since
it already depends on grpc-go. Some additional items from the
trace/internal package were also vendored within trail as needed.
Additionally, some of the public api of trail that was not being
consumed has been made private.

* fix: appease linters

* [v17] Update github.com/gravitational/predicate dependency to v1.3.4 (#56077)

---------

Co-authored-by: rosstimothy <39066650+rosstimothy@users.noreply.github.com>
github-merge-queue Bot pushed a commit to gravitational/teleport that referenced this pull request Jun 25, 2025
* Vendor gravitational/trace/trail in api (#51032)

* Vendor gravitational/trace/trail in api

Pulling in the trail package directly in api will allow the trace
module to shed the grpc-go dependency. This needs to land prior
to gravitational/trace#112 being included
in a new version of trace.

There should be no noticable change in the api depdency tree since
it already depends on grpc-go. Some additional items from the
trace/internal package were also vendored within trail as needed.
Additionally, some of the public api of trail that was not being
consumed has been made private.

* fix: appease linters

* [v17] Update github.com/gravitational/predicate dependency to v1.3.4 (#56077)

---------

Co-authored-by: rosstimothy <39066650+rosstimothy@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants