foreman_patch 1.1.1
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 +7 -0
- data/LICENSE +619 -0
- data/README.md +38 -0
- data/Rakefile +53 -0
- data/app/assets/javascript/foreman_patch/plan_edit_windows.js +9 -0
- data/app/assets/stylesheets/foreman_patch/cycle_plans.scss +6 -0
- data/app/assets/stylesheets/foreman_patch/foreman_patch.css +4 -0
- data/app/controllers/concerns/foreman_patch/parameters/ticket_field.rb +26 -0
- data/app/controllers/foreman_patch/api/v2/base_controller.rb +12 -0
- data/app/controllers/foreman_patch/api/v2/cycles_controller.rb +78 -0
- data/app/controllers/foreman_patch/api/v2/groups_controller.rb +70 -0
- data/app/controllers/foreman_patch/api/v2/host_groups_controller.rb +13 -0
- data/app/controllers/foreman_patch/api/v2/invocations_controller.rb +70 -0
- data/app/controllers/foreman_patch/api/v2/plans_controller.rb +79 -0
- data/app/controllers/foreman_patch/api/v2/rounds_controller.rb +77 -0
- data/app/controllers/foreman_patch/api/v2/window_plans_controller.rb +73 -0
- data/app/controllers/foreman_patch/api/v2/windows_controller.rb +85 -0
- data/app/controllers/foreman_patch/concerns/api/v2/hosts_controller_extensions.rb +21 -0
- data/app/controllers/foreman_patch/concerns/hosts_controller_extensions.rb +61 -0
- data/app/controllers/foreman_patch/cycles_controller.rb +34 -0
- data/app/controllers/foreman_patch/groups_controller.rb +68 -0
- data/app/controllers/foreman_patch/invocations_controller.rb +51 -0
- data/app/controllers/foreman_patch/plans_controller.rb +59 -0
- data/app/controllers/foreman_patch/rounds_controller.rb +18 -0
- data/app/controllers/foreman_patch/ticket_fields_controller.rb +37 -0
- data/app/controllers/foreman_patch/window_plans_controller.rb +60 -0
- data/app/controllers/foreman_patch/windows_controller.rb +58 -0
- data/app/helpers/concerns/foreman_patch/hosts_helper_extensions.rb +13 -0
- data/app/helpers/foreman_patch/cycles_helper.rb +19 -0
- data/app/helpers/foreman_patch/hosts_helper.rb +52 -0
- data/app/helpers/foreman_patch/patching_helper.rb +116 -0
- data/app/helpers/foreman_patch/plans_helper.rb +45 -0
- data/app/helpers/foreman_patch/ticket_helper.rb +11 -0
- data/app/helpers/foreman_patch/window_patching_helper.rb +20 -0
- data/app/helpers/foreman_patch/window_plans_helper.rb +13 -0
- data/app/helpers/foreman_patch/windows_helper.rb +17 -0
- data/app/lib/actions/foreman_patch/cycle/complete.rb +41 -0
- data/app/lib/actions/foreman_patch/cycle/create.rb +69 -0
- data/app/lib/actions/foreman_patch/cycle/initiate.rb +68 -0
- data/app/lib/actions/foreman_patch/cycle/plan.rb +73 -0
- data/app/lib/actions/foreman_patch/cycle/prepare_content.rb +123 -0
- data/app/lib/actions/foreman_patch/host/reschedule.rb +32 -0
- data/app/lib/actions/foreman_patch/invocation/action.rb +135 -0
- data/app/lib/actions/foreman_patch/invocation/ensure_services.rb +47 -0
- data/app/lib/actions/foreman_patch/invocation/patch.rb +93 -0
- data/app/lib/actions/foreman_patch/invocation/reschedule.rb +21 -0
- data/app/lib/actions/foreman_patch/invocation/restart.rb +101 -0
- data/app/lib/actions/foreman_patch/invocation/update_packages.rb +52 -0
- data/app/lib/actions/foreman_patch/invocation/wait_for_host.rb +103 -0
- data/app/lib/actions/foreman_patch/round/add_missing_hosts.rb +21 -0
- data/app/lib/actions/foreman_patch/round/create.rb +37 -0
- data/app/lib/actions/foreman_patch/round/patch.rb +81 -0
- data/app/lib/actions/foreman_patch/round/plan.rb +33 -0
- data/app/lib/actions/foreman_patch/round/resolve_hosts.rb +45 -0
- data/app/lib/actions/foreman_patch/window/create.rb +41 -0
- data/app/lib/actions/foreman_patch/window/patch.rb +72 -0
- data/app/lib/actions/foreman_patch/window/plan.rb +43 -0
- data/app/lib/actions/foreman_patch/window/publish.rb +32 -0
- data/app/lib/actions/foreman_patch/window/resolve_hosts.rb +31 -0
- data/app/lib/actions/helpers/failure_notification.rb +20 -0
- data/app/lib/actions/helpers/with_feature_action.rb +102 -0
- data/app/lib/actions/middleware/check_exit_status.rb +31 -0
- data/app/mailers/foreman_patch/cycle_mailer.rb +17 -0
- data/app/mailers/foreman_patch/group_mailer.rb +41 -0
- data/app/mailers/foreman_patch/invocation_mailer.rb +19 -0
- data/app/models/foreman_patch/concerns/group_facet_host_extensions.rb +35 -0
- data/app/models/foreman_patch/concerns/host_managed_extensions.rb +17 -0
- data/app/models/foreman_patch/cycle.rb +49 -0
- data/app/models/foreman_patch/group.rb +43 -0
- data/app/models/foreman_patch/host/group_facet.rb +13 -0
- data/app/models/foreman_patch/invocation.rb +60 -0
- data/app/models/foreman_patch/plan.rb +110 -0
- data/app/models/foreman_patch/plan_task_group.rb +11 -0
- data/app/models/foreman_patch/round.rb +68 -0
- data/app/models/foreman_patch/ticket_field.rb +23 -0
- data/app/models/foreman_patch/window.rb +123 -0
- data/app/models/foreman_patch/window_plan.rb +77 -0
- data/app/models/foreman_patch/window_task_group.rb +11 -0
- data/app/models/setting/patching.rb +57 -0
- data/app/services/foreman_patch/cycle_name_generator.rb +38 -0
- data/app/services/foreman_patch/ticket/affected_items.rb +110 -0
- data/app/services/foreman_patch/ticket/api.rb +68 -0
- data/app/services/foreman_patch/ticket/change_request.rb +92 -0
- data/app/services/foreman_patch/ticket/field_render.rb +21 -0
- data/app/services/foreman_patch/ticket/payload.rb +136 -0
- data/app/services/foreman_patch/ticket.rb +14 -0
- data/app/views/dashboard/_foreman_patch_widget.html.erb +2 -0
- data/app/views/foreman_patch/api/v2/cycles/base.json.rabl +3 -0
- data/app/views/foreman_patch/api/v2/cycles/create.json.rabl +3 -0
- data/app/views/foreman_patch/api/v2/cycles/index.json.rabl +3 -0
- data/app/views/foreman_patch/api/v2/cycles/show.json.rabl +9 -0
- data/app/views/foreman_patch/api/v2/cycles/update.json.rabl +3 -0
- data/app/views/foreman_patch/api/v2/group_facet/base.json.rabl +7 -0
- data/app/views/foreman_patch/api/v2/group_facet/base_with_root.json.rabl +4 -0
- data/app/views/foreman_patch/api/v2/group_facet/show.json.rabl +3 -0
- data/app/views/foreman_patch/api/v2/groups/base.json.rabl +3 -0
- data/app/views/foreman_patch/api/v2/groups/create.json.rabl +3 -0
- data/app/views/foreman_patch/api/v2/groups/index.json.rabl +2 -0
- data/app/views/foreman_patch/api/v2/groups/show.json.rabl +14 -0
- data/app/views/foreman_patch/api/v2/groups/update.json.rabl +3 -0
- data/app/views/foreman_patch/api/v2/invocations/base.json.rabl +6 -0
- data/app/views/foreman_patch/api/v2/invocations/index.json.rabl +3 -0
- data/app/views/foreman_patch/api/v2/invocations/phase.json.rabl +7 -0
- data/app/views/foreman_patch/api/v2/invocations/show.json.rabl +7 -0
- data/app/views/foreman_patch/api/v2/plans/base.json.rabl +3 -0
- data/app/views/foreman_patch/api/v2/plans/create.json.rabl +2 -0
- data/app/views/foreman_patch/api/v2/plans/index.json.rabl +3 -0
- data/app/views/foreman_patch/api/v2/plans/show.json.rabl +9 -0
- data/app/views/foreman_patch/api/v2/plans/update.json.rabl +2 -0
- data/app/views/foreman_patch/api/v2/rounds/base.json.rabl +3 -0
- data/app/views/foreman_patch/api/v2/rounds/index.json.rabl +3 -0
- data/app/views/foreman_patch/api/v2/rounds/show.json.rabl +17 -0
- data/app/views/foreman_patch/api/v2/rounds/status.json.rabl +11 -0
- data/app/views/foreman_patch/api/v2/window_plans/base.json.rabl +4 -0
- data/app/views/foreman_patch/api/v2/window_plans/create.json.rabl +2 -0
- data/app/views/foreman_patch/api/v2/window_plans/index.json.rabl +2 -0
- data/app/views/foreman_patch/api/v2/window_plans/show.json.rabl +14 -0
- data/app/views/foreman_patch/api/v2/window_plans/update.json.rabl +2 -0
- data/app/views/foreman_patch/api/v2/windows/base.json.rabl +3 -0
- data/app/views/foreman_patch/api/v2/windows/index.json.rabl +3 -0
- data/app/views/foreman_patch/api/v2/windows/schedule.json.rabl +13 -0
- data/app/views/foreman_patch/api/v2/windows/show.json.rabl +13 -0
- data/app/views/foreman_patch/api/v2/windows/update.json.rabl +3 -0
- data/app/views/foreman_patch/cycle_mailer/_details.html.erb +4 -0
- data/app/views/foreman_patch/cycle_mailer/_round.html.erb +12 -0
- data/app/views/foreman_patch/cycle_mailer/_summary.html.erb +6 -0
- data/app/views/foreman_patch/cycle_mailer/_window.html.erb +4 -0
- data/app/views/foreman_patch/cycle_mailer/planned.html.erb +7 -0
- data/app/views/foreman_patch/cycles/_form.html.erb +9 -0
- data/app/views/foreman_patch/cycles/edit.html.erb +41 -0
- data/app/views/foreman_patch/cycles/index.html.erb +45 -0
- data/app/views/foreman_patch/cycles/show.html.erb +26 -0
- data/app/views/foreman_patch/group_mailer/_dashboard.html.erb +31 -0
- data/app/views/foreman_patch/group_mailer/_list.html.erb +17 -0
- data/app/views/foreman_patch/group_mailer/completed.html.erb +16 -0
- data/app/views/foreman_patch/group_mailer/initiated.html.erb +4 -0
- data/app/views/foreman_patch/groups/_form.html.erb +9 -0
- data/app/views/foreman_patch/groups/edit.html.erb +3 -0
- data/app/views/foreman_patch/groups/index.html.erb +40 -0
- data/app/views/foreman_patch/groups/new.html.erb +3 -0
- data/app/views/foreman_patch/hosts/hosts/new_action.html.erb +1 -0
- data/app/views/foreman_patch/hosts/new_action.html.erb +1 -0
- data/app/views/foreman_patch/invocation_mailer/_output_line_set.html.erb +6 -0
- data/app/views/foreman_patch/invocation_mailer/_output_line_set.text.erb +3 -0
- data/app/views/foreman_patch/invocation_mailer/failure.html.erb +50 -0
- data/app/views/foreman_patch/invocation_mailer/failure.text.erb +10 -0
- data/app/views/foreman_patch/invocations/_output_line_set.html.erb +8 -0
- data/app/views/foreman_patch/invocations/_phase.html.erb +17 -0
- data/app/views/foreman_patch/invocations/_primary.html.erb +1 -0
- data/app/views/foreman_patch/invocations/_refresh.js.erb +7 -0
- data/app/views/foreman_patch/invocations/show.html.erb +44 -0
- data/app/views/foreman_patch/invocations/show.js.erb +17 -0
- data/app/views/foreman_patch/layouts/react.html.erb +17 -0
- data/app/views/foreman_patch/plans/_form.html.erb +12 -0
- data/app/views/foreman_patch/plans/edit.html.erb +6 -0
- data/app/views/foreman_patch/plans/index.html.erb +32 -0
- data/app/views/foreman_patch/plans/new.html.erb +3 -0
- data/app/views/foreman_patch/plans/show.html.erb +19 -0
- data/app/views/foreman_patch/rounds/show.html.erb +54 -0
- data/app/views/foreman_patch/ticket_fields/_fields.html.erb +66 -0
- data/app/views/foreman_patch/ticket_fields/edit.html.erb +6 -0
- data/app/views/foreman_patch/ticket_fields/index.html.erb +26 -0
- data/app/views/foreman_patch/ticket_fields/new.html.erb +6 -0
- data/app/views/foreman_patch/window_plans/_form.html.erb +11 -0
- data/app/views/foreman_patch/window_plans/_hidden_layout.html.erb +7 -0
- data/app/views/foreman_patch/window_plans/edit.html.erb +3 -0
- data/app/views/foreman_patch/window_plans/new.html.erb +3 -0
- data/app/views/foreman_patch/windows/_form.html.erb +21 -0
- data/app/views/foreman_patch/windows/_groups.html.erb +2 -0
- data/app/views/foreman_patch/windows/_rounds.html.erb +24 -0
- data/app/views/foreman_patch/windows/_schedule.html.erb +16 -0
- data/app/views/foreman_patch/windows/_ticket.html.erb +12 -0
- data/app/views/foreman_patch/windows/edit.html.erb +3 -0
- data/app/views/foreman_patch/windows/new.html.erb +3 -0
- data/app/views/foreman_patch/windows/show.html.erb +27 -0
- data/app/views/foreman_patch/windows/show.json.erb +4 -0
- data/app/views/hosts/select_multiple_patch_group.html.erb +12 -0
- data/app/views/overrides/patch_groups/_host_patch_group_select.html.erb +9 -0
- data/app/views/templates/ensure_services.erb +28 -0
- data/config/api_routes.rb +37 -0
- data/config/initializers/pagelets.rb +6 -0
- data/config/initializers/safemode_jail.rb +4 -0
- data/config/routes/mount_engine.rb +3 -0
- data/config/routes/overrides.rb +10 -0
- data/config/routes.rb +47 -0
- data/db/migrate/20210202161304_create_foreman_patch_plans.rb +32 -0
- data/db/migrate/20210202163323_create_foreman_patch_cycles.rb +38 -0
- data/db/migrate/20210202164301_create_foreman_patch_groups.rb +37 -0
- data/db/migrate/20210226134103_add_name_to_cycles.rb +31 -0
- data/db/migrate/20210226162824_rename_default_window.rb +5 -0
- data/db/migrate/20210302165058_add_task_to_window_groups.rb +7 -0
- data/db/migrate/20210304141111_create_invocation.rb +16 -0
- data/db/migrate/20210519163923_add_cycle_end_date.rb +29 -0
- data/db/migrate/20210525154113_expand_window_groups.rb +27 -0
- data/db/migrate/20210723160142_add_cycle_plan_task_group.rb +7 -0
- data/db/migrate/20210831160044_cycle_plan_start_correction.rb +5 -0
- data/db/migrate/20210907104645_rename_group_priority.rb +5 -0
- data/db/migrate/20210909130118_remove_old_references.rb +14 -0
- data/db/migrate/20210910141428_rename_round.rb +7 -0
- data/db/migrate/20210910163542_rename_plan.rb +8 -0
- data/db/migrate/20211014212415_round_group_reference.rb +9 -0
- data/db/migrate/20220105224803_add_group_label.rb +25 -0
- data/db/migrate/20220114153808_plan_add_name_generator.rb +5 -0
- data/db/migrate/20220117103808_remove_cycle_description.rb +5 -0
- data/db/migrate/20220406110705_add_window_state.rb +37 -0
- data/db/migrate/20220407161120_add_round_status.rb +9 -0
- data/db/migrate/20220902134800_add_invocation_status.rb +28 -0
- data/db/seeds.d/100-assign_features_with_templates.rb +16 -0
- data/db/seeds.d/160-mail_notifications.rb +38 -0
- data/db/seeds.d/75-job_templates.rb +16 -0
- data/lib/foreman_patch/engine.rb +87 -0
- data/lib/foreman_patch/plugin.rb +47 -0
- data/lib/foreman_patch/version.rb +3 -0
- data/lib/foreman_patch.rb +4 -0
- data/lib/tasks/foreman_patch_tasks.rake +47 -0
- data/locale/Makefile +60 -0
- data/locale/en/foreman_patch.po +19 -0
- data/locale/foreman_patch.pot +19 -0
- data/locale/gemspec.rb +2 -0
- data/package.json +35 -0
- 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/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 -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-200e97f4e2ad9ed413ea.css +1 -0
- data/public/webpack/foreman_patch/bundle-200e97f4e2ad9ed413ea.css.gz +0 -0
- data/public/webpack/foreman_patch/bundle-200e97f4e2ad9ed413ea.js +6 -0
- data/public/webpack/foreman_patch/bundle-200e97f4e2ad9ed413ea.js.gz +0 -0
- data/public/webpack/foreman_patch/bundle-200e97f4e2ad9ed413ea.js.map +1 -0
- data/public/webpack/foreman_patch/bundle-200e97f4e2ad9ed413ea.js.map.gz +0 -0
- data/public/webpack/foreman_patch/foreman_patch-1e4f2d5e6f040a27aa7a.css +1 -0
- data/public/webpack/foreman_patch/foreman_patch-1e4f2d5e6f040a27aa7a.css.gz +0 -0
- data/public/webpack/foreman_patch/foreman_patch-1e4f2d5e6f040a27aa7a.js +6 -0
- data/public/webpack/foreman_patch/foreman_patch-1e4f2d5e6f040a27aa7a.js.gz +0 -0
- data/public/webpack/foreman_patch/foreman_patch-1e4f2d5e6f040a27aa7a.js.map +1 -0
- data/public/webpack/foreman_patch/foreman_patch-1e4f2d5e6f040a27aa7a.js.map.gz +0 -0
- data/public/webpack/foreman_patch/manifest.json +26 -0
- data/public/webpack/foreman_patch/manifest.json.gz +0 -0
- data/public/webpack/foreman_patch/vendor-4b77c91f1e9103179596.js +2 -0
- data/public/webpack/foreman_patch/vendor-4b77c91f1e9103179596.js.gz +0 -0
- data/public/webpack/foreman_patch/vendor-4b77c91f1e9103179596.js.map +1 -0
- data/public/webpack/foreman_patch/vendor-4b77c91f1e9103179596.js.map.gz +0 -0
- data/test/factories/foreman_patch_factories.rb +5 -0
- data/test/test_plugin_helper.rb +6 -0
- data/test/unit/foreman_patch_test.rb +11 -0
- data/webpack/components/Cycle/Cycle.js +57 -0
- data/webpack/components/Cycle/CycleActions.js +21 -0
- data/webpack/components/Cycle/CycleConstants.js +2 -0
- data/webpack/components/Cycle/CycleHelpers.js +3 -0
- data/webpack/components/Cycle/CycleSelectors.js +10 -0
- data/webpack/components/Cycle/Window.js +32 -0
- data/webpack/components/Cycle/index.js +41 -0
- data/webpack/components/Groups/Group.js +20 -0
- data/webpack/components/Groups/Groups.js +46 -0
- data/webpack/components/Groups/GroupsHelpers.js +11 -0
- data/webpack/components/Groups/Priority.js +51 -0
- data/webpack/components/Invocation/Invocation.js +47 -0
- data/webpack/components/Invocation/InvocationActions.js +8 -0
- data/webpack/components/Invocation/InvocationConsts.js +1 -0
- data/webpack/components/Invocation/InvocationSelectors.js +14 -0
- data/webpack/components/Invocation/index.js +36 -0
- data/webpack/components/Invocations/Invocations.js +55 -0
- data/webpack/components/Invocations/InvocationsConstants.js +1 -0
- data/webpack/components/Invocations/InvocationsHelpers.js +11 -0
- data/webpack/components/Invocations/InvocationsPage.js +66 -0
- data/webpack/components/Invocations/InvocationsPage.scss +3 -0
- data/webpack/components/Invocations/InvocationsSelectors.js +21 -0
- data/webpack/components/Invocations/components/InvocationItem.js +66 -0
- data/webpack/components/Invocations/components/InvocationStatus.js +51 -0
- data/webpack/components/Invocations/index.js +99 -0
- data/webpack/components/Plan/Plan.js +90 -0
- data/webpack/components/Plan/PlanActions.js +12 -0
- data/webpack/components/Plan/PlanConstants.js +1 -0
- data/webpack/components/Plan/PlanSelectors.js +9 -0
- data/webpack/components/Plan/Window.js +33 -0
- data/webpack/components/Plan/index.js +36 -0
- data/webpack/components/PlanWindow/PlanWindow.js +55 -0
- data/webpack/components/PlanWindow/index.js +32 -0
- data/webpack/components/RoundProgress/AggregateStatus.js +58 -0
- data/webpack/components/RoundProgress/RoundProgress.js +48 -0
- data/webpack/components/RoundProgress/RoundProgressActions.js +9 -0
- data/webpack/components/RoundProgress/RoundProgressConstants.js +1 -0
- data/webpack/components/RoundProgress/RoundProgressSelectors.js +24 -0
- data/webpack/components/RoundProgress/index.js +44 -0
- data/webpack/components/Rounds/Rounds.js +57 -0
- data/webpack/components/Rounds/RoundsActions.js +8 -0
- data/webpack/components/Rounds/RoundsConsts.js +1 -0
- data/webpack/components/Rounds/RoundsSelectors.js +14 -0
- data/webpack/components/Rounds/components/RoundItem.js +52 -0
- data/webpack/components/Rounds/components/RoundStatus.js +40 -0
- data/webpack/components/Rounds/index.js +37 -0
- data/webpack/components/common/Calendar/Calendar.js +86 -0
- data/webpack/components/common/Calendar/Calendar.scss +76 -0
- data/webpack/components/common/Calendar/CalendarConstants.js +1 -0
- data/webpack/components/common/Calendar/CalendarHelpers.js +77 -0
- data/webpack/components/common/Calendar/Day/index.js +9 -0
- data/webpack/components/common/Calendar/Event.js +25 -0
- data/webpack/components/common/Calendar/Month/Day.js +51 -0
- data/webpack/components/common/Calendar/Month/Header.js +77 -0
- data/webpack/components/common/Calendar/Month/Month.js +47 -0
- data/webpack/components/common/Calendar/Month/index.js +1 -0
- data/webpack/components/common/Calendar/View.js +20 -0
- data/webpack/components/common/Calendar/Week/index.js +13 -0
- data/webpack/components/common/Calendar/index.js +2 -0
- 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 +20 -0
- metadata +438 -0
@@ -0,0 +1,115 @@
|
|
1
|
+
import React, { useState } from 'react';
|
2
|
+
import PropTypes from 'prop-types';
|
3
|
+
import { Button } from 'patternfly-react';
|
4
|
+
|
5
|
+
import OutputLine from './OutputLine';
|
6
|
+
import './Terminal.scss';
|
7
|
+
|
8
|
+
class Terminal extends React.Component {
|
9
|
+
constructor(props) {
|
10
|
+
super(props);
|
11
|
+
this._currentColor = 'default';
|
12
|
+
this._colorMap = new Proxy({
|
13
|
+
'31': 'red',
|
14
|
+
'32': 'lightgreen',
|
15
|
+
'33': 'orange',
|
16
|
+
'34': 'deepskyblue',
|
17
|
+
'35': 'mediumpurple',
|
18
|
+
'36': 'cyan',
|
19
|
+
'37': 'grey',
|
20
|
+
'91': 'red',
|
21
|
+
'92': 'lightgreen',
|
22
|
+
'93': 'yellow',
|
23
|
+
'94': 'lightblue',
|
24
|
+
'95': 'violet',
|
25
|
+
'96': 'turquoise',
|
26
|
+
'0': 'default',
|
27
|
+
}, {
|
28
|
+
get: (target, name) => {
|
29
|
+
if name
|
30
|
+
return (target.hasOwnProperty(name) ? target[name] : 'default');
|
31
|
+
else
|
32
|
+
return this._currentColor;
|
33
|
+
}
|
34
|
+
});
|
35
|
+
}
|
36
|
+
|
37
|
+
scrollToBottom = () => {
|
38
|
+
window.scrollTo({
|
39
|
+
top: document.documentElement.scrollHeight,
|
40
|
+
behavior: 'smooth',
|
41
|
+
});
|
42
|
+
}
|
43
|
+
|
44
|
+
scollToTop = () => {
|
45
|
+
window.scrollTo({
|
46
|
+
top: 0,
|
47
|
+
behavior: 'smooth',
|
48
|
+
});
|
49
|
+
}
|
50
|
+
|
51
|
+
get lines() {
|
52
|
+
const { linesets } = this.props.linesets;
|
53
|
+
|
54
|
+
return linesets.flatMap(lineset => (
|
55
|
+
lineset.output.replace(/\r\n/,"\n").replace(/\n$/,'').split("\n").map(line => (
|
56
|
+
{ output_type: lineset.output_type, output: line, timestamp: lineset.timestamp }
|
57
|
+
))
|
58
|
+
));
|
59
|
+
}
|
60
|
+
|
61
|
+
colorize(line) {
|
62
|
+
const pattern = /(?:\033\[(?:.*?)(?<color>\d+)m)?(?<text>[^\033]+)/g;
|
63
|
+
|
64
|
+
return (Array.from(line.matchAll(pattern), match => {
|
65
|
+
this._currentColor = this._colorMap[match.groups.color];
|
66
|
+
return (<span style={`color: ${this._currentColor}`}>{match.groups.text}</span>);
|
67
|
+
}));
|
68
|
+
}
|
69
|
+
|
70
|
+
getSnapshotBeforeUpdate(prevProps, prevState) {
|
71
|
+
return (window.scrollY + document.documentElement.clientHeight == document.documentElement.scrollHeight);
|
72
|
+
}
|
73
|
+
|
74
|
+
componentDidUpdate(prevProps, prevState, snapshot) {
|
75
|
+
if (snapshot) {
|
76
|
+
this.scrollToBottom();
|
77
|
+
}
|
78
|
+
}
|
79
|
+
|
80
|
+
render() {
|
81
|
+
const { lines } = this.props;
|
82
|
+
|
83
|
+
return (
|
84
|
+
<div className="terminal">
|
85
|
+
<Button variant="link" className="pull-right scroll-link-bottom" onClick={scrollToBottom}>
|
86
|
+
{__('Scroll to bottom')}
|
87
|
+
</Button>
|
88
|
+
<div className="printable">
|
89
|
+
{this.lines.map((line, index) => (
|
90
|
+
<OutputLine key={index} index={index} timestamp={line.timestamp} type={line.output_type}>
|
91
|
+
{this.colorize(line)}
|
92
|
+
</OutputLine>
|
93
|
+
))}
|
94
|
+
</div>
|
95
|
+
<Button variant="link" className="pull-right scroll-link-top" onClick={scrollToTop}>
|
96
|
+
{__('Scroll to top')}
|
97
|
+
</Button>
|
98
|
+
</div>
|
99
|
+
);
|
100
|
+
}
|
101
|
+
}
|
102
|
+
|
103
|
+
Terminal.propTypes = {
|
104
|
+
linesets: PropTypes.array(PropTypes.shape({
|
105
|
+
output_type: PropTypes.string.isRequired,
|
106
|
+
output: PropTypes.string.isRequired,
|
107
|
+
timestamp: PropTypes.number.isRequired,
|
108
|
+
}),
|
109
|
+
};
|
110
|
+
|
111
|
+
Terminal.defaultProps = {
|
112
|
+
linesets: [],
|
113
|
+
};
|
114
|
+
|
115
|
+
export default Terminal;
|
@@ -0,0 +1,47 @@
|
|
1
|
+
div.terminal {
|
2
|
+
display: block;
|
3
|
+
padding: 9.5px;
|
4
|
+
margin: 0 0 10px;
|
5
|
+
font-size: 12px;
|
6
|
+
word-break: break-all;
|
7
|
+
word-wrap: break-word;
|
8
|
+
color: rgba(255, 255, 255, 1);
|
9
|
+
background-color: rgba(47, 47, 47, 1);
|
10
|
+
border: 1px solid #000000;
|
11
|
+
border-radius: 0px;
|
12
|
+
font-family: Menlo, Monaco, Consolas, monospace;
|
13
|
+
|
14
|
+
div.printable {
|
15
|
+
min-height: 50px;
|
16
|
+
}
|
17
|
+
|
18
|
+
div.line.stderr, div.line.error, div.line.debug {
|
19
|
+
color: red;
|
20
|
+
}
|
21
|
+
|
22
|
+
div.line span.counter {
|
23
|
+
float: left;
|
24
|
+
clear: left;
|
25
|
+
}
|
26
|
+
|
27
|
+
div.line div.content {
|
28
|
+
position: relative;
|
29
|
+
margin-left: 50px;
|
30
|
+
white-space: pre-wrap;
|
31
|
+
}
|
32
|
+
|
33
|
+
a {
|
34
|
+
color: #FFFFFF;
|
35
|
+
}
|
36
|
+
|
37
|
+
a.scroll-link-top {
|
38
|
+
position: relative;
|
39
|
+
bottom: 10px;
|
40
|
+
}
|
41
|
+
|
42
|
+
a.scroll-link-bottom {
|
43
|
+
position: relative;
|
44
|
+
z-index: 5;
|
45
|
+
}
|
46
|
+
|
47
|
+
}
|
data/webpack/index.js
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
/* eslint import/no-unresolved: [2, { ignore: [foremanReact/*] }] */
|
2
|
+
/* eslint-disable import/no-extraneous-dependencies */
|
3
|
+
/* eslint-disable import/extensions */
|
4
|
+
import componentRegistry from 'foremanReact/components/componentRegistry';
|
5
|
+
|
6
|
+
import Rounds from './components/Rounds';
|
7
|
+
import Plan from './components/Plan';
|
8
|
+
import Invocations from './components/Invocations';
|
9
|
+
import RoundProgress from './components/RoundProgress';
|
10
|
+
import Cycle from './components/Cycle';
|
11
|
+
|
12
|
+
const components = [
|
13
|
+
{ name: 'Rounds', type: Rounds },
|
14
|
+
{ name: 'Plan', type: Plan },
|
15
|
+
{ name: 'Invocations', type: Invocations },
|
16
|
+
{ name: 'Cycle', type: Cycle },
|
17
|
+
{ name: 'RoundProgress', type: RoundProgress },
|
18
|
+
];
|
19
|
+
|
20
|
+
components.forEach(component => componentRegistry.register(component));
|
metadata
ADDED
@@ -0,0 +1,438 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: foreman_patch
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.1.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Jason Galens
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2022-11-10 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: katello
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '4'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '4'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: foreman-tasks
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '4.0'
|
34
|
+
- - "<"
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: '6.0'
|
37
|
+
type: :runtime
|
38
|
+
prerelease: false
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '4.0'
|
44
|
+
- - "<"
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '6.0'
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: foreman_remote_execution
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - ">="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '4.0'
|
54
|
+
- - "<"
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: '6.0'
|
57
|
+
type: :runtime
|
58
|
+
prerelease: false
|
59
|
+
version_requirements: !ruby/object:Gem::Requirement
|
60
|
+
requirements:
|
61
|
+
- - ">="
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: '4.0'
|
64
|
+
- - "<"
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: '6.0'
|
67
|
+
- !ruby/object:Gem::Dependency
|
68
|
+
name: rake-version
|
69
|
+
requirement: !ruby/object:Gem::Requirement
|
70
|
+
requirements:
|
71
|
+
- - "~>"
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
version: 1.0.1
|
74
|
+
type: :development
|
75
|
+
prerelease: false
|
76
|
+
version_requirements: !ruby/object:Gem::Requirement
|
77
|
+
requirements:
|
78
|
+
- - "~>"
|
79
|
+
- !ruby/object:Gem::Version
|
80
|
+
version: 1.0.1
|
81
|
+
- !ruby/object:Gem::Dependency
|
82
|
+
name: rubocop
|
83
|
+
requirement: !ruby/object:Gem::Requirement
|
84
|
+
requirements:
|
85
|
+
- - "~>"
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: 0.80.0
|
88
|
+
type: :development
|
89
|
+
prerelease: false
|
90
|
+
version_requirements: !ruby/object:Gem::Requirement
|
91
|
+
requirements:
|
92
|
+
- - "~>"
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: 0.80.0
|
95
|
+
description: Foreman Plugin for Managing Patching.
|
96
|
+
email:
|
97
|
+
- bogey.jlg@gmail.com
|
98
|
+
executables: []
|
99
|
+
extensions: []
|
100
|
+
extra_rdoc_files: []
|
101
|
+
files:
|
102
|
+
- LICENSE
|
103
|
+
- README.md
|
104
|
+
- Rakefile
|
105
|
+
- app/assets/javascript/foreman_patch/plan_edit_windows.js
|
106
|
+
- app/assets/stylesheets/foreman_patch/cycle_plans.scss
|
107
|
+
- app/assets/stylesheets/foreman_patch/foreman_patch.css
|
108
|
+
- app/controllers/concerns/foreman_patch/parameters/ticket_field.rb
|
109
|
+
- app/controllers/foreman_patch/api/v2/base_controller.rb
|
110
|
+
- app/controllers/foreman_patch/api/v2/cycles_controller.rb
|
111
|
+
- app/controllers/foreman_patch/api/v2/groups_controller.rb
|
112
|
+
- app/controllers/foreman_patch/api/v2/host_groups_controller.rb
|
113
|
+
- app/controllers/foreman_patch/api/v2/invocations_controller.rb
|
114
|
+
- app/controllers/foreman_patch/api/v2/plans_controller.rb
|
115
|
+
- app/controllers/foreman_patch/api/v2/rounds_controller.rb
|
116
|
+
- app/controllers/foreman_patch/api/v2/window_plans_controller.rb
|
117
|
+
- app/controllers/foreman_patch/api/v2/windows_controller.rb
|
118
|
+
- app/controllers/foreman_patch/concerns/api/v2/hosts_controller_extensions.rb
|
119
|
+
- app/controllers/foreman_patch/concerns/hosts_controller_extensions.rb
|
120
|
+
- app/controllers/foreman_patch/cycles_controller.rb
|
121
|
+
- app/controllers/foreman_patch/groups_controller.rb
|
122
|
+
- app/controllers/foreman_patch/invocations_controller.rb
|
123
|
+
- app/controllers/foreman_patch/plans_controller.rb
|
124
|
+
- app/controllers/foreman_patch/rounds_controller.rb
|
125
|
+
- app/controllers/foreman_patch/ticket_fields_controller.rb
|
126
|
+
- app/controllers/foreman_patch/window_plans_controller.rb
|
127
|
+
- app/controllers/foreman_patch/windows_controller.rb
|
128
|
+
- app/helpers/concerns/foreman_patch/hosts_helper_extensions.rb
|
129
|
+
- app/helpers/foreman_patch/cycles_helper.rb
|
130
|
+
- app/helpers/foreman_patch/hosts_helper.rb
|
131
|
+
- app/helpers/foreman_patch/patching_helper.rb
|
132
|
+
- app/helpers/foreman_patch/plans_helper.rb
|
133
|
+
- app/helpers/foreman_patch/ticket_helper.rb
|
134
|
+
- app/helpers/foreman_patch/window_patching_helper.rb
|
135
|
+
- app/helpers/foreman_patch/window_plans_helper.rb
|
136
|
+
- app/helpers/foreman_patch/windows_helper.rb
|
137
|
+
- app/lib/actions/foreman_patch/cycle/complete.rb
|
138
|
+
- app/lib/actions/foreman_patch/cycle/create.rb
|
139
|
+
- app/lib/actions/foreman_patch/cycle/initiate.rb
|
140
|
+
- app/lib/actions/foreman_patch/cycle/plan.rb
|
141
|
+
- app/lib/actions/foreman_patch/cycle/prepare_content.rb
|
142
|
+
- app/lib/actions/foreman_patch/host/reschedule.rb
|
143
|
+
- app/lib/actions/foreman_patch/invocation/action.rb
|
144
|
+
- app/lib/actions/foreman_patch/invocation/ensure_services.rb
|
145
|
+
- app/lib/actions/foreman_patch/invocation/patch.rb
|
146
|
+
- app/lib/actions/foreman_patch/invocation/reschedule.rb
|
147
|
+
- app/lib/actions/foreman_patch/invocation/restart.rb
|
148
|
+
- app/lib/actions/foreman_patch/invocation/update_packages.rb
|
149
|
+
- app/lib/actions/foreman_patch/invocation/wait_for_host.rb
|
150
|
+
- app/lib/actions/foreman_patch/round/add_missing_hosts.rb
|
151
|
+
- app/lib/actions/foreman_patch/round/create.rb
|
152
|
+
- app/lib/actions/foreman_patch/round/patch.rb
|
153
|
+
- app/lib/actions/foreman_patch/round/plan.rb
|
154
|
+
- app/lib/actions/foreman_patch/round/resolve_hosts.rb
|
155
|
+
- app/lib/actions/foreman_patch/window/create.rb
|
156
|
+
- app/lib/actions/foreman_patch/window/patch.rb
|
157
|
+
- app/lib/actions/foreman_patch/window/plan.rb
|
158
|
+
- app/lib/actions/foreman_patch/window/publish.rb
|
159
|
+
- app/lib/actions/foreman_patch/window/resolve_hosts.rb
|
160
|
+
- app/lib/actions/helpers/failure_notification.rb
|
161
|
+
- app/lib/actions/helpers/with_feature_action.rb
|
162
|
+
- app/lib/actions/middleware/check_exit_status.rb
|
163
|
+
- app/mailers/foreman_patch/cycle_mailer.rb
|
164
|
+
- app/mailers/foreman_patch/group_mailer.rb
|
165
|
+
- app/mailers/foreman_patch/invocation_mailer.rb
|
166
|
+
- app/models/foreman_patch/concerns/group_facet_host_extensions.rb
|
167
|
+
- app/models/foreman_patch/concerns/host_managed_extensions.rb
|
168
|
+
- app/models/foreman_patch/cycle.rb
|
169
|
+
- app/models/foreman_patch/group.rb
|
170
|
+
- app/models/foreman_patch/host/group_facet.rb
|
171
|
+
- app/models/foreman_patch/invocation.rb
|
172
|
+
- app/models/foreman_patch/plan.rb
|
173
|
+
- app/models/foreman_patch/plan_task_group.rb
|
174
|
+
- app/models/foreman_patch/round.rb
|
175
|
+
- app/models/foreman_patch/ticket_field.rb
|
176
|
+
- app/models/foreman_patch/window.rb
|
177
|
+
- app/models/foreman_patch/window_plan.rb
|
178
|
+
- app/models/foreman_patch/window_task_group.rb
|
179
|
+
- app/models/setting/patching.rb
|
180
|
+
- app/services/foreman_patch/cycle_name_generator.rb
|
181
|
+
- app/services/foreman_patch/ticket.rb
|
182
|
+
- app/services/foreman_patch/ticket/affected_items.rb
|
183
|
+
- app/services/foreman_patch/ticket/api.rb
|
184
|
+
- app/services/foreman_patch/ticket/change_request.rb
|
185
|
+
- app/services/foreman_patch/ticket/field_render.rb
|
186
|
+
- app/services/foreman_patch/ticket/payload.rb
|
187
|
+
- app/views/dashboard/_foreman_patch_widget.html.erb
|
188
|
+
- app/views/foreman_patch/api/v2/cycles/base.json.rabl
|
189
|
+
- app/views/foreman_patch/api/v2/cycles/create.json.rabl
|
190
|
+
- app/views/foreman_patch/api/v2/cycles/index.json.rabl
|
191
|
+
- app/views/foreman_patch/api/v2/cycles/show.json.rabl
|
192
|
+
- app/views/foreman_patch/api/v2/cycles/update.json.rabl
|
193
|
+
- app/views/foreman_patch/api/v2/group_facet/base.json.rabl
|
194
|
+
- app/views/foreman_patch/api/v2/group_facet/base_with_root.json.rabl
|
195
|
+
- app/views/foreman_patch/api/v2/group_facet/show.json.rabl
|
196
|
+
- app/views/foreman_patch/api/v2/groups/base.json.rabl
|
197
|
+
- app/views/foreman_patch/api/v2/groups/create.json.rabl
|
198
|
+
- app/views/foreman_patch/api/v2/groups/index.json.rabl
|
199
|
+
- app/views/foreman_patch/api/v2/groups/show.json.rabl
|
200
|
+
- app/views/foreman_patch/api/v2/groups/update.json.rabl
|
201
|
+
- app/views/foreman_patch/api/v2/invocations/base.json.rabl
|
202
|
+
- app/views/foreman_patch/api/v2/invocations/index.json.rabl
|
203
|
+
- app/views/foreman_patch/api/v2/invocations/phase.json.rabl
|
204
|
+
- app/views/foreman_patch/api/v2/invocations/show.json.rabl
|
205
|
+
- app/views/foreman_patch/api/v2/plans/base.json.rabl
|
206
|
+
- app/views/foreman_patch/api/v2/plans/create.json.rabl
|
207
|
+
- app/views/foreman_patch/api/v2/plans/index.json.rabl
|
208
|
+
- app/views/foreman_patch/api/v2/plans/show.json.rabl
|
209
|
+
- app/views/foreman_patch/api/v2/plans/update.json.rabl
|
210
|
+
- app/views/foreman_patch/api/v2/rounds/base.json.rabl
|
211
|
+
- app/views/foreman_patch/api/v2/rounds/index.json.rabl
|
212
|
+
- app/views/foreman_patch/api/v2/rounds/show.json.rabl
|
213
|
+
- app/views/foreman_patch/api/v2/rounds/status.json.rabl
|
214
|
+
- app/views/foreman_patch/api/v2/window_plans/base.json.rabl
|
215
|
+
- app/views/foreman_patch/api/v2/window_plans/create.json.rabl
|
216
|
+
- app/views/foreman_patch/api/v2/window_plans/index.json.rabl
|
217
|
+
- app/views/foreman_patch/api/v2/window_plans/show.json.rabl
|
218
|
+
- app/views/foreman_patch/api/v2/window_plans/update.json.rabl
|
219
|
+
- app/views/foreman_patch/api/v2/windows/base.json.rabl
|
220
|
+
- app/views/foreman_patch/api/v2/windows/index.json.rabl
|
221
|
+
- app/views/foreman_patch/api/v2/windows/schedule.json.rabl
|
222
|
+
- app/views/foreman_patch/api/v2/windows/show.json.rabl
|
223
|
+
- app/views/foreman_patch/api/v2/windows/update.json.rabl
|
224
|
+
- app/views/foreman_patch/cycle_mailer/_details.html.erb
|
225
|
+
- app/views/foreman_patch/cycle_mailer/_round.html.erb
|
226
|
+
- app/views/foreman_patch/cycle_mailer/_summary.html.erb
|
227
|
+
- app/views/foreman_patch/cycle_mailer/_window.html.erb
|
228
|
+
- app/views/foreman_patch/cycle_mailer/planned.html.erb
|
229
|
+
- app/views/foreman_patch/cycles/_form.html.erb
|
230
|
+
- app/views/foreman_patch/cycles/edit.html.erb
|
231
|
+
- app/views/foreman_patch/cycles/index.html.erb
|
232
|
+
- app/views/foreman_patch/cycles/show.html.erb
|
233
|
+
- app/views/foreman_patch/group_mailer/_dashboard.html.erb
|
234
|
+
- app/views/foreman_patch/group_mailer/_list.html.erb
|
235
|
+
- app/views/foreman_patch/group_mailer/completed.html.erb
|
236
|
+
- app/views/foreman_patch/group_mailer/initiated.html.erb
|
237
|
+
- app/views/foreman_patch/groups/_form.html.erb
|
238
|
+
- app/views/foreman_patch/groups/edit.html.erb
|
239
|
+
- app/views/foreman_patch/groups/index.html.erb
|
240
|
+
- app/views/foreman_patch/groups/new.html.erb
|
241
|
+
- app/views/foreman_patch/hosts/hosts/new_action.html.erb
|
242
|
+
- app/views/foreman_patch/hosts/new_action.html.erb
|
243
|
+
- app/views/foreman_patch/invocation_mailer/_output_line_set.html.erb
|
244
|
+
- app/views/foreman_patch/invocation_mailer/_output_line_set.text.erb
|
245
|
+
- app/views/foreman_patch/invocation_mailer/failure.html.erb
|
246
|
+
- app/views/foreman_patch/invocation_mailer/failure.text.erb
|
247
|
+
- app/views/foreman_patch/invocations/_output_line_set.html.erb
|
248
|
+
- app/views/foreman_patch/invocations/_phase.html.erb
|
249
|
+
- app/views/foreman_patch/invocations/_primary.html.erb
|
250
|
+
- app/views/foreman_patch/invocations/_refresh.js.erb
|
251
|
+
- app/views/foreman_patch/invocations/show.html.erb
|
252
|
+
- app/views/foreman_patch/invocations/show.js.erb
|
253
|
+
- app/views/foreman_patch/layouts/react.html.erb
|
254
|
+
- app/views/foreman_patch/plans/_form.html.erb
|
255
|
+
- app/views/foreman_patch/plans/edit.html.erb
|
256
|
+
- app/views/foreman_patch/plans/index.html.erb
|
257
|
+
- app/views/foreman_patch/plans/new.html.erb
|
258
|
+
- app/views/foreman_patch/plans/show.html.erb
|
259
|
+
- app/views/foreman_patch/rounds/show.html.erb
|
260
|
+
- app/views/foreman_patch/ticket_fields/_fields.html.erb
|
261
|
+
- app/views/foreman_patch/ticket_fields/edit.html.erb
|
262
|
+
- app/views/foreman_patch/ticket_fields/index.html.erb
|
263
|
+
- app/views/foreman_patch/ticket_fields/new.html.erb
|
264
|
+
- app/views/foreman_patch/window_plans/_form.html.erb
|
265
|
+
- app/views/foreman_patch/window_plans/_hidden_layout.html.erb
|
266
|
+
- app/views/foreman_patch/window_plans/edit.html.erb
|
267
|
+
- app/views/foreman_patch/window_plans/new.html.erb
|
268
|
+
- app/views/foreman_patch/windows/_form.html.erb
|
269
|
+
- app/views/foreman_patch/windows/_groups.html.erb
|
270
|
+
- app/views/foreman_patch/windows/_rounds.html.erb
|
271
|
+
- app/views/foreman_patch/windows/_schedule.html.erb
|
272
|
+
- app/views/foreman_patch/windows/_ticket.html.erb
|
273
|
+
- app/views/foreman_patch/windows/edit.html.erb
|
274
|
+
- app/views/foreman_patch/windows/new.html.erb
|
275
|
+
- app/views/foreman_patch/windows/show.html.erb
|
276
|
+
- app/views/foreman_patch/windows/show.json.erb
|
277
|
+
- app/views/hosts/select_multiple_patch_group.html.erb
|
278
|
+
- app/views/overrides/patch_groups/_host_patch_group_select.html.erb
|
279
|
+
- app/views/templates/ensure_services.erb
|
280
|
+
- config/api_routes.rb
|
281
|
+
- config/initializers/pagelets.rb
|
282
|
+
- config/initializers/safemode_jail.rb
|
283
|
+
- config/routes.rb
|
284
|
+
- config/routes/mount_engine.rb
|
285
|
+
- config/routes/overrides.rb
|
286
|
+
- db/migrate/20210202161304_create_foreman_patch_plans.rb
|
287
|
+
- db/migrate/20210202163323_create_foreman_patch_cycles.rb
|
288
|
+
- db/migrate/20210202164301_create_foreman_patch_groups.rb
|
289
|
+
- db/migrate/20210226134103_add_name_to_cycles.rb
|
290
|
+
- db/migrate/20210226162824_rename_default_window.rb
|
291
|
+
- db/migrate/20210302165058_add_task_to_window_groups.rb
|
292
|
+
- db/migrate/20210304141111_create_invocation.rb
|
293
|
+
- db/migrate/20210519163923_add_cycle_end_date.rb
|
294
|
+
- db/migrate/20210525154113_expand_window_groups.rb
|
295
|
+
- db/migrate/20210723160142_add_cycle_plan_task_group.rb
|
296
|
+
- db/migrate/20210831160044_cycle_plan_start_correction.rb
|
297
|
+
- db/migrate/20210907104645_rename_group_priority.rb
|
298
|
+
- db/migrate/20210909130118_remove_old_references.rb
|
299
|
+
- db/migrate/20210910141428_rename_round.rb
|
300
|
+
- db/migrate/20210910163542_rename_plan.rb
|
301
|
+
- db/migrate/20211014212415_round_group_reference.rb
|
302
|
+
- db/migrate/20220105224803_add_group_label.rb
|
303
|
+
- db/migrate/20220114153808_plan_add_name_generator.rb
|
304
|
+
- db/migrate/20220117103808_remove_cycle_description.rb
|
305
|
+
- db/migrate/20220406110705_add_window_state.rb
|
306
|
+
- db/migrate/20220407161120_add_round_status.rb
|
307
|
+
- db/migrate/20220902134800_add_invocation_status.rb
|
308
|
+
- db/seeds.d/100-assign_features_with_templates.rb
|
309
|
+
- db/seeds.d/160-mail_notifications.rb
|
310
|
+
- db/seeds.d/75-job_templates.rb
|
311
|
+
- lib/foreman_patch.rb
|
312
|
+
- lib/foreman_patch/engine.rb
|
313
|
+
- lib/foreman_patch/plugin.rb
|
314
|
+
- lib/foreman_patch/version.rb
|
315
|
+
- lib/tasks/foreman_patch_tasks.rake
|
316
|
+
- locale/Makefile
|
317
|
+
- locale/en/foreman_patch.po
|
318
|
+
- locale/foreman_patch.pot
|
319
|
+
- locale/gemspec.rb
|
320
|
+
- package.json
|
321
|
+
- public/assets/foreman_patch/cycle_plans-e5667e178ba389908f5c815b24ec0ea77c340849d56bc39c5ce72bb626bd446a.scss
|
322
|
+
- public/assets/foreman_patch/cycle_plans-e5667e178ba389908f5c815b24ec0ea77c340849d56bc39c5ce72bb626bd446a.scss.gz
|
323
|
+
- public/assets/foreman_patch/foreman_patch-ce5805a60c0d5f896f557ff5246e5a09172043004c850b39bea54e618df1c485.css
|
324
|
+
- public/assets/foreman_patch/foreman_patch-ce5805a60c0d5f896f557ff5246e5a09172043004c850b39bea54e618df1c485.css.gz
|
325
|
+
- public/assets/foreman_patch/foreman_patch.json
|
326
|
+
- public/assets/foreman_patch/plan_edit_windows-e656ba411642a7f983b51958ab30ac49c056322d19295a603cff4d5e6c71c8ed.js
|
327
|
+
- public/assets/foreman_patch/plan_edit_windows-e656ba411642a7f983b51958ab30ac49c056322d19295a603cff4d5e6c71c8ed.js.gz
|
328
|
+
- public/webpack/foreman_patch/bundle-200e97f4e2ad9ed413ea.css
|
329
|
+
- public/webpack/foreman_patch/bundle-200e97f4e2ad9ed413ea.css.gz
|
330
|
+
- public/webpack/foreman_patch/bundle-200e97f4e2ad9ed413ea.js
|
331
|
+
- public/webpack/foreman_patch/bundle-200e97f4e2ad9ed413ea.js.gz
|
332
|
+
- public/webpack/foreman_patch/bundle-200e97f4e2ad9ed413ea.js.map
|
333
|
+
- public/webpack/foreman_patch/bundle-200e97f4e2ad9ed413ea.js.map.gz
|
334
|
+
- public/webpack/foreman_patch/foreman_patch-1e4f2d5e6f040a27aa7a.css
|
335
|
+
- public/webpack/foreman_patch/foreman_patch-1e4f2d5e6f040a27aa7a.css.gz
|
336
|
+
- public/webpack/foreman_patch/foreman_patch-1e4f2d5e6f040a27aa7a.js
|
337
|
+
- public/webpack/foreman_patch/foreman_patch-1e4f2d5e6f040a27aa7a.js.gz
|
338
|
+
- public/webpack/foreman_patch/foreman_patch-1e4f2d5e6f040a27aa7a.js.map
|
339
|
+
- public/webpack/foreman_patch/foreman_patch-1e4f2d5e6f040a27aa7a.js.map.gz
|
340
|
+
- public/webpack/foreman_patch/manifest.json
|
341
|
+
- public/webpack/foreman_patch/manifest.json.gz
|
342
|
+
- public/webpack/foreman_patch/vendor-4b77c91f1e9103179596.js
|
343
|
+
- public/webpack/foreman_patch/vendor-4b77c91f1e9103179596.js.gz
|
344
|
+
- public/webpack/foreman_patch/vendor-4b77c91f1e9103179596.js.map
|
345
|
+
- public/webpack/foreman_patch/vendor-4b77c91f1e9103179596.js.map.gz
|
346
|
+
- test/factories/foreman_patch_factories.rb
|
347
|
+
- test/test_plugin_helper.rb
|
348
|
+
- test/unit/foreman_patch_test.rb
|
349
|
+
- webpack/components/Cycle/Cycle.js
|
350
|
+
- webpack/components/Cycle/CycleActions.js
|
351
|
+
- webpack/components/Cycle/CycleConstants.js
|
352
|
+
- webpack/components/Cycle/CycleHelpers.js
|
353
|
+
- webpack/components/Cycle/CycleSelectors.js
|
354
|
+
- webpack/components/Cycle/Window.js
|
355
|
+
- webpack/components/Cycle/index.js
|
356
|
+
- webpack/components/Groups/Group.js
|
357
|
+
- webpack/components/Groups/Groups.js
|
358
|
+
- webpack/components/Groups/GroupsHelpers.js
|
359
|
+
- webpack/components/Groups/Priority.js
|
360
|
+
- webpack/components/Invocation/Invocation.js
|
361
|
+
- webpack/components/Invocation/InvocationActions.js
|
362
|
+
- webpack/components/Invocation/InvocationConsts.js
|
363
|
+
- webpack/components/Invocation/InvocationSelectors.js
|
364
|
+
- webpack/components/Invocation/index.js
|
365
|
+
- webpack/components/Invocations/Invocations.js
|
366
|
+
- webpack/components/Invocations/InvocationsConstants.js
|
367
|
+
- webpack/components/Invocations/InvocationsHelpers.js
|
368
|
+
- webpack/components/Invocations/InvocationsPage.js
|
369
|
+
- webpack/components/Invocations/InvocationsPage.scss
|
370
|
+
- webpack/components/Invocations/InvocationsSelectors.js
|
371
|
+
- webpack/components/Invocations/components/InvocationItem.js
|
372
|
+
- webpack/components/Invocations/components/InvocationStatus.js
|
373
|
+
- webpack/components/Invocations/index.js
|
374
|
+
- webpack/components/Plan/Plan.js
|
375
|
+
- webpack/components/Plan/PlanActions.js
|
376
|
+
- webpack/components/Plan/PlanConstants.js
|
377
|
+
- webpack/components/Plan/PlanSelectors.js
|
378
|
+
- webpack/components/Plan/Window.js
|
379
|
+
- webpack/components/Plan/index.js
|
380
|
+
- webpack/components/PlanWindow/PlanWindow.js
|
381
|
+
- webpack/components/PlanWindow/index.js
|
382
|
+
- webpack/components/RoundProgress/AggregateStatus.js
|
383
|
+
- webpack/components/RoundProgress/RoundProgress.js
|
384
|
+
- webpack/components/RoundProgress/RoundProgressActions.js
|
385
|
+
- webpack/components/RoundProgress/RoundProgressConstants.js
|
386
|
+
- webpack/components/RoundProgress/RoundProgressSelectors.js
|
387
|
+
- webpack/components/RoundProgress/index.js
|
388
|
+
- webpack/components/Rounds/Rounds.js
|
389
|
+
- webpack/components/Rounds/RoundsActions.js
|
390
|
+
- webpack/components/Rounds/RoundsConsts.js
|
391
|
+
- webpack/components/Rounds/RoundsSelectors.js
|
392
|
+
- webpack/components/Rounds/components/RoundItem.js
|
393
|
+
- webpack/components/Rounds/components/RoundStatus.js
|
394
|
+
- webpack/components/Rounds/index.js
|
395
|
+
- webpack/components/common/Calendar/Calendar.js
|
396
|
+
- webpack/components/common/Calendar/Calendar.scss
|
397
|
+
- webpack/components/common/Calendar/CalendarConstants.js
|
398
|
+
- webpack/components/common/Calendar/CalendarHelpers.js
|
399
|
+
- webpack/components/common/Calendar/Day/index.js
|
400
|
+
- webpack/components/common/Calendar/Event.js
|
401
|
+
- webpack/components/common/Calendar/Month/Day.js
|
402
|
+
- webpack/components/common/Calendar/Month/Header.js
|
403
|
+
- webpack/components/common/Calendar/Month/Month.js
|
404
|
+
- webpack/components/common/Calendar/Month/index.js
|
405
|
+
- webpack/components/common/Calendar/View.js
|
406
|
+
- webpack/components/common/Calendar/Week/index.js
|
407
|
+
- webpack/components/common/Calendar/index.js
|
408
|
+
- webpack/components/common/Terminal/OutputLine.js
|
409
|
+
- webpack/components/common/Terminal/Terminal.js
|
410
|
+
- webpack/components/common/Terminal/Terminal.scss
|
411
|
+
- webpack/index.js
|
412
|
+
homepage: https://github.com/ludovicus3/foreman_patch
|
413
|
+
licenses:
|
414
|
+
- GPL-3.0
|
415
|
+
metadata: {}
|
416
|
+
post_install_message:
|
417
|
+
rdoc_options: []
|
418
|
+
require_paths:
|
419
|
+
- lib
|
420
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
421
|
+
requirements:
|
422
|
+
- - "~>"
|
423
|
+
- !ruby/object:Gem::Version
|
424
|
+
version: '2.5'
|
425
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
426
|
+
requirements:
|
427
|
+
- - ">="
|
428
|
+
- !ruby/object:Gem::Version
|
429
|
+
version: '0'
|
430
|
+
requirements: []
|
431
|
+
rubygems_version: 3.1.4
|
432
|
+
signing_key:
|
433
|
+
specification_version: 4
|
434
|
+
summary: Foreman Plugin for Managing Patching
|
435
|
+
test_files:
|
436
|
+
- test/test_plugin_helper.rb
|
437
|
+
- test/factories/foreman_patch_factories.rb
|
438
|
+
- test/unit/foreman_patch_test.rb
|