@@ -46,7 +46,7 @@ To find a proper solution, we splitted the topic into the follwong two questions
4646
4747==== Question 1: Should we unify the concepts MetaDataProvider and PersistenceProvider?
4848
49- ==== Solution approach 1: Unify
49+ ===== Solution approach 1: Unify
5050
5151Both "modules" are "processing" the security findings, which are generated in the parsing phase.
5252But there is one larger difference between them:
@@ -96,18 +96,18 @@ The Execution Flow would then look something like this:
9696 ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┘
9797....
9898
99- ** Pros:**
99+ ====== Pros
100100
101101* Only one Implementation
102102* Pretty Generic to expand and test out new ideas without having to modify the secureCodeBox Operator
103103
104- ** Cons:**
104+ ====== Cons
105105
106106* Possible "over-abstraction"?
107107* Need to refactor the ElasticSearch PersistenceProvider
108108* The "General Implementation" will be harder than the individual ones
109109
110- ==== Solution approach 1: Keep Split between Persistence Provider and MetaData Provider
110+ ===== Solution approach 1: Keep Split between Persistence Provider and MetaData Provider
111111
112112Keep PersistenceProvider as they are and introduce new "MetaDataProvider" CRD which gets executed before the PersistenceProviders by the operator.
113113
@@ -122,18 +122,18 @@ Keep PersistenceProvider as they are and introduce new "MetaDataProvider" CRD wh
122122 ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┘
123123....
124124
125- ** Pros:**
125+ ====== Pros
126126
127127* Quicker to implement
128128* Might be worth it to have a seperate concept for it
129129
130- ** Cons:**
130+ ====== Cons
131131
132132* Really worth introducing a new CRD for everything, especially when the are conceptually pretty close?
133133
134- === Question 2: How should the execution model look like for each?
134+ ==== Question 2: How should the execution model look like for each?
135135
136- ==== Solution approach 1: Like the persistence provider
136+ ===== Solution approach 1: Like the persistence provider
137137
138138Basically a docker container which process takes two command line args:
139139
@@ -146,31 +146,30 @@ Examples:
146146* java `java my-metadata.jar "https://storage.googleapi.com/..." "https://storage.googleapi.com/..."`
147147* golang `./my-metadata "https://storage.googleapi.com/..." "https://storage.googleapi.com/..."`
148148
149- ** Pros:**
149+ ====== Pros
150150
151151* on liner with the current implementations
152152* code overhead / wrapper code is pretty minimal
153153* zero scale - no resource costs when nothing is running
154154
155- ** Cons:**
155+ ===== Cons
156156
157157* results in too many k8s jobs?
158158** resource blocking on finished resources
159159** ttlAfterFinished enabled
160160* container runtime overhead (especially time)
161161
162- ### Option 2: A WebHooks like concept
162+ === Option 2: A WebHooks like concept
163163
164- Analog to kubernetes webhooks.
165- Https server receiving findings and returning results.
164+ Analog to kubernetes webhooks. Https server receiving findings and returning results.
166165
167- ** Pros:**
166+ ==== Pros
168167
169168* MilliSeconds instead of seconds for processing
170169* No ContainerCreation Overhead
171170* No additional k8s jobs needed
172171
173- ** Cons:**
172+ ===== Cons
174173
175174* Introduces new running Services that need to be maintained and have uptime
176175* Code Overhead / Boilerplate (Can be mitigated by sdk)
0 commit comments