• Matt Butcher's avatar
    feat(tiller): support version constraint on chart · e4e0e320
    Matt Butcher authored
    This provides the Chart.yaml field `tillerVersion`, which is a semver
    range. It allows users to choose to constrain a chart to a specific
    version.
    
    The reason for this is that we keep introducing new template functions,
    but we have no way of saying "this chart will only work with Tiller
    newer than...".
    
    The check on version is _only_ done on Tiller. The client does not check
    at all, since it does not do any template expansion on its own.
    Unverified
    e4e0e320
docker-compose.yml 3.19 KiB
version: "3.9"
services:
  db:
    image: timescale/timescaledb-ha:pg17.2-ts2.17.2-all
    container_name: timescaledb
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: secret
      POSTGRES_DB: products_db
    ports:
      - "5435:5432"
    volumes:
      - db-data:/var/lib/postgresql/data
      - ../migrations/init.sql:/docker-entrypoint-initdb.d/init.sql:ro
  vectorizer-worker:
    image: timescale/pgai-vectorizer-worker:0.2.0
    environment:
      PGAI_VECTORIZER_WORKER_DB_URL: postgres://postgres:secret@timescaledb:5435/products_db
      PGAI_VECTORIZER_OLLAMA_MAX_CHUNKS_PER_BATCH: 4096
      OLLAMA_HOST: http://ollama:11434
    command: [ "--poll-interval", "5s" ]
    depends_on:
      - db
      - ollama
  zookeeper:
    image: bitnami/zookeeper:latest
    container_name: zookeeper
    environment:
      ALLOW_ANONYMOUS_LOGIN: "yes"
    ports:
      - "2181:2181"
    volumes:
      - zookeeper-data:/bitnami/zookeeper
  kafka:
    image: bitnami/kafka:latest
    container_name: kafka
    environment:
      KAFKA_BROKER_ID: 1
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
      KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
      ALLOW_PLAINTEXT_LISTENER: "yes"
    ports:
      - "9092:9092"
    depends_on:
      - zookeeper
  otel-collector:
    image: otel/opentelemetry-collector-contrib:latest
    container_name: otel-collector
    command: ["--config=/etc/otel-collector-config.yaml"]
    volumes:
      - ./config/otel-collector-config.yaml:/etc/otel-collector-config.yaml:ro
    ports:
      - "4317:4317"  # gRPC receiver для OTLP
      - "4318:4318"  # HTTP receiver для OTLP
  jaeger:
    container_name: jaeger
    image: jaegertracing/all-in-one:1.49
    ports:
      - "16686:16686"
      - "4317"
  kafka-ui:
7172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
container_name: kafka-ui image: provectuslabs/kafka-ui:v0.7.2 ports: - "8071:8080" environment: KAFKA_CLUSTERS_0_NAME: "local" KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: "kafka:9092" depends_on: - kafka ollama: image: ollama/ollama:latest container_name: ollama ports: - "11434:11434" volumes: - ollama-models:/models - ./ollama-entrypoint.sh:/entrypoint.sh:ro entrypoint: [ "/entrypoint.sh" ] app: build: context: .. dockerfile: ./deployment/Dockerfile container_name: app environment: - DB_CONNECTION=host=db user=postgres password=secret dbname=products_db port=5432 sslmode=disable - LLM_MODEL_NAME=mistral:7b-instruct - LLM_API_KEY=your-api-key - LLM_ENDPOINT=http://ollama:11434 - SERVER_PORT=8080 - KAFKA_BOOTSTRAP_SERVERS=kafka:9092 - OTEL_OTLP_ENDPOINT=http://otel-collector:4317 - OTEL_OTLP_INSECURE=true - OTEL_OTLP_TIMEOUT=10s - OTEL_OTLP_HTTP=false - OTEL_RETRY_ENABLED=true - OTEL_RETRY_INITIAL_INTERVAL=5s - OTEL_RETRY_MAX_INTERVAL=30s - OTEL_RETRY_MAX_ELAPSED_TIME=1m ports: - "8080:8080" depends_on: - db - kafka - ollama - otel-collector profiles: - full volumes: db-data: zookeeper-data: kafka-data: ollama-models: