foreman_acd 0.2.1 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +107 -56
- data/app/controllers/foreman_acd/ansible_playbooks_controller.rb +199 -0
- data/app/controllers/foreman_acd/api/v2/ansible_playbooks_controller.rb +72 -0
- data/app/controllers/foreman_acd/api/v2/app_definitions_controller.rb +1 -0
- data/app/controllers/foreman_acd/api/v2/app_instances_controller.rb +62 -0
- data/app/controllers/foreman_acd/app_definitions_controller.rb +19 -10
- data/app/controllers/foreman_acd/app_instances_controller.rb +111 -137
- data/app/controllers/foreman_acd/concerns/ansible_playbook_parameters.rb +23 -0
- data/app/controllers/foreman_acd/concerns/app_definition_parameters.rb +1 -1
- data/app/controllers/foreman_acd/concerns/app_instance_parameters.rb +1 -1
- data/app/controllers/foreman_acd/remote_execution_controller.rb +62 -0
- data/app/controllers/ui_acd_controller.rb +20 -3
- data/app/lib/actions/foreman_acd/deploy_all_hosts.rb +47 -0
- data/app/lib/actions/foreman_acd/run_configurator.rb +44 -0
- data/app/models/concerns/foreman_acd/host_managed_extensions.rb +51 -0
- data/app/models/foreman_acd/acd_provider.rb +36 -0
- data/app/models/foreman_acd/ansible_playbook.rb +68 -0
- data/app/models/foreman_acd/app_definition.rb +25 -0
- data/app/models/foreman_acd/app_instance.rb +42 -0
- data/app/models/foreman_acd/foreman_host.rb +23 -0
- data/app/models/foreman_acd/taxonomy_extensions.rb +17 -0
- data/app/services/foreman_acd/acd_proxy_proxy_selector.rb +17 -0
- data/app/services/foreman_acd/app_configurator.rb +98 -0
- data/app/services/foreman_acd/app_deployer.rb +157 -0
- data/app/services/foreman_acd/inventory_creator.rb +68 -0
- data/app/views/foreman_acd/ansible_playbooks/_form.html.erb +64 -0
- data/app/views/foreman_acd/ansible_playbooks/edit.html.erb +11 -0
- data/app/views/foreman_acd/ansible_playbooks/index.html.erb +30 -0
- data/app/views/foreman_acd/ansible_playbooks/new.html.erb +3 -0
- data/app/views/foreman_acd/api/v2/ansible_playbooks/base.json.rabl +5 -0
- data/app/views/foreman_acd/api/v2/ansible_playbooks/index.json.rabl +5 -0
- data/app/views/foreman_acd/api/v2/ansible_playbooks/show.json.rabl +9 -0
- data/app/views/foreman_acd/api/v2/app_definitions/base.json.rabl +5 -0
- data/app/views/foreman_acd/api/v2/app_definitions/index.json.rabl +5 -0
- data/app/views/foreman_acd/api/v2/app_definitions/show.json.rabl +9 -0
- data/app/views/foreman_acd/api/v2/app_instances/base.json.rabl +5 -0
- data/app/views/foreman_acd/api/v2/app_instances/index.json.rabl +5 -0
- data/app/views/foreman_acd/api/v2/app_instances/show.json.rabl +5 -0
- data/app/views/foreman_acd/app_definitions/_form.html.erb +34 -12
- data/app/views/foreman_acd/app_definitions/edit.html.erb +10 -0
- data/app/views/foreman_acd/app_definitions/index.html.erb +4 -4
- data/app/views/foreman_acd/app_instances/_form.html.erb +11 -9
- data/app/views/foreman_acd/app_instances/edit.html.erb +10 -0
- data/app/views/foreman_acd/app_instances/index.html.erb +89 -10
- data/app/views/foreman_acd/app_instances/report.html.erb +6 -3
- data/app/views/templates/job/run_acd_ansible_playbook.erb +62 -0
- data/app/views/ui_acd/ansible_data.json.rabl +6 -0
- data/app/views/ui_acd/app.json.rabl +6 -2
- data/app/views/ui_acd/app_definition.json.rabl +1 -1
- data/app/views/ui_acd/{fdata.json.rabl → foreman_data.json.rabl} +1 -1
- data/config/routes.rb +32 -2
- data/db/migrate/20200916091018_create_ansible_playbooks.rb +20 -0
- data/db/migrate/20200917120220_add_ansible_playbook_id.rb +14 -0
- data/db/migrate/20201016002819_add_ansible_vars_all_to_app_definitions.rb +8 -0
- data/db/migrate/20201016104338_add_ansible_vars_all_to_app_instances.rb +8 -0
- data/db/migrate/20210112111548_add_organization_to_app_instance.rb +22 -0
- data/db/migrate/20210112113853_add_location_to_app_instance.rb +8 -0
- data/db/migrate/20210202141658_create_foreman_hosts.rb +24 -0
- data/db/migrate/20210204111306_remove_hosts_from_app_instances.rb +8 -0
- data/db/migrate/20210209091014_rename_acd_tables.rb +16 -0
- data/db/migrate/20210216083522_add_last_progress_report.rb +8 -0
- data/db/migrate/20210216091529_add_last_deploy_task.rb +8 -0
- data/db/migrate/20210316151145_add_git_commit_to_ansible_playbooks.rb +8 -0
- data/db/migrate/20210503122809_add_git_url_to_ansible_playbooks.rb +8 -0
- data/db/seeds.d/62_acd_proxy_feature.rb +4 -0
- data/db/seeds.d/75-job_templates.rb +13 -0
- data/lib/foreman_acd.rb +12 -0
- data/lib/foreman_acd/engine.rb +43 -3
- data/lib/foreman_acd/plugin.rb +88 -22
- data/lib/foreman_acd/version.rb +1 -1
- data/lib/tasks/foreman_acd_tasks.rake +0 -12
- data/locale/en/foreman_acd.edit.po +326 -0
- data/locale/en/foreman_acd.po +232 -2
- data/locale/en/foreman_acd.po.time_stamp +0 -0
- data/locale/foreman_acd.pot +343 -8
- data/package.json +9 -9
- data/test/controllers/ansible_playbooks_controller_test.rb +27 -0
- data/test/controllers/app_instances_controller_test.rb +8 -3
- data/test/controllers/ui_acd_controller_test.rb +22 -6
- data/test/factories/foreman_acd_factories.rb +18 -4
- data/test/models/acd_provider_test.rb +37 -0
- data/test/models/ansible_playbook_test.rb +11 -0
- data/test/models/app_definition_test.rb +1 -1
- data/test/models/app_instance_test.rb +2 -0
- data/test/models/concerns/host_extensions_test.rb +26 -0
- data/test/models/foreman_host_test.rb +12 -0
- data/webpack/__mocks__/foremanReact/API.js +2 -0
- data/webpack/__mocks__/foremanReact/common/I18n.js +3 -0
- data/webpack/__mocks__/foremanReact/common/helpers.js +2 -0
- data/webpack/__mocks__/foremanReact/components/ForemanModal.js +7 -0
- data/webpack/__mocks__/foremanReact/components/common/forms/CommonForm.js +2 -0
- data/webpack/__mocks__/foremanReact/components/common/forms/TextInput.js +2 -0
- data/webpack/__mocks__/foremanReact/components/hosts/powerStatus.js +1 -0
- data/webpack/__snapshots__/helper.test.js.snap +14 -0
- data/webpack/components/ApplicationDefinition/ApplicationDefinition.js +159 -29
- data/webpack/components/ApplicationDefinition/ApplicationDefinitionActions.js +106 -14
- data/webpack/components/ApplicationDefinition/ApplicationDefinitionConstants.js +8 -2
- data/webpack/components/ApplicationDefinition/ApplicationDefinitionHelper.js +26 -0
- data/webpack/components/ApplicationDefinition/ApplicationDefinitionReducer.js +143 -21
- data/webpack/components/ApplicationDefinition/ApplicationDefinitionSelectors.js +3 -0
- data/webpack/components/ApplicationDefinition/__fixtures__/applicationDefinitionConfData_1.fixtures.js +288 -0
- data/webpack/components/ApplicationDefinition/__fixtures__/applicationDefinitionReducer.fixtures.js +79 -0
- data/webpack/components/ApplicationDefinition/__tests__/ApplicationDefinition.test.js +25 -0
- data/webpack/components/ApplicationDefinition/__tests__/ApplicationDefinitionReducer.test.js +119 -0
- data/webpack/components/ApplicationDefinition/__tests__/ApplicationDefinitionSelectors.test.js +41 -0
- data/webpack/components/ApplicationDefinition/__tests__/__snapshots__/ApplicationDefinition.test.js.snap +200 -0
- data/webpack/components/ApplicationDefinition/__tests__/__snapshots__/ApplicationDefinitionReducer.test.js.snap +3033 -0
- data/webpack/components/ApplicationDefinition/__tests__/__snapshots__/ApplicationDefinitionSelectors.test.js.snap +299 -0
- data/webpack/components/ApplicationDefinition/components/AnsiblePlaybookSelector.js +50 -0
- data/webpack/components/ApplicationDefinition/components/__tests__/AnsiblePlaybookSelector.test.js +41 -0
- data/webpack/components/ApplicationDefinition/components/__tests__/__snapshots__/AnsiblePlaybookSelector.test.js.snap +121 -0
- data/webpack/components/ApplicationDefinition/index.js +6 -0
- data/webpack/components/ApplicationInstance/ApplicationInstance.js +151 -44
- data/webpack/components/ApplicationInstance/ApplicationInstanceActions.js +47 -10
- data/webpack/components/ApplicationInstance/ApplicationInstanceConstants.js +5 -2
- data/webpack/components/ApplicationInstance/ApplicationInstanceReducer.js +114 -28
- data/webpack/components/ApplicationInstance/ApplicationInstanceSelectors.js +3 -1
- data/webpack/components/ApplicationInstance/__fixtures__/applicationInstanceConfData_1.fixtures.js +263 -0
- data/webpack/components/ApplicationInstance/__fixtures__/applicationInstanceReducer.fixtures.js +78 -0
- data/webpack/components/ApplicationInstance/__tests__/ApplicationInstance.test.js +23 -0
- data/webpack/components/ApplicationInstance/__tests__/ApplicationInstanceReducer.test.js +119 -0
- data/webpack/components/ApplicationInstance/__tests__/ApplicationInstanceSelectors.test.js +44 -0
- data/webpack/components/ApplicationInstance/__tests__/__snapshots__/ApplicationInstance.test.js.snap +209 -0
- data/webpack/components/ApplicationInstance/__tests__/__snapshots__/ApplicationInstanceReducer.test.js.snap +2719 -0
- data/webpack/components/ApplicationInstance/__tests__/__snapshots__/ApplicationInstanceSelectors.test.js.snap +276 -0
- data/webpack/components/ApplicationInstance/components/Service.js +1 -1
- data/webpack/components/ApplicationInstance/index.js +4 -0
- data/webpack/components/ApplicationInstanceReport/ApplicationInstanceReport.js +53 -60
- data/webpack/components/ApplicationInstanceReport/ApplicationInstanceReport.scss +17 -0
- data/webpack/components/ApplicationInstanceReport/ApplicationInstanceReportActions.js +7 -51
- data/webpack/components/ApplicationInstanceReport/ApplicationInstanceReportConstants.js +2 -4
- data/webpack/components/ApplicationInstanceReport/ApplicationInstanceReportReducer.js +4 -18
- data/webpack/components/ApplicationInstanceReport/ApplicationInstanceReportSelectors.js +0 -1
- data/webpack/components/ApplicationInstanceReport/__fixtures__/applicationInstanceReportData_1.fixtures.js +349 -0
- data/webpack/components/ApplicationInstanceReport/__fixtures__/applicationInstanceReportReducer.fixtures.js +20 -0
- data/webpack/components/ApplicationInstanceReport/__tests__/ApplicationInstanceReport.test.js +47 -0
- data/webpack/components/ApplicationInstanceReport/__tests__/ApplicationInstanceReportReducer.test.js +41 -0
- data/webpack/components/ApplicationInstanceReport/__tests__/ApplicationInstanceReportSelectors.test.js +26 -0
- data/webpack/components/ApplicationInstanceReport/__tests__/__snapshots__/ApplicationInstanceReport.test.js.snap +130 -0
- data/webpack/components/ApplicationInstanceReport/__tests__/__snapshots__/ApplicationInstanceReportReducer.test.js.snap +718 -0
- data/webpack/components/ApplicationInstanceReport/__tests__/__snapshots__/ApplicationInstanceReportSelectors.test.js.snap +347 -0
- data/webpack/components/ApplicationInstanceReport/components/ReportViewer.js +1 -1
- data/webpack/components/ApplicationInstanceReport/components/__tests__/ReportViewer.test.js +24 -0
- data/webpack/components/ApplicationInstanceReport/components/__tests__/__snapshots__/ReportViewer.test.js.snap +24 -0
- data/webpack/components/ApplicationInstanceReport/index.js +0 -2
- data/webpack/components/ParameterSelection/ParameterSelection.js +85 -50
- data/webpack/components/ParameterSelection/ParameterSelectionActions.js +68 -62
- data/webpack/components/ParameterSelection/ParameterSelectionConstants.js +6 -3
- data/webpack/components/ParameterSelection/ParameterSelectionHelper.js +0 -32
- data/webpack/components/ParameterSelection/ParameterSelectionReducer.js +47 -35
- data/webpack/components/ParameterSelection/ParameterSelectionSelectors.js +2 -2
- data/webpack/components/ParameterSelection/__fixtures__/parameterSelectionData_1.fixtures.js +116 -84
- data/webpack/components/ParameterSelection/__fixtures__/parameterSelectionReducer.fixtures.js +10 -4
- data/webpack/components/ParameterSelection/__tests__/ParameterSelection.test.js +36 -46
- data/webpack/components/ParameterSelection/__tests__/ParameterSelectionReducer.test.js +31 -25
- data/webpack/components/ParameterSelection/__tests__/ParameterSelectionSelectors.test.js +6 -6
- data/webpack/components/ParameterSelection/__tests__/__snapshots__/ParameterSelection.test.js.snap +2 -126
- data/webpack/components/ParameterSelection/__tests__/__snapshots__/ParameterSelectionReducer.test.js.snap +1483 -872
- data/webpack/components/ParameterSelection/__tests__/__snapshots__/ParameterSelectionSelectors.test.js.snap +117 -79
- data/webpack/components/ParameterSelection/index.js +4 -4
- data/webpack/components/SyncGitRepo/SyncGitRepo.js +210 -0
- data/webpack/components/SyncGitRepo/SyncGitRepo.scss +1 -0
- data/webpack/components/SyncGitRepo/SyncGitRepoActions.js +124 -0
- data/webpack/components/SyncGitRepo/SyncGitRepoConstants.js +9 -0
- data/webpack/components/SyncGitRepo/SyncGitRepoReducer.js +80 -0
- data/webpack/components/SyncGitRepo/SyncGitRepoSelectors.js +6 -0
- data/webpack/components/SyncGitRepo/__fixtures__/syncGitRepoConfData_1.fixtures.js +7 -0
- data/webpack/components/SyncGitRepo/__fixtures__/syncGitRepoReducer.fixtures.js +44 -0
- data/webpack/components/SyncGitRepo/__tests__/SyncGitRepo.test.js +27 -0
- data/webpack/components/SyncGitRepo/__tests__/SyncGitRepoReducer.test.js +95 -0
- data/webpack/components/SyncGitRepo/__tests__/SyncGitRepoSelectors.test.js +32 -0
- data/webpack/components/SyncGitRepo/__tests__/__snapshots__/SyncGitRepo.test.js.snap +30 -0
- data/webpack/components/SyncGitRepo/__tests__/__snapshots__/SyncGitRepoReducer.test.js.snap +137 -0
- data/webpack/components/SyncGitRepo/__tests__/__snapshots__/SyncGitRepoSelectors.test.js.snap +13 -0
- data/webpack/components/SyncGitRepo/components/FormTextInput.js +42 -0
- data/webpack/components/SyncGitRepo/components/ScmTypeSelector.js +46 -0
- data/webpack/components/SyncGitRepo/index.js +28 -0
- data/webpack/components/common/DeleteTableEntry.js +3 -3
- data/webpack/components/common/EditTableEntry.js +50 -0
- data/webpack/components/common/ExtTextInput.js +43 -0
- data/webpack/components/common/LockTableEntry.js +60 -0
- data/webpack/components/common/__tests__/EditTableEntry.test.js +53 -0
- data/webpack/components/common/__tests__/LockTableEntry.test.js +35 -0
- data/webpack/components/common/__tests__/__snapshots__/DeleteTableEntry.test.js.snap +2 -2
- data/webpack/components/common/__tests__/__snapshots__/EditTableEntry.test.js.snap +81 -0
- data/webpack/components/common/__tests__/__snapshots__/LockTableEntry.test.js.snap +60 -0
- data/webpack/helper.js +15 -1
- data/webpack/helper.test.js +37 -0
- data/webpack/index.js +2 -0
- data/webpack/reducer.js +18 -11
- metadata +184 -10
- data/app/views/foreman_acd/app_instances/deploy.html.erb +0 -19
- data/webpack/components/common/__tests__/__snapshots__/AddParameter.test.js.snap +0 -35
- data/webpack/components/common/__tests__/__snapshots__/DeleteParameter.test.js.snap +0 -41
@@ -0,0 +1,53 @@
|
|
1
|
+
import { testComponentSnapshotsWithFixtures } from 'react-redux-test-utils';
|
2
|
+
|
3
|
+
import EditTableEntry from '../EditTableEntry';
|
4
|
+
|
5
|
+
const noop = () => {};
|
6
|
+
|
7
|
+
const fixtures = {
|
8
|
+
'should render edit table entry': {
|
9
|
+
hidden: false,
|
10
|
+
disabled: false,
|
11
|
+
handleLocking: false,
|
12
|
+
onEditTableEntry: noop,
|
13
|
+
additionalData: {},
|
14
|
+
},
|
15
|
+
'should render hidden button': {
|
16
|
+
hidden: true,
|
17
|
+
disabled: false,
|
18
|
+
handleLocking: false,
|
19
|
+
onEditTableEntry: noop,
|
20
|
+
additionalData: {},
|
21
|
+
},
|
22
|
+
'should render disabled button': {
|
23
|
+
hidden: false,
|
24
|
+
disabled: true,
|
25
|
+
handleLocking: false,
|
26
|
+
onEditTableEntry: noop,
|
27
|
+
additionalData: {},
|
28
|
+
},
|
29
|
+
'should render locked button': {
|
30
|
+
hidden: false,
|
31
|
+
disabled: false,
|
32
|
+
handleLocking: true,
|
33
|
+
onEditTableEntry: noop,
|
34
|
+
additionalData: { rowData: { locked: true } },
|
35
|
+
},
|
36
|
+
'should render locked and disabled button': {
|
37
|
+
hidden: false,
|
38
|
+
disabled: true,
|
39
|
+
handleLocking: true,
|
40
|
+
onEditTableEntry: noop,
|
41
|
+
additionalData: { rowData: { locked: true } },
|
42
|
+
},
|
43
|
+
'should render hidde, locked and disabled button': {
|
44
|
+
hidden: true,
|
45
|
+
disabled: true,
|
46
|
+
handleLocking: true,
|
47
|
+
onEditTableEntry: noop,
|
48
|
+
additionalData: { rowData: { locked: true } },
|
49
|
+
},
|
50
|
+
};
|
51
|
+
|
52
|
+
describe('EditTableEntry', () =>
|
53
|
+
testComponentSnapshotsWithFixtures(EditTableEntry, fixtures));
|
@@ -0,0 +1,35 @@
|
|
1
|
+
import { testComponentSnapshotsWithFixtures } from 'react-redux-test-utils';
|
2
|
+
|
3
|
+
import LockTableEntry from '../LockTableEntry';
|
4
|
+
|
5
|
+
const noop = () => {};
|
6
|
+
|
7
|
+
const fixtures = {
|
8
|
+
'should render unlock table entry': {
|
9
|
+
hidden: false,
|
10
|
+
disabled: false,
|
11
|
+
onLockTableEntry: noop,
|
12
|
+
additionalData: { rowData: { locked: false } },
|
13
|
+
},
|
14
|
+
'should render locked table entry': {
|
15
|
+
hidden: false,
|
16
|
+
disabled: false,
|
17
|
+
onLockTableEntry: noop,
|
18
|
+
additionalData: { rowData: { locked: true } },
|
19
|
+
},
|
20
|
+
'should render hidden button': {
|
21
|
+
hidden: true,
|
22
|
+
disabled: false,
|
23
|
+
onLockTableEntry: noop,
|
24
|
+
additionalData: {},
|
25
|
+
},
|
26
|
+
'should render disabled button': {
|
27
|
+
hidden: false,
|
28
|
+
disabled: true,
|
29
|
+
onLockTableEntry: noop,
|
30
|
+
additionalData: { rowData: { locked: false } },
|
31
|
+
},
|
32
|
+
};
|
33
|
+
|
34
|
+
describe('LockTableEntry', () =>
|
35
|
+
testComponentSnapshotsWithFixtures(LockTableEntry, fixtures));
|
@@ -2,7 +2,6 @@
|
|
2
2
|
|
3
3
|
exports[`DeleteTableEntry should render delete parameter 1`] = `
|
4
4
|
<span>
|
5
|
-
|
6
5
|
<Button
|
7
6
|
active={false}
|
8
7
|
block={false}
|
@@ -13,6 +12,7 @@ exports[`DeleteTableEntry should render delete parameter 1`] = `
|
|
13
12
|
>
|
14
13
|
<Icon
|
15
14
|
name="delete"
|
15
|
+
title="Delete entry"
|
16
16
|
type="pf"
|
17
17
|
/>
|
18
18
|
</Button>
|
@@ -21,7 +21,6 @@ exports[`DeleteTableEntry should render delete parameter 1`] = `
|
|
21
21
|
|
22
22
|
exports[`DeleteTableEntry should render disabled button 1`] = `
|
23
23
|
<span>
|
24
|
-
|
25
24
|
<Button
|
26
25
|
active={false}
|
27
26
|
block={false}
|
@@ -32,6 +31,7 @@ exports[`DeleteTableEntry should render disabled button 1`] = `
|
|
32
31
|
>
|
33
32
|
<Icon
|
34
33
|
name="delete"
|
34
|
+
title="Delete entry"
|
35
35
|
type="pf"
|
36
36
|
/>
|
37
37
|
</Button>
|
@@ -0,0 +1,81 @@
|
|
1
|
+
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
2
|
+
|
3
|
+
exports[`EditTableEntry should render disabled button 1`] = `
|
4
|
+
<span>
|
5
|
+
<Button
|
6
|
+
active={false}
|
7
|
+
block={false}
|
8
|
+
bsClass="btn"
|
9
|
+
bsStyle="default"
|
10
|
+
disabled={true}
|
11
|
+
onClick={[Function]}
|
12
|
+
>
|
13
|
+
<Icon
|
14
|
+
name="edit"
|
15
|
+
title="edit this entry"
|
16
|
+
type="pf"
|
17
|
+
/>
|
18
|
+
</Button>
|
19
|
+
</span>
|
20
|
+
`;
|
21
|
+
|
22
|
+
exports[`EditTableEntry should render edit table entry 1`] = `
|
23
|
+
<span>
|
24
|
+
<Button
|
25
|
+
active={false}
|
26
|
+
block={false}
|
27
|
+
bsClass="btn"
|
28
|
+
bsStyle="default"
|
29
|
+
disabled={false}
|
30
|
+
onClick={[Function]}
|
31
|
+
>
|
32
|
+
<Icon
|
33
|
+
name="edit"
|
34
|
+
title="edit this entry"
|
35
|
+
type="pf"
|
36
|
+
/>
|
37
|
+
</Button>
|
38
|
+
</span>
|
39
|
+
`;
|
40
|
+
|
41
|
+
exports[`EditTableEntry should render hidde, locked and disabled button 1`] = `""`;
|
42
|
+
|
43
|
+
exports[`EditTableEntry should render hidden button 1`] = `""`;
|
44
|
+
|
45
|
+
exports[`EditTableEntry should render locked and disabled button 1`] = `
|
46
|
+
<span>
|
47
|
+
<Button
|
48
|
+
active={false}
|
49
|
+
block={false}
|
50
|
+
bsClass="btn"
|
51
|
+
bsStyle="default"
|
52
|
+
disabled={true}
|
53
|
+
onClick={[Function]}
|
54
|
+
>
|
55
|
+
<Icon
|
56
|
+
name="edit"
|
57
|
+
title="This entry is locked and can not be changed."
|
58
|
+
type="pf"
|
59
|
+
/>
|
60
|
+
</Button>
|
61
|
+
</span>
|
62
|
+
`;
|
63
|
+
|
64
|
+
exports[`EditTableEntry should render locked button 1`] = `
|
65
|
+
<span>
|
66
|
+
<Button
|
67
|
+
active={false}
|
68
|
+
block={false}
|
69
|
+
bsClass="btn"
|
70
|
+
bsStyle="default"
|
71
|
+
disabled={true}
|
72
|
+
onClick={[Function]}
|
73
|
+
>
|
74
|
+
<Icon
|
75
|
+
name="edit"
|
76
|
+
title="This entry is locked and can not be changed."
|
77
|
+
type="pf"
|
78
|
+
/>
|
79
|
+
</Button>
|
80
|
+
</span>
|
81
|
+
`;
|
@@ -0,0 +1,60 @@
|
|
1
|
+
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
2
|
+
|
3
|
+
exports[`LockTableEntry should render disabled button 1`] = `
|
4
|
+
<span>
|
5
|
+
<Button
|
6
|
+
active={false}
|
7
|
+
block={false}
|
8
|
+
bsClass="btn"
|
9
|
+
bsStyle="default"
|
10
|
+
disabled={true}
|
11
|
+
onClick={[Function]}
|
12
|
+
>
|
13
|
+
<Icon
|
14
|
+
name="unlocked"
|
15
|
+
title="this entry is unlocked"
|
16
|
+
type="pf"
|
17
|
+
/>
|
18
|
+
</Button>
|
19
|
+
</span>
|
20
|
+
`;
|
21
|
+
|
22
|
+
exports[`LockTableEntry should render hidden button 1`] = `""`;
|
23
|
+
|
24
|
+
exports[`LockTableEntry should render locked table entry 1`] = `
|
25
|
+
<span>
|
26
|
+
<Button
|
27
|
+
active={false}
|
28
|
+
block={false}
|
29
|
+
bsClass="btn"
|
30
|
+
bsStyle="default"
|
31
|
+
disabled={false}
|
32
|
+
onClick={[Function]}
|
33
|
+
>
|
34
|
+
<Icon
|
35
|
+
name="locked"
|
36
|
+
title="unlock this entry"
|
37
|
+
type="pf"
|
38
|
+
/>
|
39
|
+
</Button>
|
40
|
+
</span>
|
41
|
+
`;
|
42
|
+
|
43
|
+
exports[`LockTableEntry should render unlock table entry 1`] = `
|
44
|
+
<span>
|
45
|
+
<Button
|
46
|
+
active={false}
|
47
|
+
block={false}
|
48
|
+
bsClass="btn"
|
49
|
+
bsStyle="default"
|
50
|
+
disabled={false}
|
51
|
+
onClick={[Function]}
|
52
|
+
>
|
53
|
+
<Icon
|
54
|
+
name="unlocked"
|
55
|
+
title="lock this entry"
|
56
|
+
type="pf"
|
57
|
+
/>
|
58
|
+
</Button>
|
59
|
+
</span>
|
60
|
+
`;
|
data/webpack/helper.js
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import {
|
3
|
+
Table,
|
4
|
+
} from 'patternfly-react';
|
5
|
+
|
1
6
|
// Some small helper methods
|
2
7
|
|
3
8
|
function arrayToObject(arr, id, value) {
|
@@ -14,7 +19,16 @@ function arrayToObjectObj(arr, id) {
|
|
14
19
|
return rv;
|
15
20
|
}
|
16
21
|
|
22
|
+
function EasyHeaderFormatter(value, { column }) {
|
23
|
+
return (
|
24
|
+
<Table.Heading aria-label={column.header.label} {...column.header.props}>
|
25
|
+
{value}
|
26
|
+
</Table.Heading>
|
27
|
+
);
|
28
|
+
}
|
29
|
+
|
17
30
|
export {
|
18
31
|
arrayToObject,
|
19
|
-
arrayToObjectObj
|
32
|
+
arrayToObjectObj,
|
33
|
+
EasyHeaderFormatter
|
20
34
|
};
|
@@ -0,0 +1,37 @@
|
|
1
|
+
import {
|
2
|
+
arrayToObject,
|
3
|
+
arrayToObjectObj,
|
4
|
+
EasyHeaderFormatter,
|
5
|
+
} from './helper';
|
6
|
+
|
7
|
+
describe('helper', () => {
|
8
|
+
const testArray = []
|
9
|
+
testArray[0] = { id: 'i1', value: 'v1' };
|
10
|
+
testArray[1] = { id: 'i2', value: 'v2' };
|
11
|
+
testArray[2] = { id: 'i3', value: 'v3' };
|
12
|
+
|
13
|
+
it('creates a object from an array', () => {
|
14
|
+
expect(arrayToObject(testArray, 'id', 'value')).toEqual(
|
15
|
+
{
|
16
|
+
i1: 'v1',
|
17
|
+
i2: 'v2',
|
18
|
+
i3: 'v3'
|
19
|
+
}
|
20
|
+
);
|
21
|
+
});
|
22
|
+
|
23
|
+
it('creates a object from an array', () => {
|
24
|
+
expect(arrayToObjectObj(testArray, 'id')).toEqual(
|
25
|
+
{
|
26
|
+
i1: { id: 'i1', value: 'v1' },
|
27
|
+
i2: { id: 'i2', value: 'v2' },
|
28
|
+
i3: { id: 'i3', value: 'v3' },
|
29
|
+
}
|
30
|
+
);
|
31
|
+
});
|
32
|
+
|
33
|
+
it('creates a object from an array', () => {
|
34
|
+
expect(EasyHeaderFormatter('MyValue', { column: { header: { label: 'TheLabel', props: { p1: '1' } } } })).toMatchSnapshot();
|
35
|
+
});
|
36
|
+
});
|
37
|
+
|
data/webpack/index.js
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
import componentRegistry from 'foremanReact/components/componentRegistry';
|
2
2
|
import injectReducer from 'foremanReact/redux/reducers/registerReducer';
|
3
3
|
import ParameterSelection from './components/ParameterSelection';
|
4
|
+
import SyncGitRepo from './components/SyncGitRepo';
|
4
5
|
import ApplicationDefinition from './components/ApplicationDefinition';
|
5
6
|
import ApplicationInstance from './components/ApplicationInstance';
|
6
7
|
import ApplicationInstanceReport from './components/ApplicationInstanceReport';
|
@@ -9,6 +10,7 @@ import reducer from './reducer';
|
|
9
10
|
injectReducer('foremanAcd', reducer);
|
10
11
|
|
11
12
|
componentRegistry.register({ name: 'ParameterSelection', type: ParameterSelection, });
|
13
|
+
componentRegistry.register({ name: 'SyncGitRepo', type: SyncGitRepo, });
|
12
14
|
componentRegistry.register({ name: 'ApplicationDefinition', type: ApplicationDefinition, });
|
13
15
|
componentRegistry.register({ name: 'ApplicationInstance', type: ApplicationInstance, });
|
14
16
|
componentRegistry.register({ name: 'ApplicationInstanceReport', type: ApplicationInstanceReport, });
|
data/webpack/reducer.js
CHANGED
@@ -1,21 +1,19 @@
|
|
1
1
|
import { combineReducers } from 'redux';
|
2
|
-
import {
|
3
|
-
cloneDeep,
|
4
|
-
findIndex,
|
5
|
-
findLastIndex,
|
6
|
-
} from 'lodash';
|
7
2
|
|
8
3
|
import parameterSelectionParameters from './components/ParameterSelection/ParameterSelectionReducer';
|
9
4
|
import applicationDefinitionConf from './components/ApplicationDefinition/ApplicationDefinitionReducer';
|
10
5
|
import applicationInstanceConf from './components/ApplicationInstance/ApplicationInstanceReducer';
|
11
6
|
import applicationInstanceReport from './components/ApplicationInstanceReport/ApplicationInstanceReportReducer';
|
7
|
+
import syncGitRepoConf from './components/SyncGitRepo/SyncGitRepoReducer';
|
12
8
|
|
13
9
|
import {
|
14
|
-
|
10
|
+
APPLICATION_DEFINITION_FOREMAN_PARAMETER_SELECTION_MODAL_CLOSE,
|
11
|
+
APPLICATION_DEFINITION_ANSIBLE_PARAMETER_SELECTION_MODAL_CLOSE,
|
15
12
|
} from './components/ApplicationDefinition/ApplicationDefinitionConstants';
|
16
13
|
|
17
14
|
import {
|
18
|
-
|
15
|
+
APPLICATION_INSTANCE_FOREMAN_PARAMETER_SELECTION_MODAL_CLOSE,
|
16
|
+
APPLICATION_INSTANCE_ANSIBLE_PARAMETER_SELECTION_MODAL_CLOSE,
|
19
17
|
} from './components/ApplicationInstance/ApplicationInstanceConstants';
|
20
18
|
|
21
19
|
const rootReducer = (state = {}, action) => {
|
@@ -23,21 +21,30 @@ const rootReducer = (state = {}, action) => {
|
|
23
21
|
const param_state = parameterSelectionParameters(state.parameterSelectionParameters, action);
|
24
22
|
const app_ins_report_state = applicationInstanceReport(state.applicationInstanceReport, action);
|
25
23
|
|
26
|
-
if (action.type ==
|
27
|
-
action.payload.
|
24
|
+
if (action.type == APPLICATION_DEFINITION_FOREMAN_PARAMETER_SELECTION_MODAL_CLOSE) {
|
25
|
+
action.payload.parameterSelection = param_state.parameters;
|
26
|
+
}
|
27
|
+
if (action.type == APPLICATION_DEFINITION_ANSIBLE_PARAMETER_SELECTION_MODAL_CLOSE) {
|
28
|
+
action.payload.parameterSelection = param_state.parameters;
|
28
29
|
}
|
29
30
|
const app_def_state = applicationDefinitionConf(state.applicationDefinitionConf, action);
|
30
31
|
|
31
|
-
if (action.type ==
|
32
|
-
action.payload.
|
32
|
+
if (action.type == APPLICATION_INSTANCE_FOREMAN_PARAMETER_SELECTION_MODAL_CLOSE) {
|
33
|
+
action.payload.parameterSelection = param_state.parameters;
|
34
|
+
}
|
35
|
+
if (action.type == APPLICATION_INSTANCE_ANSIBLE_PARAMETER_SELECTION_MODAL_CLOSE) {
|
36
|
+
action.payload.parameterSelection = param_state.parameters;
|
33
37
|
}
|
34
38
|
const app_ins_state = applicationInstanceConf(state.applicationInstanceConf, action);
|
35
39
|
|
40
|
+
const sync_git_repo_state = syncGitRepoConf(state.syncGitRepoConf, action);
|
41
|
+
|
36
42
|
return {
|
37
43
|
applicationDefinitionConf: app_def_state,
|
38
44
|
applicationInstanceConf: app_ins_state,
|
39
45
|
parameterSelectionParameters: param_state,
|
40
46
|
applicationInstanceReport: app_ins_report_state,
|
47
|
+
syncGitRepoConf: sync_git_repo_state,
|
41
48
|
};
|
42
49
|
};
|
43
50
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: foreman_acd
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ATIX AG
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-05-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubocop
|
@@ -16,14 +16,70 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
19
|
+
version: 0.89.0
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.
|
26
|
+
version: 0.89.0
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rubocop-rails
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 2.8.1
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 2.8.1
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: foreman_remote_execution
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 3.3.0
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 3.3.0
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: foreman-tasks
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0.10'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0.10'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: git
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
27
83
|
description: Foreman plugin to provide application centric deployment and self service
|
28
84
|
portal
|
29
85
|
email:
|
@@ -36,62 +92,134 @@ files:
|
|
36
92
|
- README.md
|
37
93
|
- Rakefile
|
38
94
|
- app/assets/javascripts/foreman_acd/acd_dummy.js
|
95
|
+
- app/controllers/foreman_acd/ansible_playbooks_controller.rb
|
96
|
+
- app/controllers/foreman_acd/api/v2/ansible_playbooks_controller.rb
|
39
97
|
- app/controllers/foreman_acd/api/v2/app_definitions_controller.rb
|
98
|
+
- app/controllers/foreman_acd/api/v2/app_instances_controller.rb
|
40
99
|
- app/controllers/foreman_acd/api/v2/base_controller.rb
|
41
100
|
- app/controllers/foreman_acd/app_definitions_controller.rb
|
42
101
|
- app/controllers/foreman_acd/app_instances_controller.rb
|
43
102
|
- app/controllers/foreman_acd/application_controller.rb
|
103
|
+
- app/controllers/foreman_acd/concerns/ansible_playbook_parameters.rb
|
44
104
|
- app/controllers/foreman_acd/concerns/app_definition_parameters.rb
|
45
105
|
- app/controllers/foreman_acd/concerns/app_instance_parameters.rb
|
106
|
+
- app/controllers/foreman_acd/remote_execution_controller.rb
|
46
107
|
- app/controllers/ui_acd_controller.rb
|
108
|
+
- app/lib/actions/foreman_acd/deploy_all_hosts.rb
|
109
|
+
- app/lib/actions/foreman_acd/run_configurator.rb
|
110
|
+
- app/models/concerns/foreman_acd/host_managed_extensions.rb
|
111
|
+
- app/models/foreman_acd/acd_provider.rb
|
112
|
+
- app/models/foreman_acd/ansible_playbook.rb
|
47
113
|
- app/models/foreman_acd/app_definition.rb
|
48
114
|
- app/models/foreman_acd/app_instance.rb
|
115
|
+
- app/models/foreman_acd/foreman_host.rb
|
116
|
+
- app/models/foreman_acd/taxonomy_extensions.rb
|
117
|
+
- app/services/foreman_acd/acd_proxy_proxy_selector.rb
|
118
|
+
- app/services/foreman_acd/app_configurator.rb
|
119
|
+
- app/services/foreman_acd/app_deployer.rb
|
120
|
+
- app/services/foreman_acd/inventory_creator.rb
|
121
|
+
- app/views/foreman_acd/ansible_playbooks/_form.html.erb
|
122
|
+
- app/views/foreman_acd/ansible_playbooks/edit.html.erb
|
123
|
+
- app/views/foreman_acd/ansible_playbooks/index.html.erb
|
124
|
+
- app/views/foreman_acd/ansible_playbooks/new.html.erb
|
125
|
+
- app/views/foreman_acd/api/v2/ansible_playbooks/base.json.rabl
|
126
|
+
- app/views/foreman_acd/api/v2/ansible_playbooks/index.json.rabl
|
127
|
+
- app/views/foreman_acd/api/v2/ansible_playbooks/show.json.rabl
|
128
|
+
- app/views/foreman_acd/api/v2/app_definitions/base.json.rabl
|
129
|
+
- app/views/foreman_acd/api/v2/app_definitions/index.json.rabl
|
130
|
+
- app/views/foreman_acd/api/v2/app_definitions/show.json.rabl
|
131
|
+
- app/views/foreman_acd/api/v2/app_instances/base.json.rabl
|
132
|
+
- app/views/foreman_acd/api/v2/app_instances/index.json.rabl
|
133
|
+
- app/views/foreman_acd/api/v2/app_instances/show.json.rabl
|
49
134
|
- app/views/foreman_acd/app_definitions/_form.html.erb
|
50
135
|
- app/views/foreman_acd/app_definitions/edit.html.erb
|
51
136
|
- app/views/foreman_acd/app_definitions/import.html.erb
|
52
137
|
- app/views/foreman_acd/app_definitions/index.html.erb
|
53
138
|
- app/views/foreman_acd/app_definitions/new.html.erb
|
54
139
|
- app/views/foreman_acd/app_instances/_form.html.erb
|
55
|
-
- app/views/foreman_acd/app_instances/deploy.html.erb
|
56
140
|
- app/views/foreman_acd/app_instances/edit.html.erb
|
57
141
|
- app/views/foreman_acd/app_instances/index.html.erb
|
58
142
|
- app/views/foreman_acd/app_instances/new.html.erb
|
59
143
|
- app/views/foreman_acd/app_instances/report.html.erb
|
144
|
+
- app/views/templates/job/run_acd_ansible_playbook.erb
|
145
|
+
- app/views/ui_acd/ansible_data.json.rabl
|
60
146
|
- app/views/ui_acd/app.json.rabl
|
61
147
|
- app/views/ui_acd/app_definition.json.rabl
|
62
148
|
- app/views/ui_acd/computeprofile.json.rabl
|
63
149
|
- app/views/ui_acd/domain.json.rabl
|
64
150
|
- app/views/ui_acd/environment.json.rabl
|
65
|
-
- app/views/ui_acd/
|
151
|
+
- app/views/ui_acd/foreman_data.json.rabl
|
66
152
|
- app/views/ui_acd/lifecycle_environment.json.rabl
|
67
153
|
- app/views/ui_acd/ptable.json.rabl
|
68
154
|
- config/routes.rb
|
69
155
|
- db/migrate/20190610202252_create_app_definitions.rb
|
70
156
|
- db/migrate/20190625140305_create_app_instances.rb
|
157
|
+
- db/migrate/20200916091018_create_ansible_playbooks.rb
|
158
|
+
- db/migrate/20200917120220_add_ansible_playbook_id.rb
|
159
|
+
- db/migrate/20201016002819_add_ansible_vars_all_to_app_definitions.rb
|
160
|
+
- db/migrate/20201016104338_add_ansible_vars_all_to_app_instances.rb
|
161
|
+
- db/migrate/20210112111548_add_organization_to_app_instance.rb
|
162
|
+
- db/migrate/20210112113853_add_location_to_app_instance.rb
|
163
|
+
- db/migrate/20210202141658_create_foreman_hosts.rb
|
164
|
+
- db/migrate/20210204111306_remove_hosts_from_app_instances.rb
|
165
|
+
- db/migrate/20210209091014_rename_acd_tables.rb
|
166
|
+
- db/migrate/20210216083522_add_last_progress_report.rb
|
167
|
+
- db/migrate/20210216091529_add_last_deploy_task.rb
|
168
|
+
- db/migrate/20210316151145_add_git_commit_to_ansible_playbooks.rb
|
169
|
+
- db/migrate/20210503122809_add_git_url_to_ansible_playbooks.rb
|
170
|
+
- db/seeds.d/62_acd_proxy_feature.rb
|
171
|
+
- db/seeds.d/75-job_templates.rb
|
71
172
|
- lib/foreman_acd.rb
|
72
173
|
- lib/foreman_acd/engine.rb
|
73
174
|
- lib/foreman_acd/plugin.rb
|
74
175
|
- lib/foreman_acd/version.rb
|
75
176
|
- lib/tasks/foreman_acd_tasks.rake
|
76
177
|
- locale/Makefile
|
178
|
+
- locale/en/foreman_acd.edit.po
|
77
179
|
- locale/en/foreman_acd.po
|
180
|
+
- locale/en/foreman_acd.po.time_stamp
|
78
181
|
- locale/foreman_acd.pot
|
79
182
|
- locale/gemspec.rb
|
80
183
|
- package.json
|
184
|
+
- test/controllers/ansible_playbooks_controller_test.rb
|
81
185
|
- test/controllers/app_definitions_controller_test.rb
|
82
186
|
- test/controllers/app_instances_controller_test.rb
|
83
187
|
- test/controllers/ui_acd_controller_test.rb
|
84
188
|
- test/factories/foreman_acd_factories.rb
|
189
|
+
- test/models/acd_provider_test.rb
|
190
|
+
- test/models/ansible_playbook_test.rb
|
85
191
|
- test/models/app_definition_test.rb
|
86
192
|
- test/models/app_instance_test.rb
|
193
|
+
- test/models/concerns/host_extensions_test.rb
|
194
|
+
- test/models/foreman_host_test.rb
|
87
195
|
- test/test_plugin_helper.rb
|
196
|
+
- webpack/__mocks__/foremanReact/API.js
|
197
|
+
- webpack/__mocks__/foremanReact/common/I18n.js
|
198
|
+
- webpack/__mocks__/foremanReact/common/helpers.js
|
199
|
+
- webpack/__mocks__/foremanReact/components/ForemanModal.js
|
200
|
+
- webpack/__mocks__/foremanReact/components/common/forms/CommonForm.js
|
88
201
|
- webpack/__mocks__/foremanReact/components/common/forms/Select.js
|
202
|
+
- webpack/__mocks__/foremanReact/components/common/forms/TextInput.js
|
203
|
+
- webpack/__mocks__/foremanReact/components/hosts/powerStatus.js
|
204
|
+
- webpack/__snapshots__/helper.test.js.snap
|
89
205
|
- webpack/components/ApplicationDefinition/ApplicationDefinition.js
|
90
206
|
- webpack/components/ApplicationDefinition/ApplicationDefinition.scss
|
91
207
|
- webpack/components/ApplicationDefinition/ApplicationDefinitionActions.js
|
92
208
|
- webpack/components/ApplicationDefinition/ApplicationDefinitionConstants.js
|
209
|
+
- webpack/components/ApplicationDefinition/ApplicationDefinitionHelper.js
|
93
210
|
- webpack/components/ApplicationDefinition/ApplicationDefinitionReducer.js
|
94
211
|
- webpack/components/ApplicationDefinition/ApplicationDefinitionSelectors.js
|
212
|
+
- webpack/components/ApplicationDefinition/__fixtures__/applicationDefinitionConfData_1.fixtures.js
|
213
|
+
- webpack/components/ApplicationDefinition/__fixtures__/applicationDefinitionReducer.fixtures.js
|
214
|
+
- webpack/components/ApplicationDefinition/__tests__/ApplicationDefinition.test.js
|
215
|
+
- webpack/components/ApplicationDefinition/__tests__/ApplicationDefinitionReducer.test.js
|
216
|
+
- webpack/components/ApplicationDefinition/__tests__/ApplicationDefinitionSelectors.test.js
|
217
|
+
- webpack/components/ApplicationDefinition/__tests__/__snapshots__/ApplicationDefinition.test.js.snap
|
218
|
+
- webpack/components/ApplicationDefinition/__tests__/__snapshots__/ApplicationDefinitionReducer.test.js.snap
|
219
|
+
- webpack/components/ApplicationDefinition/__tests__/__snapshots__/ApplicationDefinitionSelectors.test.js.snap
|
220
|
+
- webpack/components/ApplicationDefinition/components/AnsiblePlaybookSelector.js
|
221
|
+
- webpack/components/ApplicationDefinition/components/__tests__/AnsiblePlaybookSelector.test.js
|
222
|
+
- webpack/components/ApplicationDefinition/components/__tests__/__snapshots__/AnsiblePlaybookSelector.test.js.snap
|
95
223
|
- webpack/components/ApplicationDefinition/index.js
|
96
224
|
- webpack/components/ApplicationInstance/ApplicationInstance.js
|
97
225
|
- webpack/components/ApplicationInstance/ApplicationInstance.scss
|
@@ -99,6 +227,14 @@ files:
|
|
99
227
|
- webpack/components/ApplicationInstance/ApplicationInstanceConstants.js
|
100
228
|
- webpack/components/ApplicationInstance/ApplicationInstanceReducer.js
|
101
229
|
- webpack/components/ApplicationInstance/ApplicationInstanceSelectors.js
|
230
|
+
- webpack/components/ApplicationInstance/__fixtures__/applicationInstanceConfData_1.fixtures.js
|
231
|
+
- webpack/components/ApplicationInstance/__fixtures__/applicationInstanceReducer.fixtures.js
|
232
|
+
- webpack/components/ApplicationInstance/__tests__/ApplicationInstance.test.js
|
233
|
+
- webpack/components/ApplicationInstance/__tests__/ApplicationInstanceReducer.test.js
|
234
|
+
- webpack/components/ApplicationInstance/__tests__/ApplicationInstanceSelectors.test.js
|
235
|
+
- webpack/components/ApplicationInstance/__tests__/__snapshots__/ApplicationInstance.test.js.snap
|
236
|
+
- webpack/components/ApplicationInstance/__tests__/__snapshots__/ApplicationInstanceReducer.test.js.snap
|
237
|
+
- webpack/components/ApplicationInstance/__tests__/__snapshots__/ApplicationInstanceSelectors.test.js.snap
|
102
238
|
- webpack/components/ApplicationInstance/components/AppDefinitionSelector.js
|
103
239
|
- webpack/components/ApplicationInstance/components/Service.js
|
104
240
|
- webpack/components/ApplicationInstance/components/ServiceCounter.js
|
@@ -109,7 +245,17 @@ files:
|
|
109
245
|
- webpack/components/ApplicationInstanceReport/ApplicationInstanceReportConstants.js
|
110
246
|
- webpack/components/ApplicationInstanceReport/ApplicationInstanceReportReducer.js
|
111
247
|
- webpack/components/ApplicationInstanceReport/ApplicationInstanceReportSelectors.js
|
248
|
+
- webpack/components/ApplicationInstanceReport/__fixtures__/applicationInstanceReportData_1.fixtures.js
|
249
|
+
- webpack/components/ApplicationInstanceReport/__fixtures__/applicationInstanceReportReducer.fixtures.js
|
250
|
+
- webpack/components/ApplicationInstanceReport/__tests__/ApplicationInstanceReport.test.js
|
251
|
+
- webpack/components/ApplicationInstanceReport/__tests__/ApplicationInstanceReportReducer.test.js
|
252
|
+
- webpack/components/ApplicationInstanceReport/__tests__/ApplicationInstanceReportSelectors.test.js
|
253
|
+
- webpack/components/ApplicationInstanceReport/__tests__/__snapshots__/ApplicationInstanceReport.test.js.snap
|
254
|
+
- webpack/components/ApplicationInstanceReport/__tests__/__snapshots__/ApplicationInstanceReportReducer.test.js.snap
|
255
|
+
- webpack/components/ApplicationInstanceReport/__tests__/__snapshots__/ApplicationInstanceReportSelectors.test.js.snap
|
112
256
|
- webpack/components/ApplicationInstanceReport/components/ReportViewer.js
|
257
|
+
- webpack/components/ApplicationInstanceReport/components/__tests__/ReportViewer.test.js
|
258
|
+
- webpack/components/ApplicationInstanceReport/components/__tests__/__snapshots__/ReportViewer.test.js.snap
|
113
259
|
- webpack/components/ApplicationInstanceReport/index.js
|
114
260
|
- webpack/components/ParameterSelection/ParameterSelection.js
|
115
261
|
- webpack/components/ParameterSelection/ParameterSelection.scss
|
@@ -128,21 +274,44 @@ files:
|
|
128
274
|
- webpack/components/ParameterSelection/__tests__/__snapshots__/ParameterSelectionReducer.test.js.snap
|
129
275
|
- webpack/components/ParameterSelection/__tests__/__snapshots__/ParameterSelectionSelectors.test.js.snap
|
130
276
|
- webpack/components/ParameterSelection/index.js
|
277
|
+
- webpack/components/SyncGitRepo/SyncGitRepo.js
|
278
|
+
- webpack/components/SyncGitRepo/SyncGitRepo.scss
|
279
|
+
- webpack/components/SyncGitRepo/SyncGitRepoActions.js
|
280
|
+
- webpack/components/SyncGitRepo/SyncGitRepoConstants.js
|
281
|
+
- webpack/components/SyncGitRepo/SyncGitRepoReducer.js
|
282
|
+
- webpack/components/SyncGitRepo/SyncGitRepoSelectors.js
|
283
|
+
- webpack/components/SyncGitRepo/__fixtures__/syncGitRepoConfData_1.fixtures.js
|
284
|
+
- webpack/components/SyncGitRepo/__fixtures__/syncGitRepoReducer.fixtures.js
|
285
|
+
- webpack/components/SyncGitRepo/__tests__/SyncGitRepo.test.js
|
286
|
+
- webpack/components/SyncGitRepo/__tests__/SyncGitRepoReducer.test.js
|
287
|
+
- webpack/components/SyncGitRepo/__tests__/SyncGitRepoSelectors.test.js
|
288
|
+
- webpack/components/SyncGitRepo/__tests__/__snapshots__/SyncGitRepo.test.js.snap
|
289
|
+
- webpack/components/SyncGitRepo/__tests__/__snapshots__/SyncGitRepoReducer.test.js.snap
|
290
|
+
- webpack/components/SyncGitRepo/__tests__/__snapshots__/SyncGitRepoSelectors.test.js.snap
|
291
|
+
- webpack/components/SyncGitRepo/components/FormTextInput.js
|
292
|
+
- webpack/components/SyncGitRepo/components/ScmTypeSelector.js
|
293
|
+
- webpack/components/SyncGitRepo/index.js
|
131
294
|
- webpack/components/common/AddTableEntry.js
|
132
295
|
- webpack/components/common/DeleteTableEntry.js
|
296
|
+
- webpack/components/common/EditTableEntry.js
|
133
297
|
- webpack/components/common/ExtSelect.js
|
298
|
+
- webpack/components/common/ExtTextInput.js
|
299
|
+
- webpack/components/common/LockTableEntry.js
|
134
300
|
- webpack/components/common/RailsData.js
|
135
301
|
- webpack/components/common/__tests__/AddTableEntry.test.js
|
136
302
|
- webpack/components/common/__tests__/DeleteTableEntry.test.js
|
303
|
+
- webpack/components/common/__tests__/EditTableEntry.test.js
|
137
304
|
- webpack/components/common/__tests__/ExtSelect.test.js
|
305
|
+
- webpack/components/common/__tests__/LockTableEntry.test.js
|
138
306
|
- webpack/components/common/__tests__/RailsData.test.js
|
139
|
-
- webpack/components/common/__tests__/__snapshots__/AddParameter.test.js.snap
|
140
307
|
- webpack/components/common/__tests__/__snapshots__/AddTableEntry.test.js.snap
|
141
|
-
- webpack/components/common/__tests__/__snapshots__/DeleteParameter.test.js.snap
|
142
308
|
- webpack/components/common/__tests__/__snapshots__/DeleteTableEntry.test.js.snap
|
309
|
+
- webpack/components/common/__tests__/__snapshots__/EditTableEntry.test.js.snap
|
143
310
|
- webpack/components/common/__tests__/__snapshots__/ExtSelect.test.js.snap
|
311
|
+
- webpack/components/common/__tests__/__snapshots__/LockTableEntry.test.js.snap
|
144
312
|
- webpack/components/common/__tests__/__snapshots__/RailsData.test.js.snap
|
145
313
|
- webpack/helper.js
|
314
|
+
- webpack/helper.test.js
|
146
315
|
- webpack/index.js
|
147
316
|
- webpack/reducer.js
|
148
317
|
- webpack/test_setup.js
|
@@ -156,9 +325,9 @@ require_paths:
|
|
156
325
|
- lib
|
157
326
|
required_ruby_version: !ruby/object:Gem::Requirement
|
158
327
|
requirements:
|
159
|
-
- - "
|
328
|
+
- - "~>"
|
160
329
|
- !ruby/object:Gem::Version
|
161
|
-
version: '
|
330
|
+
version: '2.5'
|
162
331
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
163
332
|
requirements:
|
164
333
|
- - ">="
|
@@ -174,8 +343,13 @@ summary: Foreman plugin to provide application centric deployment and self servi
|
|
174
343
|
test_files:
|
175
344
|
- test/factories/foreman_acd_factories.rb
|
176
345
|
- test/test_plugin_helper.rb
|
346
|
+
- test/models/ansible_playbook_test.rb
|
177
347
|
- test/models/app_instance_test.rb
|
348
|
+
- test/models/concerns/host_extensions_test.rb
|
178
349
|
- test/models/app_definition_test.rb
|
350
|
+
- test/models/acd_provider_test.rb
|
351
|
+
- test/models/foreman_host_test.rb
|
179
352
|
- test/controllers/ui_acd_controller_test.rb
|
180
353
|
- test/controllers/app_definitions_controller_test.rb
|
181
354
|
- test/controllers/app_instances_controller_test.rb
|
355
|
+
- test/controllers/ansible_playbooks_controller_test.rb
|