foreman_patch 1.1.6.alpha5 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (121) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/foreman_patch/api/v2/invocations_controller.rb +1 -23
  3. data/app/controllers/foreman_patch/concerns/hosts_controller_extensions.rb +41 -35
  4. data/app/helpers/foreman_patch/hosts_helper.rb +1 -1
  5. data/app/lib/actions/foreman_patch/cycle/complete.rb +41 -0
  6. data/app/lib/actions/foreman_patch/cycle/create.rb +1 -5
  7. data/app/lib/actions/foreman_patch/cycle/initiate.rb +1 -5
  8. data/app/lib/actions/foreman_patch/cycle/plan.rb +66 -0
  9. data/app/lib/actions/foreman_patch/invocation/action.rb +29 -23
  10. data/app/lib/actions/foreman_patch/invocation/patch.rb +8 -16
  11. data/app/lib/actions/foreman_patch/invocation/wait_for_host.rb +29 -4
  12. data/app/lib/actions/foreman_patch/round/patch.rb +1 -5
  13. data/app/lib/actions/foreman_patch/round/plan.rb +33 -0
  14. data/app/lib/actions/foreman_patch/window/plan.rb +43 -0
  15. data/app/lib/actions/foreman_patch/window/publish.rb +1 -5
  16. data/app/lib/actions/foreman_patch/window/resolve_hosts.rb +1 -5
  17. data/app/models/foreman_patch/invocation.rb +4 -4
  18. data/app/models/foreman_patch/round.rb +23 -4
  19. data/app/models/setting/patching.rb +57 -0
  20. data/app/services/foreman_patch/ticket/affected_items.rb +24 -3
  21. data/app/services/foreman_patch/ticket/api.rb +19 -16
  22. data/app/views/foreman_patch/api/v2/invocations/base.json.rabl +1 -1
  23. data/app/views/foreman_patch/api/v2/invocations/phase.json.rabl +7 -0
  24. data/app/views/foreman_patch/api/v2/invocations/show.json.rabl +2 -2
  25. data/app/views/foreman_patch/api/v2/rounds/base.json.rabl +1 -1
  26. data/app/views/foreman_patch/api/v2/rounds/status.json.rabl +8 -2
  27. data/app/views/foreman_patch/groups/index.html.erb +1 -1
  28. data/app/views/foreman_patch/invocations/show.html.erb +26 -1
  29. data/app/views/foreman_patch/layouts/react.html.erb +1 -1
  30. data/app/views/templates/ensure_services.erb +4 -7
  31. data/config/api_routes.rb +24 -28
  32. data/config/routes/mount_engine.rb +3 -0
  33. data/config/routes/overrides.rb +10 -0
  34. data/config/routes.rb +29 -40
  35. data/db/seeds.d/100-assign_features_with_templates.rb +12 -6
  36. data/lib/foreman_patch/engine.rb +46 -11
  37. data/lib/foreman_patch/plugin.rb +47 -0
  38. data/lib/foreman_patch/version.rb +1 -1
  39. data/lib/foreman_patch.rb +2 -3
  40. data/locale/en/foreman_patch.po +1 -1
  41. data/locale/foreman_patch.pot +1 -1
  42. data/locale/gemspec.rb +1 -1
  43. data/package.json +9 -20
  44. data/public/assets/foreman_patch/cycle_plans-ff3d252119622a68828ff70f4a97328303963002237dbf850e92d6a706e93667.scss.gz +0 -0
  45. data/public/assets/foreman_patch/foreman_patch-be2e2ba89548f4a490612e8a6cd1cdebc0473be89f8023a3df7612f05a75d301.css.gz +0 -0
  46. data/public/assets/foreman_patch/foreman_patch.json +1 -1
  47. data/public/assets/foreman_patch/plan_edit_windows-9ba20f84f3ecf2c4eb903acd57d30ee3e16f023a79db30bc614aa22f26442ce3.js.gz +0 -0
  48. data/public/webpack/foreman_patch/bundle-e45c4bb530e40506f2da.js +6 -0
  49. data/public/webpack/foreman_patch/bundle-e45c4bb530e40506f2da.js.gz +0 -0
  50. data/public/webpack/foreman_patch/bundle-e45c4bb530e40506f2da.js.map +1 -0
  51. data/public/webpack/foreman_patch/bundle-e45c4bb530e40506f2da.js.map.gz +0 -0
  52. data/public/webpack/foreman_patch/{foreman_patch-8909c3e06f012a43f769.css → foreman_patch-4a4e1a59d74af09c4b8b.css} +1 -1
  53. data/public/webpack/foreman_patch/{foreman_patch-8909c3e06f012a43f769.css.gz → foreman_patch-4a4e1a59d74af09c4b8b.css.gz} +0 -0
  54. data/public/webpack/foreman_patch/foreman_patch-4a4e1a59d74af09c4b8b.js +6 -0
  55. data/public/webpack/foreman_patch/foreman_patch-4a4e1a59d74af09c4b8b.js.gz +0 -0
  56. data/public/webpack/foreman_patch/foreman_patch-4a4e1a59d74af09c4b8b.js.map +1 -0
  57. data/public/webpack/foreman_patch/foreman_patch-4a4e1a59d74af09c4b8b.js.map.gz +0 -0
  58. data/public/webpack/foreman_patch/manifest.json +8 -13
  59. data/public/webpack/foreman_patch/manifest.json.gz +0 -0
  60. data/public/webpack/foreman_patch/{vendor-769bd77f6be96c3c37e1.js → vendor-4b77c91f1e9103179596.js} +2 -2
  61. data/public/webpack/foreman_patch/vendor-4b77c91f1e9103179596.js.gz +0 -0
  62. data/public/webpack/foreman_patch/{vendor-769bd77f6be96c3c37e1.js.map → vendor-4b77c91f1e9103179596.js.map} +1 -1
  63. data/public/webpack/foreman_patch/vendor-4b77c91f1e9103179596.js.map.gz +0 -0
  64. data/webpack/components/Invocation/Invocation.js +47 -0
  65. data/webpack/{src/Components → components}/Invocation/InvocationSelectors.js +3 -0
  66. data/webpack/components/Invocation/index.js +36 -0
  67. data/webpack/components/Invocations/Invocations.js +16 -48
  68. data/webpack/components/Invocations/InvocationsPage.js +1 -24
  69. data/webpack/components/Invocations/InvocationsSelectors.js +1 -1
  70. data/webpack/components/Invocations/components/{InvocationActions.js → InvocationItem.js} +16 -4
  71. data/webpack/components/Invocations/index.js +12 -95
  72. data/webpack/components/RoundProgress/AggregateStatus.js +5 -6
  73. data/webpack/components/RoundProgress/RoundProgress.js +6 -7
  74. data/webpack/components/RoundProgress/RoundProgressSelectors.js +2 -3
  75. data/webpack/components/common/Calendar/Calendar.js +4 -5
  76. data/webpack/components/common/Terminal/OutputLine.js +26 -0
  77. data/webpack/components/common/Terminal/Terminal.js +115 -0
  78. data/webpack/components/common/Terminal/Terminal.scss +47 -0
  79. data/webpack/index.js +0 -3
  80. metadata +90 -59
  81. data/app/controllers/foreman_patch/react_controller.rb +0 -12
  82. data/app/lib/actions/foreman_patch/invocation/process_logging.rb +0 -44
  83. data/app/lib/actions/foreman_patch/invocation/proxy_action.rb +0 -52
  84. data/app/models/foreman_patch/event.rb +0 -13
  85. data/app/views/foreman_patch/api/v2/invocations/event.json.rabl +0 -3
  86. data/db/migrate/20230706092400_nullify_group_on_delete.rb +0 -11
  87. data/db/migrate/20230707102800_create_invocation_events.rb +0 -16
  88. data/lib/foreman_patch/register.rb +0 -119
  89. data/public/webpack/foreman_patch/bundle-831173d6ae39953b2409.js +0 -6
  90. data/public/webpack/foreman_patch/bundle-831173d6ae39953b2409.js.gz +0 -0
  91. data/public/webpack/foreman_patch/bundle-831173d6ae39953b2409.js.map +0 -1
  92. data/public/webpack/foreman_patch/bundle-831173d6ae39953b2409.js.map.gz +0 -0
  93. data/public/webpack/foreman_patch/foreman_patch-8909c3e06f012a43f769.js +0 -6
  94. data/public/webpack/foreman_patch/foreman_patch-8909c3e06f012a43f769.js.gz +0 -0
  95. data/public/webpack/foreman_patch/foreman_patch-8909c3e06f012a43f769.js.map +0 -1
  96. data/public/webpack/foreman_patch/foreman_patch-8909c3e06f012a43f769.js.map.gz +0 -0
  97. data/public/webpack/foreman_patch/foreman_patch:global-d71cc6e1e759f04f631a.css +0 -1
  98. data/public/webpack/foreman_patch/foreman_patch:global-d71cc6e1e759f04f631a.css.gz +0 -0
  99. data/public/webpack/foreman_patch/foreman_patch:global-d71cc6e1e759f04f631a.js +0 -6
  100. data/public/webpack/foreman_patch/foreman_patch:global-d71cc6e1e759f04f631a.js.gz +0 -0
  101. data/public/webpack/foreman_patch/foreman_patch:global-d71cc6e1e759f04f631a.js.map +0 -1
  102. data/public/webpack/foreman_patch/foreman_patch:global-d71cc6e1e759f04f631a.js.map.gz +0 -0
  103. data/public/webpack/foreman_patch/vendor-769bd77f6be96c3c37e1.js.gz +0 -0
  104. data/public/webpack/foreman_patch/vendor-769bd77f6be96c3c37e1.js.map.gz +0 -0
  105. data/webpack/components/common/Table/index.js +0 -28
  106. data/webpack/global_index.js +0 -16
  107. data/webpack/src/Components/Invocation/Invocation.js +0 -67
  108. data/webpack/src/Components/Invocation/InvocationLogFooter.js +0 -30
  109. data/webpack/src/Components/Invocation/InvocationLogToolbar.js +0 -80
  110. data/webpack/src/Components/Invocation/index.js +0 -62
  111. data/webpack/src/Components/InvocationStatus.js +0 -50
  112. data/webpack/src/Components/Loading.js +0 -51
  113. data/webpack/src/Extends/index.js +0 -15
  114. data/webpack/src/Router/routes.js +0 -5
  115. data/webpack/src/reducers.js +0 -7
  116. /data/public/webpack/foreman_patch/{bundle-831173d6ae39953b2409.css → bundle-e45c4bb530e40506f2da.css} +0 -0
  117. /data/public/webpack/foreman_patch/{bundle-831173d6ae39953b2409.css.gz → bundle-e45c4bb530e40506f2da.css.gz} +0 -0
  118. /data/webpack/{src/Components → components}/Invocation/InvocationActions.js +0 -0
  119. /data/webpack/{src/Components → components}/Invocation/InvocationConsts.js +0 -0
  120. /data/webpack/components/Invocations/{Invocations.css → InvocationsPage.scss} +0 -0
  121. /data/webpack/components/common/Calendar/{Calendar.css → Calendar.scss} +0 -0
