emasser 1.0.0 → 1.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (445) hide show
  1. checksums.yaml +4 -4
  2. data/.dockerignore +5 -8
  3. data/.env-example +3 -1
  4. data/.github/release-drafter.yml +2 -2
  5. data/.github/workflows/gh-pages.yml +4 -5
  6. data/.github/workflows/push-to-docker-mail.yml +28 -0
  7. data/.github/workflows/push-to-docker.yml +35 -0
  8. data/.github/workflows/release.yml +7 -3
  9. data/.github/workflows/test-cli.yml +4 -5
  10. data/.gitignore +3 -1
  11. data/Dockerfile +37 -3
  12. data/Gemfile +1 -1
  13. data/Gemfile.lock +37 -43
  14. data/README.md +131 -61
  15. data/docs/features.md +345 -207
  16. data/docs/images/emasser_architecture.jpg +0 -0
  17. data/emasser.gemspec +16 -12
  18. data/exe/emasser +0 -0
  19. data/images/emasser_architecture.jpg +0 -0
  20. data/images/emasser_diagram-Page-3.jpg +0 -0
  21. data/lib/emasser/cli.rb +12 -0
  22. data/lib/emasser/configuration.rb +22 -7
  23. data/lib/emasser/constants.rb +11 -3
  24. data/lib/emasser/delete.rb +14 -12
  25. data/lib/emasser/get.rb +83 -88
  26. data/lib/emasser/help/cloudresource_post_mapper.md +62 -0
  27. data/lib/emasser/help/container_post_mapper.md +44 -0
  28. data/lib/emasser/output_converters.rb +101 -4
  29. data/lib/emasser/post.rb +248 -55
  30. data/lib/emasser/put.rb +29 -22
  31. data/lib/emasser/version.rb +1 -1
  32. data/lib/emasser.rb +1 -1
  33. metadata +64 -447
  34. data/.github/workflows/generate_docs.yml +0 -33
  35. data/TAGS +0 -2393
  36. data/docs/developers.md +0 -115
  37. data/docs/swagger/dist/favicon-16x16.png +0 -0
  38. data/docs/swagger/dist/favicon-32x32.png +0 -0
  39. data/docs/swagger/dist/oauth2-redirect.html +0 -75
  40. data/docs/swagger/dist/swagger-ui-bundle.js +0 -3
  41. data/docs/swagger/dist/swagger-ui-bundle.js.map +0 -1
  42. data/docs/swagger/dist/swagger-ui-es-bundle-core.js +0 -3
  43. data/docs/swagger/dist/swagger-ui-es-bundle-core.js.map +0 -1
  44. data/docs/swagger/dist/swagger-ui-es-bundle.js +0 -3
  45. data/docs/swagger/dist/swagger-ui-es-bundle.js.map +0 -1
  46. data/docs/swagger/dist/swagger-ui-standalone-preset.js +0 -3
  47. data/docs/swagger/dist/swagger-ui-standalone-preset.js.map +0 -1
  48. data/docs/swagger/dist/swagger-ui.css +0 -4
  49. data/docs/swagger/dist/swagger-ui.css.map +0 -1
  50. data/docs/swagger/dist/swagger-ui.js +0 -3
  51. data/docs/swagger/dist/swagger-ui.js.map +0 -1
  52. data/docs/swagger/index.html +0 -60
  53. data/emass_client/eMASSRestOpenApi.yaml +0 -5698
  54. data/emass_client/ruby_client/.gitignore +0 -39
  55. data/emass_client/ruby_client/.rspec +0 -2
  56. data/emass_client/ruby_client/.rubocop.yml +0 -154
  57. data/emass_client/ruby_client/.swagger-codegen/VERSION +0 -1
  58. data/emass_client/ruby_client/.swagger-codegen-ignore +0 -23
  59. data/emass_client/ruby_client/Gemfile +0 -9
  60. data/emass_client/ruby_client/README.md +0 -1284
  61. data/emass_client/ruby_client/Rakefile +0 -8
  62. data/emass_client/ruby_client/docs/ArtifactsApi.md +0 -284
  63. data/emass_client/ruby_client/docs/ArtifactsDelete.md +0 -6
  64. data/emass_client/ruby_client/docs/ArtifactsDeleteInner.md +0 -7
  65. data/emass_client/ruby_client/docs/ArtifactsExportApi.md +0 -76
  66. data/emass_client/ruby_client/docs/ArtifactsGet.md +0 -20
  67. data/emass_client/ruby_client/docs/ArtifactsRequestPutBody.md +0 -16
  68. data/emass_client/ruby_client/docs/ArtifactsResponseDel.md +0 -8
  69. data/emass_client/ruby_client/docs/ArtifactsResponseDelData.md +0 -9
  70. data/emass_client/ruby_client/docs/ArtifactsResponseGet.md +0 -8
  71. data/emass_client/ruby_client/docs/ArtifactsResponsePutPost.md +0 -8
  72. data/emass_client/ruby_client/docs/CACApi.md +0 -140
  73. data/emass_client/ruby_client/docs/CMMCAssessmentsApi.md +0 -71
  74. data/emass_client/ruby_client/docs/CacGet.md +0 -13
  75. data/emass_client/ruby_client/docs/CacRequestPostBody.md +0 -8
  76. data/emass_client/ruby_client/docs/CacResponseGet.md +0 -8
  77. data/emass_client/ruby_client/docs/CacResponsePost.md +0 -8
  78. data/emass_client/ruby_client/docs/CacResponsePostData.md +0 -9
  79. data/emass_client/ruby_client/docs/CmmcGet.md +0 -19
  80. data/emass_client/ruby_client/docs/CmmcResponseGet.md +0 -8
  81. data/emass_client/ruby_client/docs/ConnectivityCcsd.md +0 -8
  82. data/emass_client/ruby_client/docs/ControlsApi.md +0 -140
  83. data/emass_client/ruby_client/docs/ControlsGet.md +0 -36
  84. data/emass_client/ruby_client/docs/ControlsPut.md +0 -9
  85. data/emass_client/ruby_client/docs/ControlsRequestPutBody.md +0 -29
  86. data/emass_client/ruby_client/docs/ControlsResponseGet.md +0 -8
  87. data/emass_client/ruby_client/docs/ControlsResponsePut.md +0 -8
  88. data/emass_client/ruby_client/docs/DefinitionTransitions.md +0 -9
  89. data/emass_client/ruby_client/docs/DeleteMilestone.md +0 -7
  90. data/emass_client/ruby_client/docs/DeletePoam.md +0 -7
  91. data/emass_client/ruby_client/docs/Empty200Response.md +0 -6
  92. data/emass_client/ruby_client/docs/Error.md +0 -8
  93. data/emass_client/ruby_client/docs/InstancesTransitions.md +0 -12
  94. data/emass_client/ruby_client/docs/MilestoneResponseGet.md +0 -8
  95. data/emass_client/ruby_client/docs/MilestoneResponsePost.md +0 -8
  96. data/emass_client/ruby_client/docs/MilestoneResponsePut.md +0 -8
  97. data/emass_client/ruby_client/docs/MilestonesApi.md +0 -350
  98. data/emass_client/ruby_client/docs/MilestonesDelete.md +0 -6
  99. data/emass_client/ruby_client/docs/MilestonesGet.md +0 -12
  100. data/emass_client/ruby_client/docs/MilestonesPost.md +0 -6
  101. data/emass_client/ruby_client/docs/MilestonesPut.md +0 -6
  102. data/emass_client/ruby_client/docs/MilestonesPutPostDelete.md +0 -11
  103. data/emass_client/ruby_client/docs/MilestonesRequestPostBody.md +0 -9
  104. data/emass_client/ruby_client/docs/MilestonesRequestPutBody.md +0 -9
  105. data/emass_client/ruby_client/docs/MilestonesRequiredPost.md +0 -8
  106. data/emass_client/ruby_client/docs/MilestonesRequiredPut.md +0 -9
  107. data/emass_client/ruby_client/docs/Model200.md +0 -7
  108. data/emass_client/ruby_client/docs/Model201.md +0 -7
  109. data/emass_client/ruby_client/docs/Model201Meta.md +0 -8
  110. data/emass_client/ruby_client/docs/Model400.md +0 -7
  111. data/emass_client/ruby_client/docs/Model400Meta.md +0 -8
  112. data/emass_client/ruby_client/docs/Model400Response.md +0 -7
  113. data/emass_client/ruby_client/docs/Model401.md +0 -7
  114. data/emass_client/ruby_client/docs/Model401Meta.md +0 -8
  115. data/emass_client/ruby_client/docs/Model403.md +0 -7
  116. data/emass_client/ruby_client/docs/Model403Meta.md +0 -8
  117. data/emass_client/ruby_client/docs/Model404.md +0 -8
  118. data/emass_client/ruby_client/docs/Model404Response.md +0 -7
  119. data/emass_client/ruby_client/docs/Model405.md +0 -7
  120. data/emass_client/ruby_client/docs/Model405Meta.md +0 -8
  121. data/emass_client/ruby_client/docs/Model411.md +0 -7
  122. data/emass_client/ruby_client/docs/Model411Meta.md +0 -8
  123. data/emass_client/ruby_client/docs/Model490.md +0 -7
  124. data/emass_client/ruby_client/docs/Model490Meta.md +0 -8
  125. data/emass_client/ruby_client/docs/Model500.md +0 -7
  126. data/emass_client/ruby_client/docs/Model500Meta.md +0 -8
  127. data/emass_client/ruby_client/docs/PACApi.md +0 -137
  128. data/emass_client/ruby_client/docs/POAMApi.md +0 -346
  129. data/emass_client/ruby_client/docs/PacGet.md +0 -14
  130. data/emass_client/ruby_client/docs/PacPost.md +0 -9
  131. data/emass_client/ruby_client/docs/PacRequestPostBody.md +0 -9
  132. data/emass_client/ruby_client/docs/PacResponseGet.md +0 -8
  133. data/emass_client/ruby_client/docs/PacResponsePost.md +0 -8
  134. data/emass_client/ruby_client/docs/PoamDelete.md +0 -6
  135. data/emass_client/ruby_client/docs/PoamGet.md +0 -39
  136. data/emass_client/ruby_client/docs/PoamPost.md +0 -6
  137. data/emass_client/ruby_client/docs/PoamPostPutDel.md +0 -10
  138. data/emass_client/ruby_client/docs/PoamPut.md +0 -6
  139. data/emass_client/ruby_client/docs/PoamRequestPostBody.md +0 -6
  140. data/emass_client/ruby_client/docs/PoamRequestPutBody.md +0 -6
  141. data/emass_client/ruby_client/docs/PoamRequiredPost.md +0 -32
  142. data/emass_client/ruby_client/docs/PoamRequiredPut.md +0 -35
  143. data/emass_client/ruby_client/docs/PoamResponseDelete.md +0 -8
  144. data/emass_client/ruby_client/docs/PoamResponseGet.md +0 -8
  145. data/emass_client/ruby_client/docs/PoamResponsePost.md +0 -8
  146. data/emass_client/ruby_client/docs/PoamResponsePut.md +0 -8
  147. data/emass_client/ruby_client/docs/Register.md +0 -8
  148. data/emass_client/ruby_client/docs/RegisterData.md +0 -7
  149. data/emass_client/ruby_client/docs/RegisterUserRequestPostBody.md +0 -7
  150. data/emass_client/ruby_client/docs/RegistrationApi.md +0 -71
  151. data/emass_client/ruby_client/docs/RoleCategory.md +0 -10
  152. data/emass_client/ruby_client/docs/Roles.md +0 -9
  153. data/emass_client/ruby_client/docs/Ssps.md +0 -9
  154. data/emass_client/ruby_client/docs/Stage.md +0 -8
  155. data/emass_client/ruby_client/docs/StaticCodeApplication.md +0 -12
  156. data/emass_client/ruby_client/docs/StaticCodeRequestPostBody.md +0 -6
  157. data/emass_client/ruby_client/docs/StaticCodeRequiredPost.md +0 -8
  158. data/emass_client/ruby_client/docs/StaticCodeRequiredPostApplication.md +0 -8
  159. data/emass_client/ruby_client/docs/StaticCodeScansApi.md +0 -73
  160. data/emass_client/ruby_client/docs/Success200Response.md +0 -8
  161. data/emass_client/ruby_client/docs/SystemIdArtifactsBody.md +0 -10
  162. data/emass_client/ruby_client/docs/SystemResponse.md +0 -8
  163. data/emass_client/ruby_client/docs/SystemRolesApi.md +0 -137
  164. data/emass_client/ruby_client/docs/SystemRolesCategoryResponse.md +0 -8
  165. data/emass_client/ruby_client/docs/SystemRolesResponse.md +0 -8
  166. data/emass_client/ruby_client/docs/SystemRolesResponseData.md +0 -8
  167. data/emass_client/ruby_client/docs/Systems.md +0 -70
  168. data/emass_client/ruby_client/docs/SystemsApi.md +0 -155
  169. data/emass_client/ruby_client/docs/Test.md +0 -8
  170. data/emass_client/ruby_client/docs/TestApi.md +0 -66
  171. data/emass_client/ruby_client/docs/TestData.md +0 -7
  172. data/emass_client/ruby_client/docs/TestResultsApi.md +0 -144
  173. data/emass_client/ruby_client/docs/TestResultsGet.md +0 -15
  174. data/emass_client/ruby_client/docs/TestResultsPost.md +0 -9
  175. data/emass_client/ruby_client/docs/TestResultsRequestPostBody.md +0 -11
  176. data/emass_client/ruby_client/docs/TestResultsResponseGet.md +0 -8
  177. data/emass_client/ruby_client/docs/TestResultsResponsePost.md +0 -8
  178. data/emass_client/ruby_client/docs/Users.md +0 -9
  179. data/emass_client/ruby_client/docs/WorkflowDefinitionGet.md +0 -11
  180. data/emass_client/ruby_client/docs/WorkflowDefinitionResponseGet.md +0 -8
  181. data/emass_client/ruby_client/docs/WorkflowDefinitionsApi.md +0 -74
  182. data/emass_client/ruby_client/docs/WorkflowInstancesApi.md +0 -146
  183. data/emass_client/ruby_client/docs/WorkflowInstancesGet.md +0 -16
  184. data/emass_client/ruby_client/docs/WorkflowInstancesResponseGet.md +0 -8
  185. data/emass_client/ruby_client/git_push.sh +0 -55
  186. data/emass_client/ruby_client/lib/swagger_client/api/artifacts_api.rb +0 -310
  187. data/emass_client/ruby_client/lib/swagger_client/api/artifacts_export_api.rb +0 -86
  188. data/emass_client/ruby_client/lib/swagger_client/api/cac_api.rb +0 -143
  189. data/emass_client/ruby_client/lib/swagger_client/api/cmmc_assessments_api.rb +0 -77
  190. data/emass_client/ruby_client/lib/swagger_client/api/controls_api.rb +0 -143
  191. data/emass_client/ruby_client/lib/swagger_client/api/milestones_api.rb +0 -366
  192. data/emass_client/ruby_client/lib/swagger_client/api/pac_api.rb +0 -140
  193. data/emass_client/ruby_client/lib/swagger_client/api/poam_api.rb +0 -345
  194. data/emass_client/ruby_client/lib/swagger_client/api/registration_api.rb +0 -78
  195. data/emass_client/ruby_client/lib/swagger_client/api/static_code_scans_api.rb +0 -84
  196. data/emass_client/ruby_client/lib/swagger_client/api/system_roles_api.rb +0 -150
  197. data/emass_client/ruby_client/lib/swagger_client/api/systems_api.rb +0 -162
  198. data/emass_client/ruby_client/lib/swagger_client/api/test_api.rb +0 -70
  199. data/emass_client/ruby_client/lib/swagger_client/api/test_results_api.rb +0 -149
  200. data/emass_client/ruby_client/lib/swagger_client/api/workflow_definitions_api.rb +0 -76
  201. data/emass_client/ruby_client/lib/swagger_client/api/workflow_instances_api.rb +0 -153
  202. data/emass_client/ruby_client/lib/swagger_client/api_client.rb +0 -389
  203. data/emass_client/ruby_client/lib/swagger_client/api_error.rb +0 -57
  204. data/emass_client/ruby_client/lib/swagger_client/configuration.rb +0 -224
  205. data/emass_client/ruby_client/lib/swagger_client/models/artifacts_delete.rb +0 -201
  206. data/emass_client/ruby_client/lib/swagger_client/models/artifacts_delete_inner.rb +0 -207
  207. data/emass_client/ruby_client/lib/swagger_client/models/artifacts_get.rb +0 -383
  208. data/emass_client/ruby_client/lib/swagger_client/models/artifacts_request_put_body.rb +0 -363
  209. data/emass_client/ruby_client/lib/swagger_client/models/artifacts_response_del.rb +0 -217
  210. data/emass_client/ruby_client/lib/swagger_client/models/artifacts_response_del_data.rb +0 -225
  211. data/emass_client/ruby_client/lib/swagger_client/models/artifacts_response_get.rb +0 -217
  212. data/emass_client/ruby_client/lib/swagger_client/models/artifacts_response_put_post.rb +0 -217
  213. data/emass_client/ruby_client/lib/swagger_client/models/cac_get.rb +0 -301
  214. data/emass_client/ruby_client/lib/swagger_client/models/cac_request_post_body.rb +0 -217
  215. data/emass_client/ruby_client/lib/swagger_client/models/cac_response_get.rb +0 -217
  216. data/emass_client/ruby_client/lib/swagger_client/models/cac_response_post.rb +0 -217
  217. data/emass_client/ruby_client/lib/swagger_client/models/cac_response_post_data.rb +0 -225
  218. data/emass_client/ruby_client/lib/swagger_client/models/cmmc_get.rb +0 -398
  219. data/emass_client/ruby_client/lib/swagger_client/models/cmmc_response_get.rb +0 -217
  220. data/emass_client/ruby_client/lib/swagger_client/models/connectivity_ccsd.rb +0 -217
  221. data/emass_client/ruby_client/lib/swagger_client/models/controls_get.rb +0 -663
  222. data/emass_client/ruby_client/lib/swagger_client/models/controls_put.rb +0 -227
  223. data/emass_client/ruby_client/lib/swagger_client/models/controls_request_put_body.rb +0 -606
  224. data/emass_client/ruby_client/lib/swagger_client/models/controls_response_get.rb +0 -217
  225. data/emass_client/ruby_client/lib/swagger_client/models/controls_response_put.rb +0 -217
  226. data/emass_client/ruby_client/lib/swagger_client/models/definition_transitions.rb +0 -274
  227. data/emass_client/ruby_client/lib/swagger_client/models/delete_milestone.rb +0 -212
  228. data/emass_client/ruby_client/lib/swagger_client/models/delete_poam.rb +0 -212
  229. data/emass_client/ruby_client/lib/swagger_client/models/empty200_response.rb +0 -197
  230. data/emass_client/ruby_client/lib/swagger_client/models/error.rb +0 -225
  231. data/emass_client/ruby_client/lib/swagger_client/models/instances_transitions.rb +0 -327
  232. data/emass_client/ruby_client/lib/swagger_client/models/milestone_response_get.rb +0 -217
  233. data/emass_client/ruby_client/lib/swagger_client/models/milestone_response_post.rb +0 -217
  234. data/emass_client/ruby_client/lib/swagger_client/models/milestone_response_put.rb +0 -217
  235. data/emass_client/ruby_client/lib/swagger_client/models/milestones_delete.rb +0 -197
  236. data/emass_client/ruby_client/lib/swagger_client/models/milestones_get.rb +0 -291
  237. data/emass_client/ruby_client/lib/swagger_client/models/milestones_post.rb +0 -197
  238. data/emass_client/ruby_client/lib/swagger_client/models/milestones_put.rb +0 -197
  239. data/emass_client/ruby_client/lib/swagger_client/models/milestones_put_post_delete.rb +0 -247
  240. data/emass_client/ruby_client/lib/swagger_client/models/milestones_request_post_body.rb +0 -242
  241. data/emass_client/ruby_client/lib/swagger_client/models/milestones_request_put_body.rb +0 -242
  242. data/emass_client/ruby_client/lib/swagger_client/models/milestones_required_post.rb +0 -227
  243. data/emass_client/ruby_client/lib/swagger_client/models/milestones_required_put.rb +0 -242
  244. data/emass_client/ruby_client/lib/swagger_client/models/model_200.rb +0 -208
  245. data/emass_client/ruby_client/lib/swagger_client/models/model_201.rb +0 -206
  246. data/emass_client/ruby_client/lib/swagger_client/models/model_201_meta.rb +0 -219
  247. data/emass_client/ruby_client/lib/swagger_client/models/model_400.rb +0 -206
  248. data/emass_client/ruby_client/lib/swagger_client/models/model_400_meta.rb +0 -219
  249. data/emass_client/ruby_client/lib/swagger_client/models/model_400_response.rb +0 -206
  250. data/emass_client/ruby_client/lib/swagger_client/models/model_401.rb +0 -206
  251. data/emass_client/ruby_client/lib/swagger_client/models/model_401_meta.rb +0 -219
  252. data/emass_client/ruby_client/lib/swagger_client/models/model_403.rb +0 -206
  253. data/emass_client/ruby_client/lib/swagger_client/models/model_403_meta.rb +0 -219
  254. data/emass_client/ruby_client/lib/swagger_client/models/model_404.rb +0 -219
  255. data/emass_client/ruby_client/lib/swagger_client/models/model_404_response.rb +0 -206
  256. data/emass_client/ruby_client/lib/swagger_client/models/model_405.rb +0 -206
  257. data/emass_client/ruby_client/lib/swagger_client/models/model_405_meta.rb +0 -219
  258. data/emass_client/ruby_client/lib/swagger_client/models/model_411.rb +0 -206
  259. data/emass_client/ruby_client/lib/swagger_client/models/model_411_meta.rb +0 -219
  260. data/emass_client/ruby_client/lib/swagger_client/models/model_490.rb +0 -206
  261. data/emass_client/ruby_client/lib/swagger_client/models/model_490_meta.rb +0 -219
  262. data/emass_client/ruby_client/lib/swagger_client/models/model_500.rb +0 -206
  263. data/emass_client/ruby_client/lib/swagger_client/models/model_500_meta.rb +0 -219
  264. data/emass_client/ruby_client/lib/swagger_client/models/pac_get.rb +0 -311
  265. data/emass_client/ruby_client/lib/swagger_client/models/pac_post.rb +0 -259
  266. data/emass_client/ruby_client/lib/swagger_client/models/pac_request_post_body.rb +0 -261
  267. data/emass_client/ruby_client/lib/swagger_client/models/pac_response_get.rb +0 -217
  268. data/emass_client/ruby_client/lib/swagger_client/models/pac_response_post.rb +0 -217
  269. data/emass_client/ruby_client/lib/swagger_client/models/poam_delete.rb +0 -197
  270. data/emass_client/ruby_client/lib/swagger_client/models/poam_get.rb +0 -646
  271. data/emass_client/ruby_client/lib/swagger_client/models/poam_post.rb +0 -197
  272. data/emass_client/ruby_client/lib/swagger_client/models/poam_post_put_del.rb +0 -237
  273. data/emass_client/ruby_client/lib/swagger_client/models/poam_put.rb +0 -197
  274. data/emass_client/ruby_client/lib/swagger_client/models/poam_request_post_body.rb +0 -197
  275. data/emass_client/ruby_client/lib/swagger_client/models/poam_request_put_body.rb +0 -197
  276. data/emass_client/ruby_client/lib/swagger_client/models/poam_required_post.rb +0 -564
  277. data/emass_client/ruby_client/lib/swagger_client/models/poam_required_put.rb +0 -594
  278. data/emass_client/ruby_client/lib/swagger_client/models/poam_response_delete.rb +0 -217
  279. data/emass_client/ruby_client/lib/swagger_client/models/poam_response_get.rb +0 -217
  280. data/emass_client/ruby_client/lib/swagger_client/models/poam_response_post.rb +0 -217
  281. data/emass_client/ruby_client/lib/swagger_client/models/poam_response_put.rb +0 -217
  282. data/emass_client/ruby_client/lib/swagger_client/models/register.rb +0 -215
  283. data/emass_client/ruby_client/lib/swagger_client/models/register_data.rb +0 -206
  284. data/emass_client/ruby_client/lib/swagger_client/models/register_user_request_post_body.rb +0 -211
  285. data/emass_client/ruby_client/lib/swagger_client/models/role_category.rb +0 -272
  286. data/emass_client/ruby_client/lib/swagger_client/models/roles.rb +0 -274
  287. data/emass_client/ruby_client/lib/swagger_client/models/ssps.rb +0 -227
  288. data/emass_client/ruby_client/lib/swagger_client/models/stage.rb +0 -252
  289. data/emass_client/ruby_client/lib/swagger_client/models/static_code_application.rb +0 -303
  290. data/emass_client/ruby_client/lib/swagger_client/models/static_code_request_post_body.rb +0 -197
  291. data/emass_client/ruby_client/lib/swagger_client/models/static_code_required_post.rb +0 -217
  292. data/emass_client/ruby_client/lib/swagger_client/models/static_code_required_post_application.rb +0 -217
  293. data/emass_client/ruby_client/lib/swagger_client/models/success200_response.rb +0 -217
  294. data/emass_client/ruby_client/lib/swagger_client/models/system_id_artifacts_body.rb +0 -284
  295. data/emass_client/ruby_client/lib/swagger_client/models/system_response.rb +0 -217
  296. data/emass_client/ruby_client/lib/swagger_client/models/system_roles_category_response.rb +0 -217
  297. data/emass_client/ruby_client/lib/swagger_client/models/system_roles_response.rb +0 -217
  298. data/emass_client/ruby_client/lib/swagger_client/models/system_roles_response_data.rb +0 -219
  299. data/emass_client/ruby_client/lib/swagger_client/models/systems.rb +0 -1137
  300. data/emass_client/ruby_client/lib/swagger_client/models/test.rb +0 -215
  301. data/emass_client/ruby_client/lib/swagger_client/models/test_data.rb +0 -206
  302. data/emass_client/ruby_client/lib/swagger_client/models/test_results_get.rb +0 -333
  303. data/emass_client/ruby_client/lib/swagger_client/models/test_results_post.rb +0 -227
  304. data/emass_client/ruby_client/lib/swagger_client/models/test_results_request_post_body.rb +0 -306
  305. data/emass_client/ruby_client/lib/swagger_client/models/test_results_response_get.rb +0 -217
  306. data/emass_client/ruby_client/lib/swagger_client/models/test_results_response_post.rb +0 -217
  307. data/emass_client/ruby_client/lib/swagger_client/models/users.rb +0 -224
  308. data/emass_client/ruby_client/lib/swagger_client/models/workflow_definition_get.rb +0 -282
  309. data/emass_client/ruby_client/lib/swagger_client/models/workflow_definition_response_get.rb +0 -217
  310. data/emass_client/ruby_client/lib/swagger_client/models/workflow_instances_get.rb +0 -368
  311. data/emass_client/ruby_client/lib/swagger_client/models/workflow_instances_response_get.rb +0 -217
  312. data/emass_client/ruby_client/lib/swagger_client/version.rb +0 -14
  313. data/emass_client/ruby_client/lib/swagger_client.rb +0 -161
  314. data/emass_client/ruby_client/spec/api/artifacts_api_spec.rb +0 -92
  315. data/emass_client/ruby_client/spec/api/artifacts_export_api_spec.rb +0 -48
  316. data/emass_client/ruby_client/spec/api/cac_api_spec.rb +0 -60
  317. data/emass_client/ruby_client/spec/api/cmmc_assessments_api_spec.rb +0 -46
  318. data/emass_client/ruby_client/spec/api/controls_api_spec.rb +0 -60
  319. data/emass_client/ruby_client/spec/api/milestones_api_spec.rb +0 -105
  320. data/emass_client/ruby_client/spec/api/pac_api_spec.rb +0 -59
  321. data/emass_client/ruby_client/spec/api/poam_api_spec.rb +0 -103
  322. data/emass_client/ruby_client/spec/api/registration_api_spec.rb +0 -46
  323. data/emass_client/ruby_client/spec/api/static_code_scans_api_spec.rb +0 -47
  324. data/emass_client/ruby_client/spec/api/system_roles_api_spec.rb +0 -60
  325. data/emass_client/ruby_client/spec/api/systems_api_spec.rb +0 -67
  326. data/emass_client/ruby_client/spec/api/test_api_spec.rb +0 -45
  327. data/emass_client/ruby_client/spec/api/test_results_api_spec.rb +0 -62
  328. data/emass_client/ruby_client/spec/api/workflow_definitions_api_spec.rb +0 -47
  329. data/emass_client/ruby_client/spec/api/workflow_instances_api_spec.rb +0 -63
  330. data/emass_client/ruby_client/spec/api_client_spec.rb +0 -225
  331. data/emass_client/ruby_client/spec/base_object_spec.rb +0 -109
  332. data/emass_client/ruby_client/spec/configuration_spec.rb +0 -41
  333. data/emass_client/ruby_client/spec/models/artifacts_delete_inner_spec.rb +0 -40
  334. data/emass_client/ruby_client/spec/models/artifacts_delete_spec.rb +0 -34
  335. data/emass_client/ruby_client/spec/models/artifacts_get_spec.rb +0 -126
  336. data/emass_client/ruby_client/spec/models/artifacts_request_put_body_spec.rb +0 -102
  337. data/emass_client/ruby_client/spec/models/artifacts_response_del_data_spec.rb +0 -52
  338. data/emass_client/ruby_client/spec/models/artifacts_response_del_spec.rb +0 -46
  339. data/emass_client/ruby_client/spec/models/artifacts_response_get_spec.rb +0 -46
  340. data/emass_client/ruby_client/spec/models/artifacts_response_put_post_spec.rb +0 -46
  341. data/emass_client/ruby_client/spec/models/cac_get_spec.rb +0 -80
  342. data/emass_client/ruby_client/spec/models/cac_request_post_body_spec.rb +0 -46
  343. data/emass_client/ruby_client/spec/models/cac_response_get_spec.rb +0 -46
  344. data/emass_client/ruby_client/spec/models/cac_response_post_data_spec.rb +0 -52
  345. data/emass_client/ruby_client/spec/models/cac_response_post_spec.rb +0 -46
  346. data/emass_client/ruby_client/spec/models/cmmc_get_spec.rb +0 -128
  347. data/emass_client/ruby_client/spec/models/cmmc_response_get_spec.rb +0 -46
  348. data/emass_client/ruby_client/spec/models/connectivity_ccsd_spec.rb +0 -46
  349. data/emass_client/ruby_client/spec/models/controls_get_spec.rb +0 -262
  350. data/emass_client/ruby_client/spec/models/controls_put_spec.rb +0 -52
  351. data/emass_client/ruby_client/spec/models/controls_request_put_body_spec.rb +0 -216
  352. data/emass_client/ruby_client/spec/models/controls_response_get_spec.rb +0 -46
  353. data/emass_client/ruby_client/spec/models/controls_response_put_spec.rb +0 -46
  354. data/emass_client/ruby_client/spec/models/definition_transitions_spec.rb +0 -64
  355. data/emass_client/ruby_client/spec/models/delete_milestone_spec.rb +0 -40
  356. data/emass_client/ruby_client/spec/models/delete_poam_spec.rb +0 -40
  357. data/emass_client/ruby_client/spec/models/empty200_response_spec.rb +0 -34
  358. data/emass_client/ruby_client/spec/models/error_spec.rb +0 -46
  359. data/emass_client/ruby_client/spec/models/instances_transitions_spec.rb +0 -86
  360. data/emass_client/ruby_client/spec/models/milestone_response_get_spec.rb +0 -46
  361. data/emass_client/ruby_client/spec/models/milestone_response_post_spec.rb +0 -46
  362. data/emass_client/ruby_client/spec/models/milestone_response_put_spec.rb +0 -46
  363. data/emass_client/ruby_client/spec/models/milestones_delete_spec.rb +0 -34
  364. data/emass_client/ruby_client/spec/models/milestones_get_spec.rb +0 -74
  365. data/emass_client/ruby_client/spec/models/milestones_post_spec.rb +0 -34
  366. data/emass_client/ruby_client/spec/models/milestones_put_post_delete_spec.rb +0 -64
  367. data/emass_client/ruby_client/spec/models/milestones_put_spec.rb +0 -34
  368. data/emass_client/ruby_client/spec/models/milestones_request_post_body_spec.rb +0 -52
  369. data/emass_client/ruby_client/spec/models/milestones_request_put_body_spec.rb +0 -52
  370. data/emass_client/ruby_client/spec/models/milestones_required_post_spec.rb +0 -46
  371. data/emass_client/ruby_client/spec/models/milestones_required_put_spec.rb +0 -52
  372. data/emass_client/ruby_client/spec/models/model_200_spec.rb +0 -40
  373. data/emass_client/ruby_client/spec/models/model_201_meta_spec.rb +0 -46
  374. data/emass_client/ruby_client/spec/models/model_201_spec.rb +0 -40
  375. data/emass_client/ruby_client/spec/models/model_400_meta_spec.rb +0 -46
  376. data/emass_client/ruby_client/spec/models/model_400_response_spec.rb +0 -40
  377. data/emass_client/ruby_client/spec/models/model_400_spec.rb +0 -40
  378. data/emass_client/ruby_client/spec/models/model_401_meta_spec.rb +0 -46
  379. data/emass_client/ruby_client/spec/models/model_401_spec.rb +0 -40
  380. data/emass_client/ruby_client/spec/models/model_403_meta_spec.rb +0 -46
  381. data/emass_client/ruby_client/spec/models/model_403_spec.rb +0 -40
  382. data/emass_client/ruby_client/spec/models/model_404_response_spec.rb +0 -40
  383. data/emass_client/ruby_client/spec/models/model_404_spec.rb +0 -46
  384. data/emass_client/ruby_client/spec/models/model_405_meta_spec.rb +0 -46
  385. data/emass_client/ruby_client/spec/models/model_405_spec.rb +0 -40
  386. data/emass_client/ruby_client/spec/models/model_411_meta_spec.rb +0 -46
  387. data/emass_client/ruby_client/spec/models/model_411_spec.rb +0 -40
  388. data/emass_client/ruby_client/spec/models/model_490_meta_spec.rb +0 -46
  389. data/emass_client/ruby_client/spec/models/model_490_spec.rb +0 -40
  390. data/emass_client/ruby_client/spec/models/model_500_meta_spec.rb +0 -46
  391. data/emass_client/ruby_client/spec/models/model_500_spec.rb +0 -40
  392. data/emass_client/ruby_client/spec/models/pac_get_spec.rb +0 -86
  393. data/emass_client/ruby_client/spec/models/pac_post_spec.rb +0 -56
  394. data/emass_client/ruby_client/spec/models/pac_request_post_body_spec.rb +0 -56
  395. data/emass_client/ruby_client/spec/models/pac_response_get_spec.rb +0 -46
  396. data/emass_client/ruby_client/spec/models/pac_response_post_spec.rb +0 -46
  397. data/emass_client/ruby_client/spec/models/poam_delete_spec.rb +0 -34
  398. data/emass_client/ruby_client/spec/models/poam_get_spec.rb +0 -264
  399. data/emass_client/ruby_client/spec/models/poam_post_put_del_spec.rb +0 -58
  400. data/emass_client/ruby_client/spec/models/poam_post_spec.rb +0 -34
  401. data/emass_client/ruby_client/spec/models/poam_put_spec.rb +0 -34
  402. data/emass_client/ruby_client/spec/models/poam_request_post_body_spec.rb +0 -34
  403. data/emass_client/ruby_client/spec/models/poam_request_put_body_spec.rb +0 -34
  404. data/emass_client/ruby_client/spec/models/poam_required_post_spec.rb +0 -218
  405. data/emass_client/ruby_client/spec/models/poam_required_put_spec.rb +0 -236
  406. data/emass_client/ruby_client/spec/models/poam_response_delete_spec.rb +0 -46
  407. data/emass_client/ruby_client/spec/models/poam_response_get_spec.rb +0 -46
  408. data/emass_client/ruby_client/spec/models/poam_response_post_spec.rb +0 -46
  409. data/emass_client/ruby_client/spec/models/poam_response_put_spec.rb +0 -46
  410. data/emass_client/ruby_client/spec/models/register_data_spec.rb +0 -40
  411. data/emass_client/ruby_client/spec/models/register_spec.rb +0 -46
  412. data/emass_client/ruby_client/spec/models/register_user_request_post_body_spec.rb +0 -40
  413. data/emass_client/ruby_client/spec/models/role_category_spec.rb +0 -62
  414. data/emass_client/ruby_client/spec/models/roles_spec.rb +0 -60
  415. data/emass_client/ruby_client/spec/models/ssps_spec.rb +0 -52
  416. data/emass_client/ruby_client/spec/models/stage_spec.rb +0 -50
  417. data/emass_client/ruby_client/spec/models/static_code_application_spec.rb +0 -78
  418. data/emass_client/ruby_client/spec/models/static_code_request_post_body_spec.rb +0 -34
  419. data/emass_client/ruby_client/spec/models/static_code_required_post_application_spec.rb +0 -46
  420. data/emass_client/ruby_client/spec/models/static_code_required_post_spec.rb +0 -46
  421. data/emass_client/ruby_client/spec/models/success200_response_spec.rb +0 -46
  422. data/emass_client/ruby_client/spec/models/system_id_artifacts_body_spec.rb +0 -66
  423. data/emass_client/ruby_client/spec/models/system_response_spec.rb +0 -46
  424. data/emass_client/ruby_client/spec/models/system_roles_category_response_spec.rb +0 -46
  425. data/emass_client/ruby_client/spec/models/system_roles_response_data_spec.rb +0 -46
  426. data/emass_client/ruby_client/spec/models/system_roles_response_spec.rb +0 -46
  427. data/emass_client/ruby_client/spec/models/systems_spec.rb +0 -510
  428. data/emass_client/ruby_client/spec/models/test_data_spec.rb +0 -40
  429. data/emass_client/ruby_client/spec/models/test_results_get_spec.rb +0 -96
  430. data/emass_client/ruby_client/spec/models/test_results_post_spec.rb +0 -52
  431. data/emass_client/ruby_client/spec/models/test_results_request_post_body_spec.rb +0 -68
  432. data/emass_client/ruby_client/spec/models/test_results_response_get_spec.rb +0 -46
  433. data/emass_client/ruby_client/spec/models/test_results_response_post_spec.rb +0 -46
  434. data/emass_client/ruby_client/spec/models/test_spec.rb +0 -46
  435. data/emass_client/ruby_client/spec/models/users_spec.rb +0 -52
  436. data/emass_client/ruby_client/spec/models/workflow_definition_get_spec.rb +0 -68
  437. data/emass_client/ruby_client/spec/models/workflow_definition_response_get_spec.rb +0 -46
  438. data/emass_client/ruby_client/spec/models/workflow_instances_get_spec.rb +0 -110
  439. data/emass_client/ruby_client/spec/models/workflow_instances_response_get_spec.rb +0 -46
  440. data/emass_client/ruby_client/spec/spec_helper.rb +0 -110
  441. data/emass_client/ruby_client/swagger_client.gemspec +0 -38
  442. data/emass_client/swagger-codegen/ruby_template/api_client.mustache +0 -384
  443. data/emass_client/swagger-codegen/ruby_template/api_info.mustache +0 -12
  444. data/emass_client/swagger-codegen/ruby_template/configuration.mustache +0 -234
  445. data/emass_client/swagger-codegen/ruby_template/gemspec.mustache +0 -37
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: adf117509f0462e0242104ae66543567481509c3383f726a6c0a73b74ea38310
4
- data.tar.gz: c08b8f35507724880fb7aadfea9cdb2f8df07a4cc26b79e4eb535f562f3066fc
3
+ metadata.gz: 04d5fabb5cd03ea2303313f9556bb0ab4758642acce449e545c06385db62e995
4
+ data.tar.gz: 8de5b75a59d1cf87539accfb26fef79fc6ab3633753726ab13a8db176d063286
5
5
  SHA512:
