Integrate BACKBEAT SDK and resolve KACHING license validation
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>
This commit is contained in:
6
vendor/github.com/libp2p/go-libp2p/p2p/protocol/circuitv2/proto/protocol.go
generated
vendored
Normal file
6
vendor/github.com/libp2p/go-libp2p/p2p/protocol/circuitv2/proto/protocol.go
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
package proto
|
||||
|
||||
const (
|
||||
ProtoIDv2Hop = "/libp2p/circuit/relay/0.2.0/hop"
|
||||
ProtoIDv2Stop = "/libp2p/circuit/relay/0.2.0/stop"
|
||||
)
|
||||
69
vendor/github.com/libp2p/go-libp2p/p2p/protocol/circuitv2/proto/voucher.go
generated
vendored
Normal file
69
vendor/github.com/libp2p/go-libp2p/p2p/protocol/circuitv2/proto/voucher.go
generated
vendored
Normal file
@@ -0,0 +1,69 @@
|
||||
package proto
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"github.com/libp2p/go-libp2p/core/peer"
|
||||
"github.com/libp2p/go-libp2p/core/record"
|
||||
pbv2 "github.com/libp2p/go-libp2p/p2p/protocol/circuitv2/pb"
|
||||
|
||||
"google.golang.org/protobuf/proto"
|
||||
)
|
||||
|
||||
const RecordDomain = "libp2p-relay-rsvp"
|
||||
|
||||
// TODO: register in multicodec table in https://github.com/multiformats/multicodec
|
||||
var RecordCodec = []byte{0x03, 0x02}
|
||||
|
||||
func init() {
|
||||
record.RegisterType(&ReservationVoucher{})
|
||||
}
|
||||
|
||||
type ReservationVoucher struct {
|
||||
// Relay is the ID of the peer providing relay service
|
||||
Relay peer.ID
|
||||
// Peer is the ID of the peer receiving relay service through Relay
|
||||
Peer peer.ID
|
||||
// Expiration is the expiration time of the reservation
|
||||
Expiration time.Time
|
||||
}
|
||||
|
||||
var _ record.Record = (*ReservationVoucher)(nil)
|
||||
|
||||
func (rv *ReservationVoucher) Domain() string {
|
||||
return RecordDomain
|
||||
}
|
||||
|
||||
func (rv *ReservationVoucher) Codec() []byte {
|
||||
return RecordCodec
|
||||
}
|
||||
|
||||
func (rv *ReservationVoucher) MarshalRecord() ([]byte, error) {
|
||||
expiration := uint64(rv.Expiration.Unix())
|
||||
return proto.Marshal(&pbv2.ReservationVoucher{
|
||||
Relay: []byte(rv.Relay),
|
||||
Peer: []byte(rv.Peer),
|
||||
Expiration: &expiration,
|
||||
})
|
||||
}
|
||||
|
||||
func (rv *ReservationVoucher) UnmarshalRecord(blob []byte) error {
|
||||
pbrv := pbv2.ReservationVoucher{}
|
||||
err := proto.Unmarshal(blob, &pbrv)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
rv.Relay, err = peer.IDFromBytes(pbrv.GetRelay())
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
rv.Peer, err = peer.IDFromBytes(pbrv.GetPeer())
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
rv.Expiration = time.Unix(int64(pbrv.GetExpiration()), 0)
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user