diff --git a/pkg/sbombastic-image-vulnerability-scanner/constants/scan-interval-options.ts b/pkg/sbombastic-image-vulnerability-scanner/constants/scan-interval-options.ts index 0e50839..9864d50 100644 --- a/pkg/sbombastic-image-vulnerability-scanner/constants/scan-interval-options.ts +++ b/pkg/sbombastic-image-vulnerability-scanner/constants/scan-interval-options.ts @@ -1,17 +1,29 @@ -import { - RegistryTypeOptions, - ScanIntervalOptions -} from '@sbombastic-image-vulnerability-scanner/types/sbombastic-image-vulnerability-scanner'; +export const SCAN_INTERVALS = { + ONE_HOUR: '1h', + THREE_HOURS: '3h', + SIX_HOURS: '6h', + TWELVE_HOURS: '12h', + TWENTY_FOUR_HOURS: '24h', + MANUAL: '0s' +}; -export const SCAN_INTERVAL_OPTIONS: { label: string; value: ScanIntervalOptions }[] = [ - { label: 'Every 1 hour', value: '1h' }, - { label: 'Every 3 hours', value: '3h' }, - { label: 'Every 6 hours', value: '6h' }, - { label: 'Every 12 hours', value: '12h' }, - { label: 'Every 24 hours', value: '24h' }, - { label: 'Manual Scan', value: '0s' } // backend disables auto-scan +export const SCAN_INTERVAL_OPTIONS = [ + { label: 'Every 1 hour', value: SCAN_INTERVALS.ONE_HOUR }, + { label: 'Every 3 hours', value: SCAN_INTERVALS.THREE_HOURS }, + { label: 'Every 6 hours', value: SCAN_INTERVALS.SIX_HOURS }, + { label: 'Every 12 hours', value: SCAN_INTERVALS.TWELVE_HOURS }, + { label: 'Every 24 hours', value: SCAN_INTERVALS.TWENTY_FOUR_HOURS }, + { label: 'Manual Scan', value: SCAN_INTERVALS.MANUAL } // backend disables auto-scan ]; -export const REGISTRY_TYPE_OPTIONS: {label: string; value: RegistryTypeOptions }[] = [ - { label: 'Docker Hub', value: 'dockerhub'} +export const REGISTRY_TYPE = { + DOCKERHUB: 'dockerhub' +} + +export const REGISTRY_DEFAULT_URI = { + DOCKERHUB: "https://registry.hub.docker.com" +}; + +export const REGISTRY_TYPE_OPTIONS: {label: string; value: string }[] = [ + { label: 'Docker Hub', value: REGISTRY_TYPE.DOCKERHUB } ]; diff --git a/pkg/sbombastic-image-vulnerability-scanner/edit/sbombastic.rancher.io.registry.vue b/pkg/sbombastic-image-vulnerability-scanner/edit/sbombastic.rancher.io.registry.vue index 7a4a5c3..9477587 100644 --- a/pkg/sbombastic-image-vulnerability-scanner/edit/sbombastic.rancher.io.registry.vue +++ b/pkg/sbombastic-image-vulnerability-scanner/edit/sbombastic.rancher.io.registry.vue @@ -10,10 +10,10 @@ import LabeledSelect from '@shell/components/form/LabeledSelect'; import Banner from '@components/Banner/Banner.vue'; import { Checkbox } from '@components/Form/Checkbox'; import { MANAGEMENT, NAMESPACE } from '@shell/config/types'; -import UnitInput from '@shell/components/form/UnitInput.vue'; import { + REGISTRY_DEFAULT_URI, REGISTRY_TYPE_OPTIONS, - SCAN_INTERVAL_OPTIONS + SCAN_INTERVAL_OPTIONS, SCAN_INTERVALS } from "@sbombastic-image-vulnerability-scanner/constants/scan-interval-options"; export default { @@ -28,7 +28,6 @@ export default { SelectOrCreateAuthSecret, Banner, Checkbox, - UnitInput, LabeledSelect }, @@ -37,10 +36,7 @@ export default { data() { if (!this.value.spec) { this.value.spec = { - insecure: true, authSecret: '', - caBundle: '', - type: {}, uri: '', repositories: [], }; @@ -52,8 +48,6 @@ export default { } return { - selectedRegistryType: this.value.type || 'ecr', - secretNamespace: this.$store.getters['defaultNamespace'], inStore: this.$store.getters['currentProduct'].inStore, errors: null, }; @@ -69,7 +63,8 @@ export default { return this.$store.getters['currentProduct']?.inStore || MANAGEMENT; }, secretNamespace() { - const tryNames = ['cattle-system', 'default']; + const currentNamespace = this.value.metadata?.namespace? this.value.metadata.namespace: this.$store.getters['defaultNamespace']; + const tryNames = [ currentNamespace, 'default']; for ( const name of tryNames ) { if ( this.$store.getters['cluster/byId'](NAMESPACE, name) ) { @@ -87,19 +82,19 @@ export default { REGISTRY_TYPE_OPTIONS: function() { return REGISTRY_TYPE_OPTIONS; }, - - useProxy: { - get() { - return !this.value.spec.insecure; - }, - set(val) { - this.value.spec.insecure = !val; - } - } }, -} + // Set default values for creating a new registry configuration + created() { + const spec = this.value.spec; + + spec.scanInterval ??= SCAN_INTERVALS.THREE_HOURS; + spec.uri ??= REGISTRY_DEFAULT_URI.DOCKERHUB; + spec.uri = spec.uri || REGISTRY_DEFAULT_URI.DOCKERHUB; + } +} +