6
- metadata.gz: 725f7442bc3178a14765bc4db1e5ee373e55edf53ea0f18a09128d32a194d52995aa73fb467a141426153a2f015d10829d52b1d33cd866826e0183cf6d172242
7
- data.tar.gz: 226662bf3779c58d4bd6e7f730fd0c2e0bf0520251ba1d191a0ae75293ba76196caa5d1d6fb6b9050532b7f9d33bad5531d84eb46d1a9c85e94ddf3c46d44a0c
6
+ metadata.gz: d76892c176a01f532bc1fc3025a400bc31a09217aac8622bb96c71aac92be66abbee84115c6a88dd1244890182a68bab75500d7b3138cdc4ba3a59088059313a
7
+ data.tar.gz: 76af52e24772b720e3a5fd6f45af2acd4356c6eb808c50b309b95a079ad854988797a576ff05dd1a9e029c53dce40c2f5fc1a31fe4b05eb7221a020ec75ccb43
data/.dockerignore CHANGED
@@ -1,11 +1,8 @@
1
- # git
2
- .git
3
- .gitignore
4
- CHANGELOG.md
1
+ # VS Code
2
+ .vscode/
5
3
 
6
- # ci
7
- .gitlab-ci.yml
4
+ # doc
5
+ doc/
8
6
 
