stacker.news/copilot/imgproxy/manifest.yml

63 lines
2.7 KiB
YAML
Raw Normal View History

2024-01-31 00:23:46 +00:00
# The manifest for the "imgproxy" service.
# Read the full specification for the "Load Balanced Web Service" type at:
# https://aws.github.io/copilot-cli/docs/manifest/lb-web-service/
# Your service name will be used in naming your resources like log groups, ECS services, etc.
name: imgproxy
type: Load Balanced Web Service
# Distribute traffic to your service.
http:
# Requests to this path will be forwarded to your service.
# To match all requests you can use the "/" path.
path: '/'
# You can specify a custom health check path. The default is "/".
healthcheck: '/health'
# Configuration for your containers and service.
image:
location: ${PRIVATE_REPO}/imgproxy:v3.21.0-ml-amd64
# Port exposed through your container to route traffic to it.
port: 8080
cpu: 2048 # 2 vCPUs see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-cpu-memory-error.html
memory: 4096
count:
range:
min: 1 # Minimum number of tasks to run for the service.
max: 4 # Maximum number of tasks to run for the service.
cooldown:
in: 60s # Number of seconds to wait before scaling up.
out: 60s # Number of seconds to wait before scaling down.
cpu_percentage: 50 # Percentage of CPU to target for autoscaling.
memory_percentage: 60 # Percentage of memory to target for autoscaling.
exec: true # Enable running commands in your container.
network:
connect: true # Enable Service Connect for intra-environment traffic between services.
# storage:
# readonly_fs: true # Limit to read-only access to mounted root filesystems.
# Optional fields for more advanced use-cases.
variables: # Pass environment variables as key value pairs.
IMGPROXY_ENABLE_WEBP_DETECTION: 1
IMGPROXY_ENABLE_AVIF_DETECTION: 1
IMGPROXY_MAX_ANIMATION_FRAMES: 2000
IMGPROXY_MAX_SRC_RESOLUTION: 50
IMGPROXY_MAX_ANIMATION_FRAME_RESOLUTION: 200
IMGPROXY_READ_TIMEOUT: 10
IMGPROXY_WRITE_TIMEOUT: 10
IMGPROXY_DOWNLOAD_TIMEOUT: 9
IMGPROXY_WORKERS: 4
secrets: # Pass secrets from AWS Systems Manager (SSM) Parameter Store.
IMGPROXY_KEY: /copilot/${COPILOT_APPLICATION_NAME}/${COPILOT_ENVIRONMENT_NAME}/secrets/imgproxy_key
IMGPROXY_SALT: /copilot/${COPILOT_APPLICATION_NAME}/${COPILOT_ENVIRONMENT_NAME}/secrets/imgproxy_salt
IMGPROXY_LICENSE_KEY: /copilot/${COPILOT_APPLICATION_NAME}/${COPILOT_ENVIRONMENT_NAME}/secrets/imgproxy_license_key
# You can override any of the values defined above by environment.
#environments:
# test:
# count: 2 # Number of tasks to run for the "test" environment.
# deployment: # The deployment strategy for the "test" environment.
# rolling: 'recreate' # Stops existing tasks before new ones are started for faster deployments.