getting cloud working ok.
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -25,3 +25,5 @@ node_modules
|
||||
.calva/**
|
||||
.lsp/**
|
||||
*.~undo-tree~
|
||||
backups
|
||||
terraform/.gitx
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
FROM 679918342773.dkr.ecr.us-east-1.amazonaws.com/jre-alpine:latest
|
||||
RUN apt update
|
||||
RUN apt install -y poppler-utils
|
||||
FROM amazoncorretto:11.0.18-al2
|
||||
RUN yum update
|
||||
RUN yum install -y poppler-utils
|
||||
COPY target/auto-ap.jar /usr/local/
|
||||
COPY config /usr/local/config/
|
||||
CMD java -Dlogback.configurationFile=logback-prod.xml -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=9090 -Dcom.sun.management.jmxremote.rmi.port=9090 -Djava.rmi.server.hostname=127.0.0.1 -Dcom.sun.management.jmxremote.local.only=false -XX:InitialRAMPercentage=75 -XX:MaxRAMPercentage=75 -jar /usr/local/auto-ap.jar
|
||||
|
||||
@@ -12,7 +12,7 @@ phases:
|
||||
- echo Logging in to Amazon ECR...
|
||||
- aws --version
|
||||
- $(aws ecr get-login --region $AWS_DEFAULT_REGION --no-include-email)
|
||||
- REPOSITORY_URI=679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat
|
||||
- REPOSITORY_URI=679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud
|
||||
- COMMIT_HASH=$(echo $CODEBUILD_RESOLVED_SOURCE_VERSION | cut -c 1-7)
|
||||
- IMAGE_TAG=${COMMIT_HASH:=latest}
|
||||
- wget https://raw.github.com/technomancy/leiningen/stable/bin/lein
|
||||
|
||||
33
config/prod-cloud.edn
Normal file
33
config/prod-cloud.edn
Normal file
@@ -0,0 +1,33 @@
|
||||
{:scheme "https"
|
||||
:dd-env "prod-cloud"
|
||||
:dd-service "integreat-app-cloud"
|
||||
:jwt-secret "auto ap invoices are awesome"
|
||||
:invoice-import-queue-url "https://sqs.us-east-1.amazonaws.com/679918342773/integreat-mail-prod-cloud"
|
||||
:requests-queue-url "https://sqs.us-east-1.amazonaws.com/679918342773/integreat-background-request-prod-cloud"
|
||||
:invoice-email "invoices@mail.app.integreatconsult.com"
|
||||
:import-failure-destination-email "ben@integreatconsult.com"
|
||||
:data-bucket "data.prod.app.integreatconsult.com"
|
||||
:yodlee-cobrand-name "qstartus12"
|
||||
:yodlee-cobrand-login "qstartus12"
|
||||
:yodlee-cobrand-password "MPD@mg78hd"
|
||||
:yodlee-user-login "integreat"
|
||||
:yodlee-user-password "Import3transactions!"
|
||||
:yodlee-base-url "https://quickstart2.api.yodlee.com/ysl"
|
||||
:yodlee-app "10003600"
|
||||
:yodlee-fastlink "https://quickstartus2node.yodleeinteractive.com/authenticate/qstartus12/?channelAppName=quickstartus2"
|
||||
:yodlee-proxy-host "172.31.10.83"
|
||||
:yodlee-proxy-port 8888
|
||||
:run-background? false
|
||||
:run-web? true
|
||||
:yodlee2-admin-user "93398522-412b-470d-8400-3691392b12fb_ADMIN"
|
||||
:yodlee2-integreat-user "integreat-main"
|
||||
:yodlee2-client-id "3AATcwfPsWP1rP9oDoo4HvZhtaroGVcA"
|
||||
:yodlee2-client-secret "cXTBmKbGfkaBFIpM"
|
||||
:yodlee2-base-url "https://production.api.yodlee.com/ysl"
|
||||
:yodlee2-fastlink "https://fl4.prod.yodlee.com/authenticate/USDevexProd2-319/fastlink/?channelAppName=usdevexprod2"
|
||||
:yodlee2-proxy-host "172.31.10.83"
|
||||
:yodlee2-proxy-port 8888
|
||||
:plaid {:base-url "https://production.plaid.com"
|
||||
:client-id "61bfab05f7e762001b323f79"
|
||||
:secret-key "2be026ca5e7f7e9f23f2fb4d7c914d"}
|
||||
}
|
||||
@@ -3,6 +3,8 @@
|
||||
:output-dir "resources/public/js/compiled/"
|
||||
:source-map "resources/public/js/compiled/app.js.map"
|
||||
:parallel-build true
|
||||
:language-in :ecmascript-next
|
||||
:language-out :ecmascript-next
|
||||
|
||||
:optimizations :advanced
|
||||
:pretty-print false
|
||||
|
||||
11
project.clj
11
project.clj
@@ -28,7 +28,7 @@
|
||||
[org.apache.lucene/lucene-queryparser "9.3.0"]
|
||||
[metosin/malli "0.8.9"]
|
||||
[tolitius/yang "0.1.23"]
|
||||
[ring "1.8.2" :exclusions [commons-codec
|
||||
[ring "1.9.6" :exclusions [commons-codec
|
||||
commons-io
|
||||
clj-time
|
||||
ring/ring-core
|
||||
@@ -37,7 +37,7 @@
|
||||
#_org.eclipse.jetty/jetty-util
|
||||
#_org.eclipse.jetty/jetty-server]]
|
||||
|
||||
[ring/ring-jetty-adapter "1.8.2" :exclusions
|
||||
[ring/ring-jetty-adapter "1.9.6" :exclusions
|
||||
[org.eclipse.jetty/jetty-server]]
|
||||
[yogthos/config "1.1.7"]
|
||||
[dk.ative/docjure "1.14.0"]
|
||||
@@ -93,8 +93,8 @@
|
||||
#_[org.eclipse.jetty/jetty-http "11.0.0"]
|
||||
#_[org.eclipse.jetty/jetty-util "11.0.0"]
|
||||
#_[org.eclipse.jetty/jetty-server "11.0.0"]
|
||||
[org.eclipse.jetty.websocket/websocket-servlet "9.4.35.v20201120"]
|
||||
[org.eclipse.jetty.websocket/websocket-server "9.4.35.v20201120"]
|
||||
[org.eclipse.jetty.websocket/websocket-servlet "9.4.48.v20220622"]
|
||||
[org.eclipse.jetty.websocket/websocket-server "9.4.48.v20220622"]
|
||||
#_[org.eclipse.jetty.websocket/websocket-servlet "11.0.0"]
|
||||
[org.clojure/data.json "1.0.0"]
|
||||
[org.clojure/data.csv "1.0.0"]
|
||||
@@ -159,7 +159,8 @@
|
||||
|
||||
|
||||
:uberjar
|
||||
{:prep-tasks ["fig:min" ]
|
||||
{:java-cmd "/usr/lib/jvm/java-11-openjdk/bin/java"
|
||||
:prep-tasks ["fig:min" ]
|
||||
:dependencies [[com.bhauman/figwheel-main "0.2.18" :exclusions [org.clojure/clojurescript
|
||||
ring
|
||||
ring/ring-core
|
||||
|
||||
@@ -703,7 +703,7 @@
|
||||
:endpoint "https://53syis8n1m.execute-api.us-east-1.amazonaws.com"})
|
||||
;; _ (dc/create-database client {:db-name "prod-mirror"})
|
||||
connection (dc/connect client {:db-name "prod-mirror"})]
|
||||
(load-from-backup "backups/8e245d3d-be7a-4d90-8e9e-e6a110582658" connection)
|
||||
(load-from-backup "backups/8e245d3d-be7a-4d90-8e9e-e6a110582658" connection ["transaction"])
|
||||
|
||||
)
|
||||
|
||||
|
||||
163
scratch-sessions/restore_from_backup.clj
Normal file
163
scratch-sessions/restore_from_backup.clj
Normal file
@@ -0,0 +1,163 @@
|
||||
(ns restore-from-backup
|
||||
(:require [clojure.java.io :as io]
|
||||
[amazonica.aws.s3 :as s3]
|
||||
[config.core :refer [env]]
|
||||
[clojure.core.async :as a]
|
||||
[datomic.client.api :as dc]
|
||||
[lambdaisland.edn-lines :as ednl]
|
||||
[datomic.client.api.async :as dca]
|
||||
[datomic.dev-local :as dl]
|
||||
[clojure.set :as set]
|
||||
[clojure.string :as str]
|
||||
[clj-http.client :as client]))
|
||||
|
||||
|
||||
|
||||
(def client (dc/client {:server-type :cloud
|
||||
:region "us-east-1"
|
||||
:system "iol-cloud"
|
||||
:endpoint "https://53syis8n1m.execute-api.us-east-1.amazonaws.com"}))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
(defn order-of-insert [entity-dependencies]
|
||||
(loop [entity-dependencies entity-dependencies
|
||||
order []]
|
||||
(let [next-order (for [[entity deps] entity-dependencies
|
||||
:when (not (seq deps))]
|
||||
entity)
|
||||
next-deps (reduce
|
||||
(fn [entity-dependencies next-entity]
|
||||
(into {}
|
||||
(map
|
||||
(fn [[k v]]
|
||||
[k (disj v next-entity)])
|
||||
entity-dependencies)))
|
||||
(apply dissoc entity-dependencies next-order)
|
||||
next-order)]
|
||||
(println order next-deps)
|
||||
(if (seq next-deps)
|
||||
(recur next-deps (into order next-order))
|
||||
(into order next-order)))))
|
||||
|
||||
|
||||
|
||||
|
||||
(defn tx-pipeline
|
||||
"Transacts data from from-ch. Returns a map with:
|
||||
:result, a return channel getting {:error t} or {:completed n}
|
||||
:stop, a fn you can use to terminate early."
|
||||
[conn conc from-ch f]
|
||||
(let [to-ch (a/chan 400)
|
||||
done-ch (a/chan)
|
||||
transact-data (fn [data result]
|
||||
(a/go
|
||||
(try
|
||||
|
||||
(let [tx-r (a/<! (dca/transact conn {:tx-data (f data)}))]
|
||||
(when (:db/error tx-r)
|
||||
(throw (ex-info "Invalid transaction" tx-r)))
|
||||
(a/>! result tx-r)
|
||||
(a/close! result))
|
||||
; if exception in a transaction
|
||||
; will close channels and put error
|
||||
; on done channel.
|
||||
(catch Throwable t
|
||||
(.printStackTrace t)
|
||||
(a/close! from-ch)
|
||||
(a/close! to-ch)
|
||||
(a/>! done-ch {:error t})))))]
|
||||
|
||||
; go block prints a '.' after every 1000 transactions, puts completed
|
||||
; report on done channel when no value left to be taken.
|
||||
(a/go-loop [total 0]
|
||||
(if (= (mod total 5) 0)
|
||||
(do
|
||||
(print ".")
|
||||
(flush)))
|
||||
(if-let [c (a/<! to-ch)]
|
||||
(recur (inc total))
|
||||
(a/>! done-ch {:completed total})))
|
||||
|
||||
; pipeline that uses transducer form of map to transact data taken from
|
||||
; from-ch and puts results on to-ch
|
||||
(a/pipeline-async conc to-ch transact-data from-ch)
|
||||
|
||||
; returns done channel and a function that you can use
|
||||
; for early termination.
|
||||
{:result done-ch
|
||||
:stop (fn [] (a/close! to-ch))}))
|
||||
|
||||
(def loaded (atom #{}))
|
||||
|
||||
|
||||
|
||||
(defn load-from-backup
|
||||
([backup-id connection] (load-from-backup backup-id connection nil))
|
||||
([backup-id connection item-list]
|
||||
(let [schema (clojure.edn/read-string (slurp (str backup-id "/schema.edn")))
|
||||
full-dependencies (clojure.edn/read-string (slurp (str backup-id "/full-dependencies.edn")))
|
||||
entity-dependencies (clojure.edn/read-string (slurp (str backup-id "/entity-dependencies.edn")))]
|
||||
(dc/transact connection {:tx-data [{:db/ident :entity/migration-key
|
||||
:db/unique :db.unique/identity
|
||||
:db/cardinality :db.cardinality/one
|
||||
:db/valueType :db.type/long}]})
|
||||
(dc/transact connection {:tx-data (map
|
||||
(fn [s]
|
||||
(set/rename-keys s {:db/id :entity/migration-key}))
|
||||
schema)})
|
||||
|
||||
(dc/transact connection {:tx-data [{:entity/migration-key 17592257603901 :vendor/name "unknown"}
|
||||
{:entity/migration-key 17592232621701}
|
||||
{:entity/migration-key 17592263907739}
|
||||
{:entity/migration-key 17592271516922}]
|
||||
|
||||
})
|
||||
|
||||
|
||||
|
||||
(doseq [entity (or item-list (filter (complement (conj @loaded "audit")) (order-of-insert entity-dependencies)))
|
||||
:let [_ (swap! loaded conj entity)
|
||||
_ (println "querying for " entity)
|
||||
entities (ednl/slurp (str backup-id "/" entity ".ednl"))
|
||||
|
||||
_ (println "Found some! here's a few: " (take 3 entities))
|
||||
tx-chan (a/chan 50)
|
||||
entities->transaction (fn [entities]
|
||||
entities)
|
||||
pipeline (tx-pipeline connection
|
||||
10
|
||||
tx-chan
|
||||
entities->transaction)]]
|
||||
(doseq [batch (partition-all 200 entities)]
|
||||
(try
|
||||
(a/>!! tx-chan batch)
|
||||
(catch Exception e
|
||||
(println e)
|
||||
((:stop pipeline)))))
|
||||
|
||||
(println "waiting for done from" pipeline)
|
||||
(flush)
|
||||
(a/close! tx-chan)
|
||||
(println (a/<!! (:result pipeline)))
|
||||
((:stop pipeline))
|
||||
(println)
|
||||
(println "Done")))))
|
||||
|
||||
;; cloud load
|
||||
(comment
|
||||
(let [;; _ (dc/create-database client {:db-name "prod-mirror"})
|
||||
connection (dc/connect client {:db-name "prod-mirror"})]
|
||||
(load-from-backup "backups/8e245d3d-be7a-4d90-8e9e-e6a110582658" connection ["charge" "expected-deposit" "transaction"])
|
||||
|
||||
)
|
||||
|
||||
)
|
||||
;; => nil
|
||||
@@ -25,19 +25,6 @@ resource "aws_ecs_task_definition" "integreat_app" {
|
||||
}
|
||||
|
||||
|
||||
resource "aws_ecs_task_definition" "integreat_background_worker" {
|
||||
|
||||
family = "integreat_background-worker_${var.stage}"
|
||||
container_definitions = file("${var.stage}-background-worker-taskdef.json")
|
||||
memory = 2048
|
||||
cpu = 512
|
||||
network_mode = "awsvpc"
|
||||
requires_compatibilities = ["FARGATE"]
|
||||
execution_role_arn = var.execution_role_arn
|
||||
task_role_arn = var.task_role_arn
|
||||
}
|
||||
|
||||
|
||||
resource "aws_ecs_service" "integreat_app" {
|
||||
name = "integreat_app_${var.stage}"
|
||||
cluster = var.ecs_cluster
|
||||
@@ -275,6 +262,7 @@ resource "aws_service_discovery_service" "service" {
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
module "square_import_job" {
|
||||
source = "./background-job/"
|
||||
ecs_cluster = var.ecs_cluster
|
||||
@@ -469,3 +457,4 @@ module "load_historical_sales_job" {
|
||||
memory = 4096
|
||||
cpu = 1024
|
||||
}
|
||||
*/
|
||||
|
||||
67
terraform/prod-cloud-taskdef.json
Normal file
67
terraform/prod-cloud-taskdef.json
Normal file
@@ -0,0 +1,67 @@
|
||||
[
|
||||
{
|
||||
"environment": [
|
||||
{
|
||||
"name": "config",
|
||||
"value": "/usr/local/config/prod-cloud.edn"
|
||||
},
|
||||
{
|
||||
"name": "DD_ENV",
|
||||
"value": "prod"
|
||||
},
|
||||
{
|
||||
"name": "DD_SERVICE",
|
||||
"value": "integreat-app-cloud"
|
||||
}
|
||||
],
|
||||
"essential": true,
|
||||
"image": "679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud",
|
||||
"logConfiguration": {
|
||||
"logDriver": "awslogs",
|
||||
"options": {
|
||||
"awslogs-group": "/ecs/integreat-app-prod",
|
||||
"awslogs-region": "us-east-1",
|
||||
"awslogs-stream-prefix": "ecs"
|
||||
}
|
||||
},
|
||||
"dockerLabels": {
|
||||
"com.datadoghq.tags.env": "prod-cloud",
|
||||
"com.datadoghq.tags.service": "integreat-app"
|
||||
},
|
||||
"mountPoints": [],
|
||||
"name": "integreat-app",
|
||||
"portMappings": [
|
||||
{
|
||||
"containerPort": 3000,
|
||||
"hostPort": 3000,
|
||||
"protocol": "tcp"
|
||||
},
|
||||
{
|
||||
"containerPort": 9000,
|
||||
"hostPort": 9000,
|
||||
"protocol": "tcp"
|
||||
},
|
||||
{
|
||||
"containerPort": 9090,
|
||||
"hostPort": 9090,
|
||||
"protocol": "tcp"
|
||||
}
|
||||
],
|
||||
"volumesFrom": []
|
||||
},
|
||||
{
|
||||
"environment": [
|
||||
{
|
||||
"name": "DD_API_KEY",
|
||||
"value": "ce10d932c47b358e81081ae67bd8c112"
|
||||
},
|
||||
{
|
||||
"name": "ECS_FARGATE",
|
||||
"value": "true"
|
||||
}
|
||||
],
|
||||
"essential": true,
|
||||
"image": "public.ecr.aws/datadog/agent:latest",
|
||||
"name": "datadog-agent"
|
||||
}
|
||||
]
|
||||
13
terraform/prod-cloud.tfvars
Normal file
13
terraform/prod-cloud.tfvars
Normal file
@@ -0,0 +1,13 @@
|
||||
aws_access_key_id="AKIAINHACMVQJ6NYD26A"
|
||||
aws_secret_access_key="FwdL4TbIC/5H/4mwhQy4iSI/eSewyPgfS1EEt6tL"
|
||||
domain="cloud.app.integreatconsult.com"
|
||||
invoice_address="invoices@cloud.mail.app.integreatconsult.com"
|
||||
base_url="https://cloud.app.integreatconsult.com"
|
||||
stage="prod-cloud"
|
||||
task_role_arn="arn:aws:iam::679918342773:role/datomic-ddb"
|
||||
execution_role_arn="arn:aws:iam::679918342773:role/ecsTaskExecutionRole"
|
||||
ecs_cluster="arn:aws:ecs:us-east-1:679918342773:cluster/default"
|
||||
# service_registry="arn:aws:servicediscovery:us-east-1:679918342773:service/srv-6auj2wqsh55k2nuj"
|
||||
local_namespace="ns-gv2z744em7myo2jp"
|
||||
desired_count=2
|
||||
background_desired_count=1
|
||||
1024
terraform/terraform.tfstate.d/prod-cloud/terraform.tfstate
Normal file
1024
terraform/terraform.tfstate.d/prod-cloud/terraform.tfstate
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,821 @@
|
||||
{
|
||||
"version": 4,
|
||||
"terraform_version": "1.3.8",
|
||||
"serial": 39,
|
||||
"lineage": "cf731bb4-8fb3-47af-6e29-22030e089d96",
|
||||
"outputs": {
|
||||
"aws_access_key_id": {
|
||||
"value": "AKIAZ4TSKSJ25YYV6N4S",
|
||||
"type": "string",
|
||||
"sensitive": true
|
||||
},
|
||||
"aws_default_region": {
|
||||
"value": "us-east-1",
|
||||
"type": "string"
|
||||
},
|
||||
"aws_secret_access_key": {
|
||||
"value": "r18v/AYwU4ZRoWMRg/KYqfY2CCO+aHFtTedQH2IT",
|
||||
"type": "string",
|
||||
"sensitive": true
|
||||
},
|
||||
"queue_url": {
|
||||
"value": "https://sqs.us-east-1.amazonaws.com/679918342773/integreat-mail-prod-cloud",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"resources": [
|
||||
{
|
||||
"mode": "data",
|
||||
"type": "aws_caller_identity",
|
||||
"name": "current",
|
||||
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"account_id": "679918342773",
|
||||
"arn": "arn:aws:iam::679918342773:user/bryce",
|
||||
"id": "679918342773",
|
||||
"user_id": "AIDAJPUJFTOKO4IRADMV4"
|
||||
},
|
||||
"sensitive_attributes": []
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "aws_acm_certificate",
|
||||
"name": "cert",
|
||||
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"arn": "arn:aws:acm:us-east-1:679918342773:certificate/a10ec71a-e49b-4dc0-9eb3-3c43575bf125",
|
||||
"certificate_authority_arn": "",
|
||||
"certificate_body": null,
|
||||
"certificate_chain": null,
|
||||
"domain_name": "cloud.app.integreatconsult.com",
|
||||
"domain_validation_options": [
|
||||
{
|
||||
"domain_name": "cloud.app.integreatconsult.com",
|
||||
"resource_record_name": "_c390791a3881aa0607770c1f504f2ea4.cloud.app.integreatconsult.com.",
|
||||
"resource_record_type": "CNAME",
|
||||
"resource_record_value": "_1c3269cc301d56aa5302d4e598cb1980.ghcgkbmxjw.acm-validations.aws."
|
||||
}
|
||||
],
|
||||
"id": "arn:aws:acm:us-east-1:679918342773:certificate/a10ec71a-e49b-4dc0-9eb3-3c43575bf125",
|
||||
"options": [
|
||||
{
|
||||
"certificate_transparency_logging_preference": "ENABLED"
|
||||
}
|
||||
],
|
||||
"private_key": null,
|
||||
"status": "PENDING_VALIDATION",
|
||||
"subject_alternative_names": [],
|
||||
"tags": {},
|
||||
"tags_all": {},
|
||||
"validation_emails": [],
|
||||
"validation_method": "DNS"
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "bnVsbA=="
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "aws_ecs_task_definition",
|
||||
"name": "integreat_app",
|
||||
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 1,
|
||||
"attributes": {
|
||||
"arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/integreat_app_prod-cloud:2",
|
||||
"container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod-cloud\",\"com.datadoghq.tags.service\":\"integreat-app\"},\"environment\":[{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"integreat-app-cloud\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-cloud.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":3000,\"hostPort\":3000,\"protocol\":\"tcp\"},{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"volumesFrom\":[]}]",
|
||||
"cpu": "2048",
|
||||
"ephemeral_storage": [],
|
||||
"execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole",
|
||||
"family": "integreat_app_prod-cloud",
|
||||
"id": "integreat_app_prod-cloud",
|
||||
"inference_accelerator": [],
|
||||
"ipc_mode": "",
|
||||
"memory": "8192",
|
||||
"network_mode": "awsvpc",
|
||||
"pid_mode": "",
|
||||
"placement_constraints": [],
|
||||
"proxy_configuration": [],
|
||||
"requires_compatibilities": [
|
||||
"FARGATE"
|
||||
],
|
||||
"revision": 2,
|
||||
"runtime_platform": [],
|
||||
"tags": {},
|
||||
"tags_all": {},
|
||||
"task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb",
|
||||
"volume": []
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ=="
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "aws_iam_access_key",
|
||||
"name": "app_user",
|
||||
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"create_date": "2023-03-19T03:42:18Z",
|
||||
"encrypted_secret": null,
|
||||
"encrypted_ses_smtp_password_v4": null,
|
||||
"id": "AKIAZ4TSKSJ25YYV6N4S",
|
||||
"key_fingerprint": null,
|
||||
"pgp_key": null,
|
||||
"secret": "r18v/AYwU4ZRoWMRg/KYqfY2CCO+aHFtTedQH2IT",
|
||||
"ses_smtp_password_v4": "BDUxnweaAfSWC/Vrn6l71mv6P79LZFxpZDx1lRIeO6HV",
|
||||
"status": "Active",
|
||||
"user": "integreat-prod-cloud"
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "bnVsbA==",
|
||||
"dependencies": [
|
||||
"aws_iam_user.app_user"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "aws_iam_user",
|
||||
"name": "app_user",
|
||||
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"arn": "arn:aws:iam::679918342773:user/integreat-prod-cloud",
|
||||
"force_destroy": false,
|
||||
"id": "integreat-prod-cloud",
|
||||
"name": "integreat-prod-cloud",
|
||||
"path": "/",
|
||||
"permissions_boundary": null,
|
||||
"tags": {},
|
||||
"tags_all": {},
|
||||
"unique_id": "AIDAZ4TSKSJ2ZCQP6I3KK"
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "bnVsbA=="
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "aws_iam_user_policy_attachment",
|
||||
"name": "app_user_policy",
|
||||
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"id": "integreat-prod-cloud-20230319034219192000000003",
|
||||
"policy_arn": "arn:aws:iam::aws:policy/AdministratorAccess",
|
||||
"user": "integreat-prod-cloud"
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "bnVsbA==",
|
||||
"dependencies": [
|
||||
"aws_iam_user.app_user"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "aws_lb",
|
||||
"name": "integreat_app",
|
||||
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"access_logs": [
|
||||
{
|
||||
"bucket": "",
|
||||
"enabled": false,
|
||||
"prefix": ""
|
||||
}
|
||||
],
|
||||
"arn": "arn:aws:elasticloadbalancing:us-east-1:679918342773:loadbalancer/app/integreat-app-prod-cloud/ed5b70fcc043ff33",
|
||||
"arn_suffix": "app/integreat-app-prod-cloud/ed5b70fcc043ff33",
|
||||
"customer_owned_ipv4_pool": "",
|
||||
"desync_mitigation_mode": "defensive",
|
||||
"dns_name": "integreat-app-prod-cloud-522908474.us-east-1.elb.amazonaws.com",
|
||||
"drop_invalid_header_fields": false,
|
||||
"enable_cross_zone_load_balancing": true,
|
||||
"enable_deletion_protection": true,
|
||||
"enable_http2": true,
|
||||
"enable_waf_fail_open": false,
|
||||
"id": "arn:aws:elasticloadbalancing:us-east-1:679918342773:loadbalancer/app/integreat-app-prod-cloud/ed5b70fcc043ff33",
|
||||
"idle_timeout": 120,
|
||||
"internal": false,
|
||||
"ip_address_type": "ipv4",
|
||||
"load_balancer_type": "application",
|
||||
"name": "integreat-app-prod-cloud",
|
||||
"name_prefix": null,
|
||||
"security_groups": [
|
||||
"sg-0024906e0e1f78048"
|
||||
],
|
||||
"subnet_mapping": [
|
||||
{
|
||||
"allocation_id": "",
|
||||
"ipv6_address": "",
|
||||
"outpost_id": "",
|
||||
"private_ipv4_address": "",
|
||||
"subnet_id": "subnet-16161a39"
|
||||
},
|
||||
{
|
||||
"allocation_id": "",
|
||||
"ipv6_address": "",
|
||||
"outpost_id": "",
|
||||
"private_ipv4_address": "",
|
||||
"subnet_id": "subnet-323deb78"
|
||||
},
|
||||
{
|
||||
"allocation_id": "",
|
||||
"ipv6_address": "",
|
||||
"outpost_id": "",
|
||||
"private_ipv4_address": "",
|
||||
"subnet_id": "subnet-44c2774b"
|
||||
},
|
||||
{
|
||||
"allocation_id": "",
|
||||
"ipv6_address": "",
|
||||
"outpost_id": "",
|
||||
"private_ipv4_address": "",
|
||||
"subnet_id": "subnet-5e675761"
|
||||
},
|
||||
{
|
||||
"allocation_id": "",
|
||||
"ipv6_address": "",
|
||||
"outpost_id": "",
|
||||
"private_ipv4_address": "",
|
||||
"subnet_id": "subnet-8519fde2"
|
||||
},
|
||||
{
|
||||
"allocation_id": "",
|
||||
"ipv6_address": "",
|
||||
"outpost_id": "",
|
||||
"private_ipv4_address": "",
|
||||
"subnet_id": "subnet-89bab8d4"
|
||||
}
|
||||
],
|
||||
"subnets": [
|
||||
"subnet-16161a39",
|
||||
"subnet-323deb78",
|
||||
"subnet-44c2774b",
|
||||
"subnet-5e675761",
|
||||
"subnet-8519fde2",
|
||||
"subnet-89bab8d4"
|
||||
],
|
||||
"tags": {},
|
||||
"tags_all": {},
|
||||
"timeouts": null,
|
||||
"vpc_id": "vpc-b5b7d6ce",
|
||||
"zone_id": "Z35SXDOTRQ7X7K"
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH19"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "aws_lb_listener",
|
||||
"name": "http",
|
||||
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"alpn_policy": null,
|
||||
"arn": "arn:aws:elasticloadbalancing:us-east-1:679918342773:listener/app/integreat-app-prod-cloud/ed5b70fcc043ff33/81260a18d976c15d",
|
||||
"certificate_arn": null,
|
||||
"default_action": [
|
||||
{
|
||||
"authenticate_cognito": [],
|
||||
"authenticate_oidc": [],
|
||||
"fixed_response": [],
|
||||
"forward": [],
|
||||
"order": 1,
|
||||
"redirect": [
|
||||
{
|
||||
"host": "#{host}",
|
||||
"path": "/#{path}",
|
||||
"port": "443",
|
||||
"protocol": "HTTPS",
|
||||
"query": "#{query}",
|
||||
"status_code": "HTTP_301"
|
||||
}
|
||||
],
|
||||
"target_group_arn": "",
|
||||
"type": "redirect"
|
||||
}
|
||||
],
|
||||
"id": "arn:aws:elasticloadbalancing:us-east-1:679918342773:listener/app/integreat-app-prod-cloud/ed5b70fcc043ff33/81260a18d976c15d",
|
||||
"load_balancer_arn": "arn:aws:elasticloadbalancing:us-east-1:679918342773:loadbalancer/app/integreat-app-prod-cloud/ed5b70fcc043ff33",
|
||||
"port": 80,
|
||||
"protocol": "HTTP",
|
||||
"ssl_policy": "",
|
||||
"tags": {},
|
||||
"tags_all": {},
|
||||
"timeouts": {
|
||||
"read": null
|
||||
}
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsicmVhZCI6NjAwMDAwMDAwMDAwfX0=",
|
||||
"dependencies": [
|
||||
"aws_lb.integreat_app"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "aws_lb_listener_rule",
|
||||
"name": "static",
|
||||
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
|
||||
"instances": []
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "aws_lb_target_group",
|
||||
"name": "integreat_app",
|
||||
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"arn": "arn:aws:elasticloadbalancing:us-east-1:679918342773:targetgroup/integreat-app-prod-cloud/d176101bfa60e2e3",
|
||||
"arn_suffix": "targetgroup/integreat-app-prod-cloud/d176101bfa60e2e3",
|
||||
"connection_termination": false,
|
||||
"deregistration_delay": "120",
|
||||
"health_check": [
|
||||
{
|
||||
"enabled": true,
|
||||
"healthy_threshold": 2,
|
||||
"interval": 15,
|
||||
"matcher": "200",
|
||||
"path": "/api/health-check",
|
||||
"port": "traffic-port",
|
||||
"protocol": "HTTP",
|
||||
"timeout": 14,
|
||||
"unhealthy_threshold": 5
|
||||
}
|
||||
],
|
||||
"id": "arn:aws:elasticloadbalancing:us-east-1:679918342773:targetgroup/integreat-app-prod-cloud/d176101bfa60e2e3",
|
||||
"lambda_multi_value_headers_enabled": false,
|
||||
"load_balancing_algorithm_type": "round_robin",
|
||||
"name": "integreat-app-prod-cloud",
|
||||
"name_prefix": null,
|
||||
"port": 80,
|
||||
"preserve_client_ip": null,
|
||||
"protocol": "HTTP",
|
||||
"protocol_version": "HTTP1",
|
||||
"proxy_protocol_v2": false,
|
||||
"slow_start": 0,
|
||||
"stickiness": [
|
||||
{
|
||||
"cookie_duration": 86400,
|
||||
"cookie_name": "",
|
||||
"enabled": false,
|
||||
"type": "lb_cookie"
|
||||
}
|
||||
],
|
||||
"tags": {},
|
||||
"tags_all": {},
|
||||
"target_type": "ip",
|
||||
"vpc_id": "vpc-b5b7d6ce"
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "bnVsbA=="
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "aws_s3_bucket",
|
||||
"name": "data",
|
||||
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"acceleration_status": "",
|
||||
"acl": "private",
|
||||
"arn": "arn:aws:s3:::data.prod-cloud.app.integreatconsult.com",
|
||||
"bucket": "data.prod-cloud.app.integreatconsult.com",
|
||||
"bucket_domain_name": "data.prod-cloud.app.integreatconsult.com.s3.amazonaws.com",
|
||||
"bucket_prefix": null,
|
||||
"bucket_regional_domain_name": "data.prod-cloud.app.integreatconsult.com.s3.amazonaws.com",
|
||||
"cors_rule": [],
|
||||
"force_destroy": false,
|
||||
"grant": [],
|
||||
"hosted_zone_id": "Z3AQBSTGFYJSTF",
|
||||
"id": "data.prod-cloud.app.integreatconsult.com",
|
||||
"lifecycle_rule": [],
|
||||
"logging": [],
|
||||
"object_lock_configuration": [],
|
||||
"policy": "{\"Id\":\"Policy1526084187222\",\"Statement\":[{\"Action\":[\"s3:GetObject\"],\"Effect\":\"Allow\",\"Principal\":\"*\",\"Resource\":\"arn:aws:s3:::data.prod-cloud.app.integreatconsult.com/*\",\"Sid\":\"Stmt1526084185514\"},{\"Action\":\"s3:*\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::679918342773:role/datomic-ddb\"},\"Resource\":\"arn:aws:s3:::data.prod-cloud.app.integreatconsult.com\",\"Sid\":\"AllowReadForProd\"}],\"Version\":\"2012-10-17\"}",
|
||||
"region": "us-east-1",
|
||||
"replication_configuration": [],
|
||||
"request_payer": "BucketOwner",
|
||||
"server_side_encryption_configuration": [
|
||||
{
|
||||
"rule": [
|
||||
{
|
||||
"apply_server_side_encryption_by_default": [
|
||||
{
|
||||
"kms_master_key_id": "",
|
||||
"sse_algorithm": "AES256"
|
||||
}
|
||||
],
|
||||
"bucket_key_enabled": false
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"tags": {},
|
||||
"tags_all": {},
|
||||
"versioning": [
|
||||
{
|
||||
"enabled": false,
|
||||
"mfa_delete": false
|
||||
}
|
||||
],
|
||||
"website": [
|
||||
{
|
||||
"error_document": "",
|
||||
"index_document": "index.html",
|
||||
"redirect_all_requests_to": "",
|
||||
"routing_rules": ""
|
||||
}
|
||||
],
|
||||
"website_domain": "s3-website-us-east-1.amazonaws.com",
|
||||
"website_endpoint": "data.prod-cloud.app.integreatconsult.com.s3-website-us-east-1.amazonaws.com"
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "bnVsbA=="
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "aws_s3_bucket",
|
||||
"name": "invoices",
|
||||
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"acceleration_status": "",
|
||||
"acl": "private",
|
||||
"arn": "arn:aws:s3:::integreat-mail-prod-cloud",
|
||||
"bucket": "integreat-mail-prod-cloud",
|
||||
"bucket_domain_name": "integreat-mail-prod-cloud.s3.amazonaws.com",
|
||||
"bucket_prefix": null,
|
||||
"bucket_regional_domain_name": "integreat-mail-prod-cloud.s3.amazonaws.com",
|
||||
"cors_rule": [],
|
||||
"force_destroy": false,
|
||||
"grant": [],
|
||||
"hosted_zone_id": "Z3AQBSTGFYJSTF",
|
||||
"id": "integreat-mail-prod-cloud",
|
||||
"lifecycle_rule": [],
|
||||
"logging": [],
|
||||
"object_lock_configuration": [],
|
||||
"policy": "{\"Statement\":[{\"Action\":\"s3:PutObject\",\"Condition\":{\"StringEquals\":{\"aws:Referer\":\"679918342773\"}},\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"ses.amazonaws.com\"},\"Resource\":\"arn:aws:s3:::integreat-mail-prod-cloud/*\",\"Sid\":\"AllowSESPuts\"}],\"Version\":\"2012-10-17\"}",
|
||||
"region": "us-east-1",
|
||||
"replication_configuration": [],
|
||||
"request_payer": "BucketOwner",
|
||||
"server_side_encryption_configuration": [
|
||||
{
|
||||
"rule": [
|
||||
{
|
||||
"apply_server_side_encryption_by_default": [
|
||||
{
|
||||
"kms_master_key_id": "",
|
||||
"sse_algorithm": "AES256"
|
||||
}
|
||||
],
|
||||
"bucket_key_enabled": false
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"tags": {},
|
||||
"tags_all": {},
|
||||
"versioning": [
|
||||
{
|
||||
"enabled": false,
|
||||
"mfa_delete": false
|
||||
}
|
||||
],
|
||||
"website": [],
|
||||
"website_domain": null,
|
||||
"website_endpoint": null
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "bnVsbA==",
|
||||
"dependencies": [
|
||||
"data.aws_caller_identity.current"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "aws_s3_bucket",
|
||||
"name": "static",
|
||||
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"acceleration_status": "",
|
||||
"acl": "private",
|
||||
"arn": "arn:aws:s3:::cloud.app.integreatconsult.com",
|
||||
"bucket": "cloud.app.integreatconsult.com",
|
||||
"bucket_domain_name": "cloud.app.integreatconsult.com.s3.amazonaws.com",
|
||||
"bucket_prefix": null,
|
||||
"bucket_regional_domain_name": "cloud.app.integreatconsult.com.s3.amazonaws.com",
|
||||
"cors_rule": [
|
||||
{
|
||||
"allowed_headers": [
|
||||
"*"
|
||||
],
|
||||
"allowed_methods": [
|
||||
"PUT",
|
||||
"POST",
|
||||
"DELETE",
|
||||
"GET"
|
||||
],
|
||||
"allowed_origins": [
|
||||
"https://cloud.app.integreatconsult.com"
|
||||
],
|
||||
"expose_headers": [],
|
||||
"max_age_seconds": 0
|
||||
}
|
||||
],
|
||||
"force_destroy": false,
|
||||
"grant": [],
|
||||
"hosted_zone_id": "Z3AQBSTGFYJSTF",
|
||||
"id": "cloud.app.integreatconsult.com",
|
||||
"lifecycle_rule": [],
|
||||
"logging": [],
|
||||
"object_lock_configuration": [],
|
||||
"policy": "{\"Id\":\"Policy1526084187222\",\"Statement\":[{\"Action\":[\"s3:GetObject\"],\"Effect\":\"Allow\",\"Principal\":\"*\",\"Resource\":\"arn:aws:s3:::cloud.app.integreatconsult.com/*\",\"Sid\":\"Stmt1526084185514\"}],\"Version\":\"2012-10-17\"}",
|
||||
"region": "us-east-1",
|
||||
"replication_configuration": [],
|
||||
"request_payer": "BucketOwner",
|
||||
"server_side_encryption_configuration": [
|
||||
{
|
||||
"rule": [
|
||||
{
|
||||
"apply_server_side_encryption_by_default": [
|
||||
{
|
||||
"kms_master_key_id": "",
|
||||
"sse_algorithm": "AES256"
|
||||
}
|
||||
],
|
||||
"bucket_key_enabled": false
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"tags": {},
|
||||
"tags_all": {},
|
||||
"versioning": [
|
||||
{
|
||||
"enabled": false,
|
||||
"mfa_delete": false
|
||||
}
|
||||
],
|
||||
"website": [
|
||||
{
|
||||
"error_document": "",
|
||||
"index_document": "index.html",
|
||||
"redirect_all_requests_to": "",
|
||||
"routing_rules": ""
|
||||
}
|
||||
],
|
||||
"website_domain": "s3-website-us-east-1.amazonaws.com",
|
||||
"website_endpoint": "cloud.app.integreatconsult.com.s3-website-us-east-1.amazonaws.com"
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "bnVsbA=="
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "aws_s3_bucket_notification",
|
||||
"name": "mail_bucket_notification",
|
||||
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"bucket": "integreat-mail-prod-cloud",
|
||||
"id": "integreat-mail-prod-cloud",
|
||||
"lambda_function": [],
|
||||
"queue": [
|
||||
{
|
||||
"events": [
|
||||
"s3:ObjectCreated:*"
|
||||
],
|
||||
"filter_prefix": "",
|
||||
"filter_suffix": "",
|
||||
"id": "tf-s3-queue-20230319034251717400000005",
|
||||
"queue_arn": "arn:aws:sqs:us-east-1:679918342773:integreat-mail-prod-cloud"
|
||||
}
|
||||
],
|
||||
"topic": []
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "bnVsbA==",
|
||||
"dependencies": [
|
||||
"aws_s3_bucket.invoices",
|
||||
"aws_sqs_queue.integreat-mail",
|
||||
"data.aws_caller_identity.current"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "aws_service_discovery_service",
|
||||
"name": "service",
|
||||
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"arn": "arn:aws:servicediscovery:us-east-1:679918342773:service/srv-cmwdohq6dvf3pbjv",
|
||||
"description": "",
|
||||
"dns_config": [
|
||||
{
|
||||
"dns_records": [
|
||||
{
|
||||
"ttl": 10,
|
||||
"type": "A"
|
||||
}
|
||||
],
|
||||
"namespace_id": "ns-gv2z744em7myo2jp",
|
||||
"routing_policy": "MULTIVALUE"
|
||||
}
|
||||
],
|
||||
"force_destroy": false,
|
||||
"health_check_config": [],
|
||||
"health_check_custom_config": [
|
||||
{
|
||||
"failure_threshold": 1
|
||||
}
|
||||
],
|
||||
"id": "srv-cmwdohq6dvf3pbjv",
|
||||
"name": "integreat-app-prod-cloud",
|
||||
"namespace_id": "ns-gv2z744em7myo2jp",
|
||||
"tags": {},
|
||||
"tags_all": {}
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "bnVsbA=="
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "aws_ses_receipt_rule",
|
||||
"name": "store",
|
||||
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
|
||||
"instances": []
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "aws_sqs_queue",
|
||||
"name": "background-request",
|
||||
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"arn": "arn:aws:sqs:us-east-1:679918342773:integreat-background-request-prod-cloud",
|
||||
"content_based_deduplication": false,
|
||||
"deduplication_scope": "",
|
||||
"delay_seconds": 0,
|
||||
"fifo_queue": false,
|
||||
"fifo_throughput_limit": "",
|
||||
"id": "https://sqs.us-east-1.amazonaws.com/679918342773/integreat-background-request-prod-cloud",
|
||||
"kms_data_key_reuse_period_seconds": 300,
|
||||
"kms_master_key_id": "",
|
||||
"max_message_size": 262144,
|
||||
"message_retention_seconds": 345600,
|
||||
"name": "integreat-background-request-prod-cloud",
|
||||
"name_prefix": "",
|
||||
"policy": "{\"Statement\":[{\"Action\":\"sqs:*\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::679918342773:role/datomic-ddb\"},\"Resource\":\"arn:aws:sqs:*:*:integreat-background-request-prod-cloud\"}],\"Version\":\"2012-10-17\"}",
|
||||
"receive_wait_time_seconds": 0,
|
||||
"redrive_policy": "",
|
||||
"sqs_managed_sse_enabled": false,
|
||||
"tags": {},
|
||||
"tags_all": {},
|
||||
"url": "https://sqs.us-east-1.amazonaws.com/679918342773/integreat-background-request-prod-cloud",
|
||||
"visibility_timeout_seconds": 30
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "bnVsbA=="
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "aws_sqs_queue",
|
||||
"name": "integreat-mail",
|
||||
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"arn": "arn:aws:sqs:us-east-1:679918342773:integreat-mail-prod-cloud",
|
||||
"content_based_deduplication": false,
|
||||
"deduplication_scope": "",
|
||||
"delay_seconds": 0,
|
||||
"fifo_queue": false,
|
||||
"fifo_throughput_limit": "",
|
||||
"id": "https://sqs.us-east-1.amazonaws.com/679918342773/integreat-mail-prod-cloud",
|
||||
"kms_data_key_reuse_period_seconds": 300,
|
||||
"kms_master_key_id": "",
|
||||
"max_message_size": 262144,
|
||||
"message_retention_seconds": 345600,
|
||||
"name": "integreat-mail-prod-cloud",
|
||||
"name_prefix": "",
|
||||
"policy": "{\"Statement\":[{\"Action\":\"sqs:SendMessage\",\"Condition\":{\"ArnEquals\":{\"aws:SourceArn\":\"arn:aws:s3:::integreat-mail-prod-cloud\"}},\"Effect\":\"Allow\",\"Principal\":\"*\",\"Resource\":\"arn:aws:sqs:*:*:integreat-mail-prod-cloud\"}],\"Version\":\"2012-10-17\"}",
|
||||
"receive_wait_time_seconds": 0,
|
||||
"redrive_policy": "",
|
||||
"sqs_managed_sse_enabled": false,
|
||||
"tags": {},
|
||||
"tags_all": {},
|
||||
"url": "https://sqs.us-east-1.amazonaws.com/679918342773/integreat-mail-prod-cloud",
|
||||
"visibility_timeout_seconds": 30
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "bnVsbA==",
|
||||
"dependencies": [
|
||||
"aws_s3_bucket.invoices",
|
||||
"data.aws_caller_identity.current"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "aws_sqs_queue",
|
||||
"name": "integreat-scheduled-jobs",
|
||||
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"arn": "arn:aws:sqs:us-east-1:679918342773:integreat-scheduled-jobs-prod-cloud",
|
||||
"content_based_deduplication": false,
|
||||
"deduplication_scope": "",
|
||||
"delay_seconds": 0,
|
||||
"fifo_queue": false,
|
||||
"fifo_throughput_limit": "",
|
||||
"id": "https://sqs.us-east-1.amazonaws.com/679918342773/integreat-scheduled-jobs-prod-cloud",
|
||||
"kms_data_key_reuse_period_seconds": 300,
|
||||
"kms_master_key_id": "",
|
||||
"max_message_size": 262144,
|
||||
"message_retention_seconds": 345600,
|
||||
"name": "integreat-scheduled-jobs-prod-cloud",
|
||||
"name_prefix": "",
|
||||
"policy": "{\"Statement\":[{\"Action\":\"sqs:*\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::679918342773:role/datomic-ddb\"},\"Resource\":\"arn:aws:sqs:*:*:integreat-scheduled-jobs-prod-cloud\"}],\"Version\":\"2012-10-17\"}",
|
||||
"receive_wait_time_seconds": 0,
|
||||
"redrive_policy": "",
|
||||
"sqs_managed_sse_enabled": false,
|
||||
"tags": {},
|
||||
"tags_all": {},
|
||||
"url": "https://sqs.us-east-1.amazonaws.com/679918342773/integreat-scheduled-jobs-prod-cloud",
|
||||
"visibility_timeout_seconds": 30
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "bnVsbA=="
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"check_results": null
|
||||
}
|
||||
Reference in New Issue
Block a user