@@ -0,0 +1,47 @@
1
+ Foreman::Plugin.register :foreman_patch do
2
+ requires_foreman '>= 2.1'
3
+
4
+ apipie_documented_controllers(["#{ForemanPatch::Engine.root}/app/controllers/foreman_patch/api/v2/*.rb"])
5
+
6
+ register_facet ForemanPatch::Host::GroupFacet, :group_facet do
7
+ api_view list: 'foreman_patch/api/v2/group_facet/base_with_root', single: 'foreman_patch/api/v2/group_facet/show'
8
+ api_docs :group_facet_attributes, ::ForemanPatch::Api::V2::HostGroupsController
9
+ extend_model ForemanPatch::Concerns::GroupFacetHostExtensions
10
+ set_dependent_action :destroy
11
+ end
12
+
13
+ # Add permissions
14
+ security_block :foreman_patch do
15
+ end
16
+
17
+ divider :top_menu, caption: N_('Patching'), parent: :content_menu
18
+ menu :top_menu, :groups,
19
+ caption: N_('Groups'),
20
+ engine: ForemanPatch::Engine,
21
+ parent: :content_menu
22
+
23
+ menu :top_menu, :cycles,
24
+ caption: N_('Cycles'),
25
+ engine: ForemanPatch::Engine,
26
+ parent: :content_menu
27
+
28
+ menu :top_menu, :plans,
29
+ caption: N_('Plans'),
30
+ engine: ForemanPatch::Engine,
31
+ parent: :content_menu
32
+
33
+ menu :top_menu, :ticket_fields,
34
+ caption: N_('Ticket Fields'),
35
+ engine: ForemanPatch::Engine,
36
+ parent: :content_menu
37
+
38
+ parameter_filter ::Host::Managed, :group_facet_attributes => [:group_id]
39
+
40
+ describe_host do
41
+ multiple_actions_provider :patch_host_multiple_actions
42
+ overview_fields_provider :patch_host_overview_fields
43
+ end
44
+
45
+ RemoteExecutionFeature.register(:power_action, N_("Power Action"), description: N_("Power Action"), provided_inputs: ['action'])
46
+ RemoteExecutionFeature.register(:ensure_services, N_("Ensure Services"), description: N_("Ensure Services are running"))
47
+ end
@@ -1,3 +1,3 @@
1
1
  module ForemanPatch
