foreman_patch 1.1.6.alpha5 → 1.2.0.alpha1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/controllers/foreman_patch/api/v2/invocations_controller.rb +1 -23
- data/app/controllers/foreman_patch/concerns/hosts_controller_extensions.rb +41 -35
- data/app/helpers/foreman_patch/hosts_helper.rb +1 -1
- data/app/lib/actions/foreman_patch/cycle/complete.rb +41 -0
- data/app/lib/actions/foreman_patch/cycle/create.rb +1 -5
- data/app/lib/actions/foreman_patch/cycle/initiate.rb +1 -5
- data/app/lib/actions/foreman_patch/cycle/plan.rb +66 -0
- data/app/lib/actions/foreman_patch/invocation/action.rb +29 -23
- data/app/lib/actions/foreman_patch/invocation/patch.rb +8 -16
- data/app/lib/actions/foreman_patch/invocation/wait_for_host.rb +29 -4
- data/app/lib/actions/foreman_patch/round/patch.rb +1 -5
- data/app/lib/actions/foreman_patch/round/plan.rb +33 -0
- data/app/lib/actions/foreman_patch/window/plan.rb +43 -0
- data/app/lib/actions/foreman_patch/window/publish.rb +1 -5
- data/app/lib/actions/foreman_patch/window/resolve_hosts.rb +1 -5
- data/app/models/foreman_patch/invocation.rb +4 -4
- data/app/models/foreman_patch/round.rb +23 -4
- data/app/models/setting/patching.rb +57 -0
- data/app/services/foreman_patch/ticket/api.rb +1 -2
- data/app/views/foreman_patch/api/v2/invocations/base.json.rabl +1 -1
- data/app/views/foreman_patch/api/v2/invocations/phase.json.rabl +7 -0
- data/app/views/foreman_patch/api/v2/invocations/show.json.rabl +2 -2
- data/app/views/foreman_patch/api/v2/rounds/base.json.rabl +1 -1
- data/app/views/foreman_patch/api/v2/rounds/status.json.rabl +8 -2
- data/app/views/foreman_patch/groups/index.html.erb +1 -1
- data/app/views/foreman_patch/invocations/show.html.erb +26 -1
- data/app/views/foreman_patch/layouts/react.html.erb +1 -1
- data/app/views/templates/ensure_services.erb +4 -7
- data/config/api_routes.rb +24 -28
- data/config/routes/mount_engine.rb +3 -0
- data/config/routes/overrides.rb +10 -0
- data/config/routes.rb +29 -40
- data/db/seeds.d/100-assign_features_with_templates.rb +12 -6
- data/lib/foreman_patch/engine.rb +46 -11
- data/lib/foreman_patch/plugin.rb +47 -0
- data/lib/foreman_patch/version.rb +1 -1
- data/lib/foreman_patch.rb +2 -3
- data/locale/en/foreman_patch.po +1 -1
- data/locale/foreman_patch.pot +1 -1
- data/locale/gemspec.rb +1 -1
- data/package.json +9 -20
- data/public/assets/foreman_patch/cycle_plans-e5667e178ba389908f5c815b24ec0ea77c340849d56bc39c5ce72bb626bd446a.scss +6 -0
- data/public/assets/foreman_patch/cycle_plans-e5667e178ba389908f5c815b24ec0ea77c340849d56bc39c5ce72bb626bd446a.scss.gz +0 -0
- data/public/assets/foreman_patch/cycle_plans-ff3d252119622a68828ff70f4a97328303963002237dbf850e92d6a706e93667.scss.gz +0 -0
- data/public/assets/foreman_patch/foreman_patch-be2e2ba89548f4a490612e8a6cd1cdebc0473be89f8023a3df7612f05a75d301.css.gz +0 -0
- data/public/assets/foreman_patch/foreman_patch-ce5805a60c0d5f896f557ff5246e5a09172043004c850b39bea54e618df1c485.css +1 -0
- data/public/assets/foreman_patch/foreman_patch-ce5805a60c0d5f896f557ff5246e5a09172043004c850b39bea54e618df1c485.css.gz +0 -0
- data/public/assets/foreman_patch/foreman_patch.json +1 -1
- data/public/assets/foreman_patch/plan_edit_windows-9ba20f84f3ecf2c4eb903acd57d30ee3e16f023a79db30bc614aa22f26442ce3.js.gz +0 -0
- data/public/assets/foreman_patch/plan_edit_windows-e656ba411642a7f983b51958ab30ac49c056322d19295a603cff4d5e6c71c8ed.js +1 -0
- data/public/assets/foreman_patch/plan_edit_windows-e656ba411642a7f983b51958ab30ac49c056322d19295a603cff4d5e6c71c8ed.js.gz +0 -0
- data/public/webpack/foreman_patch/bundle-e45c4bb530e40506f2da.js +6 -0
- data/public/webpack/foreman_patch/bundle-e45c4bb530e40506f2da.js.gz +0 -0
- data/public/webpack/foreman_patch/bundle-e45c4bb530e40506f2da.js.map +1 -0
- data/public/webpack/foreman_patch/bundle-e45c4bb530e40506f2da.js.map.gz +0 -0
- data/public/webpack/foreman_patch/{foreman_patch-8909c3e06f012a43f769.css → foreman_patch-4a4e1a59d74af09c4b8b.css} +1 -1
- data/public/webpack/foreman_patch/{foreman_patch-8909c3e06f012a43f769.css.gz → foreman_patch-4a4e1a59d74af09c4b8b.css.gz} +0 -0
- data/public/webpack/foreman_patch/foreman_patch-4a4e1a59d74af09c4b8b.js +6 -0
- data/public/webpack/foreman_patch/foreman_patch-4a4e1a59d74af09c4b8b.js.gz +0 -0
- data/public/webpack/foreman_patch/foreman_patch-4a4e1a59d74af09c4b8b.js.map +1 -0
- data/public/webpack/foreman_patch/foreman_patch-4a4e1a59d74af09c4b8b.js.map.gz +0 -0
- data/public/webpack/foreman_patch/manifest.json +8 -13
- data/public/webpack/foreman_patch/manifest.json.gz +0 -0
- data/public/webpack/foreman_patch/{vendor-769bd77f6be96c3c37e1.js → vendor-4b77c91f1e9103179596.js} +2 -2
- data/public/webpack/foreman_patch/vendor-4b77c91f1e9103179596.js.gz +0 -0
- data/public/webpack/foreman_patch/{vendor-769bd77f6be96c3c37e1.js.map → vendor-4b77c91f1e9103179596.js.map} +1 -1
- data/public/webpack/foreman_patch/vendor-4b77c91f1e9103179596.js.map.gz +0 -0
- data/webpack/components/Invocation/Invocation.js +47 -0
- data/webpack/{src/Components → components}/Invocation/InvocationSelectors.js +3 -0
- data/webpack/components/Invocation/index.js +36 -0
- data/webpack/components/Invocations/Invocations.js +16 -48
- data/webpack/components/Invocations/InvocationsPage.js +1 -24
- data/webpack/components/Invocations/InvocationsSelectors.js +1 -1
- data/webpack/components/Invocations/components/{InvocationActions.js → InvocationItem.js} +16 -4
- data/webpack/components/Invocations/index.js +12 -95
- data/webpack/components/RoundProgress/AggregateStatus.js +5 -6
- data/webpack/components/RoundProgress/RoundProgress.js +6 -7
- data/webpack/components/RoundProgress/RoundProgressSelectors.js +2 -3
- data/webpack/components/common/Calendar/Calendar.js +4 -5
- data/webpack/components/common/Terminal/OutputLine.js +26 -0
- data/webpack/components/common/Terminal/Terminal.js +115 -0
- data/webpack/components/common/Terminal/Terminal.scss +47 -0
- data/webpack/index.js +0 -3
- metadata +91 -54
- data/app/controllers/foreman_patch/react_controller.rb +0 -12
- data/app/lib/actions/foreman_patch/invocation/process_logging.rb +0 -44
- data/app/lib/actions/foreman_patch/invocation/proxy_action.rb +0 -52
- data/app/models/foreman_patch/event.rb +0 -13
- data/app/views/foreman_patch/api/v2/invocations/event.json.rabl +0 -3
- data/db/migrate/20230706092400_nullify_group_on_delete.rb +0 -11
- data/db/migrate/20230707102800_create_invocation_events.rb +0 -16
- data/lib/foreman_patch/register.rb +0 -119
- data/public/webpack/foreman_patch/bundle-831173d6ae39953b2409.js +0 -6
- data/public/webpack/foreman_patch/bundle-831173d6ae39953b2409.js.gz +0 -0
- data/public/webpack/foreman_patch/bundle-831173d6ae39953b2409.js.map +0 -1
- data/public/webpack/foreman_patch/bundle-831173d6ae39953b2409.js.map.gz +0 -0
- data/public/webpack/foreman_patch/foreman_patch-8909c3e06f012a43f769.js +0 -6
- data/public/webpack/foreman_patch/foreman_patch-8909c3e06f012a43f769.js.gz +0 -0
- data/public/webpack/foreman_patch/foreman_patch-8909c3e06f012a43f769.js.map +0 -1
- data/public/webpack/foreman_patch/foreman_patch-8909c3e06f012a43f769.js.map.gz +0 -0
- data/public/webpack/foreman_patch/foreman_patch:global-d71cc6e1e759f04f631a.css +0 -1
- data/public/webpack/foreman_patch/foreman_patch:global-d71cc6e1e759f04f631a.css.gz +0 -0
- data/public/webpack/foreman_patch/foreman_patch:global-d71cc6e1e759f04f631a.js +0 -6
- data/public/webpack/foreman_patch/foreman_patch:global-d71cc6e1e759f04f631a.js.gz +0 -0
- data/public/webpack/foreman_patch/foreman_patch:global-d71cc6e1e759f04f631a.js.map +0 -1
- data/public/webpack/foreman_patch/foreman_patch:global-d71cc6e1e759f04f631a.js.map.gz +0 -0
- data/public/webpack/foreman_patch/vendor-769bd77f6be96c3c37e1.js.gz +0 -0
- data/public/webpack/foreman_patch/vendor-769bd77f6be96c3c37e1.js.map.gz +0 -0
- data/webpack/components/common/Table/index.js +0 -28
- data/webpack/global_index.js +0 -16
- data/webpack/src/Components/Invocation/Invocation.js +0 -67
- data/webpack/src/Components/Invocation/InvocationLogFooter.js +0 -30
- data/webpack/src/Components/Invocation/InvocationLogToolbar.js +0 -80
- data/webpack/src/Components/Invocation/index.js +0 -62
- data/webpack/src/Components/InvocationStatus.js +0 -50
- data/webpack/src/Components/Loading.js +0 -51
- data/webpack/src/Extends/index.js +0 -15
- data/webpack/src/Router/routes.js +0 -5
- data/webpack/src/reducers.js +0 -7
- /data/public/webpack/foreman_patch/{bundle-831173d6ae39953b2409.css → bundle-e45c4bb530e40506f2da.css} +0 -0
- /data/public/webpack/foreman_patch/{bundle-831173d6ae39953b2409.css.gz → bundle-e45c4bb530e40506f2da.css.gz} +0 -0
- /data/webpack/{src/Components → components}/Invocation/InvocationActions.js +0 -0
- /data/webpack/{src/Components → components}/Invocation/InvocationConsts.js +0 -0
- /data/webpack/components/Invocations/{Invocations.css → InvocationsPage.scss} +0 -0
- /data/webpack/components/common/Calendar/{Calendar.css → Calendar.scss} +0 -0
@@ -1,119 +0,0 @@
|
|
1
|
-
Foreman::Plugin.register :foreman_patch do
|
2
|
-
requires_foreman '~> 3.1'
|
3
|
-
|
4
|
-
register_global_js_file 'global'
|
5
|
-
|
6
|
-
settings do
|
7
|
-
category(:patching, N_('Patching')) do
|
8
|
-
setting('host_max_wait_for_up',
|
9
|
-
type: :integer,
|
10
|
-
description: N_("Maximum seconds to wait for a host after patching restart."),
|
11
|
-
default: 600,
|
12
|
-
full_name: N_("Max wait for host up"))
|
13
|
-
setting('host_patch_timeout',
|
14
|
-
type: :integer,
|
15
|
-
description: N_("Maximum seconds for a patching invocation to run before timing out"),
|
16
|
-
default: nil,
|
17
|
-
full_name: N_('Patch Timeout'))
|
18
|
-
setting('patch_schedule_time_zone',
|
19
|
-
type: :string,
|
20
|
-
description: N_('Time zone used to base patch window scheduling off of.'),
|
21
|
-
default: 'UTC',
|
22
|
-
full_name: N_('Patch Schedule Time Zone'),
|
23
|
-
collection: proc { ActiveSupport::TimeZone.all.map { |tz| [ tz.name, tz.name ] }.to_h })
|
24
|
-
setting('ticket_api_host',
|
25
|
-
type: :string,
|
26
|
-
description: N_('Host used for change management tickets'),
|
27
|
-
default: nil,
|
28
|
-
full_name: N_('Ticket API host'))
|
29
|
-
setting('ticket_api_proxy',
|
30
|
-
type: :string,
|
31
|
-
description: N_('HTTP Proxy to access ticket API host'),
|
32
|
-
default: nil,
|
33
|
-
full_name: N_('Ticket API HTTP proxy'),
|
34
|
-
collection: proc { HttpProxy.all.map { |proxy| [proxy.name, proxy.name_and_url] }.to_h },
|
35
|
-
include_blank: N_('no proxy'))
|
36
|
-
setting('ticket_api_user',
|
37
|
-
type: :string,
|
38
|
-
description: N_('User with access to ticket API'),
|
39
|
-
default: nil,
|
40
|
-
full_name: N_('Ticket API user'))
|
41
|
-
setting('ticket_api_password',
|
42
|
-
type: :string,
|
43
|
-
description: N_('Password for ticket API user'),
|
44
|
-
default: nil,
|
45
|
-
full_name: N_('Ticket API password'),
|
46
|
-
encrypted: true)
|
47
|
-
setting('ticket_api_path',
|
48
|
-
type: :string,
|
49
|
-
description: N_('Ticket API path for REST/CRUD operations'),
|
50
|
-
default: nil,
|
51
|
-
full_name: N_('Ticket API path'))
|
52
|
-
setting('ticket_web_ui_path',
|
53
|
-
type: :string,
|
54
|
-
description: N_('Path for opening a ticket in the web UI'),
|
55
|
-
default: nil,
|
56
|
-
full_name: N_('Ticket Web UI path'))
|
57
|
-
setting('ticket_label_field',
|
58
|
-
type: :string,
|
59
|
-
description: N_('Name of the field used for the ticket label'),
|
60
|
-
default: nil,
|
61
|
-
full_name: N_('Ticket label field'))
|
62
|
-
setting('ticket_id_field',
|
63
|
-
type: :string,
|
64
|
-
description: N_('Name of the field used for the ticket id'),
|
65
|
-
default: nil,
|
66
|
-
full_name: N_('Ticket ID field'))
|
67
|
-
setting('skip_broken_patches',
|
68
|
-
type: :boolean,
|
69
|
-
description: N_('Skip broken dependencies during patching'),
|
70
|
-
default: true,
|
71
|
-
full_name: N_('Skip broken patches'))
|
72
|
-
end
|
73
|
-
end
|
74
|
-
|
75
|
-
apipie_documented_controllers(["#{ForemanPatch::Engine.root}/app/controllers/foreman_patch/api/v2/*.rb"])
|
76
|
-
|
77
|
-
# Add permissions
|
78
|
-
security_block :foreman_patch do
|
79
|
-
end
|
80
|
-
|
81
|
-
divider :top_menu, caption: N_('Patching'), parent: :content_menu
|
82
|
-
menu :top_menu, :groups,
|
83
|
-
caption: N_('Groups'),
|
84
|
-
engine: ForemanPatch::Engine,
|
85
|
-
parent: :content_menu
|
86
|
-
|
87
|
-
menu :top_menu, :cycles,
|
88
|
-
caption: N_('Cycles'),
|
89
|
-
engine: ForemanPatch::Engine,
|
90
|
-
parent: :content_menu
|
91
|
-
|
92
|
-
menu :top_menu, :plans,
|
93
|
-
caption: N_('Plans'),
|
94
|
-
engine: ForemanPatch::Engine,
|
95
|
-
parent: :content_menu
|
96
|
-
|
97
|
-
menu :top_menu, :ticket_fields,
|
98
|
-
caption: N_('Ticket Fields'),
|
99
|
-
engine: ForemanPatch::Engine,
|
100
|
-
parent: :content_menu
|
101
|
-
|
102
|
-
parameter_filter ::Host::Managed, :group_facet_attributes => [:group_id]
|
103
|
-
|
104
|
-
describe_host do
|
105
|
-
multiple_actions_provider :patch_host_multiple_actions
|
106
|
-
overview_fields_provider :patch_host_overview_fields
|
107
|
-
end
|
108
|
-
|
109
|
-
register_facet ForemanPatch::Host::GroupFacet, :group_facet do
|
110
|
-
api_view list: 'foreman_patch/api/v2/group_facet/base_with_root',
|
111
|
-
single: 'foreman_patch/api/v2/group_facet/show'
|
112
|
-
api_docs :group_facet_attributes, ::ForemanPatch::Api::V2::HostGroupsController
|
113
|
-
extend_model ForemanPatch::Concerns::GroupFacetHostExtensions
|
114
|
-
set_dependent_action :destroy
|
115
|
-
end
|
116
|
-
|
117
|
-
RemoteExecutionFeature.register(:power_action, N_("Power Action"), description: N_("Power Action"), provided_inputs: ['action'])
|
118
|
-
RemoteExecutionFeature.register(:ensure_services, N_("Ensure Services"), description: N_("Ensure Services are running"))
|
119
|
-
end
|