diff --git a/src/js/components/deployment_plan/ConfigureContainerImagesStep.js b/src/js/components/deployment_plan/ConfigureContainerImagesStep.js
new file mode 100644
index 00000000..de00948d
--- /dev/null
+++ b/src/js/components/deployment_plan/ConfigureContainerImagesStep.js
@@ -0,0 +1,67 @@
+/**
+ * Copyright 2018 Red Hat Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may
+ * not use this file except in compliance with the License. You may obtain
+ * a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ */
+
+import React, { Fragment } from 'react';
+import PropTypes from 'prop-types';
+import { defineMessages, FormattedMessage, injectIntl } from 'react-intl';
+import { Link } from 'react-router-dom';
+
+import { Loader } from '../ui/Loader';
+import ContainerImagesConfigurationSummary from './ContainerImagesConfigurationSummary';
+
+const messages = defineMessages({
+ editConfigurationLink: {
+ id: 'ConfigureContainerImagesStep.editConfigurationLink',
+ defaultMessage: 'Edit Configuration'
+ },
+ loadingImagesConfiguration: {
+ id: 'ConfigureContainerImagesStep.loadingImagesConfiguration',
+ defaultMessage: 'Loading images configuration...'
+ }
+});
+
+const ConfigureContainerImagesStep = ({
+ planName,
+ intl: { formatMessage },
+ isFetchingParameters,
+ containerImagePrepareParameterSeed
+}) => (
+
+
+
+
+
+
+
+
+);
+ConfigureContainerImagesStep.propTypes = {
+ containerImagePrepareParameterSeed: PropTypes.object.isRequired,
+ intl: PropTypes.object.isRequired,
+ isFetchingParameters: PropTypes.bool.isRequired,
+ planName: PropTypes.string.isRequired
+};
+
+export default injectIntl(ConfigureContainerImagesStep);
diff --git a/src/js/components/deployment_plan/ContainerImagesConfigurationSummary.js b/src/js/components/deployment_plan/ContainerImagesConfigurationSummary.js
new file mode 100644
index 00000000..81da6642
--- /dev/null
+++ b/src/js/components/deployment_plan/ContainerImagesConfigurationSummary.js
@@ -0,0 +1,117 @@
+/**
+ * Copyright 2018 Red Hat Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may
+ * not use this file except in compliance with the License. You may obtain
+ * a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ */
+
+import React, { Fragment } from 'react';
+import PropTypes from 'prop-types';
+import { defineMessages, FormattedMessage, injectIntl } from 'react-intl';
+
+const messages = defineMessages({
+ editConfigurationLink: {
+ id: 'ConfigureContainerImagesStep.editConfigurationLink',
+ defaultMessage: 'Edit Configuration'
+ },
+ loadingImagesConfiguration: {
+ id: 'ConfigureContainerImagesStep.loadingImagesConfiguration',
+ defaultMessage: 'Loading images configuration...'
+ },
+ namespaceLabel: {
+ id: 'ContainerImagesConfigurationSummary.namespaceLabel',
+ defaultMessage: 'Image Template'
+ },
+ tagFromLabelLabel: {
+ id: 'ContainerImagesConfigurationSummary.tagFromLabelLabel',
+ defaultMessage: 'Tag from Label'
+ },
+ pushDestinationLabel: {
+ id: 'ContainerImagesConfigurationSummary.pushDestinationLabel',
+ defaultMessage: 'Push Destination'
+ },
+ pushDestinationUndercloud: {
+ id: 'ContainerImagesConfigurationSummary.pushDestinationUndercloud',
+ defaultMessage: 'Undercloud image registry'
+ },
+ containerImagesNotConfiguredYet: {
+ id: 'ContainerImagesConfigurationSummary.containerImagesNotConfiguredYet',
+ defaultMessage: 'Container images are not configured yet'
+ }
+});
+
+const ContainerImagesConfigurationSummary = ({
+ containerImagePrepareParameterSeed,
+ intl: { formatMessage }
+}) => {
+ if (Object.keys(containerImagePrepareParameterSeed).length > 0) {
+ const {
+ push_destination,
+ tag_from_label,
+ namespace,
+ name_prefix,
+ name_suffix,
+ tag
+ } = containerImagePrepareParameterSeed;
+ return (
+