2
- VERSION = '1.1.6.alpha5'.freeze
2
+ VERSION = '1.2.0'.freeze
3
3
  end
data/lib/foreman_patch.rb CHANGED
@@ -1,5 +1,4 @@
1
- module ForemanPatch
2
- end
3
-
4
1
  require 'foreman_patch/engine'
5
2
 
3
+ module ForemanPatch
4
+ end
@@ -5,7 +5,7 @@
5
5
  #, fuzzy
6
6
  msgid ""
7
7
  msgstr ""
8
- "Project-Id-Version: foreman_patch 0.0.1\n"
8
+ "Project-Id-Version: version 0.0.1\n"
9
9
  "Report-Msgid-Bugs-To: \n"
10
10
  "POT-Creation-Date: 2014-08-20 08:46+0100\n"
11
11
  "PO-Revision-Date: 2014-08-20 08:54+0100\n"
@@ -5,7 +5,7 @@
5
5
  #, fuzzy
6
6
  msgid ""
7
7
  msgstr ""
8
- "Project-Id-Version: foreman_patch 0.0.1\n"
8
+ "Project-Id-Version: version 0.0.1\n"
9
9
  "Report-Msgid-Bugs-To: \n"
10
10
  "POT-Creation-Date: 2014-08-20 08:46+0100\n"