9
7
  # code
10
- spec
11
- .env
8
+ spec/
data/.env-example CHANGED
@@ -2,9 +2,11 @@ export EMASSER_API_KEY_API_KEY=<API key>
2
2
  export EMASSER_API_KEY_USER_UID=<unique identifier of the eMASS user EMASSER_API_KEY_API_KEY belongs to>
3
3
  export EMASSER_HOST=<FQDN of the eMASS server>
4
4
  export EMASSER_KEY_FILE_PATH=<path to your emass key in PEM format>
5
- export EMASSER_CERT_FILE_PATH=<path to your emass certficate in PEM format>
5
+ export EMASSER_CERT_FILE_PATH=<path to your emass certificate in PEM format>
6
6
  export EMASSER_KEY_PASSWORD=<password for the key given in EMASSER_KEY_FILE_PATH>
7
7
  export EMASSER_CLIENT_SIDE_VALIDATION=<client side validation - true or false>
8
8
  export EMASSER_VERIFY_SSL=<verify SSL - true or false>
9
9
  export EMASSER_VERIFY_SSL_HOST=<verify host SSL - true or false>
10
10
  export EMASSER_DEBUGGING=<set debugging - true or false>
11
+ export EMASSER_CLI_DISPLAY_NULL=<display null value fields - true or false>
12
+ export EMASSER_EPOCH_TO_DATETIME=<convert epoch to data/time value - true or false>
@@ -1,5 +1,5 @@
1
- name-template: 'v$NEXT_PATCH_VERSION'
2
- tag-template: 'v$NEXT_PATCH_VERSION'
1
+ name-template: '$NEXT_PATCH_VERSION'
2
+ tag-template: '$NEXT_PATCH_VERSION'
3
3
  categories:
4
4
  - title: 'Features'
5
5
  labels:
@@ -2,8 +2,8 @@ name: Deploy to GitHub Pages
2
2
  on:
3
3
  push:
4
4
  branches: [ main ]
5
- # pull_request:
6
- # branches: [ main ]
5
+ pull_request:
6
+ branches: [ main ]
7
7
 
8
8
  jobs:
9
9
  build-deploy:
@@ -17,11 +17,10 @@ jobs:
17
17
  run: |
18
18
  sudo mkdir -p /publish
19
19
  sudo mkdir -p /publish/docs
20
+ sudo mkdir -p /publish/images
21
+ sudo cp -R ./images /publish
20
22
  sudo cp README.md /publish
21
23
  sudo cp _config.yml /publish/_config.yml
22
- sudo cp -R ./docs/redoc /publish/docs/redoc
23
- sudo cp -R ./docs/swagger /publish/docs/swagger
24
- sudo cp ./docs/developers.md /publish/docs/developers.md
25
24
  sudo cp ./docs/features.md /publish/docs/features.md
26
25
 
27
26
  - name: Deploy Markdown Files 🚀
@@ -0,0 +1,28 @@
1
+ name: Push emasser CLI to Docker Hub on every merge to master and tag as latest
2
+
3
+ on:
4
+ push:
5
+ branches: [ main ]
6
+
7
+
8
+ jobs:
9
+ docker:
10
+ runs-on: ubuntu-latest
11
+ steps:
12
+ - name: Set up Docker Buildx
13
+ uses: docker/setup-buildx-action@v1
14
+ - name: Login to DockerHub
15
+ uses: docker/login-action@v1
16
+ with:
17
+ username: ${{ secrets.DOCKERHUB_USERNAME }}
18
+ password: ${{ secrets.DOCKERHUB_TOKEN }}
19
+ - name: Checkout the emasser Repository
20
+ uses: actions/checkout@v2
21
+ - name: Build and push
22
+ id: docker_build
23
+ uses: docker/build-push-action@v2
24
+ with:
25
+ context: .
26
+ file: Dockerfile
27
+ push: true
28
+ tags: mitre/emasser:latest
@@ -0,0 +1,35 @@
1
+ name: Push emasser to Docker Hub on every release
2
+
3
+ on:
4
+ release:
5
+ types: [published]
6
+
7
+ jobs:
8
+ docker:
9
+ runs-on: ubuntu-latest
10
+ steps:
11
+ - name: Set up Docker Buildx
12
+ uses: docker/setup-buildx-action@v1
13
+ - name: Login to DockerHub
14
+ uses: docker/login-action@v1
15
+ with:
16
+ username: ${{ secrets.DOCKERHUB_USERNAME }}
17
+ password: ${{ secrets.DOCKERHUB_TOKEN }}
18
+ - name: Run string replace
19
+ uses: frabert/replace-string-action@master
20
+ id: format-tag
21
+ with:
22
+ pattern: 'v'
23
+ string: "${{ github.event.release.tag_name }}"
24
+ replace-with: ''
25
+ flags: 'g'
26
+ - name: Checkout the emasser Repository
27
+ uses: actions/checkout@v2
28
+ - name: Build and push
29
+ id: docker_build
30
+ uses: docker/build-push-action@v2
31
+ with:
32
+ context: .
33
+ file: Dockerfile
34
+ push: true
35
+ tags: mitre/emasser:release-latest,mitre/emasser:${{ steps.format-tag.outputs.replaced }}
@@ -17,7 +17,7 @@ jobs:
17
17
  - run: git fetch origin +refs/tags/*:refs/tags/*
18
18
  - name: Setup credentials and versioning
19
19
  run: |
20
- gem install git-lite-version-bump keycutter
20
+ gem install keycutter
21
21
  mkdir -p $HOME/.gem
22
22
  touch $HOME/.gem/credentials
23
23
  chmod 0600 $HOME/.gem/credentials
@@ -26,13 +26,17 @@ jobs:
26
26
  env:
27
27
  RUBYGEMS_API_KEY: ${{secrets.RUBYGEMS_AUTH_TOKEN}}
28
28
  GPR_API_KEY: ${{secrets.GITHUB_TOKEN}}
29
- - name: Build gem
29
+ - name: Build emasser
30
30
  run: gem build *.gemspec
31
+ # - name: Build emass_client
32
+ # run: gem build -C emass_client/ruby_client/ emass_client.gemspec
31
33
  - name: Publish to RubyGems
32
34
  run: |
33
35
  gem push --KEY rubygems --host https://rubygems.org *.gem
36
+ # gem push --KEY rubygems --host https://rubygems.org emass_client/ruby_client/*.gem
34
37
  - name: Publish to GPR
35
38
  run: |
36
- gem push --KEY github --host https://rubygems.pkg.github.com/${OWNER} *.gem
39
+ gem push --KEY github --host https://rubygems.pkg.github.com/mitre *.gem
40
+ # gem push --KEY github --host https://rubygems.pkg.github.com/mitre emass_client/ruby_client/*.gem
37
41
  env:
38
42
  OWNER: mitre
@@ -10,7 +10,7 @@
10
10
  # test:
11
11
  # strategy:
12
12
  # fail-fast: false
13
- # matrix:
13
+ # matrix:
14
14
  # platform: [ ubuntu-latest, macos-latest, windows-latest ]
15
15
  # ruby-version: ['2.6', '2.7']
16
16
  # runs-on: ${{ matrix.platform }}
@@ -43,7 +43,7 @@ jobs:
43
43
  test:
44
44
  strategy:
45
45
  fail-fast: false
46
- matrix:
46
+ matrix:
47
47
  platform: [ ubuntu-latest, macos-latest, windows-latest ]
48
48
  ruby-version: ['2.6', '2.7']
49
49
  runs-on: ${{ matrix.platform }}
@@ -61,13 +61,12 @@ jobs:
61
61
  if: matrix.platform == 'windows-latest'
62
62
  run: |
63
63
  # bundle install
64
- # bundle info swagger_client
64
+ # bundle info emass_client
65
65
  # rspec spec --format documentation
66
66
  echo "need to fix path to libcurl.dll"
67
67
  - name: Testing on ${{ matrix.platform }} for Ruby ${{ matrix.ruby }}
68
68
  if: matrix.platform == 'ubuntu-latest' || matrix.platform == 'macos-latest'
69
69
  run: |
70
70
  bundle install
71
- bundle info swagger_client
71
+ bundle info emass_client
72
72
  rspec spec --format documentation
73
-
data/.gitignore CHANGED
@@ -11,7 +11,9 @@
11
11
 
12
12
  **/*.un~
