Permalink
Browse files

Merge Gateway (#833)

* WIP building request transformation

* WIP

* Working /api/v2/values endpoint

* WIP: added initial implementation of authorization enforcement

* Improved tests

* small refactor and implementation of model reading and writing

* Implemented tags middleware and refactored routing

* v1 conttoller adde

* fix

* host fixed

* Adding secure-gateway to CI

* isAlive added

* modelManagement package added

* add security to modelMangement handler

* exception handled

* context transform added

* schemas added to transformation

* goThrough host to config

* CI: still work in progress, need to account for v1 routes, that don't start with api/v1

* Added health endpoint

* refactor

* Fixed integration tests and smoke tests

* tiny refactor

* extract from request added

* added act mapping

* tests added to extract

* Codefresh almost works

* jwt token added

* jwtUtils moved package

* Fixed models test

* Added support for groups using casbin

* Fixed and improved tests

* WIP implementing git policy repository

* CI fixes for policyRepositories

* Fixes for CI

* add mutex to jwt token creation

* bug fixed in gateway

* Healthcheck added to secure-gateway dockerfile (#726)

Healthcheck added to secure-gateway dockerfile

* 730 gateway accepts tweekinternals (#731)

Add support for tweekinternal authentication to gateway

* 734 move auth midware to routes (#735)

Auth middleware moved from app level to route level #734

* go fmt added to linters (#733)

* Go fmt linter bug fixed (#739)

* No fixed...

* 700 audit log (#732)

* WIP audit

* Implementing audit, stabilizing e2e

* Adding audit interface and implementation

* Returend sudo to run_tests.sh

* Some fixes for review

* Fixes for review

* 737 store gateway rules in minio (#741)

store gateway rules in minio instead of git

* Config package changed (#746)

App Config package changed from viper to configor

* E2E added to gateway (#750)

E2E added to gateway

* Separate OpenIdConnect and Tweek Issuer jwt validation (#760)

* Casbin policy refresh added (#759)

* CORS support added to secure-gateway (#743)

CORS support added to secure-gateway

* Merge master to secure-gateway (#772)

* 740 Publishing service pushes policy to minio (#765)

* 738 policies (#762)

* Fixed typo in comments

* Changes in ExtractFromRequest to account for contexts

* Added more tests and fixed bugs

* Small fixes

* Implementing matchResource function WIP

* WIP

* Some review fixes

* Added regexp support and more tests WIP

* Refactored code and fixed tests

* Small fix

* Fixed CI files

* Switched from regexp to wildcard

* Fixed policy.csv

* Refactored: changed regexp to wildcard

* Refactored map into struct

* Added resource deffinition documentation

* Fixes for tests

* fixes for CI and tests

* Fixes

* 775 authorize tweek issuer by issuer w/o email check (#777)

* Editor as SPA (#792)

* Prevented recovery middleware from printing stack (#821)

* Implemented JWK cache (#818)

* Implemented JWK cache

* Adjusting authorization to work as designed (#823)

* Adjusting authorization to work as designed

* Fix for tests

* Fixed policies

* Fixes for review

* Fixes to simplify authorization model

* Fixes for previous commit

* More fixes

* Updated resource deffinition document

* Removed unnecessary line from policy.csv

* Fixes for policy.csv

* Fixes for request utils

* Fixes for review

* e2e integration tests for api v2 (#827)

* Added tests covering v2 API

* Created k8s yaml for gateway (#831)

* Created k8s yaml for gateway

* Fixes

* Fixes for review

* Renamed secure-gateway as gateway (#836)

* Added pod disruption budget

* Added metrics per upstream for passthrough (#840)

* Added metrics per upstream for passthrough

* Fixes for review

* fix after merge

* remove deleted files added by merge

* make restore command added to gateway makefile

* fix card_view after merge from master

* Add editor local configuration (#853)

* Allow credentials should be always true (#857)

* implemented extraction of user info with opa/rego (#859)

* implemented extraction of user info with opa/rego

* Fix for CI

* Fixes for review

* Fixes for review

* Renamed UserAndGroupExtractor to SubjectExtractor

* Small fixes

* Set editor backend url properly (#856)

* Remove envVars.js

* get env var from window object as fallback

* PR CR changes

* 846 Controller for gateway that returns status of all services (#860)

* 862 - Publishing validates sub extraction rules while sync to minio (#864)

* e2e editor backend url fixed

* Replaced casbin with OPA (#871)

* Replaced casbin with OPA

* Uncommented test cases

* Refactored subject treatment

* Fixed requestUtils

* Small naming fix

* Added opa tests and fixed sub in Authorize

* Added test files

* Fix for docker

* Made local config files not configurable (#874)

* Adapted policies endpoint in authoring for use with OPA (#880)

* Added rules extraction endpoint (#881)

* Added rules extraction endpoint

* Removed unnecessary console.log

* Naming fix

* Added policy validation to publishing (#882)

* Policies PATCH method added to authoring (#896)

* Gateway config moved to mounted volume (#855)

* Gateway config moved to mounted volume

* logger changed from gateway

* volumes instruction fixed

* small fix

* .

* ..

* ....

* Fix for Dockerfile

* Revert "...."

This reverts commit 520e6af.

* Revert ".."

This reverts commit 364e1b8.

* Revert "."

This reverts commit 4e7d4c3.

* Fixes for CI

* Fixes for CI

* Fixes for CI

* Fixes for CI

* Fixes for CI

* Fixed merge

* Fixes for CI

* Fixes for merge

* Fixes for merge

* Pushing gateway images

* Small fix

* Added push step for git repository

* Swagger for gateway & some more security and policy changes (#899)

* Fixed regression in password verification for basic auth

* Revert "Fixed regression in password verification for basic auth"

This reverts commit 7a7f86d.

* Fixed key derivation in publishing

* Fixed git repository

* Implemented anonymous access (#921)

* Added percentile 75 and 95 to gateway (#933)

* Added percentile 75 and 95 to gateway

* Fix for review

* Support for serving editor through gateway (#923)

* Added build id tags to gateway builds

* Implemented wildcard context (#938)

* Implemented Azure login (#948)

* Implemented Azure login

* Fixed missing configuration

* Changed auth code to use id_token

* Removed redundant console.log

* Fixes for review

* Fixed a small bug

* Bug fixes for login

* Added token expiration check in isAuthenticated (#952)

* Impelmented userinfo endpoint (#959)

* Impelmented userinfo endpoint

* Added http error status

* Moved the endpoint to /api/v2

* Renamed the endpoint to current-user to reflect the semantics

* Added /configurations endpoint (#963)

* Added /configurations endpoint

* Changed how /configurations/ path is mounted

* Refactored passThrough (#967)

* Moved security related files to security folder in repo (#969)

* Moved security related files to security folder in repo

* Fixed authoring

* Reverted CONFIGOR_ENV in docker-compose files

* Added editor context to requests for configuration (#970)

* Added editor context to requests for configuration

* Fixed configuration key name

* Fixed getConfiguration

* Fixed policy.json

* Fixed status endpoint (#971)

* Fixed status endpoint

* Fixes for review

* Fixed name and email extraction in gateway (#974)

* Fixed name and email extraction in gateway

* Fixes for review

* Small fixes

* Removed anonymous from name and email (#975)

* Fixed stale revision checking (#978)

* Implemented keyPath transformation (#979)

* Implemented keyPath transformation

* Review fixes

* Fixes for review

* Fixed settings.json

* Added repo revision to status (#982)

* Added repo revision to status

* Fixes for previous commit

* Fixed test

* Fixed /api/v1 with no host case (#985)

* Fixed swagger.yml (#988)

* Fixed swagger.yml

* Implemented serving swagger.yml file

* Added swagger.go

* Fixed StaleRevisionException being thrown when there is another problem (#1013)

* Added metrics to publishing (#1015)

* Fixed silent token refresh issue (#1020)

* Fixed stale revision issue (#1023)

* Refreshing JWKs when key is missing (#1022)

* Refresh if key is missing

* Fixed read for context in gateway (#1025)

* Fixed login expiration (#1029)

* Fixed login expiration

* Fixed redirect after login (#1031)
  • Loading branch information...
michaelkruglos committed Dec 20, 2018
1 parent a48f242 commit 4a2801e36c31d22cd30feb1aac6ac49ed974ed29
Showing with 10,372 additions and 3,965 deletions.
  1. +165 −106 CI/codefresh.yml
  2. +42 −31 CI/docker-compose.override.yml
  3. +42 −28 CI/docker-compose.yml
  4. +0 −20 CI/docker-compose.zap.yml
  5. +0 −6 CI/run_tests.sh
  6. +9 −0 CI/versions_to_deploy.sh
  7. +64 −42 CONTRIBUTING.md
  8. 0 TweekApiDockerfile → TweekApi.Dockerfile
  9. 0 TweekApiSmokeTestDockerfile → TweekApiSmokeTest.Dockerfile
  10. +1 −1 addons/Rules/Tweek.Drivers.Rules.Minio/RulesMinioAddon.cs
  11. +52 −9 deployments/dev/docker-compose.e2e.yml
  12. +59 −0 deployments/dev/docker-compose.local-editor.yml
  13. +24 −15 deployments/dev/docker-compose.override.yml
  14. +9 −3 deployments/dev/docker-compose.yml
  15. +0 −30 deployments/dev/docker-compose.zap.yml
  16. +23 −0 deployments/dev/gateway/config/gateway.json
  17. +25 −0 deployments/dev/gateway/config/gateway.k8s.json
  18. +27 −0 deployments/dev/gateway/config/gateway.local-editor.json
  19. +51 −0 deployments/dev/gateway/config/gateway.local.json
  20. +26 −0 deployments/dev/gateway/config/gateway.test.json
  21. +0 −1 deployments/dev/zap/.gitignore
  22. +0 −5 deployments/dev/zap/Dockerfile
  23. +0 −17 deployments/dev/zap/glue/Dockerfile
  24. +0 −4 deployments/dev/zap/glue/glue_api.json
  25. +0 −3 deployments/dev/zap/glue/glue_editor.json
  26. +0 −23 deployments/dev/zap/glue/run_glue.sh
  27. +0 −11 deployments/dev/zap/glue/test.sh
  28. +1 −0 deployments/kubernetes/api.yaml
  29. +1 −0 deployments/kubernetes/authoring.yaml
  30. +3 −6 deployments/kubernetes/editor.yaml
  31. +69 −0 deployments/kubernetes/gateway.yaml
  32. +1 −0 deployments/kubernetes/git.yaml
  33. +45 −2 deployments/kubernetes/infra.yaml
  34. +1 −0 deployments/kubernetes/publishing.yaml
  35. +7 −1 e2e/integration/package.json
  36. +19 −2 e2e/integration/spec/authoring-api/add-app.spec.js
  37. +36 −0 e2e/integration/spec/authoring-api/extractionRules.spec.js
  38. +97 −0 e2e/integration/spec/authoring-api/policy.spec.js
  39. +14 −45 e2e/integration/spec/authoring-api/security-app-permissions.spec.js
  40. +94 −0 e2e/integration/spec/authoring-api/test-data/policy.json
  41. +5 −0 e2e/integration/spec/authoring-api/test-data/subject_extraction_rules.rego
  42. +8 −24 e2e/integration/spec/authoring-api/write-validation.spec.js
  43. +255 −0 e2e/integration/spec/gateway/v2.spec.js
  44. +147 −0 e2e/integration/spec/gateway/v2_app_policies.spec.js
  45. +28 −0 e2e/integration/spec/gateway/v2_cors.spec.js
  46. +2 −4 e2e/integration/spec/setup.js
  47. +29 −8 e2e/integration/utils/clients.js
  48. +6 −5 e2e/integration/utils/getToken.js
  49. +18 −0 e2e/integration/utils/manifest.js
  50. +35 −0 e2e/integration/utils/minio.js
  51. +164 −4 e2e/integration/yarn.lock
  52. +6 −2 e2e/ui/clients/AuthenticatedClient.js
  53. +2 −0 e2e/ui/spec/context/identity-properties.js
  54. +1 −1 e2e/ui/spec/keys/edit-key.js
  55. +2 −2 e2e/ui/spec/login/redirect-to-login-page.js
  56. +22 −5 e2e/ui/utils/auth-utils.js
  57. +1 −1 e2e/ui/utils/client-utils.js
  58. +3 −2 e2e/ui/wdio.conf.js
  59. +6 −6 package.json
  60. +0 −2 services/api/Tweek.ApiService.SmokeTests/CorsTests.cs
  61. +2 −25 services/api/Tweek.ApiService.SmokeTests/test.sh
  62. +3 −4 services/authoring/package.json
  63. +2 −2 services/authoring/src/repositories/apps-repository.ts
  64. +15 −0 services/authoring/src/repositories/extraction-rules-repository.ts
  65. +15 −12 services/authoring/src/repositories/git-repository.ts
  66. +30 −0 services/authoring/src/repositories/policy-repository.ts
  67. +1 −1 services/authoring/src/routes/apps.ts
  68. +4 −0 services/authoring/src/routes/config.ts
  69. +16 −1 services/authoring/src/routes/index.ts
  70. +43 −0 services/authoring/src/routes/policies.ts
  71. +1 −1 services/authoring/src/routes/schema.ts
  72. +25 −0 services/authoring/src/routes/subject-extraction-rules.ts
  73. +1 −1 services/authoring/src/security/strategies/app-credentials.ts
  74. +8 −7 services/authoring/src/server.ts
  75. +3 −3 services/authoring/src/utils/response-utils.ts
  76. +0 −11 services/authoring/swagger.config.json
  77. +8 −1 services/authoring/test/keys-repository-spec.ts
  78. +348 −34 services/authoring/yarn.lock
  79. +0 −1 services/editor/.dockerignore
  80. +0 −1 services/editor/.gitignore
  81. +5 −5 services/editor/Dockerfile
  82. +22 −0 services/editor/index.js
  83. +43 −72 services/editor/package.json
  84. +0 −148 services/editor/public/api-service-worker.js
  85. +3 −0 services/editor/public/index.html
  86. +0 −47 services/editor/server/api/context.js
  87. +0 −12 services/editor/server/api/editorConfiguration.js
  88. +0 −42 services/editor/server/api/registration.js
  89. +0 −7 services/editor/server/api/types.js
  90. +0 −15 services/editor/server/api/utils/author.js
  91. +0 −20 services/editor/server/api/utils/proxy-request.js
  92. +0 −13 services/editor/server/auth/authenticatedClient.js
  93. +0 −54 services/editor/server/auth/azuread.js
  94. +0 −34 services/editor/server/auth/generateToken.js
  95. +0 −59 services/editor/server/auth/google.js
  96. +0 −43 services/editor/server/auth/httpDigest.js
  97. +0 −57 services/editor/server/auth/oauth2.js
  98. +0 −25 services/editor/server/auth/providerSelector.js
  99. +0 −60 services/editor/server/authSupport.js
  100. +0 −37 services/editor/server/common/perform-search.js
  101. +0 −11 services/editor/server/directoryProtection.js
  102. +0 −25 services/editor/server/getVapidKeys.js
  103. +0 −94 services/editor/server/index.js
  104. +0 −82 services/editor/server/serverRoutes.js
  105. +0 −22 services/editor/server/utils/continuous-updater.js
  106. +0 −21 services/editor/server/utils/get-oauth2-user.js
  107. +0 −10 services/editor/server/utils/request-error-handling-wrapper.js
  108. +0 −14 services/editor/service-worker/src/activate.js
  109. +0 −13 services/editor/service-worker/src/constants.js
  110. +0 −4 services/editor/service-worker/src/getUrl.js
  111. +0 −13 services/editor/service-worker/src/handleNotification.js
  112. +0 −29 services/editor/service-worker/src/index.js
  113. +0 −10 services/editor/service-worker/src/install.js
  114. +0 −65 services/editor/service-worker/src/loadFromCache.js
  115. +0 −4 services/editor/service-worker/src/notifyClients.js
  116. +0 −11 services/editor/service-worker/src/redirectToLogin.js
  117. +0 −56 services/editor/service-worker/src/refresh.js
  118. +0 −33 services/editor/service-worker/src/search.js
  119. +0 −31 services/editor/service-worker/src/testLogin.js
  120. +0 −34 services/editor/service-worker/webpack.config.js
  121. +2 −2 services/editor/spec/unit/components/common/__snapshots__/ErrorHandler.spec.js.snap
  122. +0 −41 services/editor/spec/unit/server/utils/get-oauth2-user-spec.js
  123. +6 −4 services/editor/spec/unit/services/auth-service-spec.js
  124. +2 −2 services/editor/spec/unit/services/context-service-spec.js
  125. +6 −4 services/editor/spec/unit/store/ducks/schema-spec.js
  126. +22 −17 services/editor/spec/unit/store/ducks/selectedKey-spec.js
  127. +37 −0 services/editor/src/PrivateRoute.js
  128. +17 −8 services/editor/src/Routes.js
  129. +2 −5 services/editor/src/components/App.js
  130. +1 −1 services/editor/src/components/JPadFullEditor/JPadTextEditor/JPadTextEditor.js
  131. +1 −1 services/editor/src/components/JPadFullEditor/JPadVisualEditor/Matcher/Matcher.js
  132. +4 −4 services/editor/src/components/JPadFullEditor/JPadVisualEditor/Matcher/Properties/PropertyValue.js
  133. +0 −1 services/editor/src/components/JPadFullEditor/JPadVisualEditor/PartitionsList/PartitionsList.js
  134. +33 −35 services/editor/src/components/common/Input/DateInput.js
  135. +1 −1 services/editor/src/components/common/Input/EditJSON.js
  136. +14 −4 services/editor/src/components/common/Input/Input.js
  137. +2 −1 services/editor/src/components/common/Input/TypedInput.js
  138. +4 −7 services/editor/src/components/googleTagManager.js
  139. +3 −21 services/editor/src/index.js
  140. +1 −1 ...s/editor/src/pages/keys/components/KeyPage/KeyEditPage/DependencyIndicator/DependencyIndicator.js
  141. +1 −1 services/editor/src/pages/keys/components/KeyPage/KeyEditPage/KeyEditPage.js
  142. +7 −9 services/editor/src/pages/keys/components/KeysList/KeysList.js
  143. +2 −2 services/editor/src/pages/keys/components/KeysList/TreeView/TreeNode.js
  144. +23 −0 services/editor/src/pages/login/components/AzureLoggedInPage.js
  145. +23 −0 services/editor/src/pages/login/components/BasicAuthLoggedInPage.js
  146. +34 −0 services/editor/src/pages/login/components/BasicAuthLoginButton.js
  147. +22 −0 services/editor/src/pages/login/components/LoggedInPage.js
  148. +32 −5 services/editor/src/pages/login/components/LoginPage.js
  149. +23 −0 services/editor/src/pages/login/components/SilentLoggedInPage.js
  150. +24 −4 services/editor/src/pages/settings/components/SettingsPage/Versions.js
  151. +0 −89 services/editor/src/registerServiceWorker.js
  152. +149 −2 services/editor/src/services/auth-service.js
  153. +2 −1 services/editor/src/services/context-service.js
  154. +5 −8 services/editor/src/services/search-service.js
  155. +3 −2 services/editor/src/services/types-service.js
  156. +24 −12 services/editor/src/store/ducks/context.js
  157. +1 −1 services/editor/src/store/ducks/keys.js
  158. +4 −3 services/editor/src/store/ducks/schema.js
  159. +16 −13 services/editor/src/store/ducks/selectedKey.js
  160. +4 −3 services/editor/src/store/ducks/tags.js
  161. +47 −3 services/editor/src/utils/fetch.js
  162. +1,654 −1,642 services/editor/yarn.lock
  163. +10 −0 services/gateway/.dockerignore
  164. +21 −0 services/gateway/.gitignore
  165. +24 −0 services/gateway/.vscode/launch.json
  166. +60 −0 services/gateway/Dockerfile
  167. +495 −0 services/gateway/Gopkg.lock
  168. +58 −0 services/gateway/Gopkg.toml
  169. +14 −0 services/gateway/Makefile
  170. +154 −0 services/gateway/appConfig/appConfig.go
  171. +13 −0 services/gateway/audit/auditor.go
  172. +42 −0 services/gateway/audit/logAuditor.go
  173. +64 −0 services/gateway/authorization.rego
  174. +23 −0 services/gateway/corsSupport/corsSupport.go
  175. +129 −0 services/gateway/externalApps/externalApps.go
  176. +10 −0 services/gateway/handlers/healthHandler.go
  177. +111 −0 services/gateway/handlers/statusHandler.go
  178. +66 −0 services/gateway/handlers/statusHandler_test.go
  179. +73 −0 services/gateway/handlers/versionHandler.go
  180. +13 −0 services/gateway/healthcheck/healthcheck.go
  181. +122 −0 services/gateway/main.go
  182. +31 −0 services/gateway/metrics/metrics.go
  183. +51 −0 services/gateway/passThrough/passThrough.go
  184. +73 −0 services/gateway/passThrough/passThrough_test.go
  185. +57 −0 services/gateway/proxy/proxy.go
  186. +79 −0 services/gateway/router.go
  187. +44 −0 services/gateway/security/ResourceDeffinition.md
  188. +100 −0 services/gateway/security/authRouter.go
  189. +205 −0 services/gateway/security/authentication.go
  190. +53 −0 services/gateway/security/authorization.go
  191. +107 −0 services/gateway/security/authorization_test.go
  192. +118 −0 services/gateway/security/authorizer.go
  193. +60 −0 services/gateway/security/jwkCache.go
  194. +105 −0 services/gateway/security/jwtUtils.go
  195. +220 −0 services/gateway/security/requestUtils.go
  196. +209 −0 services/gateway/security/requestUtils_test.go
  197. +109 −0 services/gateway/security/subjectExtractor.go
  198. +71 −0 services/gateway/security/subjectExtractor_test.go
  199. +61 −0 services/gateway/security/testdata/authorization.rego
  200. +70 −0 services/gateway/security/testdata/policy.json
  201. +9 −0 services/gateway/security/testdata/subject_extraction_rules.rego
  202. +28 −0 services/gateway/security/userinfo.go
  203. +176 −0 services/gateway/settings/settings.json
  204. +155 −0 services/gateway/setup.go
  205. +26 −0 services/gateway/swagger.go
  206. +595 −0 services/gateway/swagger.yml
  207. +95 −0 services/gateway/testdata/policy.json
  208. +111 −0 services/gateway/testdata/test_authorization.rego
  209. +38 −0 services/gateway/transformation/health.go
  210. +102 −0 services/gateway/transformation/transformation.go
  211. +162 −0 services/gateway/transformation/transformation_test.go
  212. +10 −0 services/gateway/utils/arrayUtils.go
  213. +4 −0 services/gateway/version.go
  214. +94 −0 services/git-service/BareRepository/source/security/policy.json
  215. +5 −0 services/git-service/BareRepository/source/security/subject_extraction_rules.rego
  216. +94 −0 services/git-service/BareRepository/tests-source/security/policy.json
  217. +5 −0 services/git-service/BareRepository/tests-source/security/subject_extraction_rules.rego
  218. +11 −2 services/publishing/Dockerfile
  219. +11 −1 services/publishing/Tweek.Publishing.Service/Handlers/PushHandler.cs
  220. +12 −2 services/publishing/Tweek.Publishing.Service/Handlers/SyncHandler.cs
  221. +12 −1 services/publishing/Tweek.Publishing.Service/Handlers/ValidationHandler.cs
  222. +24 −0 services/publishing/Tweek.Publishing.Service/Helpers/GitKeyHelper.cs
  223. +4 −2 services/publishing/Tweek.Publishing.Service/Messaging/NatsPublisher.cs
  224. +17 −0 services/publishing/Tweek.Publishing.Service/Model/ExternalApps/ExternalApp.cs
  225. +17 −0 services/publishing/Tweek.Publishing.Service/Model/ExternalApps/SecretKey.cs
  226. +16 −0 services/publishing/Tweek.Publishing.Service/Model/Rules/KeyDef.cs
  227. +52 −0 services/publishing/Tweek.Publishing.Service/Model/Rules/Manifest.cs
  228. +13 −0 services/publishing/Tweek.Publishing.Service/Model/VersionsBlob.cs
  229. +21 −3 services/publishing/Tweek.Publishing.Service/Program.cs
  230. +64 −17 services/publishing/Tweek.Publishing.Service/Startup.cs
  231. +1 −0 services/publishing/Tweek.Publishing.Service/Storage/MinioBucketStorage.cs
  232. +12 −0 services/publishing/Tweek.Publishing.Service/Storage/ObjectStorageExtensions.cs
  233. +105 −0 services/publishing/Tweek.Publishing.Service/Sync/Converters/ExternalAppsConverter.cs
  234. +12 −0 services/publishing/Tweek.Publishing.Service/Sync/Converters/IConverter.cs
  235. +43 −0 services/publishing/Tweek.Publishing.Service/Sync/Converters/PolicyConverter.cs
  236. +25 −14 services/publishing/Tweek.Publishing.Service/{Packing/Packer.cs → Sync/Converters/RulesConverter.cs}
  237. +37 −0 services/publishing/Tweek.Publishing.Service/Sync/Converters/SubjectExtractionRulesConverter.cs
  238. +3 −2 services/publishing/Tweek.Publishing.Service/Sync/{StaleRevisionException.cs → RevisionException.cs}
  239. +74 −35 services/publishing/Tweek.Publishing.Service/Sync/StorageSynchronizer.cs
  240. +3 −0 services/publishing/Tweek.Publishing.Service/Tweek.Publishing.Service.csproj
  241. +1 −1 services/publishing/Tweek.Publishing.Service/Validation/CircularDependencyValidator.cs
  242. +3 −0 services/publishing/Tweek.Publishing.Service/Validation/Patterns.cs
  243. +12 −0 services/publishing/Tweek.Publishing.Service/Validation/PolicyValidationException.cs
  244. +27 −0 services/publishing/Tweek.Publishing.Service/Validation/PolicyValidator.cs
  245. +12 −0 services/publishing/Tweek.Publishing.Service/Validation/SubjectExtractionRulesValidationException.cs
  246. +34 −0 services/publishing/Tweek.Publishing.Service/Validation/SubjectExtractionValidator.cs
  247. +10 −9 services/publishing/Tweek.Publishing.Tests/{PackerTests.cs → ConverterTests.cs}
  248. +1 −1 services/publishing/Tweek.Publishing.Tests/Tweek.Publishing.Tests.csproj
  249. +45 −0 services/publishing/Tweek.Publishing.Tests/Validation/SubjectExtractionValidatorTests.cs
  250. +1 −1 services/publishing/scripts/ssh-helper.sh

Large diffs are not rendered by default.

Oops, something went wrong.
@@ -19,7 +19,7 @@ services:
image: soluto/tweek-api
build:
context: ../
dockerfile: TweekApiDockerfile
dockerfile: TweekApi.Dockerfile
logging:
driver: "json-file"
ports:
@@ -35,65 +35,76 @@ services:

editor:
image: soluto/tweek-editor
build: ../services/editor
build: ../services/editor
logging:
driver: "json-file"
ports:
- "5004:3000"

zap-smoke:
image: soluto/zap
build: ../deployments/dev/zap
logging:
driver: "json-file"
gateway:
image: soluto/tweek-gateway
build: ../services/gateway
volumes:
- ../deployments/dev/zap/session/smoke:/root/.ZAP/session/smoke
- ../deployments/dev/gateway/config:/config
ports:
- "5099:80"

zap-e2e:
image: soluto/zap
build: ../deployments/dev/zap
logging:
driver: "json-file"
volumes:
- ../deployments/dev/zap/session/e2e:/root/.ZAP/session/e2e
selenium:
image: selenium/standalone-chrome-debug:3.8.1
ports:
- "5900:5900"

smoke-tests:
build:
context: ../
dockerfile: TweekApiSmokeTestDockerfile
dockerfile: TweekApiSmokeTest.Dockerfile
depends_on:
- api
- gateway
- publishing
- zap-smoke
environment:
- TWEEK_API_URL=http://api/
- PROXY_URL=http://zap-smoke:8090
links:
- gateway:api

e2e-ui:
build: ../e2e/ui
depends_on:
- selenium
- editor
- authoring
- api
- gateway
- publishing
- zap-e2e
links:
- gateway:api
- gateway:authoring
environment:
- EDITOR_URL=http://editor:3000/
- GATEWAY_URL=http://gateway/
- TWEEK_API_URL=http://api/
- AUTHORING_URL=http://authoring:3000
- GIT_PRIVATE_KEY_INLINE=eWFybiBydW4gdjEuMy4yCiQgZG9ja2VyLWNvbXBvc2UgLWYgLi9kZXBsb3ltZW50cy9kZXYvZG9ja2VyLWNvbXBvc2UueW1sIC1mIC4vZGVwbG95bWVudHMvZGV2L2RvY2tlci1jb21wb3NlLm92ZXJyaWRlLnltbCBleGVjIHB1Ymxpc2hpbmcgY2F0IC90bXAvc3NoX3NlcnZlcgotLS0tLUJFR0lOIFJTQSBQUklWQVRFIEtFWS0tLS0tDQpNSUlFcEFJQkFBS0NBUUVBeE1JdjB3QW9NTkhzc1J6OUhvanM2eUNla2w5RHI5RUt1WjUwZ3QveHk4Wk9DelFKDQplblhvbm9TeHJVK0U2a0tNUFpxVzhJUFVoN0doL0pIbTFGV3MxZVR3YTNaMStVRUZraTNROWVERklQVE8zNW5hDQpxVjBwVXJZMndLTFRXbjNzN3ZkaGNBU09YdnVqc3lxdm9sQ1BrRXFyQVV1SVFXZzV3RzBKRHVweG4vMHRSSW9xDQpPT0gxNmlmeFpZcjdEQzQvQkp2Z0g2anRrdTVuNVhNTDhBaXVnd3B3bFNTU0c4dnVldXZabW53VWRKZ3FPM0RVDQpITHVTcEZwUXUySjZGeXY4ZFVhWVQxVnRxWDloeExpSG1HRVJLaEwrNWtQRzRkMTNCb2Q1VFhWZG82eHhmQ1BhDQpoaFVuemxkTWVzQTBiL1ZhUThBaVFoa29DY1FpYk9hclU3MDNSUUlEQVFBQkFvSUJBUUNaak5ZWHU3S2h6dUlCDQpvcGJpNG9iS1JDMmNHMTVPY2p3RmVlU0JVbFYzNnExelRzdnExdU9QK2d4VExaQ1Q1UlZlNmlyTFRvWm8wemFRDQpUaWl2SXFGOFYydE00aWpWT1dvb2x6clE5L1cvYjIyVzBKSDF4RytBVGhWU3BuOTh5bk5DVnFxaTZkdFZ3dG9RDQo4OG9YU1BtUTZNU2xnUlczdmFmOFJOdGgyWktOQUg5N1k4cGpWTVgvcUxMMW5aOTVicW9yUklMUnp6S0dKanFHDQplN0VpeFQ0a0JaemxHWUF5a1dVeFFZZzBkdTlnQjc1U1o2MHNwZzVUQlh5a3RXdzVIWG1ZWlMvSHdCOVRKbG1XDQpUanlWdE9lVmxqT0ZiOFZnSHBNd3d1Mk1vcjdWUEFQd2dEWHVxRk1XdkZ6cVViSGNVS3JXMGdCSExqWFNQbVM2DQowTDFJM2NXQkFvR0JBUE94eXFKZnhyelVDUG4zcDNtWTZyNmdseVhiLytlYVhhNDY3c05ZOE1acFZkbDVtUUpWDQpuOEdRN3FYaklaa2pCU2E5YzZZQThxOFRLVHlJbEcvTDE1OFVSaFRqZldNSC9nandaem1oSmVkL0N6Lzg1Y2V4DQpsUWw3bE4vUjI0VGIzd1UxNjNtRXluaEdSVzVLd3FjVTVvRUJtbjkvWWs4aGlia2k2aEk2NEFobEFvR0JBTTZ4DQpxUFpuL25odjh1K21PZTdjelNWNUxzd2ZNM1NTc25mWGdRUlc3cnpraGtmclFaMmVYekVDbWhWTy91SlZvTWJUDQpoQS9tUXRYRzVuMk9QMndmSk1LVUNiVVZ2ZTJYNUQxU1VGYk03dWVHU3JlWExXdXJzaHdnN1p6VlpxVDYzUEJSDQpqVGtRRTRydWtWRUszTTBVUDlJTVZ3c2FEajI4K2NNUWZOTkZodFZoQW9HQUNUOXErQ1I0VHp3Z3B4TzkyRUIwDQpVQTJhRHNhOWZGV0FUcGRQN2p2V3owQzZFRW1zQThtcUNWZHRwdi9xaTN3bnV1T2ZtdUlZVTRwL214dDN2cEpXDQp1V08wa1NCYzVzQXI1THp5dmQ0ZXFSMUtHUUNJMjc0aWNMeXUxcHVKSUE2VDlRZXB5dSsrR3poWGRDc0VIZ0VPDQpDa0U4VXJCTDA4THJEZ3FFSlhMMGczMENnWUJtMHpVbUdBZ2RMRHdrQW9MUmxLQ3Q0c0pvSTZGNmZid3hLRkZ6DQpzamVrV3Q5K2ljZWp2UFRJTWU0cmFaZ2RTdEhuOTdPOElTWGdxY2xpYnRDWVhrbndUcXNobmdaVlczbmRFOFVKDQoyWHVFVEdlQk84RUp6bW1WMnIrNmhPTkNjZFpWNjR3ZzlpRnl2VW9ua2dyVUx4MnN4aHpMVmhQOW5MUjMyUXp3DQpJYWQ1SVFLQmdRRFhwYVNubHhnK28zMldBR3dHc0F4cTVDVytyRXBPOFBDRG8rUmVlNnZjRjduSWYveTRzUlB1DQo0MWlwWjZYeFlwd2dSRDd6blpqejlBZVZoRzhpQUFBQk5GVTFKRlRpWGlnUERaLzA4WUUwdGdDVmIvRU9XZnFUDQptS0NBTUgrSjJZWUlwb3NLL3dyQmRXQ1RiUHYvYUI3RkVraFFLeGVJTXYxd0trd2tSaU5BQ0E9PQ0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0NCkRvbmUgaW4gMC42NHMuCg
- PROXY_URL=http://zap-e2e:8090
- AUTHORING_URL=http://authoring
- GIT_PRIVATE_KEY_INLINE=LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBeE1JdjB3QW9NTkhzc1J6OUhvanM2eUNla2w5RHI5RUt1WjUwZ3QveHk4Wk9DelFKCmVuWG9ub1N4clUrRTZrS01QWnFXOElQVWg3R2gvSkhtMUZXczFlVHdhM1oxK1VFRmtpM1E5ZURGSVBUTzM1bmEKcVYwcFVyWTJ3S0xUV24zczd2ZGhjQVNPWHZ1anN5cXZvbENQa0VxckFVdUlRV2c1d0cwSkR1cHhuLzB0UklvcQpPT0gxNmlmeFpZcjdEQzQvQkp2Z0g2anRrdTVuNVhNTDhBaXVnd3B3bFNTU0c4dnVldXZabW53VWRKZ3FPM0RVCkhMdVNwRnBRdTJKNkZ5djhkVWFZVDFWdHFYOWh4TGlIbUdFUktoTCs1a1BHNGQxM0JvZDVUWFZkbzZ4eGZDUGEKaGhVbnpsZE1lc0EwYi9WYVE4QWlRaGtvQ2NRaWJPYXJVNzAzUlFJREFRQUJBb0lCQVFDWmpOWVh1N0toenVJQgpvcGJpNG9iS1JDMmNHMTVPY2p3RmVlU0JVbFYzNnExelRzdnExdU9QK2d4VExaQ1Q1UlZlNmlyTFRvWm8wemFRClRpaXZJcUY4VjJ0TTRpalZPV29vbHpyUTkvVy9iMjJXMEpIMXhHK0FUaFZTcG45OHluTkNWcXFpNmR0Vnd0b1EKODhvWFNQbVE2TVNsZ1JXM3ZhZjhSTnRoMlpLTkFIOTdZOHBqVk1YL3FMTDFuWjk1YnFvclJJTFJ6ektHSmpxRwplN0VpeFQ0a0JaemxHWUF5a1dVeFFZZzBkdTlnQjc1U1o2MHNwZzVUQlh5a3RXdzVIWG1ZWlMvSHdCOVRKbG1XClRqeVZ0T2VWbGpPRmI4VmdIcE13d3UyTW9yN1ZQQVB3Z0RYdXFGTVd2RnpxVWJIY1VLclcwZ0JITGpYU1BtUzYKMEwxSTNjV0JBb0dCQVBPeHlxSmZ4cnpVQ1BuM3AzbVk2cjZnbHlYYi8rZWFYYTQ2N3NOWThNWnBWZGw1bVFKVgpuOEdRN3FYaklaa2pCU2E5YzZZQThxOFRLVHlJbEcvTDE1OFVSaFRqZldNSC9nandaem1oSmVkL0N6Lzg1Y2V4CmxRbDdsTi9SMjRUYjN3VTE2M21FeW5oR1JXNUt3cWNVNW9FQm1uOS9ZazhoaWJraTZoSTY0QWhsQW9HQkFNNngKcVBabi9uaHY4dSttT2U3Y3pTVjVMc3dmTTNTU3NuZlhnUVJXN3J6a2hrZnJRWjJlWHpFQ21oVk8vdUpWb01iVApoQS9tUXRYRzVuMk9QMndmSk1LVUNiVVZ2ZTJYNUQxU1VGYk03dWVHU3JlWExXdXJzaHdnN1p6VlpxVDYzUEJSCmpUa1FFNHJ1a1ZFSzNNMFVQOUlNVndzYURqMjgrY01RZk5ORmh0VmhBb0dBQ1Q5cStDUjRUendncHhPOTJFQjAKVUEyYURzYTlmRldBVHBkUDdqdld6MEM2RUVtc0E4bXFDVmR0cHYvcWkzd251dU9mbXVJWVU0cC9teHQzdnBKVwp1V08wa1NCYzVzQXI1THp5dmQ0ZXFSMUtHUUNJMjc0aWNMeXUxcHVKSUE2VDlRZXB5dSsrR3poWGRDc0VIZ0VPCkNrRThVckJMMDhMckRncUVKWEwwZzMwQ2dZQm0welVtR0FnZExEd2tBb0xSbEtDdDRzSm9JNkY2ZmJ3eEtGRnoKc2pla1d0OStpY2VqdlBUSU1lNHJhWmdkU3RIbjk3TzhJU1hncWNsaWJ0Q1lYa253VHFzaG5nWlZXM25kRThVSgoyWHVFVEdlQk84RUp6bW1WMnIrNmhPTkNjZFpWNjR3ZzlpRnl2VW9ua2dyVUx4MnN4aHpMVmhQOW5MUjMyUXp3CklhZDVJUUtCZ1FEWHBhU25seGcrbzMyV0FHd0dzQXhxNUNXK3JFcE84UENEbytSZWU2dmNGN25JZi95NHNSUHUKNDFpcFo2WHhZcHdnUkQ3em5aano5QWVWaEc4aUFBQUJORlUxSkZUaVhpZ1BEWi8wOFlFMHRnQ1ZiL0VPV2ZxVAptS0NBTUgrSjJZWUlwb3NLL3dyQmRXQ1RiUHYvYUI3RkVraFFLeGVJTXYxd0trd2tSaU5BQ0E9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
- AUTH_DIGEST_CREDENTIALS=user:pwd

e2e-integration:
build: ../e2e/integration
depends_on:
- authoring
- api
- gateway
- publishing
links:
- gateway:api
- gateway:authoring
environment:
- API_URL=http://api
- AUTHORING_URL=http://authoring:3000
- PUBLISHING_URL=http://publishing:3000
- GIT_PRIVATE_KEY_INLINE=eWFybiBydW4gdjEuMy4yCiQgZG9ja2VyLWNvbXBvc2UgLWYgLi9kZXBsb3ltZW50cy9kZXYvZG9ja2VyLWNvbXBvc2UueW1sIC1mIC4vZGVwbG95bWVudHMvZGV2L2RvY2tlci1jb21wb3NlLm92ZXJyaWRlLnltbCBleGVjIHB1Ymxpc2hpbmcgY2F0IC90bXAvc3NoX3NlcnZlcgotLS0tLUJFR0lOIFJTQSBQUklWQVRFIEtFWS0tLS0tDQpNSUlFcEFJQkFBS0NBUUVBeE1JdjB3QW9NTkhzc1J6OUhvanM2eUNla2w5RHI5RUt1WjUwZ3QveHk4Wk9DelFKDQplblhvbm9TeHJVK0U2a0tNUFpxVzhJUFVoN0doL0pIbTFGV3MxZVR3YTNaMStVRUZraTNROWVERklQVE8zNW5hDQpxVjBwVXJZMndLTFRXbjNzN3ZkaGNBU09YdnVqc3lxdm9sQ1BrRXFyQVV1SVFXZzV3RzBKRHVweG4vMHRSSW9xDQpPT0gxNmlmeFpZcjdEQzQvQkp2Z0g2anRrdTVuNVhNTDhBaXVnd3B3bFNTU0c4dnVldXZabW53VWRKZ3FPM0RVDQpITHVTcEZwUXUySjZGeXY4ZFVhWVQxVnRxWDloeExpSG1HRVJLaEwrNWtQRzRkMTNCb2Q1VFhWZG82eHhmQ1BhDQpoaFVuemxkTWVzQTBiL1ZhUThBaVFoa29DY1FpYk9hclU3MDNSUUlEQVFBQkFvSUJBUUNaak5ZWHU3S2h6dUlCDQpvcGJpNG9iS1JDMmNHMTVPY2p3RmVlU0JVbFYzNnExelRzdnExdU9QK2d4VExaQ1Q1UlZlNmlyTFRvWm8wemFRDQpUaWl2SXFGOFYydE00aWpWT1dvb2x6clE5L1cvYjIyVzBKSDF4RytBVGhWU3BuOTh5bk5DVnFxaTZkdFZ3dG9RDQo4OG9YU1BtUTZNU2xnUlczdmFmOFJOdGgyWktOQUg5N1k4cGpWTVgvcUxMMW5aOTVicW9yUklMUnp6S0dKanFHDQplN0VpeFQ0a0JaemxHWUF5a1dVeFFZZzBkdTlnQjc1U1o2MHNwZzVUQlh5a3RXdzVIWG1ZWlMvSHdCOVRKbG1XDQpUanlWdE9lVmxqT0ZiOFZnSHBNd3d1Mk1vcjdWUEFQd2dEWHVxRk1XdkZ6cVViSGNVS3JXMGdCSExqWFNQbVM2DQowTDFJM2NXQkFvR0JBUE94eXFKZnhyelVDUG4zcDNtWTZyNmdseVhiLytlYVhhNDY3c05ZOE1acFZkbDVtUUpWDQpuOEdRN3FYaklaa2pCU2E5YzZZQThxOFRLVHlJbEcvTDE1OFVSaFRqZldNSC9nandaem1oSmVkL0N6Lzg1Y2V4DQpsUWw3bE4vUjI0VGIzd1UxNjNtRXluaEdSVzVLd3FjVTVvRUJtbjkvWWs4aGlia2k2aEk2NEFobEFvR0JBTTZ4DQpxUFpuL25odjh1K21PZTdjelNWNUxzd2ZNM1NTc25mWGdRUlc3cnpraGtmclFaMmVYekVDbWhWTy91SlZvTWJUDQpoQS9tUXRYRzVuMk9QMndmSk1LVUNiVVZ2ZTJYNUQxU1VGYk03dWVHU3JlWExXdXJzaHdnN1p6VlpxVDYzUEJSDQpqVGtRRTRydWtWRUszTTBVUDlJTVZ3c2FEajI4K2NNUWZOTkZodFZoQW9HQUNUOXErQ1I0VHp3Z3B4TzkyRUIwDQpVQTJhRHNhOWZGV0FUcGRQN2p2V3owQzZFRW1zQThtcUNWZHRwdi9xaTN3bnV1T2ZtdUlZVTRwL214dDN2cEpXDQp1V08wa1NCYzVzQXI1THp5dmQ0ZXFSMUtHUUNJMjc0aWNMeXUxcHVKSUE2VDlRZXB5dSsrR3poWGRDc0VIZ0VPDQpDa0U4VXJCTDA4THJEZ3FFSlhMMGczMENnWUJtMHpVbUdBZ2RMRHdrQW9MUmxLQ3Q0c0pvSTZGNmZid3hLRkZ6DQpzamVrV3Q5K2ljZWp2UFRJTWU0cmFaZ2RTdEhuOTdPOElTWGdxY2xpYnRDWVhrbndUcXNobmdaVlczbmRFOFVKDQoyWHVFVEdlQk84RUp6bW1WMnIrNmhPTkNjZFpWNjR3ZzlpRnl2VW9ua2dyVUx4MnN4aHpMVmhQOW5MUjMyUXp3DQpJYWQ1SVFLQmdRRFhwYVNubHhnK28zMldBR3dHc0F4cTVDVytyRXBPOFBDRG8rUmVlNnZjRjduSWYveTRzUlB1DQo0MWlwWjZYeFlwd2dSRDd6blpqejlBZVZoRzhpQUFBQk5GVTFKRlRpWGlnUERaLzA4WUUwdGdDVmIvRU9XZnFUDQptS0NBTUgrSjJZWUlwb3NLL3dyQmRXQ1RiUHYvYUI3RkVraFFLeGVJTXYxd0trd2tSaU5BQ0E9PQ0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0NCkRvbmUgaW4gMC42NHMuCg
- AUTHORING_URL=http://authoring
- PUBLISHING_URL=http://publishing
- GATEWAY_URL=http://gateway
- GIT_PRIVATE_KEY_INLINE=LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBeE1JdjB3QW9NTkhzc1J6OUhvanM2eUNla2w5RHI5RUt1WjUwZ3QveHk4Wk9DelFKCmVuWG9ub1N4clUrRTZrS01QWnFXOElQVWg3R2gvSkhtMUZXczFlVHdhM1oxK1VFRmtpM1E5ZURGSVBUTzM1bmEKcVYwcFVyWTJ3S0xUV24zczd2ZGhjQVNPWHZ1anN5cXZvbENQa0VxckFVdUlRV2c1d0cwSkR1cHhuLzB0UklvcQpPT0gxNmlmeFpZcjdEQzQvQkp2Z0g2anRrdTVuNVhNTDhBaXVnd3B3bFNTU0c4dnVldXZabW53VWRKZ3FPM0RVCkhMdVNwRnBRdTJKNkZ5djhkVWFZVDFWdHFYOWh4TGlIbUdFUktoTCs1a1BHNGQxM0JvZDVUWFZkbzZ4eGZDUGEKaGhVbnpsZE1lc0EwYi9WYVE4QWlRaGtvQ2NRaWJPYXJVNzAzUlFJREFRQUJBb0lCQVFDWmpOWVh1N0toenVJQgpvcGJpNG9iS1JDMmNHMTVPY2p3RmVlU0JVbFYzNnExelRzdnExdU9QK2d4VExaQ1Q1UlZlNmlyTFRvWm8wemFRClRpaXZJcUY4VjJ0TTRpalZPV29vbHpyUTkvVy9iMjJXMEpIMXhHK0FUaFZTcG45OHluTkNWcXFpNmR0Vnd0b1EKODhvWFNQbVE2TVNsZ1JXM3ZhZjhSTnRoMlpLTkFIOTdZOHBqVk1YL3FMTDFuWjk1YnFvclJJTFJ6ektHSmpxRwplN0VpeFQ0a0JaemxHWUF5a1dVeFFZZzBkdTlnQjc1U1o2MHNwZzVUQlh5a3RXdzVIWG1ZWlMvSHdCOVRKbG1XClRqeVZ0T2VWbGpPRmI4VmdIcE13d3UyTW9yN1ZQQVB3Z0RYdXFGTVd2RnpxVWJIY1VLclcwZ0JITGpYU1BtUzYKMEwxSTNjV0JBb0dCQVBPeHlxSmZ4cnpVQ1BuM3AzbVk2cjZnbHlYYi8rZWFYYTQ2N3NOWThNWnBWZGw1bVFKVgpuOEdRN3FYaklaa2pCU2E5YzZZQThxOFRLVHlJbEcvTDE1OFVSaFRqZldNSC9nandaem1oSmVkL0N6Lzg1Y2V4CmxRbDdsTi9SMjRUYjN3VTE2M21FeW5oR1JXNUt3cWNVNW9FQm1uOS9ZazhoaWJraTZoSTY0QWhsQW9HQkFNNngKcVBabi9uaHY4dSttT2U3Y3pTVjVMc3dmTTNTU3NuZlhnUVJXN3J6a2hrZnJRWjJlWHpFQ21oVk8vdUpWb01iVApoQS9tUXRYRzVuMk9QMndmSk1LVUNiVVZ2ZTJYNUQxU1VGYk03dWVHU3JlWExXdXJzaHdnN1p6VlpxVDYzUEJSCmpUa1FFNHJ1a1ZFSzNNMFVQOUlNVndzYURqMjgrY01RZk5ORmh0VmhBb0dBQ1Q5cStDUjRUendncHhPOTJFQjAKVUEyYURzYTlmRldBVHBkUDdqdld6MEM2RUVtc0E4bXFDVmR0cHYvcWkzd251dU9mbXVJWVU0cC9teHQzdnBKVwp1V08wa1NCYzVzQXI1THp5dmQ0ZXFSMUtHUUNJMjc0aWNMeXUxcHVKSUE2VDlRZXB5dSsrR3poWGRDc0VIZ0VPCkNrRThVckJMMDhMckRncUVKWEwwZzMwQ2dZQm0welVtR0FnZExEd2tBb0xSbEtDdDRzSm9JNkY2ZmJ3eEtGRnoKc2pla1d0OStpY2VqdlBUSU1lNHJhWmdkU3RIbjk3TzhJU1hncWNsaWJ0Q1lYa253VHFzaG5nWlZXM25kRThVSgoyWHVFVEdlQk84RUp6bW1WMnIrNmhPTkNjZFpWNjR3ZzlpRnl2VW9ua2dyVUx4MnN4aHpMVmhQOW5MUjMyUXp3CklhZDVJUUtCZ1FEWHBhU25seGcrbzMyV0FHd0dzQXhxNUNXK3JFcE84UENEbytSZWU2dmNGN25JZi95NHNSUHUKNDFpcFo2WHhZcHdnUkQ3em5aano5QWVWaEc4aUFBQUJORlUxSkZUaVhpZ1BEWi8wOFlFMHRnQ1ZiL0VPV2ZxVAptS0NBTUgrSjJZWUlwb3NLL3dyQmRXQ1RiUHYvYUI3RkVraFFLeGVJTXYxd0trd2tSaU5BQ0E9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
- MINIO_HOST=minio
- MINIO_ACCESS_KEY=AKIAIOSFODNN7EXAMPLE
- MINIO_SECRET_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
- MINIO_PORT=9000
- MINIO_BUCKET=tweek

oidc-server-mock:
logging:
driver: "json-file"
ports:
- "5011:80"
Oops, something went wrong.

0 comments on commit 4a2801e

Please sign in to comment.