11
11
  "PO-Revision-Date: 2014-08-20 08:46+0100\n"
data/locale/gemspec.rb CHANGED
@@ -1,2 +1,2 @@
1
1
  # Matches foreman_patch.gemspec
2
- _("Foreman Plugin for Managing Patching.")
2
+ _('TODO: Description of ForemanPatch.')
data/package.json CHANGED
@@ -1,8 +1,6 @@
1
1
  {
2
2
  "name": "foreman_patch",
3
- "version": "0.0.2",
4
- "description": "TODO",
5
- "main": "index.js",
3
+ "version": "0.0.1",
6
4
  "license": "GPL-3.0",
7
5
  "scripts": {
8
6
  "lint": "tfm-lint --plugin -d /webpack",
@@ -11,9 +9,7 @@
11
9
  "test:current": "tfm-test --plugin --watch",
12
10
  "publish-coverage": "tfm-publish-coverage",
13
11
  "stories": "tfm-stories --plugin",
14
- "stories:build": "tfm-build-stories --plugin",
15
- "stories:deploy": "surge --project .storybook-dist",
16
- "create-react-component": "yo react-domain"
12
+ "stories:build": "tfm-build-stories --plugin"
17
13
  },
18
14
  "repository": {
19
15
  "type": "git",
@@ -24,23 +20,16 @@
24
20
  },
25
21
  "devDependencies": {
26
22
  "@babel/core": "^7.7.0",
27
- "@theforeman/builder": "^8.15.0",
28
- "@theforeman/eslint-plugin-foreman": "^8.15.0",
29
- "@theforeman/find-foreman": "^8.15.0",
30
- "@theforeman/stories": "^8.15.0",
31
- "@theforeman/test": "^8.15.0",
32
- "@theforeman/vendor-dev": "^8.15.0",
23
+ "@theforeman/builder": "^6.0.0",
24
+ "@theforeman/eslint-plugin-foreman": "^6.0.0",
25
+ "@theforeman/stories": "^7.0.0",
26
+ "@theforeman/test": "^8.0.0",
27
+ "@theforeman/vendor-dev": "^6.0.0",
33
28
  "babel-eslint": "^10.0.3",
34
29
  "eslint": "^6.7.2",
35
- "jed": "^1.1.1",
36
- "prettier": "^1.19.1",
37
- "stylelint-config-standard": "^18.0.0",
38
- "stylelint": "^9.3.0"
39
- },
40
- "dependencies": {
41
- "@patternfly/react-log-viewer": "~4.87.100"
30
+ "prettier": "^1.19.1"
42
31
  },
43
32
  "peerDependencies": {
44
- "@theforeman/vendor": "^8.15.0"
33
+ "@theforeman/vendor": ">= 6.0.0"
45
34
  }
46
35
  }
@@ -1 +1 @@
1
- {"files":{"foreman_patch/plan_edit_windows-9ba20f84f3ecf2c4eb903acd57d30ee3e16f023a79db30bc614aa22f26442ce3.js":{"logical_path":"foreman_patch/plan_edit_windows.js","mtime":"2023-07-21T19:43:20+00:00","size":144,"digest":"be5de0eef57205a38f90eda24c8f8aed707f5d30e8a5abbc3ce9f198ea55a620","integrity":"sha256-vl3g7vVyBaOPkO2iTI+K7XB/XTDopau8POnxmOpVpiA="},"foreman_patch/foreman_patch-be2e2ba89548f4a490612e8a6cd1cdebc0473be89f8023a3df7612f05a75d301.css":{"logical_path":"foreman_patch/foreman_patch.css","mtime":"2023-07-21T19:43:20+00:00","size":87,"digest":"d6fdcb3359ce0ca3edd9a493467bc366b5f2b52a0d3e2fd2b5d1dec121ef31ff","integrity":"sha256-1v3LM1nODKPt2aSTRnvDZrXytSoNPi/StdHewSHvMf8="},"foreman_patch/cycle_plans-ff3d252119622a68828ff70f4a97328303963002237dbf850e92d6a706e93667.scss":{"logical_path":"foreman_patch/cycle_plans.scss","mtime":"2023-07-21T19:43:20+00:00","size":106,"digest":"aa7bb2d36a98d83776b4dd9dd93431ba648b84a37478f93c445eb9bda0f84006","integrity":"sha256-qnuy02qY2Dd2tN2d2TQxumSLhKN0ePk8RF65vaD4QAY="}},"assets":{"foreman_patch/plan_edit_windows.js":"foreman_patch/plan_edit_windows-9ba20f84f3ecf2c4eb903acd57d30ee3e16f023a79db30bc614aa22f26442ce3.js","foreman_patch/foreman_patch.css":"foreman_patch/foreman_patch-be2e2ba89548f4a490612e8a6cd1cdebc0473be89f8023a3df7612f05a75d301.css","foreman_patch/cycle_plans.scss":"foreman_patch/cycle_plans-ff3d252119622a68828ff70f4a97328303963002237dbf850e92d6a706e93667.scss"}}
1
+ {"files":{"foreman_patch/cycle_plans-ff3d252119622a68828ff70f4a97328303963002237dbf850e92d6a706e93667.scss":{"logical_path":"foreman_patch/cycle_plans.scss","mtime":"2024-12-04T21:07:08+00:00","size":106,"digest":"aa7bb2d36a98d83776b4dd9dd93431ba648b84a37478f93c445eb9bda0f84006","integrity":"sha256-qnuy02qY2Dd2tN2d2TQxumSLhKN0ePk8RF65vaD4QAY="},"foreman_patch/foreman_patch-be2e2ba89548f4a490612e8a6cd1cdebc0473be89f8023a3df7612f05a75d301.css":{"logical_path":"foreman_patch/foreman_patch.css","mtime":"2024-12-04T21:07:08+00:00","size":87,"digest":"d6fdcb3359ce0ca3edd9a493467bc366b5f2b52a0d3e2fd2b5d1dec121ef31ff","integrity":"sha256-1v3LM1nODKPt2aSTRnvDZrXytSoNPi/StdHewSHvMf8="},"foreman_patch/plan_edit_windows-9ba20f84f3ecf2c4eb903acd57d30ee3e16f023a79db30bc614aa22f26442ce3.js":{"logical_path":"foreman_patch/plan_edit_windows.js","mtime":"2024-12-04T21:07:08+00:00","size":144,"digest":"be5de0eef57205a38f90eda24c8f8aed707f5d30e8a5abbc3ce9f198ea55a620","integrity":"sha256-vl3g7vVyBaOPkO2iTI+K7XB/XTDopau8POnxmOpVpiA="}},"assets":{"foreman_patch/cycle_plans.scss":"foreman_patch/cycle_plans-ff3d252119622a68828ff70f4a97328303963002237dbf850e92d6a706e93667.scss","foreman_patch/foreman_patch.css":"foreman_patch/foreman_patch-be2e2ba89548f4a490612e8a6cd1cdebc0473be89f8023a3df7612f05a75d301.css","foreman_patch/plan_edit_windows.js":"foreman_patch/plan_edit_windows-9ba20f84f3ecf2c4eb903acd57d30ee3e16f023a79db30bc614aa22f26442ce3.js"}}