app:
  id: bitcoin-core
  name: Bitcoin Core
  version: 24.0.0
  description: Full Bitcoin node implementation. The reference implementation of the Bitcoin protocol.
  
  container:
    image: bitcoin/bitcoin:24.0
    image_signature: cosign://...
    pull_policy: verify-signature
    
  dependencies:
    - storage: 500Gi  # Minimum disk space for mainnet
    
  resources:
    cpu_limit: 2
    memory_limit: 2Gi
    disk_limit: 500Gi
    
  security:
    capabilities: []  # No special capabilities needed
    readonly_root: true
    network_policy: isolated
    apparmor_profile: bitcoin-core
    
  ports:
    - host: 8332
      container: 8332
      protocol: tcp  # RPC
    - host: 8333
      container: 8333
      protocol: tcp  # P2P
    
  volumes:
    - type: bind
      source: /var/lib/archipelago/bitcoin
      target: /home/bitcoin/.bitcoin
      options: [rw]
      
  environment:
    - NETWORK=mainnet
    - RPC_USER=${BITCOIN_RPC_USER}
    - RPC_PASSWORD=${BITCOIN_RPC_PASSWORD}
    - PRUNE=0  # Full node (set to 550 for pruned)
    
  health_check:
    type: http
    endpoint: http://localhost:8332
    path: /
    interval: 30s
    timeout: 5s
    retries: 3
    
  bitcoin_integration:
    rpc_access: admin
    sync_required: true
    testnet_support: true
    pruning_support: true