13
13
 
14
- emassing/test/test_example.zip
15
14
  .DS_Store
16
15
  .byebug_history
17
16
  .env
17
+ key.pem
18
+ client.pem
19
+ *.gem
data/Dockerfile CHANGED
@@ -1,10 +1,44 @@
1
- FROM ruby:2.5
1
+ # Buld from ruby 2.7.5 image
2
+ FROM ruby:2.7.5 as build
2
3
 
4
+ LABEL name="emasser" \
5
+ vendor="MITRE" \
6
+ version="${EMASSER_VERSION}" \
7
+ release="1" \
8
+ url="https://github.com/mitre/emasser" \
9
+ description="Emasser is a command-line interface (CLI) that aims to automate routine business use-cases and provide utility surrounding the Enterprise Mission Assurance Support Service (eMASS) by leveraging its representational state transfer (REST) application programming interface (API)." \
10
+ docs="https://mitre.github.io/emasser/" \
11
+ run="docker run -d --name ${NAME} ${IMAGE} <args>"
12
+
13
+ # Set the base directory that will be used from now on
3
14
  WORKDIR /emasser
4
15
 
16
+ # Install dependency
17
+ RUN gem install bundler -v '2.3.5'
18
+ RUN apt update && apt install -y build-essential
5
19
  COPY . .
