Skip to content

Can spire agent send its build version to spire server for telemetry? #6356

@nikotih

Description

@nikotih

Background
In our setup, we are managing spire servers and our customers are managing spire agents. It will be useful to know which agent versions are currently in use e.g. last 30 days. We don't have access to customer runtimes apart from what is needed for challenges.

Agent versions are needed for risk assessment for server upgrades or as a reminder to upgrade agents for the customers.

Our specific example:
we have spire agent plugin - svid store - version X. It was having a bug and we fixed it in agent plugin version Y. We announced that everyone should move to new agent image but overall we have no clue how many customers did that. (i guess we can see image pull statistics?)
3 months later we performed data migration that broke some customers who were still running on older version due to mentioned bug. In here of course svid store plugin is purely in agent side so we have no idea what versions people run, but we can weakly link to spire agent version e.g. 1.13.1

Other example:
We run spire server 1.12.* and have agents connected with versions 1.11.* and 1.12.* (+-1 minor version compatibility). We bump spire server to 1.13.* and any agents running on 1.11.* might get into compatibility issues.

Proposal
Agent sends its build version as part of:
a) node attestation only?
b) with every request as user-agent gRPC header? e.g. (User-Agent: spire-agent/1.13.1)

Spire server can log this information or emit in grpc metric? By default this information is untrusted but it wont be used by attestation or authorizations, only for telemetry

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedIssues with this label are ready to start work but are in need of someone to do itpriority/backlogIssue is approved and in the backlog

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions