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

@@ -13,10 +13,10 @@ import (
func TestAdapter_Publish_OK(t *testing.T) {
var joined, published bool
a := NewAdapter(
func(topic string) error { joined = (topic == "bzzz/meta/issue/42"); return nil },
func(topic string, payload []byte) error { published = (topic == "bzzz/meta/issue/42" && len(payload) > 0); return nil },
func(topic string) error { joined = (topic == "CHORUS/meta/issue/42"); return nil },
func(topic string, payload []byte) error { published = (topic == "CHORUS/meta/issue/42" && len(payload) > 0); return nil },
)
if err := a.Publish(context.Background(), "bzzz/meta/issue/42", []byte(`{"ok":true}`)); err != nil {
if err := a.Publish(context.Background(), "CHORUS/meta/issue/42", []byte(`{"ok":true}`)); err != nil {
t.Fatalf("unexpected error: %v", err)
}
if !joined || !published {
@@ -130,7 +130,7 @@ func TestAdapter_Publish_TopicCaching(t *testing.T) {
func(topic string, payload []byte) error { return nil },
)
topic := "bzzz/meta/issue/123"
topic := "CHORUS/meta/issue/123"
// First publish should join
err := a.Publish(context.Background(), topic, []byte(`{"msg1":true}`))
@@ -233,7 +233,7 @@ func TestAdapter_ConcurrentPublish(t *testing.T) {
for i := 0; i < numGoroutines; i++ {
go func(id int) {
defer wg.Done()
topic := fmt.Sprintf("bzzz/meta/issue/%d", id%numTopics)
topic := fmt.Sprintf("CHORUS/meta/issue/%d", id%numTopics)
payload := fmt.Sprintf(`{"id":%d}`, id)
err := a.Publish(context.Background(), topic, []byte(payload))