6
-
7
20
  RUN bundle install
21
+ # WORKDIR /emasser/emass_client/ruby_client
22
+ # RUN gem build emass_client.gemspec
23
+ WORKDIR /emasser
24
+ RUN gem build emasser.gemspec
25
+ RUN mkdir gems
26
+ # RUN mv emass_client/ruby_client/emass_client*.gem gems/emass_client.gem
27
+ RUN mv emasser*.gem gems/emasser.gem
28
+
29
+
30
+ FROM ruby:2-alpine
31
+
32
+ # Use the line below when testing creating the container locally
33
+ # RUN sed -i 's/https/http/g' /etc/apk/repositories
34
+ COPY --from=build /emasser/gems /emass-gems
35
+
36
+ # RUN apk add build-base libcurl && gem install /emass-gems/emass_client.gem && gem install /emass-gems/emasser.gem
37
+ RUN apk add build-base libcurl && gem install /emass-gems/emasser.gem
38
+
39
+ VOLUME [ "/data" ]
40
+ WORKDIR /data
41
+
42
+ ENTRYPOINT ["emasser"]
8
43
 
9
- ENTRYPOINT ["bundle", "exec", "exe/emasser"]
10
44
  CMD ["-h"]
data/Gemfile CHANGED
@@ -5,4 +5,4 @@ source 'https://rubygems.org'
5
5
  # Specify your gem's dependencies in emasser.gemspec
6
6
  gemspec
7
7
 
8
- gem 'swagger_client', path: './emass_client/ruby_client/'
8
+ #gem 'emass_client', path: './emass_client/ruby_client/'
data/Gemfile.lock CHANGED
@@ -1,79 +1,74 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- emasser (1.0.0)
5
- activesupport
6
- colorize
7
- dotenv
8
- rubyzip
9
- swagger_client
10
-
11
- PATH
12
- remote: emass_client/ruby_client
13
- specs:
14
- swagger_client (1.0.0)
15
- json (~> 2.1, >= 2.1.0)
16
- typhoeus (~> 1.0, >= 1.0.1)
4
+ emasser (1.0.6)
5
+ activesupport (~> 6.1.4)
6
+ colorize (~> 0.8.1)
7
+ dotenv (~> 2.7.6)
8
+ emass_client (~> 1.0, != 1.0.3)
9
+ rubyzip (~> 2.3.2)
10
+ thor (~> 1.1.0)
17
11
 
18
12
  GEM
19
13
  remote: https://rubygems.org/
20
14
  specs:
21
- activesupport (6.1.4.1)
15
+ activesupport (6.1.6)
22
16
  concurrent-ruby (~> 1.0, >= 1.0.2)
23
17
  i18n (>= 1.6, < 2)
24
18
  minitest (>= 5.1)
25
19
  tzinfo (~> 2.0)
26
20
  zeitwerk (~> 2.3)
27
21
  ast (2.4.2)
28
- bundler-audit (0.8.0)
22
+ bundler-audit (0.9.1)
29
23
  bundler (>= 1.2.0, < 3)
30
24
  thor (~> 1.0)
31
25
  byebug (11.1.3)
32
26
  colorize (0.8.1)
33
- concurrent-ruby (1.1.9)
34
- diff-lcs (1.4.4)
27
+ concurrent-ruby (1.1.10)
28
+ diff-lcs (1.5.0)
35
29
  dotenv (2.7.6)
36
- ethon (0.14.0)
30
+ emass_client (1.0.6)
31
+ typhoeus (~> 1.0, >= 1.0.1)
32
+ ethon (0.15.0)
37
33
  ffi (>= 1.15.0)
38
- ffi (1.15.3-x64-mingw32)
39
- i18n (1.8.10)
34
+ ffi (1.15.5-x64-mingw32)
35
+ i18n (1.10.0)
40
36
  concurrent-ruby (~> 1.0)
41
- json (2.5.1)
42
- minitest (5.14.4)
43
- parallel (1.20.1)
44
- parser (3.0.2.0)
37
+ minitest (5.15.0)
38
+ parallel (1.22.1)
39
+ parser (3.1.2.0)
45
40
  ast (~> 2.4.1)
