makes solr ec2 based and adds resiliency to running balances.
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
{:db {:server "database"}
|
||||
:datomic-url "datomic:ddb://us-east-1/integreat/integreat-prod"
|
||||
:base-url "https://app.integreatconsult.com"
|
||||
:solr-uri "http://solr-prod.local:8983"
|
||||
:solr-uri "http://solr-ec2-prod.local:8983"
|
||||
:solr-impl :solr
|
||||
:scheme "https"
|
||||
:dd-env "prod"
|
||||
|
||||
@@ -667,6 +667,7 @@
|
||||
:db/cardinality :db.cardinality/one
|
||||
:db/doc "Last time Quickbooks updated",
|
||||
:db/ident :intuit-bank-account/last-synced}
|
||||
{:db/ident :unknown-account}
|
||||
|
||||
{:db/unique #:db{:ident :db.unique/identity},
|
||||
:db/valueType #:db{:ident :db.type/long},
|
||||
|
||||
@@ -622,6 +622,31 @@
|
||||
(range length)))]
|
||||
(sort comparator results)))
|
||||
|
||||
;; TODO replace COULD JUST BE SORT-3
|
||||
(defn apply-sort-4 [args results]
|
||||
|
||||
(let [sort-bys (-> []
|
||||
(into (:sort args))
|
||||
(conj {:sort-key "default" :asc (if (contains? args :default-asc?)
|
||||
(:default-asc? args)
|
||||
true)})
|
||||
(conj {:sort-key "e" :asc true}))
|
||||
length (count sort-bys)
|
||||
comparator (fn [xs ys]
|
||||
(reduce
|
||||
(fn [_ i]
|
||||
|
||||
(let [comparison (if (:asc (nth sort-bys i))
|
||||
(compare (nth xs i) (nth ys i))
|
||||
(compare (nth ys i) (nth xs i)))]
|
||||
|
||||
(if (not= 0 comparison)
|
||||
(reduced comparison)
|
||||
0)))
|
||||
0
|
||||
(range length)))]
|
||||
(sort comparator results)))
|
||||
|
||||
(defn apply-pagination-raw [args results]
|
||||
{:entries (->> results
|
||||
(drop (or (:start args) 0))
|
||||
|
||||
@@ -95,8 +95,7 @@
|
||||
(for [a (:accounts accounts)]
|
||||
(remove-nils
|
||||
{:plaid-account/external-id (:account_id a)
|
||||
:plaid-account/last-synced (coerce/to-date (coerce/to-date-time (-> item :status :transactions :last_successful_update)))
|
||||
:plaid-account/balance (or (some-> a
|
||||
:plaid-account/last-synced (coerce/to-date (coerce/to-date-time (-> item :status :transactions :last_successful_update))) :plaid-account/balance (or (some-> a
|
||||
:balances
|
||||
:current
|
||||
double)
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
(:require
|
||||
[auto-ap.datomic :refer [conn pull-id pull-ref transact-with-backoff]]
|
||||
[auto-ap.utils :refer [by dollars= heartbeat]]
|
||||
[auto-ap.logging :as alog]
|
||||
[clj-time.coerce :as c]
|
||||
[clj-time.core :as t]
|
||||
[com.brunobonacci.mulog :as mu]
|
||||
@@ -324,7 +325,9 @@
|
||||
({:bank-account-type/check :account-type/asset
|
||||
:bank-account-type/cash :account-type/asset
|
||||
:bank-account-type/credit :account-type/liability}
|
||||
(:db/ident (:bank-account/type (bank-accounts a)))))
|
||||
(:db/ident (:bank-account/type (bank-accounts a))))
|
||||
:account-type/asset ;; DEFAULT TO ASSET, for things like unknown
|
||||
)
|
||||
:numeric_code (or (:account/numeric-code (accounts a))
|
||||
(:bank-account/numeric-code (bank-accounts a)))
|
||||
:client_id client-id})))
|
||||
@@ -394,120 +397,134 @@
|
||||
(do (println (count a))
|
||||
(count a)))))
|
||||
|
||||
|
||||
|
||||
(defn accounts-needing-rebuild [ db client]
|
||||
(let [client (pull-id db client)]
|
||||
(->> (dc/qseq {:query '[:find ?c ?a ?l (min ?d)
|
||||
(->> (dc/qseq {:query '[:find ?c ?a ?l
|
||||
:in $ $recent ?c
|
||||
:where
|
||||
[$recent ?jel :journal-entry-line/dirty true]
|
||||
[?jel :journal-entry-line/account ?a]
|
||||
[?jel :journal-entry-line/location ?l]
|
||||
[?je :journal-entry/line-items ?jel]
|
||||
[?je :journal-entry/client ?c]
|
||||
[?je :journal-entry/date ?d]]
|
||||
[(get-else $ ?jel :journal-entry-line/account :unknown-account) ?a]
|
||||
[(get-else $ ?jel :journal-entry-line/location "Unknown") ?l]]
|
||||
:args [db (dc/since db (c/to-date (t/plus (t/now) (t/hours -8)))) client]})
|
||||
(map (fn [[client account location starting-at ]]
|
||||
(map (fn [[client account location]]
|
||||
{:client client
|
||||
:account account
|
||||
:starting-at starting-at
|
||||
:location location})))))
|
||||
|
||||
(defn all-accounts-needing-rebuild [ db client]
|
||||
(let [client (pull-id db client)]
|
||||
(->> (dc/qseq {:query '[:find ?c ?a ?l (min ?d)
|
||||
(->> (dc/qseq {:query '[:find ?c ?a ?l
|
||||
:in $ ?c
|
||||
:where
|
||||
[?je :journal-entry/client ?c]
|
||||
[?je :journal-entry/line-items ?jel]
|
||||
[?jel :journal-entry-line/account ?a]
|
||||
[?jel :journal-entry-line/location ?l]
|
||||
[?je :journal-entry/date ?d]]
|
||||
[(get-else $ ?jel :journal-entry-line/account :unknown-account) ?a]
|
||||
[(get-else $ ?jel :journal-entry-line/location "Unknown") ?l] ]
|
||||
:args [db client]})
|
||||
(map (fn [[client account location starting-at ]]
|
||||
(map (fn [[client account location ]]
|
||||
{:client client
|
||||
:account account
|
||||
:starting-at starting-at
|
||||
:location location})))))
|
||||
|
||||
(defn find-running-balance-start [{:keys [client account location starting-at]} db ]
|
||||
(defn get-entries-to-refresh [{:keys [client account location]} db ]
|
||||
(let [client (pull-id db client)
|
||||
account (pull-id db account)]
|
||||
(or
|
||||
(->> (dc/index-pull db
|
||||
{:index :avet
|
||||
:selector [:db/id :journal-entry-line/running-balance :journal-entry-line/client+account+location+date]
|
||||
:start [:journal-entry-line/client+account+location+date [client account location starting-at]]
|
||||
:reverse true})
|
||||
(take-while (fn [result]
|
||||
(= [client
|
||||
account
|
||||
location]
|
||||
(take 3 (:journal-entry-line/client+account+location+date result)))))
|
||||
(take 5)
|
||||
(drop-while (fn [{[_ _ _ date] :journal-entry-line/client+account+location+date}]
|
||||
(>= (compare date starting-at) 0)))
|
||||
first
|
||||
:journal-entry-line/running-balance)
|
||||
0.0)))
|
||||
account-id (if (= :unknown-account account)
|
||||
nil
|
||||
(pull-id db account))
|
||||
matching-location (if (= "Unknown" location)
|
||||
nil
|
||||
location)]
|
||||
|
||||
(defn get-dirty-entries [{:keys [client account location starting-at]} db ]
|
||||
(let [client (pull-id db client)
|
||||
account (pull-id db account)]
|
||||
(into []
|
||||
(comp
|
||||
(take-while (fn [{[result-client result-account result-location] :journal-entry-line/client+account+location+date}]
|
||||
(and
|
||||
(= client result-client)
|
||||
(= account result-account)
|
||||
(= location result-location))))
|
||||
(= account-id result-account)
|
||||
(= matching-location result-location))))
|
||||
(map (fn [result]
|
||||
[(:db/id result) (:journal-entry-line/debit result 0.0) (:journal-entry-line/credit result 0.0) ])))
|
||||
[(:db/id result) (:journal-entry-line/debit result 0.0) (:journal-entry-line/credit result 0.0) (:journal-entry-line/running-balance result 0.0) (:journal-entry-line/dirty result)])))
|
||||
(dc/index-pull db
|
||||
{:index :avet
|
||||
:selector [:db/id :journal-entry-line/debit :journal-entry-line/credit :journal-entry-line/client+account+location+date]
|
||||
:selector [:db/id :journal-entry-line/debit :journal-entry-line/credit :journal-entry-line/client+account+location+date :journal-entry-line/running-balance :journal-entry-line/dirty]
|
||||
:start [:journal-entry-line/client+account+location+date
|
||||
[client account location starting-at]]
|
||||
|
||||
}))))
|
||||
[client
|
||||
account-id
|
||||
matching-location
|
||||
#inst "0001-01-01" ]] }))))
|
||||
|
||||
(defn compute-running-balance [account-needing-refresh]
|
||||
(mu/trace ::compute
|
||||
[:dirty-count (count (:dirty-entries account-needing-refresh))]
|
||||
(when (= 0 (count (:dirty-entries account-needing-refresh)))
|
||||
(alog/warn ::no-entries-to-compute
|
||||
:message "This typically means that an account is determined to be dirty, but no entries are found, meaning bad query"))
|
||||
(second
|
||||
(reduce
|
||||
(fn [[running-balance rows] [id debit credit] ]
|
||||
(fn [[running-balance changed-rows] [id debit credit extant-running-balance dirty] ]
|
||||
(let [new-running-balance (+ running-balance
|
||||
(if (#{:account-type/asset
|
||||
:account-type/dividend
|
||||
:account-type/expense} (:account-type account-needing-refresh))
|
||||
(- debit credit)
|
||||
(- credit debit)))]
|
||||
(- credit debit)))
|
||||
row-changed? (or (not (dollars= new-running-balance extant-running-balance))
|
||||
dirty)]
|
||||
[new-running-balance
|
||||
(conj rows
|
||||
(conj changed-rows
|
||||
{:db/id id
|
||||
:journal-entry-line/running-balance new-running-balance
|
||||
:journal-entry-line/dirty false})]))
|
||||
|
||||
[(:build-from account-needing-refresh) []]
|
||||
:journal-entry-line/debit debit
|
||||
:journal-entry-line/credit credit
|
||||
:journal-entry-line/dirty false})
|
||||
#_(if row-changed?
|
||||
(conj changed-rows
|
||||
{:db/id id
|
||||
:journal-entry-line/running-balance new-running-balance
|
||||
:journal-entry-line/debit debit
|
||||
:journal-entry-line/credit credit
|
||||
:journal-entry-line/dirty false})
|
||||
changed-rows)]))
|
||||
[0.0 []]
|
||||
(:dirty-entries account-needing-refresh)))))
|
||||
|
||||
(let [db (dc/db conn)
|
||||
account-needing-rebuild
|
||||
{:account (pull-id (dc/db conn) [:bank-account/code "SCCB-2888CB"])
|
||||
:client (pull-id (dc/db conn) [:client/code "SCCB"])
|
||||
:location "A"}
|
||||
|
||||
result (-> account-needing-rebuild
|
||||
(assoc :dirty-entries (get-entries-to-refresh account-needing-rebuild db))
|
||||
(assoc :account-type (:account_type ((build-account-lookup (:client account-needing-rebuild)) (:account account-needing-rebuild))))
|
||||
(compute-running-balance))]
|
||||
(alog/info ::recomputed-entries-with-new-sum :count (count result))
|
||||
result)
|
||||
|
||||
(defn refresh-running-balance-accounts [accounts-needing-rebuild clients c i db]
|
||||
|
||||
(mu/log ::found-accounts-needing-rebuild
|
||||
:accounts (count accounts-needing-rebuild))
|
||||
(let [so-far (atom 0)]
|
||||
@(->> accounts-needing-rebuild
|
||||
(s/->source)
|
||||
(s/map (fn [account-needing-rebuild]
|
||||
(->
|
||||
(de/future
|
||||
(mu/with-context {:account account-needing-rebuild}
|
||||
(-> account-needing-rebuild
|
||||
(assoc :build-from (find-running-balance-start account-needing-rebuild db))
|
||||
(assoc :dirty-entries (get-dirty-entries account-needing-rebuild db))
|
||||
(let [result (-> account-needing-rebuild
|
||||
(assoc :dirty-entries (get-entries-to-refresh account-needing-rebuild db))
|
||||
(assoc :account-type (:account_type ((build-account-lookup (:client account-needing-rebuild)) (:account account-needing-rebuild))))
|
||||
(compute-running-balance))))))
|
||||
(compute-running-balance))]
|
||||
(alog/info ::recomputed-entries-with-new-sum :count (count result) )
|
||||
result)
|
||||
))
|
||||
(de/catch (fn [error]
|
||||
(alog/error ::cant-rebuild
|
||||
:error error)
|
||||
nil)))))
|
||||
(s/realize-each)
|
||||
(s/mapcat (fn [x]
|
||||
x))
|
||||
@@ -528,17 +545,21 @@
|
||||
:client-index i
|
||||
:client-count (count clients)))))))
|
||||
|
||||
|
||||
(defn clients-needing-refresh []
|
||||
(map first
|
||||
(dc/q '[:find (pull ?c [:client/code :db/id])
|
||||
(->>
|
||||
(dc/q '[:find (pull ?c [:client/code :db/id]) (count ?jel)
|
||||
:in $ $recent
|
||||
:where [$recent ?jel :journal-entry-line/dirty true]
|
||||
[$ ?je :journal-entry/line-items ?jel]
|
||||
[$ ?je :journal-entry/client ?c]]
|
||||
[$ ?je :journal-entry/client ?c]
|
||||
[$ ?jel :journal-entry-line/dirty true]]
|
||||
(dc/db conn)
|
||||
(dc/since
|
||||
(dc/db conn)
|
||||
(c/to-date (t/plus (t/now) (t/hours -4)))))))
|
||||
(c/to-date (t/plus (t/now) (t/hours -8)))))
|
||||
(map (fn [[client outdated]]
|
||||
(assoc client :dirty-count outdated)))))
|
||||
|
||||
(defn refresh-running-balance-cache
|
||||
([] (refresh-running-balance-cache (shuffle (clients-needing-refresh))))
|
||||
@@ -575,6 +596,30 @@
|
||||
(refresh-running-balance-accounts accounts-needing-rebuild clients c i db)
|
||||
(mu/log ::client-completed))))))))
|
||||
|
||||
#_(seq (dc/q '[:find ?le ?d
|
||||
:in $
|
||||
:where [?le :journal-entry/date ?d]
|
||||
[(<= ?d #inst "2000-01-01")]]
|
||||
(dc/db conn)))
|
||||
|
||||
|
||||
#_(comment [17592334354011 #inst "0024-08-03T07:52:58.000-00:00"]
|
||||
[17592302554688 #inst "0023-07-20T07:52:58.000-00:00"]
|
||||
[17592302554682 #inst "0023-07-16T07:52:58.000-00:00"]
|
||||
[17592302554691 #inst "0023-07-22T07:52:58.000-00:00"]
|
||||
[17592334353995 #inst "0024-08-10T07:52:58.000-00:00"]
|
||||
[17592302554694 #inst "0023-07-27T07:52:58.000-00:00"]
|
||||
[17592241669405 #inst "0218-08-04T07:52:58.000-00:00"]
|
||||
[17592334353207 #inst "0024-07-27T07:52:58.000-00:00"]
|
||||
[17592302554685 #inst "0023-07-16T07:52:58.000-00:00"]
|
||||
[17592334353244 #inst "0024-07-14T07:52:58.000-00:00"])
|
||||
|
||||
;; TODO
|
||||
;; 1. Having an uncategorized running balance
|
||||
;; 1a. dirty should always be 0
|
||||
;; 2. rebuild from beginning of history always, only update entry if it currently doesn't match
|
||||
;; 3. deterministic order (date + entityid)
|
||||
|
||||
;; TODO only enable once IOL is set up in clod
|
||||
#_{:clj-kondo/ignore [:clojure-lsp/unused-public-var]}
|
||||
(mount/defstate running-balance-cache-worker
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
(ns auto-ap.ssr.ledger
|
||||
(:require [auto-ap.client-routes :as client-routes]
|
||||
[auto-ap.datomic
|
||||
:refer [add-sorter-fields apply-pagination apply-sort-3
|
||||
:refer [add-sorter-fields apply-pagination apply-sort-4
|
||||
audit-transact audit-transact-batch conn merge-query
|
||||
observable-query pull-many remove-nils]]
|
||||
[auto-ap.datomic.accounts :as d-accounts]
|
||||
@@ -289,7 +289,7 @@
|
||||
(merge-query {:query {:find ['?sort-default '?e]}})))]
|
||||
|
||||
(->> (observable-query query)
|
||||
(apply-sort-3 (assoc query-params :default-asc? true))
|
||||
(apply-sort-4 (assoc query-params :default-asc? true))
|
||||
(apply-pagination query-params))))
|
||||
|
||||
(def default-read
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"version": 4,
|
||||
"terraform_version": "1.8.3",
|
||||
"serial": 693,
|
||||
"terraform_version": "1.9.2",
|
||||
"serial": 712,
|
||||
"lineage": "9b630886-8cee-a57d-c7a2-4f19f13f9c51",
|
||||
"outputs": {
|
||||
"aws_access_key_id": {
|
||||
@@ -18,12 +18,107 @@
|
||||
"type": "string",
|
||||
"sensitive": true
|
||||
},
|
||||
"ec2_public_ip": {
|
||||
"value": "54.175.3.15",
|
||||
"type": "string"
|
||||
},
|
||||
"queue_url": {
|
||||
"value": "https://sqs.us-east-1.amazonaws.com/679918342773/integreat-mail-prod",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"resources": [
|
||||
{
|
||||
"mode": "data",
|
||||
"type": "aws_ami",
|
||||
"name": "amazon_linux_2023",
|
||||
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"architecture": "arm64",
|
||||
"arn": "arn:aws:ec2:us-east-1::image/ami-0fea1219385942eb5",
|
||||
"block_device_mappings": [
|
||||
{
|
||||
"device_name": "/dev/xvda",
|
||||
"ebs": {
|
||||
"delete_on_termination": "true",
|
||||
"encrypted": "false",
|
||||
"iops": "3000",
|
||||
"snapshot_id": "snap-0631ed3b265acda34",
|
||||
"throughput": "125",
|
||||
"volume_size": "30",
|
||||
"volume_type": "gp3"
|
||||
},
|
||||
"no_device": "",
|
||||
"virtual_name": ""
|
||||
}
|
||||
],
|
||||
"boot_mode": "uefi",
|
||||
"creation_date": "2024-09-17T21:17:56.000Z",
|
||||
"deprecation_time": "2026-09-17T21:17:56.000Z",
|
||||
"description": "Amazon Linux AMI 2023.0.20240917 arm64 ECS HVM EBS",
|
||||
"ena_support": true,
|
||||
"executable_users": null,
|
||||
"filter": [
|
||||
{
|
||||
"name": "architecture",
|
||||
"values": [
|
||||
"arm64"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "name",
|
||||
"values": [
|
||||
"al2023-ami-*"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "virtualization-type",
|
||||
"values": [
|
||||
"hvm"
|
||||
]
|
||||
}
|
||||
],
|
||||
"hypervisor": "xen",
|
||||
"id": "ami-0fea1219385942eb5",
|
||||
"image_id": "ami-0fea1219385942eb5",
|
||||
"image_location": "amazon/al2023-ami-ecs-hvm-2023.0.20240917-kernel-6.1-arm64",
|
||||
"image_owner_alias": "amazon",
|
||||
"image_type": "machine",
|
||||
"imds_support": "v2.0",
|
||||
"include_deprecated": false,
|
||||
"kernel_id": "",
|
||||
"most_recent": true,
|
||||
"name": "al2023-ami-ecs-hvm-2023.0.20240917-kernel-6.1-arm64",
|
||||
"name_regex": null,
|
||||
"owner_id": "591542846629",
|
||||
"owners": null,
|
||||
"platform": "",
|
||||
"platform_details": "Linux/UNIX",
|
||||
"product_codes": [],
|
||||
"public": true,
|
||||
"ramdisk_id": "",
|
||||
"root_device_name": "/dev/xvda",
|
||||
"root_device_type": "ebs",
|
||||
"root_snapshot_id": "snap-0631ed3b265acda34",
|
||||
"sriov_net_support": "simple",
|
||||
"state": "available",
|
||||
"state_reason": {
|
||||
"code": "UNSET",
|
||||
"message": "UNSET"
|
||||
},
|
||||
"tags": {},
|
||||
"timeouts": null,
|
||||
"tpm_support": "",
|
||||
"usage_operation": "RunInstances",
|
||||
"virtualization_type": "hvm"
|
||||
},
|
||||
"sensitive_attributes": []
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "data",
|
||||
"type": "aws_caller_identity",
|
||||
@@ -115,8 +210,8 @@
|
||||
"early_renewal_duration": "",
|
||||
"id": "arn:aws:acm:us-east-1:679918342773:certificate/edf1d7f0-8358-4a40-a44f-3ccdb81da12f",
|
||||
"key_algorithm": "RSA_2048",
|
||||
"not_after": "2024-07-27T23:59:59Z",
|
||||
"not_before": "2023-06-29T00:00:00Z",
|
||||
"not_after": "2025-06-27T23:59:59Z",
|
||||
"not_before": "2024-05-29T00:00:00Z",
|
||||
"options": [
|
||||
{
|
||||
"certificate_transparency_logging_preference": "ENABLED"
|
||||
@@ -129,7 +224,7 @@
|
||||
{
|
||||
"renewal_status": "SUCCESS",
|
||||
"renewal_status_reason": "",
|
||||
"updated_at": "2023-06-29T04:17:46Z"
|
||||
"updated_at": "2024-05-29T05:27:07Z"
|
||||
}
|
||||
],
|
||||
"status": "ISSUED",
|
||||
@@ -180,8 +275,8 @@
|
||||
"early_renewal_duration": "",
|
||||
"id": "arn:aws:acm:us-east-1:679918342773:certificate/9dce79fb-fc06-438b-8188-f54313b5161a",
|
||||
"key_algorithm": "RSA_2048",
|
||||
"not_after": "2024-09-01T23:59:59Z",
|
||||
"not_before": "2023-08-04T00:00:00Z",
|
||||
"not_after": "2025-08-03T23:59:59Z",
|
||||
"not_before": "2024-07-04T00:00:00Z",
|
||||
"options": [
|
||||
{
|
||||
"certificate_transparency_logging_preference": "ENABLED"
|
||||
@@ -190,7 +285,13 @@
|
||||
"pending_renewal": false,
|
||||
"private_key": null,
|
||||
"renewal_eligibility": "ELIGIBLE",
|
||||
"renewal_summary": [],
|
||||
"renewal_summary": [
|
||||
{
|
||||
"renewal_status": "SUCCESS",
|
||||
"renewal_status_reason": "",
|
||||
"updated_at": "2024-07-04T02:01:27Z"
|
||||
}
|
||||
],
|
||||
"status": "ISSUED",
|
||||
"subject_alternative_names": [
|
||||
"data.prod.app.integreatconsult.com"
|
||||
@@ -214,6 +315,45 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "aws_ebs_volume",
|
||||
"name": "solr_ec2_storage",
|
||||
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"arn": "arn:aws:ec2:us-east-1:679918342773:volume/vol-0069283d41ff6c010",
|
||||
"availability_zone": "us-east-1a",
|
||||
"encrypted": false,
|
||||
"final_snapshot": false,
|
||||
"id": "vol-0069283d41ff6c010",
|
||||
"iops": 100,
|
||||
"kms_key_id": "",
|
||||
"multi_attach_enabled": false,
|
||||
"outpost_arn": "",
|
||||
"size": 30,
|
||||
"snapshot_id": "",
|
||||
"tags": {
|
||||
"Name": "solr_storage_prod"
|
||||
},
|
||||
"tags_all": {
|
||||
"Name": "solr_storage_prod"
|
||||
},
|
||||
"throughput": 0,
|
||||
"timeouts": null,
|
||||
"type": "gp2"
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMDAsImRlbGV0ZSI6MzAwMDAwMDAwMDAwLCJ1cGRhdGUiOjMwMDAwMDAwMDAwMH19",
|
||||
"dependencies": [
|
||||
"aws_instance.solr_ec2",
|
||||
"data.aws_ami.amazon_linux_2023"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "aws_ecs_service",
|
||||
@@ -295,7 +435,7 @@
|
||||
],
|
||||
"tags": {},
|
||||
"tags_all": {},
|
||||
"task_definition": "arn:aws:ecs:us-east-1:679918342773:task-definition/integreat_app_prod:789",
|
||||
"task_definition": "arn:aws:ecs:us-east-1:679918342773:task-definition/integreat_app_prod:834",
|
||||
"timeouts": {
|
||||
"create": null,
|
||||
"delete": null,
|
||||
@@ -385,7 +525,7 @@
|
||||
],
|
||||
"tags": {},
|
||||
"tags_all": {},
|
||||
"task_definition": "arn:aws:ecs:us-east-1:679918342773:task-definition/solr_prod:2",
|
||||
"task_definition": "arn:aws:ecs:us-east-1:679918342773:task-definition/solr_prod:4",
|
||||
"timeouts": {
|
||||
"create": null,
|
||||
"delete": null,
|
||||
@@ -527,9 +667,9 @@
|
||||
"provisioned_throughput_in_mibps": 0,
|
||||
"size_in_bytes": [
|
||||
{
|
||||
"value": 757790720,
|
||||
"value": 1429075968,
|
||||
"value_in_ia": 0,
|
||||
"value_in_standard": 757790720
|
||||
"value_in_standard": 1429075968
|
||||
}
|
||||
],
|
||||
"tags": {
|
||||
@@ -569,13 +709,13 @@
|
||||
[
|
||||
{
|
||||
"type": "get_attr",
|
||||
"value": "secret"
|
||||
"value": "ses_smtp_password_v4"
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"type": "get_attr",
|
||||
"value": "ses_smtp_password_v4"
|
||||
"value": "secret"
|
||||
}
|
||||
]
|
||||
],
|
||||
@@ -628,6 +768,137 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "aws_instance",
|
||||
"name": "solr_ec2",
|
||||
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 1,
|
||||
"attributes": {
|
||||
"ami": "ami-0fea1219385942eb5",
|
||||
"arn": "arn:aws:ec2:us-east-1:679918342773:instance/i-0ce809d16781daada",
|
||||
"associate_public_ip_address": true,
|
||||
"availability_zone": "us-east-1a",
|
||||
"capacity_reservation_specification": [
|
||||
{
|
||||
"capacity_reservation_preference": "open",
|
||||
"capacity_reservation_target": []
|
||||
}
|
||||
],
|
||||
"cpu_core_count": 2,
|
||||
"cpu_options": [
|
||||
{
|
||||
"amd_sev_snp": "",
|
||||
"core_count": 2,
|
||||
"threads_per_core": 1
|
||||
}
|
||||
],
|
||||
"cpu_threads_per_core": 1,
|
||||
"credit_specification": [],
|
||||
"disable_api_stop": false,
|
||||
"disable_api_termination": false,
|
||||
"ebs_block_device": [],
|
||||
"ebs_optimized": false,
|
||||
"enclave_options": [
|
||||
{
|
||||
"enabled": false
|
||||
}
|
||||
],
|
||||
"ephemeral_block_device": [],
|
||||
"get_password_data": false,
|
||||
"hibernation": false,
|
||||
"host_id": "",
|
||||
"host_resource_group_arn": null,
|
||||
"iam_instance_profile": "",
|
||||
"id": "i-0ce809d16781daada",
|
||||
"instance_initiated_shutdown_behavior": "stop",
|
||||
"instance_state": "running",
|
||||
"instance_type": "m7g.large",
|
||||
"ipv6_address_count": 0,
|
||||
"ipv6_addresses": [],
|
||||
"key_name": "http-proxy",
|
||||
"launch_template": [],
|
||||
"maintenance_options": [
|
||||
{
|
||||
"auto_recovery": "default"
|
||||
}
|
||||
],
|
||||
"metadata_options": [
|
||||
{
|
||||
"http_endpoint": "enabled",
|
||||
"http_put_response_hop_limit": 2,
|
||||
"http_tokens": "required",
|
||||
"instance_metadata_tags": "disabled"
|
||||
}
|
||||
],
|
||||
"monitoring": false,
|
||||
"network_interface": [],
|
||||
"outpost_arn": "",
|
||||
"password_data": "",
|
||||
"placement_group": "",
|
||||
"placement_partition_number": 0,
|
||||
"primary_network_interface_id": "eni-07dec2725fa4c70ed",
|
||||
"private_dns": "ip-172-31-38-103.ec2.internal",
|
||||
"private_dns_name_options": [
|
||||
{
|
||||
"enable_resource_name_dns_a_record": false,
|
||||
"enable_resource_name_dns_aaaa_record": false,
|
||||
"hostname_type": "ip-name"
|
||||
}
|
||||
],
|
||||
"private_ip": "172.31.38.103",
|
||||
"public_dns": "ec2-54-175-3-15.compute-1.amazonaws.com",
|
||||
"public_ip": "54.175.3.15",
|
||||
"root_block_device": [
|
||||
{
|
||||
"delete_on_termination": true,
|
||||
"device_name": "/dev/xvda",
|
||||
"encrypted": false,
|
||||
"iops": 3000,
|
||||
"kms_key_id": "",
|
||||
"tags": null,
|
||||
"throughput": 125,
|
||||
"volume_id": "vol-0ec6fb488e712ba93",
|
||||
"volume_size": 30,
|
||||
"volume_type": "gp3"
|
||||
}
|
||||
],
|
||||
"secondary_private_ips": [],
|
||||
"security_groups": [
|
||||
"datomic-access",
|
||||
"http-proxy-2",
|
||||
"integreat-app"
|
||||
],
|
||||
"source_dest_check": true,
|
||||
"subnet_id": "subnet-89bab8d4",
|
||||
"tags": {
|
||||
"Name": "solr_ec2_prod"
|
||||
},
|
||||
"tags_all": {
|
||||
"Name": "solr_ec2_prod"
|
||||
},
|
||||
"tenancy": "default",
|
||||
"timeouts": null,
|
||||
"user_data": null,
|
||||
"user_data_base64": null,
|
||||
"user_data_replace_on_change": false,
|
||||
"volume_tags": null,
|
||||
"vpc_security_group_ids": [
|
||||
"sg-004e5855310c453a3",
|
||||
"sg-02d167406b1082698",
|
||||
"sg-08cd873bd29a2b3c9"
|
||||
]
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6MTIwMDAwMDAwMDAwMCwidXBkYXRlIjo2MDAwMDAwMDAwMDB9LCJzY2hlbWFfdmVyc2lvbiI6IjEifQ==",
|
||||
"dependencies": [
|
||||
"data.aws_ami.amazon_linux_2023"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "aws_lb",
|
||||
@@ -1334,6 +1605,32 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "aws_service_discovery_instance",
|
||||
"name": "solr_instance",
|
||||
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"attributes": {
|
||||
"AWS_INSTANCE_IPV4": "172.31.38.103"
|
||||
},
|
||||
"id": "solr-ec2",
|
||||
"instance_id": "solr-ec2",
|
||||
"service_id": "srv-ren22oppkwwryqqr"
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "bnVsbA==",
|
||||
"dependencies": [
|
||||
"aws_instance.solr_ec2",
|
||||
"aws_service_discovery_service.solr_ec2",
|
||||
"data.aws_ami.amazon_linux_2023"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "aws_service_discovery_service",
|
||||
@@ -1418,6 +1715,48 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "aws_service_discovery_service",
|
||||
"name": "solr_ec2",
|
||||
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"arn": "arn:aws:servicediscovery:us-east-1:679918342773:service/srv-ren22oppkwwryqqr",
|
||||
"description": "",
|
||||
"dns_config": [
|
||||
{
|
||||
"dns_records": [
|
||||
{
|
||||
"ttl": 60,
|
||||
"type": "A"
|
||||
}
|
||||
],
|
||||
"namespace_id": "ns-gv2z744em7myo2jp",
|
||||
"routing_policy": "MULTIVALUE"
|
||||
}
|
||||
],
|
||||
"force_destroy": false,
|
||||
"health_check_config": [],
|
||||
"health_check_custom_config": [
|
||||
{
|
||||
"failure_threshold": 1
|
||||
}
|
||||
],
|
||||
"id": "srv-ren22oppkwwryqqr",
|
||||
"name": "solr-ec2-prod",
|
||||
"namespace_id": "ns-gv2z744em7myo2jp",
|
||||
"tags": {},
|
||||
"tags_all": {},
|
||||
"type": "DNS_HTTP"
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "bnVsbA=="
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "aws_ses_receipt_rule",
|
||||
@@ -1594,6 +1933,34 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "aws_volume_attachment",
|
||||
"name": "attach_solr_storage",
|
||||
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"device_name": "/dev/xvdf",
|
||||
"force_detach": null,
|
||||
"id": "vai-3578365595",
|
||||
"instance_id": "i-0ce809d16781daada",
|
||||
"skip_destroy": null,
|
||||
"stop_instance_before_detaching": null,
|
||||
"timeouts": null,
|
||||
"volume_id": "vol-0069283d41ff6c010"
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMDAsImRlbGV0ZSI6MzAwMDAwMDAwMDAwfX0=",
|
||||
"dependencies": [
|
||||
"aws_ebs_volume.solr_ec2_storage",
|
||||
"aws_instance.solr_ec2",
|
||||
"data.aws_ami.amazon_linux_2023"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"module": "module.bulk_journal_import_job[0]",
|
||||
"mode": "managed",
|
||||
@@ -3404,7 +3771,7 @@
|
||||
"revision": 5,
|
||||
"runtime_platform": [],
|
||||
"skip_destroy": false,
|
||||
"tags": null,
|
||||
"tags": {},
|
||||
"tags_all": {},
|
||||
"task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb",
|
||||
"volume": []
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"version": 4,
|
||||
"terraform_version": "1.8.3",
|
||||
"serial": 689,
|
||||
"terraform_version": "1.9.2",
|
||||
"serial": 704,
|
||||
"lineage": "9b630886-8cee-a57d-c7a2-4f19f13f9c51",
|
||||
"outputs": {
|
||||
"aws_access_key_id": {
|
||||
@@ -18,12 +18,107 @@
|
||||
"type": "string",
|
||||
"sensitive": true
|
||||
},
|
||||
"ec2_public_ip": {
|
||||
"value": "54.162.172.142",
|
||||
"type": "string"
|
||||
},
|
||||
"queue_url": {
|
||||
"value": "https://sqs.us-east-1.amazonaws.com/679918342773/integreat-mail-prod",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"resources": [
|
||||
{
|
||||
"mode": "data",
|
||||
"type": "aws_ami",
|
||||
"name": "amazon_linux_2",
|
||||
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"architecture": "arm64",
|
||||
"arn": "arn:aws:ec2:us-east-1::image/ami-0c32fe44cfb616fdd",
|
||||
"block_device_mappings": [
|
||||
{
|
||||
"device_name": "/dev/xvda",
|
||||
"ebs": {
|
||||
"delete_on_termination": "true",
|
||||
"encrypted": "false",
|
||||
"iops": "0",
|
||||
"snapshot_id": "snap-0d41f1cffffa2ecba",
|
||||
"throughput": "0",
|
||||
"volume_size": "8",
|
||||
"volume_type": "gp2"
|
||||
},
|
||||
"no_device": "",
|
||||
"virtual_name": ""
|
||||
}
|
||||
],
|
||||
"boot_mode": "",
|
||||
"creation_date": "2024-09-16T18:28:30.000Z",
|
||||
"deprecation_time": "2025-07-01T00:00:00.000Z",
|
||||
"description": "Amazon Linux 2 LTS Arm64 AMI 2.0.20240916.0 arm64 HVM gp2",
|
||||
"ena_support": true,
|
||||
"executable_users": null,
|
||||
"filter": [
|
||||
{
|
||||
"name": "architecture",
|
||||
"values": [
|
||||
"arm64"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "name",
|
||||
"values": [
|
||||
"amzn2-ami-hvm-*"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "virtualization-type",
|
||||
"values": [
|
||||
"hvm"
|
||||
]
|
||||
}
|
||||
],
|
||||
"hypervisor": "xen",
|
||||
"id": "ami-0c32fe44cfb616fdd",
|
||||
"image_id": "ami-0c32fe44cfb616fdd",
|
||||
"image_location": "amazon/amzn2-ami-hvm-2.0.20240916.0-arm64-gp2",
|
||||
"image_owner_alias": "amazon",
|
||||
"image_type": "machine",
|
||||
"imds_support": "",
|
||||
"include_deprecated": false,
|
||||
"kernel_id": "",
|
||||
"most_recent": true,
|
||||
"name": "amzn2-ami-hvm-2.0.20240916.0-arm64-gp2",
|
||||
"name_regex": null,
|
||||
"owner_id": "137112412989",
|
||||
"owners": null,
|
||||
"platform": "",
|
||||
"platform_details": "Linux/UNIX",
|
||||
"product_codes": [],
|
||||
"public": true,
|
||||
"ramdisk_id": "",
|
||||
"root_device_name": "/dev/xvda",
|
||||
"root_device_type": "ebs",
|
||||
"root_snapshot_id": "snap-0d41f1cffffa2ecba",
|
||||
"sriov_net_support": "simple",
|
||||
"state": "available",
|
||||
"state_reason": {
|
||||
"code": "UNSET",
|
||||
"message": "UNSET"
|
||||
},
|
||||
"tags": {},
|
||||
"timeouts": null,
|
||||
"tpm_support": "",
|
||||
"usage_operation": "RunInstances",
|
||||
"virtualization_type": "hvm"
|
||||
},
|
||||
"sensitive_attributes": []
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "data",
|
||||
"type": "aws_caller_identity",
|
||||
@@ -115,8 +210,8 @@
|
||||
"early_renewal_duration": "",
|
||||
"id": "arn:aws:acm:us-east-1:679918342773:certificate/edf1d7f0-8358-4a40-a44f-3ccdb81da12f",
|
||||
"key_algorithm": "RSA_2048",
|
||||
"not_after": "2024-07-27T23:59:59Z",
|
||||
"not_before": "2023-06-29T00:00:00Z",
|
||||
"not_after": "2025-06-27T23:59:59Z",
|
||||
"not_before": "2024-05-29T00:00:00Z",
|
||||
"options": [
|
||||
{
|
||||
"certificate_transparency_logging_preference": "ENABLED"
|
||||
@@ -129,7 +224,7 @@
|
||||
{
|
||||
"renewal_status": "SUCCESS",
|
||||
"renewal_status_reason": "",
|
||||
"updated_at": "2023-06-29T04:17:46Z"
|
||||
"updated_at": "2024-05-29T05:27:07Z"
|
||||
}
|
||||
],
|
||||
"status": "ISSUED",
|
||||
@@ -143,7 +238,14 @@
|
||||
"validation_method": "DNS",
|
||||
"validation_option": []
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"sensitive_attributes": [
|
||||
[
|
||||
{
|
||||
"type": "get_attr",
|
||||
"value": "private_key"
|
||||
}
|
||||
]
|
||||
],
|
||||
"private": "bnVsbA=="
|
||||
}
|
||||
]
|
||||
@@ -173,8 +275,8 @@
|
||||
"early_renewal_duration": "",
|
||||
"id": "arn:aws:acm:us-east-1:679918342773:certificate/9dce79fb-fc06-438b-8188-f54313b5161a",
|
||||
"key_algorithm": "RSA_2048",
|
||||
"not_after": "2024-09-01T23:59:59Z",
|
||||
"not_before": "2023-08-04T00:00:00Z",
|
||||
"not_after": "2025-08-03T23:59:59Z",
|
||||
"not_before": "2024-07-04T00:00:00Z",
|
||||
"options": [
|
||||
{
|
||||
"certificate_transparency_logging_preference": "ENABLED"
|
||||
@@ -183,7 +285,13 @@
|
||||
"pending_renewal": false,
|
||||
"private_key": null,
|
||||
"renewal_eligibility": "ELIGIBLE",
|
||||
"renewal_summary": [],
|
||||
"renewal_summary": [
|
||||
{
|
||||
"renewal_status": "SUCCESS",
|
||||
"renewal_status_reason": "",
|
||||
"updated_at": "2024-07-04T02:01:27Z"
|
||||
}
|
||||
],
|
||||
"status": "ISSUED",
|
||||
"subject_alternative_names": [
|
||||
"data.prod.app.integreatconsult.com"
|
||||
@@ -195,11 +303,57 @@
|
||||
"validation_method": "DNS",
|
||||
"validation_option": []
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"sensitive_attributes": [
|
||||
[
|
||||
{
|
||||
"type": "get_attr",
|
||||
"value": "private_key"
|
||||
}
|
||||
]
|
||||
],
|
||||
"private": "bnVsbA=="
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "aws_ebs_volume",
|
||||
"name": "solr_ec2_storage",
|
||||
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"arn": "arn:aws:ec2:us-east-1:679918342773:volume/vol-010fe54b640fb8a99",
|
||||
"availability_zone": "us-east-1a",
|
||||
"encrypted": false,
|
||||
"final_snapshot": false,
|
||||
"id": "vol-010fe54b640fb8a99",
|
||||
"iops": 100,
|
||||
"kms_key_id": "",
|
||||
"multi_attach_enabled": false,
|
||||
"outpost_arn": "",
|
||||
"size": 30,
|
||||
"snapshot_id": "",
|
||||
"tags": {
|
||||
"Name": "solr_storage_prod"
|
||||
},
|
||||
"tags_all": {
|
||||
"Name": "solr_storage_prod"
|
||||
},
|
||||
"throughput": 0,
|
||||
"timeouts": null,
|
||||
"type": "gp2"
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMDAsImRlbGV0ZSI6MzAwMDAwMDAwMDAwLCJ1cGRhdGUiOjMwMDAwMDAwMDAwMH19",
|
||||
"dependencies": [
|
||||
"aws_instance.solr_ec2",
|
||||
"data.aws_ami.amazon_linux_2"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "aws_ecs_service",
|
||||
@@ -281,7 +435,7 @@
|
||||
],
|
||||
"tags": {},
|
||||
"tags_all": {},
|
||||
"task_definition": "arn:aws:ecs:us-east-1:679918342773:task-definition/integreat_app_prod:782",
|
||||
"task_definition": "arn:aws:ecs:us-east-1:679918342773:task-definition/integreat_app_prod:834",
|
||||
"timeouts": {
|
||||
"create": null,
|
||||
"delete": null,
|
||||
@@ -371,7 +525,7 @@
|
||||
],
|
||||
"tags": {},
|
||||
"tags_all": {},
|
||||
"task_definition": "arn:aws:ecs:us-east-1:679918342773:task-definition/solr_prod:1",
|
||||
"task_definition": "arn:aws:ecs:us-east-1:679918342773:task-definition/solr_prod:4",
|
||||
"timeouts": {
|
||||
"create": null,
|
||||
"delete": null,
|
||||
@@ -513,9 +667,9 @@
|
||||
"provisioned_throughput_in_mibps": 0,
|
||||
"size_in_bytes": [
|
||||
{
|
||||
"value": 699342848,
|
||||
"value": 1429075968,
|
||||
"value_in_ia": 0,
|
||||
"value_in_standard": 699342848
|
||||
"value_in_standard": 1429075968
|
||||
}
|
||||
],
|
||||
"tags": {
|
||||
@@ -551,7 +705,20 @@
|
||||
"status": "Active",
|
||||
"user": "integreat-prod"
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"sensitive_attributes": [
|
||||
[
|
||||
{
|
||||
"type": "get_attr",
|
||||
"value": "ses_smtp_password_v4"
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"type": "get_attr",
|
||||
"value": "secret"
|
||||
}
|
||||
]
|
||||
],
|
||||
"dependencies": [
|
||||
"aws_iam_user.app_user"
|
||||
]
|
||||
@@ -601,6 +768,152 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "aws_instance",
|
||||
"name": "solr_ec2",
|
||||
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 1,
|
||||
"attributes": {
|
||||
"ami": "ami-0c32fe44cfb616fdd",
|
||||
"arn": "arn:aws:ec2:us-east-1:679918342773:instance/i-0bbdf9c800a03cba7",
|
||||
"associate_public_ip_address": true,
|
||||
"availability_zone": "us-east-1a",
|
||||
"capacity_reservation_specification": [
|
||||
{
|
||||
"capacity_reservation_preference": "open",
|
||||
"capacity_reservation_target": []
|
||||
}
|
||||
],
|
||||
"cpu_core_count": 2,
|
||||
"cpu_options": [
|
||||
{
|
||||
"amd_sev_snp": "",
|
||||
"core_count": 2,
|
||||
"threads_per_core": 1
|
||||
}
|
||||
],
|
||||
"cpu_threads_per_core": 1,
|
||||
"credit_specification": [],
|
||||
"disable_api_stop": false,
|
||||
"disable_api_termination": false,
|
||||
"ebs_block_device": [
|
||||
{
|
||||
"delete_on_termination": false,
|
||||
"device_name": "/dev/xvdf",
|
||||
"encrypted": false,
|
||||
"iops": 100,
|
||||
"kms_key_id": "",
|
||||
"snapshot_id": "",
|
||||
"tags": {
|
||||
"Name": "solr_storage_prod"
|
||||
},
|
||||
"throughput": 0,
|
||||
"volume_id": "vol-010fe54b640fb8a99",
|
||||
"volume_size": 30,
|
||||
"volume_type": "gp2"
|
||||
}
|
||||
],
|
||||
"ebs_optimized": false,
|
||||
"enclave_options": [
|
||||
{
|
||||
"enabled": false
|
||||
}
|
||||
],
|
||||
"ephemeral_block_device": [],
|
||||
"get_password_data": false,
|
||||
"hibernation": false,
|
||||
"host_id": "",
|
||||
"host_resource_group_arn": null,
|
||||
"iam_instance_profile": "",
|
||||
"id": "i-0bbdf9c800a03cba7",
|
||||
"instance_initiated_shutdown_behavior": "stop",
|
||||
"instance_state": "running",
|
||||
"instance_type": "m7g.large",
|
||||
"ipv6_address_count": 0,
|
||||
"ipv6_addresses": [],
|
||||
"key_name": "http-proxy",
|
||||
"launch_template": [],
|
||||
"maintenance_options": [
|
||||
{
|
||||
"auto_recovery": "default"
|
||||
}
|
||||
],
|
||||
"metadata_options": [
|
||||
{
|
||||
"http_endpoint": "enabled",
|
||||
"http_put_response_hop_limit": 1,
|
||||
"http_tokens": "optional",
|
||||
"instance_metadata_tags": "disabled"
|
||||
}
|
||||
],
|
||||
"monitoring": false,
|
||||
"network_interface": [],
|
||||
"outpost_arn": "",
|
||||
"password_data": "",
|
||||
"placement_group": "",
|
||||
"placement_partition_number": 0,
|
||||
"primary_network_interface_id": "eni-0c7562b5274a4b60d",
|
||||
"private_dns": "ip-172-31-46-148.ec2.internal",
|
||||
"private_dns_name_options": [
|
||||
{
|
||||
"enable_resource_name_dns_a_record": false,
|
||||
"enable_resource_name_dns_aaaa_record": false,
|
||||
"hostname_type": "ip-name"
|
||||
}
|
||||
],
|
||||
"private_ip": "172.31.46.148",
|
||||
"public_dns": "ec2-54-162-172-142.compute-1.amazonaws.com",
|
||||
"public_ip": "54.162.172.142",
|
||||
"root_block_device": [
|
||||
{
|
||||
"delete_on_termination": true,
|
||||
"device_name": "/dev/xvda",
|
||||
"encrypted": false,
|
||||
"iops": 100,
|
||||
"kms_key_id": "",
|
||||
"tags": {},
|
||||
"throughput": 0,
|
||||
"volume_id": "vol-0fea5a3f3ca20ab76",
|
||||
"volume_size": 30,
|
||||
"volume_type": "gp2"
|
||||
}
|
||||
],
|
||||
"secondary_private_ips": [],
|
||||
"security_groups": [
|
||||
"datomic-access",
|
||||
"integreat-app"
|
||||
],
|
||||
"source_dest_check": true,
|
||||
"subnet_id": "subnet-89bab8d4",
|
||||
"tags": {
|
||||
"Name": "solr_ec2_prod"
|
||||
},
|
||||
"tags_all": {
|
||||
"Name": "solr_ec2_prod"
|
||||
},
|
||||
"tenancy": "default",
|
||||
"timeouts": null,
|
||||
"user_data": null,
|
||||
"user_data_base64": null,
|
||||
"user_data_replace_on_change": false,
|
||||
"volume_tags": null,
|
||||
"vpc_security_group_ids": [
|
||||
"sg-004e5855310c453a3",
|
||||
"sg-02d167406b1082698",
|
||||
"sg-08cd873bd29a2b3c9"
|
||||
]
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6MTIwMDAwMDAwMDAwMCwidXBkYXRlIjo2MDAwMDAwMDAwMDB9LCJzY2hlbWFfdmVyc2lvbiI6IjEifQ==",
|
||||
"dependencies": [
|
||||
"data.aws_ami.amazon_linux_2"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "aws_lb",
|
||||
@@ -1307,6 +1620,32 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "aws_service_discovery_instance",
|
||||
"name": "solr_instance",
|
||||
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"attributes": {
|
||||
"AWS_INSTANCE_IPV4": "172.31.46.148"
|
||||
},
|
||||
"id": "solr-ec2",
|
||||
"instance_id": "solr-ec2",
|
||||
"service_id": "srv-ren22oppkwwryqqr"
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "bnVsbA==",
|
||||
"dependencies": [
|
||||
"aws_instance.solr_ec2",
|
||||
"aws_service_discovery_service.solr_ec2",
|
||||
"data.aws_ami.amazon_linux_2"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "aws_service_discovery_service",
|
||||
@@ -1391,6 +1730,48 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "aws_service_discovery_service",
|
||||
"name": "solr_ec2",
|
||||
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"arn": "arn:aws:servicediscovery:us-east-1:679918342773:service/srv-ren22oppkwwryqqr",
|
||||
"description": "",
|
||||
"dns_config": [
|
||||
{
|
||||
"dns_records": [
|
||||
{
|
||||
"ttl": 60,
|
||||
"type": "A"
|
||||
}
|
||||
],
|
||||
"namespace_id": "ns-gv2z744em7myo2jp",
|
||||
"routing_policy": "MULTIVALUE"
|
||||
}
|
||||
],
|
||||
"force_destroy": false,
|
||||
"health_check_config": [],
|
||||
"health_check_custom_config": [
|
||||
{
|
||||
"failure_threshold": 1
|
||||
}
|
||||
],
|
||||
"id": "srv-ren22oppkwwryqqr",
|
||||
"name": "solr-ec2-prod",
|
||||
"namespace_id": "ns-gv2z744em7myo2jp",
|
||||
"tags": {},
|
||||
"tags_all": {},
|
||||
"type": "DNS_HTTP"
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "bnVsbA=="
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "aws_ses_receipt_rule",
|
||||
@@ -1567,6 +1948,34 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": "managed",
|
||||
"type": "aws_volume_attachment",
|
||||
"name": "attach_solr_storage",
|
||||
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
|
||||
"instances": [
|
||||
{
|
||||
"schema_version": 0,
|
||||
"attributes": {
|
||||
"device_name": "/dev/xvdf",
|
||||
"force_detach": null,
|
||||
"id": "vai-172440334",
|
||||
"instance_id": "i-0bbdf9c800a03cba7",
|
||||
"skip_destroy": null,
|
||||
"stop_instance_before_detaching": null,
|
||||
"timeouts": null,
|
||||
"volume_id": "vol-010fe54b640fb8a99"
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMDAsImRlbGV0ZSI6MzAwMDAwMDAwMDAwfX0=",
|
||||
"dependencies": [
|
||||
"aws_ebs_volume.solr_ec2_storage",
|
||||
"aws_instance.solr_ec2",
|
||||
"data.aws_ami.amazon_linux_2"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"module": "module.bulk_journal_import_job[0]",
|
||||
"mode": "managed",
|
||||
@@ -1629,7 +2038,7 @@
|
||||
"name_prefix": "",
|
||||
"role_arn": "",
|
||||
"schedule_expression": "rate(1 hour)",
|
||||
"tags": null,
|
||||
"tags": {},
|
||||
"tags_all": {}
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
@@ -1676,7 +2085,7 @@
|
||||
"placement_constraint": [],
|
||||
"platform_version": "",
|
||||
"propagate_tags": "TASK_DEFINITION",
|
||||
"tags": null,
|
||||
"tags": {},
|
||||
"task_count": 1,
|
||||
"task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/close_auto_invoices_prod:3"
|
||||
}
|
||||
@@ -1767,7 +2176,7 @@
|
||||
"name_prefix": "",
|
||||
"role_arn": "",
|
||||
"schedule_expression": "rate(60 minutes)",
|
||||
"tags": null,
|
||||
"tags": {},
|
||||
"tags_all": {}
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
@@ -1814,7 +2223,7 @@
|
||||
"placement_constraint": [],
|
||||
"platform_version": "",
|
||||
"propagate_tags": "TASK_DEFINITION",
|
||||
"tags": null,
|
||||
"tags": {},
|
||||
"task_count": 1,
|
||||
"task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/current_balance_cache_prod:3"
|
||||
}
|
||||
@@ -1905,7 +2314,7 @@
|
||||
"name_prefix": "",
|
||||
"role_arn": "",
|
||||
"schedule_expression": "rate(1 hour)",
|
||||
"tags": null,
|
||||
"tags": {},
|
||||
"tags_all": {}
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
@@ -1952,7 +2361,7 @@
|
||||
"placement_constraint": [],
|
||||
"platform_version": "",
|
||||
"propagate_tags": "TASK_DEFINITION",
|
||||
"tags": null,
|
||||
"tags": {},
|
||||
"task_count": 1,
|
||||
"task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/import_uploaded_invoices_prod:3"
|
||||
}
|
||||
@@ -2043,7 +2452,7 @@
|
||||
"name_prefix": "",
|
||||
"role_arn": "",
|
||||
"schedule_expression": "rate(6 hours)",
|
||||
"tags": null,
|
||||
"tags": {},
|
||||
"tags_all": {}
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
@@ -2090,7 +2499,7 @@
|
||||
"placement_constraint": [],
|
||||
"platform_version": "",
|
||||
"propagate_tags": "TASK_DEFINITION",
|
||||
"tags": null,
|
||||
"tags": {},
|
||||
"task_count": 1,
|
||||
"task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/insight_outcome_recommendation_prod:2"
|
||||
}
|
||||
@@ -2181,7 +2590,7 @@
|
||||
"name_prefix": "",
|
||||
"role_arn": "",
|
||||
"schedule_expression": "rate(6 hours)",
|
||||
"tags": null,
|
||||
"tags": {},
|
||||
"tags_all": {}
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
@@ -2228,7 +2637,7 @@
|
||||
"placement_constraint": [],
|
||||
"platform_version": "",
|
||||
"propagate_tags": "TASK_DEFINITION",
|
||||
"tags": null,
|
||||
"tags": {},
|
||||
"task_count": 1,
|
||||
"task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/intuit_prod:4"
|
||||
}
|
||||
@@ -2498,7 +2907,7 @@
|
||||
"name_prefix": "",
|
||||
"role_arn": "",
|
||||
"schedule_expression": "rate(6 hours)",
|
||||
"tags": null,
|
||||
"tags": {},
|
||||
"tags_all": {}
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
@@ -2545,7 +2954,7 @@
|
||||
"placement_constraint": [],
|
||||
"platform_version": "",
|
||||
"propagate_tags": "TASK_DEFINITION",
|
||||
"tags": null,
|
||||
"tags": {},
|
||||
"task_count": 1,
|
||||
"task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/plaid_prod:4"
|
||||
}
|
||||
@@ -2636,7 +3045,7 @@
|
||||
"name_prefix": "",
|
||||
"role_arn": "",
|
||||
"schedule_expression": "rate(1 hour)",
|
||||
"tags": null,
|
||||
"tags": {},
|
||||
"tags_all": {}
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
@@ -2683,7 +3092,7 @@
|
||||
"placement_constraint": [],
|
||||
"platform_version": "",
|
||||
"propagate_tags": "TASK_DEFINITION",
|
||||
"tags": null,
|
||||
"tags": {},
|
||||
"task_count": 1,
|
||||
"task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/reconcile_ledger_prod:3"
|
||||
}
|
||||
@@ -2815,7 +3224,7 @@
|
||||
"name_prefix": "",
|
||||
"role_arn": "",
|
||||
"schedule_expression": "rate(4 hours)",
|
||||
"tags": null,
|
||||
"tags": {},
|
||||
"tags_all": {}
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
@@ -2862,7 +3271,7 @@
|
||||
"placement_constraint": [],
|
||||
"platform_version": "",
|
||||
"propagate_tags": "TASK_DEFINITION",
|
||||
"tags": null,
|
||||
"tags": {},
|
||||
"task_count": 1,
|
||||
"task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/square_import_job_prod:6"
|
||||
}
|
||||
@@ -2953,7 +3362,7 @@
|
||||
"name_prefix": "",
|
||||
"role_arn": "",
|
||||
"schedule_expression": "rate(3 hours)",
|
||||
"tags": null,
|
||||
"tags": {},
|
||||
"tags_all": {}
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
@@ -3000,7 +3409,7 @@
|
||||
"placement_constraint": [],
|
||||
"platform_version": "",
|
||||
"propagate_tags": "TASK_DEFINITION",
|
||||
"tags": null,
|
||||
"tags": {},
|
||||
"task_count": 1,
|
||||
"task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/sysco_prod:3"
|
||||
}
|
||||
@@ -3091,7 +3500,7 @@
|
||||
"name_prefix": "",
|
||||
"role_arn": "",
|
||||
"schedule_expression": "rate(4 hours)",
|
||||
"tags": null,
|
||||
"tags": {},
|
||||
"tags_all": {}
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
@@ -3138,7 +3547,7 @@
|
||||
"placement_constraint": [],
|
||||
"platform_version": "",
|
||||
"propagate_tags": "TASK_DEFINITION",
|
||||
"tags": null,
|
||||
"tags": {},
|
||||
"task_count": 1,
|
||||
"task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/vendor_usages_prod:3"
|
||||
}
|
||||
@@ -3270,7 +3679,7 @@
|
||||
"name_prefix": "",
|
||||
"role_arn": "",
|
||||
"schedule_expression": "rate(6 hours)",
|
||||
"tags": null,
|
||||
"tags": {},
|
||||
"tags_all": {}
|
||||
},
|
||||
"sensitive_attributes": [],
|
||||
@@ -3317,9 +3726,9 @@
|
||||
"placement_constraint": [],
|
||||
"platform_version": "",
|
||||
"propagate_tags": "TASK_DEFINITION",
|
||||
"tags": null,
|
||||
"tags": {},
|
||||
"task_count": 1,
|
||||
"task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/yodlee2_prod:4"
|
||||
"task_definition_arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/yodlee2_prod:5"
|
||||
}
|
||||
],
|
||||
"event_bus_name": "default",
|
||||
@@ -3356,17 +3765,17 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"attributes": {
|
||||
"arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/yodlee2_prod:4",
|
||||
"arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/yodlee2_prod:5",
|
||||
"arn_without_revision": "arn:aws:ecs:us-east-1:679918342773:task-definition/yodlee2_prod",
|
||||
"container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod\",\"com.datadoghq.tags.service\":\"yodlee2\"},\"environment\":[{\"name\":\"DD_CONTAINER_ENV_AS_TAGS\",\"value\":\"{\\\"INTEGREAT_JOB\\\":\\\"background_job\\\"}\"},{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"yodlee2\"},{\"name\":\"INTEGREAT_JOB\",\"value\":\"yodlee2\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-background-worker.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud:prod\",\"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\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"systemControls\":[],\"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\":[],\"systemControls\":[],\"volumesFrom\":[]}]",
|
||||
"cpu": "1024",
|
||||
"cpu": "2048",
|
||||
"ephemeral_storage": [],
|
||||
"execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole",
|
||||
"family": "yodlee2_prod",
|
||||
"id": "yodlee2_prod",
|
||||
"inference_accelerator": [],
|
||||
"ipc_mode": "",
|
||||
"memory": "2048",
|
||||
"memory": "4096",
|
||||
"network_mode": "awsvpc",
|
||||
"pid_mode": "",
|
||||
"placement_constraints": [],
|
||||
@@ -3374,7 +3783,7 @@
|
||||
"requires_compatibilities": [
|
||||
"FARGATE"
|
||||
],
|
||||
"revision": 4,
|
||||
"revision": 5,
|
||||
"runtime_platform": [],
|
||||
"skip_destroy": false,
|
||||
"tags": {},
|
||||
|
||||
Reference in New Issue
Block a user