# Copyright 2026 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

services:
  # Python intake, extraction, dashboard, and JSON-RPC handoff service
  python-extraction-agent:
    build:
      context: ./python-extraction-agent
      dockerfile: Dockerfile
    ports:
      - "8000:8000"
    volumes:
      - ./sample-contracts:/app/sample-contracts
    environment:
      - GOOGLE_CLOUD_PROJECT=${GOOGLE_CLOUD_PROJECT:-mock-gcp-project}
      - GOOGLE_CLOUD_LOCATION=global
      # Optional: kept for the ADK reference agent path; not required by the live cockpit.
      - GOOGLE_API_KEY=${GOOGLE_API_KEY:-}
      # A2A: Point to the Go agent's Agent Card URL via Docker networking
      - GO_AGENT_CARD_URL=http://go-compliance-agent:8888/.well-known/agent.json
    depends_on:
      go-compliance-agent:
        condition: service_started
    networks:
      - pipeline-net

  # Go Security Compliance Agent (A2A Server)
  go-compliance-agent:
    build:
      context: ./go-compliance-agent
      dockerfile: Dockerfile
    ports:
      - "8888:8888"
    environment:
      - HOST=0.0.0.0
      - AGENT_URL=http://go-compliance-agent:8888
    networks:
      - pipeline-net

networks:
  pipeline-net:
    driver: bridge