46
- rainbow (3.0.0)
41
+ rainbow (3.1.1)
47
42
  rake (13.0.6)
48
- regexp_parser (2.1.1)
43
+ regexp_parser (2.5.0)
49
44
  rexml (3.2.5)
50
45
  rspec (3.10.0)
51
46
  rspec-core (~> 3.10.0)
52
47
  rspec-expectations (~> 3.10.0)
53
48
  rspec-mocks (~> 3.10.0)
54
- rspec-core (3.10.1)
49
+ rspec-core (3.10.2)
55
50
  rspec-support (~> 3.10.0)
56
- rspec-expectations (3.10.1)
51
+ rspec-expectations (3.10.2)
57
52
  diff-lcs (>= 1.2.0, < 2.0)
58
53
  rspec-support (~> 3.10.0)
59
- rspec-mocks (3.10.2)
54
+ rspec-mocks (3.10.3)
60
55
  diff-lcs (>= 1.2.0, < 2.0)
61
56
  rspec-support (~> 3.10.0)
62
57
  rspec-support (3.10.3)
63
- rubocop (1.20.0)
58
+ rubocop (1.30.0)
64
59
  parallel (~> 1.10)
65
- parser (>= 3.0.0.0)
60
+ parser (>= 3.1.0.0)
66
61
  rainbow (>= 2.2.2, < 4.0)
67
62
  regexp_parser (>= 1.8, < 3.0)
68
- rexml
69
- rubocop-ast (>= 1.9.1, < 2.0)
63
+ rexml (>= 3.2.5, < 4.0)
64
+ rubocop-ast (>= 1.18.0, < 2.0)
70
65
  ruby-progressbar (~> 1.7)
71
66
  unicode-display_width (>= 1.4.0, < 3.0)
72
- rubocop-ast (1.11.0)
73
- parser (>= 3.0.1.1)
74
- rubocop-minitest (0.15.0)
67
+ rubocop-ast (1.18.0)
68
+ parser (>= 3.1.1.0)
69
+ rubocop-minitest (0.20.0)
75
70
  rubocop (>= 0.90, < 2.0)
76
- rubocop-performance (1.11.5)
71
+ rubocop-performance (1.14.0)
77
72
  rubocop (>= 1.7.0, < 2.0)
78
73
  rubocop-ast (>= 0.4.0)
79
74
  rubocop-rake (0.6.0)
@@ -85,17 +80,17 @@ GEM
85
80
  ethon (>= 0.9.0)
86
81
  tzinfo (2.0.4)
87
82
  concurrent-ruby (~> 1.0)
88
- unicode-display_width (2.0.0)
83
+ unicode-display_width (2.1.0)
89
84
  yaml (0.2.0)
90
- zeitwerk (2.4.2)
85
+ zeitwerk (2.5.4)
91
86
 
92
87
  PLATFORMS
93
88
  x64-mingw32
94
89
 
95
90
  DEPENDENCIES
96
- bundler (~> 2.1)
91
+ bundler (~> 2.3)
97
92
  bundler-audit (~> 0.7)
98
- byebug
93
+ byebug (~> 11.1.3)
99
94
  emasser!
100
95
  rake (~> 13.0)
101
96
  rspec (~> 3.10.0)
@@ -103,8 +98,7 @@ DEPENDENCIES
103
98
  rubocop-minitest (~> 0.10)
104
99
  rubocop-performance (~> 1.11)
105
100
  rubocop-rake (~> 0.5)
106
- swagger_client!
107
101
  yaml (~> 0.2.0)
108
102
 
109
103
  BUNDLED WITH
110
- 2.2.29
104
+ 2.3.5
data/README.md CHANGED
@@ -1,93 +1,163 @@
1
1
  # emasser
