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:
anthonyrawlins
2025-09-06 07:56:26 +10:00
parent 543ab216f9
commit 9bdcbe0447
4730 changed files with 1480093 additions and 1916 deletions

View File

@@ -7,12 +7,12 @@ import (
"testing"
"time"
"chorus.services/bzzz/p2p"
"chorus.services/bzzz/pubsub"
"chorus.services/hmmm/pkg/hmmm"
"chorus/p2p"
"chorus/pubsub"
"chorus/pkg/hmmm"
)
// TestAdapterPubSubIntegration tests the complete integration between the adapter and BZZZ pubsub
// TestAdapterPubSubIntegration tests the complete integration between the adapter and CHORUS pubsub
func TestAdapterPubSubIntegration(t *testing.T) {
ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second)
defer cancel()
@@ -25,20 +25,20 @@ func TestAdapterPubSubIntegration(t *testing.T) {
defer node.Close()
// Create PubSub system
ps, err := pubsub.NewPubSub(ctx, node.Host(), "bzzz/test/coordination", "hmmm/test/meta-discussion")
ps, err := pubsub.NewPubSub(ctx, node.Host(), "CHORUS/test/coordination", "hmmm/test/meta-discussion")
if err != nil {
t.Fatalf("Failed to create PubSub: %v", err)
}
defer ps.Close()
// Create adapter using actual BZZZ pubsub methods
// Create adapter using actual CHORUS pubsub methods
adapter := NewAdapter(
ps.JoinDynamicTopic,
ps.PublishRaw,
)
// Test publishing to a per-issue topic
topic := "bzzz/meta/issue/integration-test-42"
topic := "CHORUS/meta/issue/integration-test-42"
testPayload := []byte(`{"version": 1, "type": "meta_msg", "issue_id": 42, "message": "Integration test message"}`)
err = adapter.Publish(ctx, topic, testPayload)
@@ -93,7 +93,7 @@ func TestHMMMRouterIntegration(t *testing.T) {
defer node.Close()
// Create PubSub system
ps, err := pubsub.NewPubSub(ctx, node.Host(), "bzzz/test/coordination", "hmmm/test/meta-discussion")
ps, err := pubsub.NewPubSub(ctx, node.Host(), "CHORUS/test/coordination", "hmmm/test/meta-discussion")
if err != nil {
t.Fatalf("Failed to create PubSub: %v", err)
}
@@ -158,7 +158,7 @@ func TestPerIssueTopicPublishing(t *testing.T) {
defer node.Close()
// Create PubSub system
ps, err := pubsub.NewPubSub(ctx, node.Host(), "bzzz/test/coordination", "hmmm/test/meta-discussion")
ps, err := pubsub.NewPubSub(ctx, node.Host(), "CHORUS/test/coordination", "hmmm/test/meta-discussion")
if err != nil {
t.Fatalf("Failed to create PubSub: %v", err)
}
@@ -238,7 +238,7 @@ func TestConcurrentPerIssuePublishing(t *testing.T) {
defer node.Close()
// Create PubSub system
ps, err := pubsub.NewPubSub(ctx, node.Host(), "bzzz/test/coordination", "hmmm/test/meta-discussion")
ps, err := pubsub.NewPubSub(ctx, node.Host(), "CHORUS/test/coordination", "hmmm/test/meta-discussion")
if err != nil {
t.Fatalf("Failed to create PubSub: %v", err)
}
@@ -321,7 +321,7 @@ func TestAdapterValidation(t *testing.T) {
defer node.Close()
// Create PubSub system
ps, err := pubsub.NewPubSub(ctx, node.Host(), "bzzz/test/coordination", "hmmm/test/meta-discussion")
ps, err := pubsub.NewPubSub(ctx, node.Host(), "CHORUS/test/coordination", "hmmm/test/meta-discussion")
if err != nil {
t.Fatalf("Failed to create PubSub: %v", err)
}