Skip to content

Commit

Permalink
Parameterize the default hook-runner image (#877)
Browse files Browse the repository at this point in the history
Let's us override this downstream to use a different value from upstream
and is configurable via the MigrationController CR
  • Loading branch information
eriknelson committed May 22, 2020
1 parent 83fb7b5 commit b96c395
Show file tree
Hide file tree
Showing 5 changed files with 16 additions and 5 deletions.
3 changes: 2 additions & 1 deletion config/config.dev.json.example
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,6 @@
"namespace": "openshift-migration",
"configNamespace": "openshift-config",
"oauthClientSecret": "bWlncmF0aW9ucy5vcGVuc2hpZnQuaW8K",
"discoveryApi": "https://discovery-api.supercluster.example.com"
"discoveryApi": "https://discovery-api.supercluster.example.com",
"hookRunnerImage": "quay.io/konveyor/hook-runner:latest"
}
1 change: 1 addition & 0 deletions config/webpack.dev.js
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ migMeta.oauth = {
migMeta.namespace = localConfig.namespace;
migMeta.configNamespace = localConfig.configNamespace;
migMeta.discoveryApi = localConfig.discoveryApi;
migMeta.hookRunnerImage = localConfig.hookRunnerImage;

htmlWebpackPluginOpt.migMeta = Buffer.from(JSON.stringify(migMeta)).toString('base64');
const PORT = process.env.PORT || localConfig.devServerPort;
Expand Down
1 change: 1 addition & 0 deletions src/app/plan/components/Wizard/HooksFormComponent.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ interface IHooksFormOtherProps {
cancelAddEditWatch: () => void;
resetAddEditState: () => void;
currentPlan: any;
defaultHookRunnerImage: string;
}
const hookNameKey = 'hookName';
const hookImageTypeKey = 'hookImageType';
Expand Down
5 changes: 2 additions & 3 deletions src/app/plan/components/Wizard/HooksFormContainer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,14 @@ interface IHooksFormContainerValues {
}
interface IHooksFormContainerOtherProps {
initialHookValues?: any;
defaultHookRunnerImage: string;
}

const defaultHookRunnerImage = 'quay.io/konveyor/hook-runner:latest';

const AddEditHooksFormContainer = withFormik<
IHooksFormContainerOtherProps,
IHooksFormContainerValues
>({
mapPropsToValues: ({ initialHookValues }) => {
mapPropsToValues: ({ initialHookValues, defaultHookRunnerImage }) => {
const values: IHooksFormContainerValues = {
hookName: '',
hookImageType: 'ansible',
Expand Down
11 changes: 10 additions & 1 deletion src/app/plan/components/Wizard/HooksStep.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import { Table, TableBody, TableHeader } from '@patternfly/react-table';
import { Spinner } from '@patternfly/react-core/dist/esm/experimental';
import spacing from '@patternfly/react-styles/css/utilities/Spacing/spacing';
import { PlusCircleIcon } from '@patternfly/react-icons';
import { connect } from 'react-redux';

import {
Grid,
Expand All @@ -23,6 +24,8 @@ import { IMigHook } from '../../../../client/resources/conversions';

const classNames = require('classnames');

const fallbackHookRunnerImage = 'quay.io/konveyor/hook-runner:latest';

const HooksStep = (props) => {
const {
updateHookRequest,
Expand All @@ -36,8 +39,10 @@ const HooksStep = (props) => {
watchHookAddEditStatus,
isAddHooksOpen,
setIsAddHooksOpen,
migMeta,
} = props;

const defaultHookRunnerImage = migMeta.hookRunnerImage || fallbackHookRunnerImage;
const [initialHookValues, setInitialHookValues] = useState<Partial<IMigHook>>({});

useEffect(() => {
Expand Down Expand Up @@ -142,6 +147,7 @@ const HooksStep = (props) => {
{isAddHooksOpen && (
<GridItem className={hooksFormContainerStyles}>
<HooksFormContainer
defaultHookRunnerImage={defaultHookRunnerImage}
onAddEditHookSubmit={onAddEditHookSubmit}
initialHookValues={initialHookValues}
setInitialHookValues={setInitialHookValues}
Expand Down Expand Up @@ -193,4 +199,7 @@ const HooksStep = (props) => {
</Grid>
);
};
export default HooksStep;

export default connect((state) => ({
migMeta: state.migMeta,
}))(HooksStep);

0 comments on commit b96c395

Please sign in to comment.