 9bdcbe0447
			
		
	
	9bdcbe0447
	
	
	
		
			
			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>
		
			
				
	
	
		
			43 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package log
 | |
| 
 | |
| // Loggable describes objects that can be marshalled into Metadata for logging
 | |
| type Loggable interface {
 | |
| 	Loggable() map[string]interface{}
 | |
| }
 | |
| 
 | |
| // LoggableMap is just a generic map keyed by string. It
 | |
| // implements the Loggable interface.
 | |
| type LoggableMap map[string]interface{}
 | |
| 
 | |
| // Loggable implements the Loggable interface for LoggableMap
 | |
| func (l LoggableMap) Loggable() map[string]interface{} {
 | |
| 	return l
 | |
| }
 | |
| 
 | |
| // LoggableF converts a func into a Loggable
 | |
| type LoggableF func() map[string]interface{}
 | |
| 
 | |
| // Loggable implements the Loggable interface by running
 | |
| // the LoggableF function.
 | |
| func (l LoggableF) Loggable() map[string]interface{} {
 | |
| 	return l()
 | |
| }
 | |
| 
 | |
| // Deferred returns a LoggableF where the execution of the
 | |
| // provided function is deferred.
 | |
| func Deferred(key string, f func() string) Loggable {
 | |
| 	function := func() map[string]interface{} {
 | |
| 		return map[string]interface{}{
 | |
| 			key: f(),
 | |
| 		}
 | |
| 	}
 | |
| 	return LoggableF(function)
 | |
| }
 | |
| 
 | |
| // Pair returns a Loggable where key is paired to Loggable.
 | |
| func Pair(key string, l Loggable) Loggable {
 | |
| 	return LoggableMap{
 | |
| 		key: l,
 | |
| 	}
 | |
| }
 |