Major integrations and fixes: - Added BACKBEAT SDK integration for P2P operation timing - Implemented beat-aware status tracking for distributed operations - Added Docker secrets support for secure license management - Resolved KACHING license validation via HTTPS/TLS - Updated docker-compose configuration for clean stack deployment - Disabled rollback policies to prevent deployment failures - Added license credential storage (CHORUS-DEV-MULTI-001) Technical improvements: - BACKBEAT P2P operation tracking with phase management - Enhanced configuration system with file-based secrets - Improved error handling for license validation - Clean separation of KACHING and CHORUS deployment stacks 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
42 lines
1.1 KiB
Go
42 lines
1.1 KiB
Go
package autonat
|
|
|
|
import (
|
|
"github.com/libp2p/go-libp2p/core/peer"
|
|
"github.com/libp2p/go-libp2p/p2p/host/autonat/pb"
|
|
|
|
ma "github.com/multiformats/go-multiaddr"
|
|
)
|
|
|
|
//go:generate protoc --proto_path=$PWD:$PWD/../../.. --go_out=. --go_opt=Mpb/autonat.proto=./pb pb/autonat.proto
|
|
|
|
// AutoNATProto identifies the autonat service protocol
|
|
const AutoNATProto = "/libp2p/autonat/1.0.0"
|
|
|
|
func newDialMessage(pi peer.AddrInfo) *pb.Message {
|
|
msg := new(pb.Message)
|
|
msg.Type = pb.Message_DIAL.Enum()
|
|
msg.Dial = new(pb.Message_Dial)
|
|
msg.Dial.Peer = new(pb.Message_PeerInfo)
|
|
msg.Dial.Peer.Id = []byte(pi.ID)
|
|
msg.Dial.Peer.Addrs = make([][]byte, len(pi.Addrs))
|
|
for i, addr := range pi.Addrs {
|
|
msg.Dial.Peer.Addrs[i] = addr.Bytes()
|
|
}
|
|
|
|
return msg
|
|
}
|
|
|
|
func newDialResponseOK(addr ma.Multiaddr) *pb.Message_DialResponse {
|
|
dr := new(pb.Message_DialResponse)
|
|
dr.Status = pb.Message_OK.Enum()
|
|
dr.Addr = addr.Bytes()
|
|
return dr
|
|
}
|
|
|
|
func newDialResponseError(status pb.Message_ResponseStatus, text string) *pb.Message_DialResponse {
|
|
dr := new(pb.Message_DialResponse)
|
|
dr.Status = status.Enum()
|
|
dr.StatusText = &text
|
|
return dr
|
|
}
|