serviceName: airflow
owner: fansifter

service:
  logGroupName: airflow/ecs/fargate
  cidrBlock: 172.31.0.0/16
  baseUrl: http://localhost:8080
  port: 80
  portSSL: 443
  flower:
    cpu: 256
    memory: 512
    port: 5555
    desiredCount: 1
    autoscaling:
      maxCapacity: 2
      minCapacity: 1
      cpu:
        target: 90
        scaleInCooldown: 180
        scaleOutCooldown: 60
      memory:
        target: 90
        scaleInCooldown: 180
        scaleOutCooldown: 60
  scheduler:
    cpu: 512
    memory: 1024
    desiredCount: 1
    autoscaling:
      maxCapacity: 2
      minCapacity: 1
      cpu:
        target: 70
        scaleInCooldown: 180
        scaleOutCooldown: 60
      memory:
        target: 90
        scaleInCooldown: 180
        scaleOutCooldown: 60
  webserver:
    username: fansifter
    password: fansifter
    port: 8080
    cpu: 512
    memory: 2048
    desiredCount: 1
    autoscaling:
      maxCapacity: 3
      minCapacity: 1
      cpu:
        target: 90
        scaleInCooldown: 180
        scaleOutCooldown: 60
      memory:
        target: 90
        scaleInCooldown: 180
        scaleOutCooldown: 60
  workers:
    port: 8793
    cpu: 1024
    memory: 3072
    desiredCount: 1
    autoscaling:
      maxCapacity: 4
      minCapacity: 1
      cpu:
        target: 70
        scaleInCooldown: 60
        scaleOutCooldown: 120
      memory:
        target: 70
        scaleInCooldown: 60
        scaleOutCooldown: 120
  iam:
    Lambda:
      Functions:
        dev:
          - arn:aws:lambda:eu-west-1:776891437216:function:frontend-api-devel-enrichment-requests
          - arn:aws:lambda:eu-west-1:776891437216:function:frontend-api-devel-save-fan-attribute-data
          - arn:aws:lambda:eu-west-1:776891437216:function:frontend-api-devel-post-enrichment-requests
          - arn:aws:lambda:eu-west-1:776891437216:function:frontend-api-devel2-enrichment-requests
          - arn:aws:lambda:eu-west-1:776891437216:function:frontend-api-devel2-save-fan-attribute-data
          - arn:aws:lambda:eu-west-1:776891437216:function:frontend-api-devel2-post-enrichment-requests
        live:
          - arn:aws:lambda:eu-west-1:776891437216:function:frontend-api-live-enrichment-requests
          - arn:aws:lambda:eu-west-1:776891437216:function:frontend-api-live-save-fan-attribute-data
          - arn:aws:lambda:eu-west-1:776891437216:function:frontend-api-live-post-enrichment-requests
    EFS:
      AccessPoint:
        dev: arn:aws:elasticfilesystem:eu-west-1:776891437216:access-point/fsap-0f28726fc3bd45933
        live: arn:aws:elasticfilesystem:eu-west-1:776891437216:access-point/fsap-0cac3a5eb20fa8f41
      FileSystem:
        dev: arn:aws:elasticfilesystem:eu-west-1:776891437216:file-system/fs-0aebb251f98b92c8a
        live: arn:aws:elasticfilesystem:eu-west-1:776891437216:file-system/fs-0c1b6d781c7712058
    SecretsManager:
      Secrets:
        dev:
          - arn:aws:secretsmanager:eu-west-1:776891437216:secret:fansifter-redis-YIIT0d
          - arn:aws:secretsmanager:eu-west-1:776891437216:secret:airflow-ui-pass-Z8rpW1
          - arn:aws:secretsmanager:eu-west-1:776891437216:secret:bitbucket-fansifter-airflow-access-key-Ll5zJj
          - arn:aws:secretsmanager:eu-west-1:776891437216:secret:airflow/connections/*
          - arn:aws:secretsmanager:eu-west-1:776891437216:secret:airflow/variables/*
        live:
          - arn:aws:secretsmanager:eu-west-1:776891437216:secret:fansifter-redis-YIIT0d
          - arn:aws:secretsmanager:eu-west-1:776891437216:secret:airflow-ui-pass-Z8rpW1
          - arn:aws:secretsmanager:eu-west-1:776891437216:secret:bitbucket-fansifter-airflow-access-key-Ll5zJj
          - arn:aws:secretsmanager:eu-west-1:776891437216:secret:airflow/connections/*
          - arn:aws:secretsmanager:eu-west-1:776891437216:secret:airflow/variables/*
    Batch:
      ComputeEnvironment: arn:aws:batch:eu-west-1:776891437216:compute-environment/ml-engine-env
      Job: arn:aws:batch:eu-west-1:776891437216:job/*
      JobDefinition: arn:aws:batch:eu-west-1:776891437216:job-definition/batch-ml-enrichment-job:*
      JobQueue: arn:aws:batch:eu-west-1:776891437216:job-queue/ml-enrichment-queue
      SchedulingPolicy: arn:aws:batch:eu-west-1:776891437216:scheduling-policy/*


whitelistedIPs:
  - 172.31.0.0/16    # VPC
  - 34.254.57.232/32 # VPN EC2 Public IP

metadataDb:
  dbName: airflow

celeryBackend:
  port: 6379
  azMode: single-az
  engine: redis
  engineVersion: 4.0.10
  autoMinorVersionUpgrade: true
  instanceType: cache.t3.micro
  numNodes: 1

ecr:
  imagesLifecycleCount: 10

cloudwatch:
  ecsLogGroup:
    retention: 14
  executionLogGroup:
    retention: 365

externalServices:
  VPC:
    VpcId: vpc-c71b14a1
    PublicSubnet1Id: subnet-75d6af13
    PublicSubnet2Id: subnet-9287cfda
    PublicSubnet3Id: subnet-3193296b
  Secrets:
    RDS:
      dev:
        SecretARN: arn:aws:secretsmanager:eu-west-1:776891437216:secret:fansifter-rds-dev-Vtyz6d
      test:
        SecretARN: TBA # it was temporarily decommissioned
      live:
        SecretARN: arn:aws:secretsmanager:eu-west-1:776891437216:secret:fansifter-rds-live-W0X3AE
  SSL:
    CertificateArn: arn:aws:acm:eu-west-1:776891437216:certificate/5cf878a3-7444-4c2e-a7f7-e894ecbcd50a
  Route53:
    HostedZoneId: Z2XXL665H7R1MI
    DomainName: fansifter.cloud
  EFS:
    dev:
      FilesystemId: fs-0aebb251f98b92c8a
      AccessPointId: fsap-0f28726fc3bd45933
    test:
      FilesystemId: TBA # TODO FILL WHEN PROVISIONED
      AccessPointId: TBA
    live:
      FilesystemId: fs-0c1b6d781c7712058
      AccessPointId: fsap-0cac3a5eb20fa8f41
