@@ -206,6 +206,7 @@ resources:
206206 to_port : 65535
207207 cidr_blocks :
208208 - 0.0.0.0/0
209+ accounts-celery : null
209210 keycloak :
210211 rules :
211212 ingress :
@@ -239,6 +240,16 @@ resources:
239240 protocol : tcp
240241 from_port : 0
241242 to_port : 65535
243+ accounts-celery :
244+ rules :
245+ ingress : []
246+ egress :
247+ - description : Allow traffic from the container out to the Internet
248+ cidr_blocks :
249+ - 0.0.0.0/0
250+ protocol : tcp
251+ from_port : 0
252+ to_port : 65535
242253 keycloak :
243254 rules :
244255 ingress :
@@ -875,6 +886,187 @@ resources:
875886 - name : VERIFY_PRIVATE_LINK_SSL
876887 value : ' False'
877888
889+
890+ accounts-celery :
891+ assign_public_ip : True # Necessary, or else it can't talk out through the IG
892+ build_load_balancer : False # This service has no network inputs and thus needs no LB
893+ desired_count : 0
894+ ecr_resources :
895+ - arn:aws:ecr:eu-central-1:768512802988:repository/thunderbird/accounts-celery-worker*
896+ internal : True
897+ services : { }
898+ task_definition :
899+ network_mode : awsvpc
900+ cpu : 512
901+ memory : 2048
902+ requires_compatibilities :
903+ - FARGATE
904+ container_definitions :
905+ accounts :
906+ image : *ACCOUNTS_IMAGE
907+ linuxParameters :
908+ initProcessEnabled : True
909+ secrets :
910+ - name : DATABASE_HOST
911+ valueFrom : arn:aws:secretsmanager:eu-central-1:768512802988:secret:accounts/prod/database-host-u5Ly46
912+ - name : DATABASE_NAME
913+ valueFrom : arn:aws:secretsmanager:eu-central-1:768512802988:secret:accounts/prod/database-name-1LT9GX
914+ - name : DATABASE_PASSWORD
915+ valueFrom : arn:aws:secretsmanager:eu-central-1:768512802988:secret:accounts/prod/database-password-YEuGDS
916+ - name : DATABASE_USER
917+ valueFrom : arn:aws:secretsmanager:eu-central-1:768512802988:secret:accounts/prod/database-user-aLCuis
918+ - name : AUTH_ALLOW_LIST
919+ valueFrom : arn:aws:secretsmanager:eu-central-1:768512802988:secret:accounts/prod/fxa-allow-list-6iQipk
920+ - name : FXA_CLIENT_ID
921+ valueFrom : arn:aws:secretsmanager:eu-central-1:768512802988:secret:accounts/prod/fxa-client-id-ggzLOI
922+ - name : FXA_ENCRYPT_SECRET
923+ valueFrom : arn:aws:secretsmanager:eu-central-1:768512802988:secret:accounts/prod/fxa-encrypt-secret-MXgdBx
924+ - name : FXA_SECRET
925+ valueFrom : arn:aws:secretsmanager:eu-central-1:768512802988:secret:accounts/prod/fxa-secret-yPR6T4
926+ - name : LOGIN_CODE_SECRET
927+ valueFrom : arn:aws:secretsmanager:eu-central-1:768512802988:secret:accounts/prod/login-code-secret-OSoact
928+ - name : PADDLE_TOKEN
929+ valueFrom : arn:aws:secretsmanager:eu-central-1:768512802988:secret:accounts/prod/paddle-token-aNOfo6
930+ - name : PADDLE_PRICE_ID_LO
931+ valueFrom : arn:aws:secretsmanager:eu-central-1:768512802988:secret:accounts/prod/paddle-price-id-lo-MhLJdH
932+ - name : PADDLE_PRICE_ID_MD
933+ valueFrom : arn:aws:secretsmanager:eu-central-1:768512802988:secret:accounts/prod/paddle-price-id-md-HAbQbW
934+ - name : PADDLE_PRICE_ID_HI
935+ valueFrom : arn:aws:secretsmanager:eu-central-1:768512802988:secret:accounts/prod/paddle-price-id-hi-0gHjja
936+ - name : SECRET_KEY
937+ valueFrom : arn:aws:secretsmanager:eu-central-1:768512802988:secret:accounts/prod/secret-key-omYUWK
938+ - name : SENTRY_DSN
939+ valueFrom : arn:aws:secretsmanager:eu-central-1:768512802988:secret:accounts/prod/sentry-dsn-aEWFMV
940+ - name : REDIS_URL
941+ valueFrom : arn:aws:secretsmanager:eu-central-1:768512802988:secret:accounts/prod/redis-url-Nq3x1a
942+ - name : OIDC_CLIENT_SECRET
943+ valueFrom : arn:aws:secretsmanager:eu-central-1:768512802988:secret:accounts/prod/oidc-client-secret-mg3bCN
944+ - name : OIDC_CLIENT_ID
945+ valueFrom : arn:aws:secretsmanager:eu-central-1:768512802988:secret:accounts/prod/oidc-client-id-HjOG4R
946+ - name : OIDC_SIGN_ALGO
947+ valueFrom : arn:aws:secretsmanager:eu-central-1:768512802988:secret:accounts/prod/oidc-sign-algo-N6vK9L
948+ - name : ZENDESK_SUBDOMAIN
949+ valueFrom : arn:aws:secretsmanager:eu-central-1:768512802988:secret:accounts/prod/zendesk-subdomain-C2G7He
950+ - name : ZENDESK_USER_EMAIL
951+ valueFrom : arn:aws:secretsmanager:eu-central-1:768512802988:secret:accounts/prod/zendesk-user-email-HR9Al8
952+ - name : ZENDESK_API_TOKEN
953+ valueFrom : arn:aws:secretsmanager:eu-central-1:768512802988:secret:accounts/prod/zendesk-api-token-2rsztq
954+ - name : PADDLE_WEBHOOK_KEY
955+ valueFrom : arn:aws:secretsmanager:eu-central-1:768512802988:secret:accounts/prod/paddle-webhook-key-vX5JHE
956+ - name : PADDLE_API_KEY
957+ valueFrom : arn:aws:secretsmanager:eu-central-1:768512802988:secret:accounts/prod/paddle-api-key-yz3XNN
958+ - name : KEYCLOAK_ADMIN_CLIENT_ID
959+ valueFrom : arn:aws:secretsmanager:eu-central-1:768512802988:secret:accounts/prod/keycloak-admin-client-id-DOpTIZ
960+ - name : KEYCLOAK_ADMIN_CLIENT_SECRET
961+ valueFrom : arn:aws:secretsmanager:eu-central-1:768512802988:secret:accounts/prod/keycloak-admin-client-secret-3CMuUp
962+ - name : STALWART_API_AUTH_STRING
963+ valueFrom : arn:aws:secretsmanager:eu-central-1:768512802988:secret:accounts/prod/stalwart-api-auth-key-cnGrUN
964+ - name : STALWART_API_AUTH_METHOD
965+ valueFrom : arn:aws:secretsmanager:eu-central-1:768512802988:secret:accounts/prod/stalwart-api-auth-method-ErlvTR
966+ - name : MAILCHIMP_DC
967+ valueFrom : arn:aws:secretsmanager:eu-central-1:768512802988:secret:accounts/prod/mailchimp-dc-SyLAUO
968+ - name : MAILCHIMP_API_KEY
969+ valueFrom : arn:aws:secretsmanager:eu-central-1:768512802988:secret:accounts/prod/mailchimp-api-key-5xUoSN
970+ - name : MAILCHIMP_LIST_ID
971+ valueFrom : arn:aws:secretsmanager:eu-central-1:768512802988:secret:accounts/prod/mailchimp-list-id-OAj8yj
972+ environment :
973+ - name : ADMIN_CONTACT
974+ value : dummy@example.org
975+ - name : ADMIN_WEBSITE
976+ value : https://www.thunderbird.net
977+ - name : ALLOWED_EMAIL_DOMAINS
978+ value : ' thundermail.com,tb.pro'
979+ - name : MIN_CUSTOM_DOMAIN_ALIAS_LENGTH
980+ value : ' 3'
981+ - name : APP_ENV
982+ value : ' prod'
983+ - name : AUTH_SCHEME
984+ value : ' oidc'
985+ - name : CSRF_HTTPONLY
986+ value : ' True'
987+ - name : CSRF_SECURE
988+ value : ' True'
989+ - name : CSRF_TRUSTED_ORIGINS
990+ value : ' https://accounts.tb.pro'
991+ - name : FXA_CALLBACK
992+ value : https://accounts.tb.pro/api/v1/auth/fxa/callback
993+ - name : FXA_OAUTH_SERVER_URL
994+ value : https://oauth.accounts.firefox.com/v1
995+ - name : FXA_OPEN_ID_CONFIG
996+ value : https://accounts.firefox.com/.well-known/openid-configuration
997+ - name : FXA_PROFILE_SERVER_URL
998+ value : https://profile.accounts.firefox.com/v1
999+ - name : IMAP_HOST
1000+ value : ' mail.thundermail.com'
1001+ - name : IMAP_PORT
1002+ value : ' 993'
1003+ - name : IMAP_TLS
1004+ value : ' True'
1005+ - name : JMAP_HOST
1006+ value : ' mail.thundermail.com'
1007+ - name : JMAP_PORT
1008+ value : ' 443'
1009+ - name : JMAP_TLS
1010+ value : ' True'
1011+ - name : PADDLE_ENV
1012+ value : ' sandbox'
1013+ - name : PUBLIC_BASE_URL
1014+ value : ' https://accounts.tb.pro'
1015+ - name : SMTP_HOST
1016+ value : ' mail.thundermail.com'
1017+ - name : SMTP_PORT
1018+ value : ' 465'
1019+ - name : SMTP_TLS
1020+ value : ' True'
1021+ - name : SUPPORT_CONTACT
1022+ value : dummy@example.org
1023+ - name : REDIS_CELERY_DB
1024+ value : ' 5'
1025+ - name : REDIS_CELERY_RESULTS_DB
1026+ value : ' 6'
1027+ - name : REDIS_INTERNAL_DB
1028+ value : ' 0'
1029+ - name : REDIS_SHARED_DB
1030+ value : ' 10'
1031+ - name : TBA_CELERY
1032+ value : " yes"
1033+ - name : USE_ALLOW_LIST
1034+ value : ' True'
1035+ - name : OIDC_URL_AUTH
1036+ value : " https://auth.tb.pro/realms/tbpro/protocol/openid-connect/auth/"
1037+ - name : OIDC_URL_TOKEN
1038+ value : " https://auth.tb.pro/realms/tbpro/protocol/openid-connect/token/"
1039+ - name : OIDC_URL_USER
1040+ value : " https://auth.tb.pro/realms/tbpro/protocol/openid-connect/userinfo/"
1041+ - name : OIDC_URL_JWKS
1042+ value : " https://auth.tb.pro/realms/tbpro/protocol/openid-connect/certs/"
1043+ - name : OIDC_URL_LOGOUT
1044+ value : " https://auth.tb.pro/realms/tbpro/protocol/openid-connect/logout/"
1045+ - name : OIDC_FALLBACK_MATCH_BY_EMAIL
1046+ value : ' True'
1047+ - name : STALWART_BASE_JMAP_URL
1048+ value : ' https://mail.thundermail.com'
1049+ - name : STALWART_BASE_API_URL
1050+ value : ' https://mailstrom-prod-management-i.thundermail.com:8080'
1051+ - name : TB_PRO_APPOINTMENT_URL
1052+ value : ' https://appointment.tb.pro/'
1053+ - name : TB_PRO_SEND_URL
1054+ value : ' https://send.tb.pro/'
1055+ - name : TB_PRO_WAIT_LIST_URL
1056+ value : ' https://tb.pro/waitlist/'
1057+ - name : KEYCLOAK_URL_API
1058+ value : ' https://auth.tb.pro/admin/realms/tbpro/'
1059+ - name : KEYCLOAK_ADMIN_URL_TOKEN
1060+ value : ' https://auth.tb.pro/realms/master/protocol/openid-connect/token/'
1061+ - name : ZENDESK_FORM_ID
1062+ value : ' 38216134664083'
1063+ - name : ZENDESK_FORM_BROWSER_FIELD_ID
1064+ value : ' 44379231787027'
1065+ - name : ZENDESK_FORM_OS_FIELD_ID
1066+ value : ' 44379263732755'
1067+ - name : VERIFY_PRIVATE_LINK_SSL
1068+ value : ' False'
1069+
8781070 tb:autoscale:EcsServiceAutoscaler :
8791071 accounts :
8801072 cpu_threshold : 80
@@ -884,6 +1076,13 @@ resources:
8841076 min_capacity : 2
8851077 max_capacity : 4
8861078 suspend : False
1079+ accounts-celery :
1080+ cpu_threshold : 80
1081+ ram_threshold : 80
1082+ cooldown : 180
1083+ disable_scale_in : False
1084+ min_capacity : 0
1085+ max_capacity : 0
8871086 keycloak :
8881087 cpu_threshold : 80
8891088 ram_threshold : 80
@@ -914,9 +1113,11 @@ resources:
9141113 fargate_clusters :
9151114 - accounts-prod-fargate-keycloak
9161115 - accounts-prod-fargate-accounts
1116+ - accounts-prod-fargate-accounts-celery
9171117 - accounts-prod
9181118 fargate_task_role_arns :
9191119 - arn:aws:iam::768512802988:role/accounts-prod-fargate-keycloak
9201120 - arn:aws:iam::768512802988:role/accounts-prod-fargate-accounts
1121+ - arn:aws:iam::768512802988:role/accounts-prod-fargate-accounts-celery
9211122 - arn:aws:iam::768512802988:role/accounts-prod-afc-accounts-celery-prod
9221123 - arn:aws:iam::768512802988:role/accounts-prod-afc-accounts-flower-prod
0 commit comments