org: ceifa
app: copykit
service: server

frameworkVersion: '3'

package:
    individually: true
    patterns:
        - serverless_sdk/index.js
        - dist/**
        - s_api.js
        - package.json

provider:
    name: aws
    runtime: nodejs18.x
    region: sa-east-1
    stage: ${opt:stage, 'dev'}
    memorySize: 512
    timeout: 30
    environment:
        SERVERLESS: 1
        NODE_ENV: ${self:provider.stage}
        NODE_OPTIONS: --enable-source-maps
        JWT_SECRET: jwtfazautenticacao
        MONGODB_CONNECTIONSTRING: mongodb+srv://copycat:copykitfazdb@copykit.rb6sjop.mongodb.net/development
        OPENAI_KEY: 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

plugins:
    - serverless-domain-manager
    - serverless-offline
    - serverless-esbuild

custom:
    domains:
        prod: api.copykit.com.br
        other: ${self:provider.stage}.copykit.com.br
    esbuild:
        sourcemap: true
        watch:
            pattern: ['functions/**/*.ts', 'utils/**/*.ts']
    prefix: ${self:provider.stage}-${self:service}
    customDomain:
        domainName: ${self:custom.domains.${self:provider.stage}, self:custom.domains.other}
        certificateName: 'copykit.com.br'
        createRoute53Record: true
        autoDomain: true

functions:
    - ${file(./functions.yml)}