2
+ ![GitHub Release Date](https://img.shields.io/github/release-date/mitre/emasser?label=Release%20Date&logo=github&color=blue)
3
+ ![GitHub release (latest by date)](https://img.shields.io/github/v/release/mitre/emasser?label=Release%20Version&logo=github) ![Gem](https://img.shields.io/gem/v/emasser?label=gem%20version&logo=ruby&logoColor=red) ![Docker Version](https://img.shields.io/docker/v/mitre/emasser?label=docker%20version&logo=docker&sort=semver)
4
+
2
5
  ![emasser Testing](https://github.com/mitre/emasser/actions/workflows/test-cli.yml/badge.svg)
3
- ![CodeQL Vulnerabilities and Errors](https://github.com/mitre/emasser/actions/workflows/codeql-analysis.yml/badge.svg)
4
- ![Docs Generation](https://github.com/mitre/emasser/actions/workflows/generate_docs.yml/badge.svg)
6
+ ![CodeQL Vulnerabilities and Errors](https://github.com/mitre/emasser/actions/workflows/codeql-analysis.yml/badge.svg)
7
+ [![GitHub Pages](https://github.com/mitre/emasser/actions/workflows/gh-pages.yml/badge.svg)](https://github.com/mitre/emasser/actions/workflows/gh-pages.yml)
5
8
  ![Code Linter](https://github.com/mitre/emasser/actions/workflows/rubocop.yml/badge.svg)
6
- ## About
7
-
8
- `emasser` is a command line interface (CLI) that aims to automate routine business use-cases and provide utility surrounding the Enterprise Mission Assurance Support Service (eMASS) by leveraging its representational state transfer (REST) application programming interface (API) v3.2.
9
-
10
- ## Documentation
11
- emasser provides users with the following documentation:
12
-
13
- [**eMASS API Documentation**](https://mitre.github.io/emasser/docs/redoc/) | [**eMASS Swagger UI**](https://mitre.github.io/emasser/docs/swagger/)
14
-
15
- ## Current Features
16
-
17
- The following eMASS API HTTP methods are implemented:
18
- * `GET` view eMASS resources
19
- * `POST` add eMASS resources
20
- * `PUT` update eMASS resources
21
- * `DELETE` remove eMASS resources
22
9
 
10
+ ## About
23
11
 
24
- [**emasser CLI Features**](docs/features.md) | [**emasser Developers Instructions**](docs/developers.md)
25
-
26
- ## In Development
27
-
28
- This project is actively looking for user stories, features to build, and interactions with eMASS. See Roadmap for more information.
12
+ `emasser` is a Command Line Interface (CLI) that aims to automate routine business use-cases and provide utility surrounding the Enterprise Mission Assurance Support Service (eMASS) by leveraging its Representational State Transfer (REST) Application Programming Interface (API).
29
13
 
30
- * Support raw JSON upload
14
+ ***NOTE***: The `emasser` CLI utilizes the [emass_client](https://github.com/mitre/emass_client) RubyGem executable package to access the eMASS API endpoints.
31
15
 
32
- ## Roadmap
16
+ ---
17
+ ## Documentation
18
+ For detail content information about the `eMASS` API references the [**eMASS API Specification**](https://mitre.github.io/emass_client/docs/redoc/) page.
33
19
 
34
- Emasser is currently in MVP development and we are targeting all the features listed in Current and In Development for version 1.0. The Road Map are things that the team and community have talked about as possible great additions but feedback on which should come first, second, and third are what we would love feedback on from you.
20
+ For detail features provided by the `emasser` CLI references the [**emasser CLI Features**](docs/features.md) page.
35
21
 
36
- * Update a system's record with met/not met NIST 800-53 Security and Privacy controls and/or common control indicators (CCI) based on scan results expressed in [Heimdall Data Format (HDF)](https://saf.mitre.org/#/normalize).
37
- * Resolve a particular plan of action and milestone (POA&M) based on scan results or git-ops workflow.
38
- * PKCS11 support to run in an attended mode.
22
+ The `emasser` CLI [**Architecture**](#emasser-cli-architecture) depicts the `emasser` structure, and provides an explanation of how it behaves.
39
23
 
40
- ## Installation
24
+ ---
25
+ ## Installation Options
41
26
 
42
- `emasser` is a Ruby CLI that is distributed via git only. You must request the source from saf@groups.mitre.org
27
+ `emasser` is a Ruby CLI distributed via GitHub (this repository), [RubyGems](https://rubygems.org/gems/emass_client/versions/), or [Docker](https://hub.docker.com/r/mitre/emasser/tags).
43
28
 
44
- Installation Dependencies:
29
+ ### Installation Dependencies
45
30
  * git
46
- * Ruby version 2.7 or greater.
31
+ * Ruby version 2.7 or greater
47
32
 
48
- Runtime Dependencies:
33
+ ### Runtime Dependencies
49
34
  * Ruby version 2.7 or greater.
50
35
  * `rubyzip (latest version)`
51
- * `swagger_client (latest version)` (Also referred to as `emass_client` and distributed via git only)
52
- * On Windows the `cURL` binary is required (libcurl.dll). Options to install cURL for the emasser CLI to work are:
53
- - Download the curl for windows zip file from [curl x.x.x for Windows](https://curl.se/windows/)
54
- - Go into the archive and browse to /bin
55
- - Locate libcurl_x64.dll (it may be just libcurl.dll)
36
+ * `emass_client (latest version)`
37
+ * On Windows the `cURL` binary is required (libcurl.dll). To install cURL:
38
+ - Download cURL for windows from [curl x.x.x for Windows](https://curl.se/windows/)
39
+ - Go into the archive and browse to the /bin directory
40
+ - Locate libcurl_x64.dll (it may be named just libcurl.dll)
56
41
  - Extract the file into the Ruby installation /bin directory
57
42
  - Rename the file to `libcurl.dll` if it has the `_x64` suffix
58
43
  - Install [cURL for windows](https://community.chocolatey.org/packages/curl) and add the installation directory to the PATH.
59
-
60
-
61
- To install:
62
- ```bash
63
- git clone <path to emasser git> emasser
64
- cd emasser
65
- gem build *.gemspec
66
- gem install *.gem
44
+
45
+
46
+ ## Install via GitHub
47
+ - [Clone](https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository) the repository
48
+ ```bash
49
+ git clone <path to emasser repository> emasser
50
+ cd emasser
51
+ ```
52
+ - Build the emasser gem*
53
+ ```bash
54
+ gem build *.gemspec
55
+ gem install *.gem
56
+ ```
57
+
58
+ ***Note:** To run in development mode there isn't a need to build the gem, simply clone from the emasser repository and use:
59
+
60
+ ```
61
+ bundle install
62
+
63
+ bundle exec exe/emasser [command]
64
+ ```
65
+
66
+ ## Install via published RubyGems
67
+ - Install the `emasser` gem from the [RubyGems](https://rubygems.org/gems/emass_client/versions/) registry
68
+ ```bash
69
+ gem install emasser
70
+ ```
71
+ - Update the `emasser` gem to the latest version
72
+ ```bash
73
+ gem update emasser
74
+ ```
75
+
76
+ - To run (execute a command) create a `.env*` file in the directory where you want to invoke the `emmaser` and use:
77
+
78
+ ```
79
+ emasser [command]
80
+ ```
81
+ ***Note:** See [Setting Environment Variables Configuration](https://github.com/mitre/emasser/wiki/Editing-Environment-Variables-Configuration) for detailed information on required and optional variables.
82
+
83
+ ## Using Docker
84
+ Ensure that docker engine is running and start the emasser Docker Container.
85
+ ### Install
86
+ - On Linux or Mac:
87
+ ```
88
+ docker run --rm -v $PWD/path-to-secrets:/data mitre/emasser:latest
89
+ ```
90
+ - On Windows:
91
+ ```
92
+ docker run --rm -v %cd%/path-to-secrets:/data mitre/emasser:latest
93
+ ```
94
+ - Update via Docker
95
+ ```bash
96
+ docker pull mitre/emasser:latest
97
+ ```
98
+
99
+ **Docker Notes:**
100
+ - Docker Options
101
+ - `--rm` Automatically remove the container when it exits
102
+ - `-v` Bind mount a volume
103
+ - path-to-secrets
104
+ - Is the path to the `.env` file and the appropriate eMASS certificates (key.pem and client.pem).
105
+ - For example, if the `.env` is located in the same directory where the `docker run` is executed, running the command in a Windows platform would look like this:
106
+
107
+ ```
108
+ docker run --rm -v %cd%/.:/data mitre/emasser:latest
109
+ ```
110
+ - See [Editing Environment Variables Configuration](https://github.com/mitre/emasser/wiki/Editing-Environment-Variables-Configuration)
111
+
112
+ ### Run emasser API client commands
113
+ - To list all available GET, POST, PUT, or DELETE commands use:
114
+ ```
115
+ docker run --rm -v $PWD/path-to-secrets:/data mitre/emasser:latest get help
116
+ ```
117
+ ```
118
+ docker run --rm -v $PWD/path-to-secrets:/data mitre/emasser:latest post help
119
+ ```
120
+ ```
121
+ docker run --rm -v $PWD/path-to-secrets:/data mitre/emasser:latest put help
122
+ ```
123
+ ```
124
+ docker run --rm -v $PWD/path-to-secrets:/data mitre/emasser:latest delete help
125
+ ```
126
+ Example commands are for Linux or Mac, replace the `$PWD` with `%cd%` for Windows
127
+
128
+ ### Delete (remove) the Docker Container
129
+ ```
130
+ docker rmi -f mitre/emasser
67
131
  ```
132
+ ---
133
+ ## Roadmap
68
134
 
69
- ## Use
135
+ The `emasser` implements all endpoints provided by the `eMASS` API, there is, all of the functions available from the `eMASS GUI` that are exposed by the API. If additional functions are useful (accessible via the CLI), please submit a request to [eMass Tier III Support](mailto:disa.meade.id.mbx.emass-tier-iii-support@mail.mil) for possible inclusion into the API.
70
136
 
71
- **Requirement 1 & 2: Authentication and Authorization:**
72
- `emasser` requires authentication to eMASS as well as authorization to use the eMASS API. This authentication and authorization is **not** a function of `emasser` and needs to be handled directly with discussions with eMASS. `emasser` will accept credentials that are created based on those discussions.
137
+ The Road Map seeks to add any useful features that facilitates organization that utilizes `eMASS` instances and have a need to automate their cybersecurity management process.
73
138
 
74
- **Approve API Client for Actionable Requests**
75
- Users are required to log-in to eMASS and grant permissions for a client to update data within eMASS on their behalf. This is only required for actionable requests (PUT, POST, DELETE). The Registration Endpoint and all GET requests can be accessed without completing this process with the correct permissions.
139
+ For additional capability create an [issue](https://github.com/mitre/emasser/issues), and email it to the [SAF Team](mailto:saf@groups.mitre.org) citing the issue link so we can help.
76
140
 
77
- To establish an account with eMASS and/or acquire an api-key/user-uid, contact one of the listed POC:
78
- * [eMASS Tier III support - Website](https://www.dcsa.mil/is/emass/)
79
- * [Send email to eMASS Tier III support](disa.meade.id.mbx.emass-tier-iii-support@mail.mil)
80
- * [eMASS New User Registration (CAC required)](https://nisp.emass.apps.mil/Content/Help/jobaids/eMASS_OT_NewUser_Job_Aid.pdf)
141
+ Some proposed capabilities (looking for a sponsor) are:
142
+ * Update a system's record with met/not met NIST 800-53 Security and Privacy controls and/or common control indicators (CCI) based on scan results expressed in [Heimdall Data Format (HDF)](https://saf.mitre.org/#/normalize).
143
+ * Resolve a particular plan of action and milestone (POA&M) based on scan results or git-ops workflow.
144
+ * PKCS11 support to run in an attended mode.
81
145
 
82
146
 
83
147
  ## Design
84
148
 
85
- **Interactions with eMASS API:**
86
- `emasser` leverages a MITRE dependency, `emass_client`, which provides a REST API client based on a MITRE-created [OpenAPI](https://www.openapis.org/) version 3 specification based on the official eMASS version 2.3 API documentation. This design enables REST API clients to be generated in [any supported programming language](https://swagger.io/tools/swagger-codegen/). This design decision enables `emass_client` to generate a Ruby client for `emasser` and a TypeScript client that is included with [Heimdall Enterprise Server](https://github.com/mitre/heimdall2).
149
+ ### Interactions with eMASS API
150
+ The `emasser` CLI leverages the [emass_client](https://github.com/mitre/emass_client), which provides a REST API client developed by MITRE based on the [OpenAPI V3](https://www.openapis.org/) standards for the official [eMASS API specification](https://mitre.github.io/emass_client/docs/redoc). This design enables REST API clients to be generated in [any supported programming language](https://openapi-generator.tech/docs/generators/). The design enables the `emass_client` to be generated independently of the emasser CLI. Currently, a Ruby and a Typescript eMASS client API are provided. The TypeScript client is used with the [Security Automation Framework CLI (SAF) CLI](https://github.com/mitre/saf).
87
151
 
88
- **Business Logic:**
89
- Because interactions with the API are handled by a dependency, the bulk of `emasser` is business logic for accepting user input/output, reading data from eMASS or from input, transforming data, and routing data to the appropriate eMASS API endpoint. This business logic is organized into Ruby Classes and Modules based on the command or subcommand requested by the user.
152
+ ### Business Logic
153
+ Because interactions with the API are handled by a dependency, the bulk of `emasser` business logic is for accepting user input/output, reading data from eMASS or from input, transforming data, and routing data to the appropriate eMASS API endpoint. This business logic is organized into Ruby Classes and Modules based on the command or subcommand requested by the user.
90
154
 
155
+ ## Emasser CLI Architecture
156
+ The `emasser` CLI makes use of the `emass_client` ruby gem to communicate with an `eMASS` instance via the `eMASS API` as depicted in the diagram below:
157
+
158
+ <div align="center">
159
+ <img src="images/emasser_architecture.jpg" alt="emasser CLI Architecture" title="emasser CLI Architecture">
160
+ </div>
91
161
 
92
162
  ### NOTICE
93
163
 
@@ -95,7 +165,7 @@ Because interactions with the API are handled by a dependency, the bulk of `emas
95
165
 
96
166
  Approved for Public Release; Distribution Unlimited. Case Number 18-3678.
97
167
 
98
- ### NOTICE
168
+ ### NOTICE
99
169
 
100
170
  MITRE hereby grants express written permission to use, reproduce, distribute, modify, and otherwise leverage this software to the extent permitted by the licensed terms provided in the LICENSE.md file included with this project.
101
171