-
-
Notifications
You must be signed in to change notification settings - Fork 3.2k
Optional ipfs daemon --agent-version-suffix= #7898
Copy link
Copy link
Closed
Labels
kind/bugA bug in existing code (including security flaws)A bug in existing code (including security flaws)kind/featureA new featureA new featureneed/community-inputNeeds input from the wider communityNeeds input from the wider communityneed/maintainers-inputNeeds input from the current maintainer(s)Needs input from the current maintainer(s)need/triageNeeds initial labeling and prioritizationNeeds initial labeling and prioritizationtopic/configTopic configTopic configtopic/dhtTopic dhtTopic dhttopic/libp2pTopic libp2pTopic libp2p
Milestone
Metadata
Metadata
Assignees
Labels
kind/bugA bug in existing code (including security flaws)A bug in existing code (including security flaws)kind/featureA new featureA new featureneed/community-inputNeeds input from the wider communityNeeds input from the wider communityneed/maintainers-inputNeeds input from the current maintainer(s)Needs input from the current maintainer(s)need/triageNeeds initial labeling and prioritizationNeeds initial labeling and prioritizationtopic/configTopic configTopic configtopic/dhtTopic dhtTopic dhttopic/libp2pTopic libp2pTopic libp2p
I propose we add support for running
ipfs daemonwith optional--agent-version-suffix=parameter.This would enable vendors that bundle go-ipfs binary to customize
AgentVersion(listed inipfs idand announced to other peers) without the need for creating a fake libp2p protocol just to tell one cohort ofgo-ipfsnodes from another.The first users of this would be Brave browser and IPFS Desktop:
--agent-version-suffix=brave/1.19.85→go-ipfs/0.9.0/brave/1.19.85--agent-version-suffix=desktop/0.14.0→go-ipfs/0.9.0/desktop/0.14.0Rationale
This would be opt-in, so does not introduce any new tracking vector, it simply aims to make things easier for vendors and to introduce common convention that preserves version number of go-ipfs.
In the current situation, where vendor can rebuild go-ipfs binary and change agentVersion, but then we lose information about % of different go-ipfs nodes on the DHT. By making it a suffix, and making it work without rebuild, we will decrease the number of opaque AgentVersions, making it easier for us to track upgrade dynamics etc.
CLI param, ENV or Config?
No preference atm – all will work for Brave.
IPFS_AGENT_VERSION_SUFFIX(similar toIPFS_PATH) is good enough tooipfs daemonwould be preferred, because it has added value if user has multiple go-ipfs nodes running on same localhost (eg. ipfs-desktop and brave). It enables things likeps aux | grep braveto quickly identify specific daemon instance.cc @andrew @bbondy