element', () => {
+ // https://on.cypress.io/select
+
+ // at first, no option should be selected
+ cy.get('.action-select')
+ .should('have.value', '--Select a fruit--')
+
+ // Select option(s) with matching text content
+ cy.get('.action-select').select('apples')
+ // confirm the apples were selected
+ // note that each value starts with "fr-" in our HTML
+ cy.get('.action-select').should('have.value', 'fr-apples')
+
+ cy.get('.action-select-multiple')
+ .select(['apples', 'oranges', 'bananas'])
+ // when getting multiple values, invoke "val" method first
+ .invoke('val')
+ .should('deep.equal', ['fr-apples', 'fr-oranges', 'fr-bananas'])
+
+ // Select option(s) with matching value
+ cy.get('.action-select').select('fr-bananas')
+ // can attach an assertion right away to the element
+ .should('have.value', 'fr-bananas')
+
+ cy.get('.action-select-multiple')
+ .select(['fr-apples', 'fr-oranges', 'fr-bananas'])
+ .invoke('val')
+ .should('deep.equal', ['fr-apples', 'fr-oranges', 'fr-bananas'])
+
+ // assert the selected values include oranges
+ cy.get('.action-select-multiple')
+ .invoke('val').should('include', 'fr-oranges')
+ })
+
+ it('.scrollIntoView() - scroll an element into view', () => {
+ // https://on.cypress.io/scrollintoview
+
+ // normally all of these buttons are hidden,
+ // because they're not within
+ // the viewable area of their parent
+ // (we need to scroll to see them)
+ cy.get('#scroll-horizontal button')
+ .should('not.be.visible')
+
+ // scroll the button into view, as if the user had scrolled
+ cy.get('#scroll-horizontal button').scrollIntoView()
+ .should('be.visible')
+
+ cy.get('#scroll-vertical button')
+ .should('not.be.visible')
+
+ // Cypress handles the scroll direction needed
+ cy.get('#scroll-vertical button').scrollIntoView()
+ .should('be.visible')
+
+ cy.get('#scroll-both button')
+ .should('not.be.visible')
+
+ // Cypress knows to scroll to the right and down
+ cy.get('#scroll-both button').scrollIntoView()
+ .should('be.visible')
+ })
+
+ it('.trigger() - trigger an event on a DOM element', () => {
+ // https://on.cypress.io/trigger
+
+ // To interact with a range input (slider)
+ // we need to set its value & trigger the
+ // event to signal it changed
+
+ // Here, we invoke jQuery's val() method to set
+ // the value and trigger the 'change' event
+ cy.get('.trigger-input-range')
+ .invoke('val', 25)
+ .trigger('change')
+ .get('input[type=range]').siblings('p')
+ .should('have.text', '25')
+ })
+
+ it('cy.scrollTo() - scroll the window or element to a position', () => {
+ // https://on.cypress.io/scrollto
+
+ // You can scroll to 9 specific positions of an element:
+ // -----------------------------------
+ // | topLeft top topRight |
+ // | |
+ // | |
+ // | |
+ // | left center right |
+ // | |
+ // | |
+ // | |
+ // | bottomLeft bottom bottomRight |
+ // -----------------------------------
+
+ // if you chain .scrollTo() off of cy, we will
+ // scroll the entire window
+ cy.scrollTo('bottom')
+
+ cy.get('#scrollable-horizontal').scrollTo('right')
+
+ // or you can scroll to a specific coordinate:
+ // (x axis, y axis) in pixels
+ cy.get('#scrollable-vertical').scrollTo(250, 250)
+
+ // or you can scroll to a specific percentage
+ // of the (width, height) of the element
+ cy.get('#scrollable-both').scrollTo('75%', '25%')
+
+ // control the easing of the scroll (default is 'swing')
+ cy.get('#scrollable-vertical').scrollTo('center', { easing: 'linear' })
+
+ // control the duration of the scroll (in ms)
+ cy.get('#scrollable-both').scrollTo('center', { duration: 2000 })
+ })
+})
diff --git a/src/frontend/cypress/e2e/2-advanced-examples/aliasing.cy.js b/src/frontend/cypress/e2e/2-advanced-examples/aliasing.cy.js
new file mode 100644
index 00000000..a02fb2bb
--- /dev/null
+++ b/src/frontend/cypress/e2e/2-advanced-examples/aliasing.cy.js
@@ -0,0 +1,39 @@
+///
+
+context('Aliasing', () => {
+ beforeEach(() => {
+ cy.visit('https://example.cypress.io/commands/aliasing')
+ })
+
+ it('.as() - alias a DOM element for later use', () => {
+ // https://on.cypress.io/as
+
+ // Alias a DOM element for use later
+ // We don't have to traverse to the element
+ // later in our code, we reference it with @
+
+ cy.get('.as-table').find('tbody>tr')
+ .first().find('td').first()
+ .find('button').as('firstBtn')
+
+ // when we reference the alias, we place an
+ // @ in front of its name
+ cy.get('@firstBtn').click()
+
+ cy.get('@firstBtn')
+ .should('have.class', 'btn-success')
+ .and('contain', 'Changed')
+ })
+
+ it('.as() - alias a route for later use', () => {
+ // Alias the route to wait for its response
+ cy.intercept('GET', '**/comments/*').as('getComment')
+
+ // we have code that gets a comment when
+ // the button is clicked in scripts.js
+ cy.get('.network-btn').click()
+
+ // https://on.cypress.io/wait
+ cy.wait('@getComment').its('response.statusCode').should('eq', 200)
+ })
+})
diff --git a/src/frontend/cypress/e2e/2-advanced-examples/assertions.cy.js b/src/frontend/cypress/e2e/2-advanced-examples/assertions.cy.js
new file mode 100644
index 00000000..79e3d0e9
--- /dev/null
+++ b/src/frontend/cypress/e2e/2-advanced-examples/assertions.cy.js
@@ -0,0 +1,176 @@
+///
+
+context('Assertions', () => {
+ beforeEach(() => {
+ cy.visit('https://example.cypress.io/commands/assertions')
+ })
+
+ describe('Implicit Assertions', () => {
+ it('.should() - make an assertion about the current subject', () => {
+ // https://on.cypress.io/should
+ cy.get('.assertion-table')
+ .find('tbody tr:last')
+ .should('have.class', 'success')
+ .find('td')
+ .first()
+ // checking the text of the element in various ways
+ .should('have.text', 'Column content')
+ .should('contain', 'Column content')
+ .should('have.html', 'Column content')
+ // chai-jquery uses "is()" to check if element matches selector
+ .should('match', 'td')
+ // to match text content against a regular expression
+ // first need to invoke jQuery method text()
+ // and then match using regular expression
+ .invoke('text')
+ .should('match', /column content/i)
+
+ // a better way to check element's text content against a regular expression
+ // is to use "cy.contains"
+ // https://on.cypress.io/contains
+ cy.get('.assertion-table')
+ .find('tbody tr:last')
+ // finds first element with text content matching regular expression
+ .contains('td', /column content/i)
+ .should('be.visible')
+
+ // for more information about asserting element's text
+ // see https://on.cypress.io/using-cypress-faq#How-do-I-get-an-element’s-text-contents
+ })
+
+ it('.and() - chain multiple assertions together', () => {
+ // https://on.cypress.io/and
+ cy.get('.assertions-link')
+ .should('have.class', 'active')
+ .and('have.attr', 'href')
+ .and('include', 'cypress.io')
+ })
+ })
+
+ describe('Explicit Assertions', () => {
+ // https://on.cypress.io/assertions
+ it('expect - make an assertion about a specified subject', () => {
+ // We can use Chai's BDD style assertions
+ expect(true).to.be.true
+ const o = { foo: 'bar' }
+
+ expect(o).to.equal(o)
+ expect(o).to.deep.equal({ foo: 'bar' })
+ // matching text using regular expression
+ expect('FooBar').to.match(/bar$/i)
+ })
+
+ it('pass your own callback function to should()', () => {
+ // Pass a function to should that can have any number
+ // of explicit assertions within it.
+ // The ".should(cb)" function will be retried
+ // automatically until it passes all your explicit assertions or times out.
+ cy.get('.assertions-p')
+ .find('p')
+ .should(($p) => {
+ // https://on.cypress.io/$
+ // return an array of texts from all of the p's
+ const texts = $p.map((i, el) => Cypress.$(el).text())
+
+ // jquery map returns jquery object
+ // and .get() convert this to simple array
+ const paragraphs = texts.get()
+
+ // array should have length of 3
+ expect(paragraphs, 'has 3 paragraphs').to.have.length(3)
+
+ // use second argument to expect(...) to provide clear
+ // message with each assertion
+ expect(paragraphs, 'has expected text in each paragraph').to.deep.eq([
+ 'Some text from first p',
+ 'More text from second p',
+ 'And even more text from third p',
+ ])
+ })
+ })
+
+ it('finds element by class name regex', () => {
+ cy.get('.docs-header')
+ .find('div')
+ // .should(cb) callback function will be retried
+ .should(($div) => {
+ expect($div).to.have.length(1)
+
+ const className = $div[0].className
+
+ expect(className).to.match(/heading-/)
+ })
+ // .then(cb) callback is not retried,
+ // it either passes or fails
+ .then(($div) => {
+ expect($div, 'text content').to.have.text('Introduction')
+ })
+ })
+
+ it('can throw any error', () => {
+ cy.get('.docs-header')
+ .find('div')
+ .should(($div) => {
+ if ($div.length !== 1) {
+ // you can throw your own errors
+ throw new Error('Did not find 1 element')
+ }
+
+ const className = $div[0].className
+
+ if (!className.match(/heading-/)) {
+ throw new Error(`Could not find class "heading-" in ${className}`)
+ }
+ })
+ })
+
+ it('matches unknown text between two elements', () => {
+ /**
+ * Text from the first element.
+ * @type {string}
+ */
+ let text
+
+ /**
+ * Normalizes passed text,
+ * useful before comparing text with spaces and different capitalization.
+ * @param {string} s Text to normalize
+ */
+ const normalizeText = (s) => s.replace(/\s/g, '').toLowerCase()
+
+ cy.get('.two-elements')
+ .find('.first')
+ .then(($first) => {
+ // save text from the first element
+ text = normalizeText($first.text())
+ })
+
+ cy.get('.two-elements')
+ .find('.second')
+ .should(($div) => {
+ // we can massage text before comparing
+ const secondText = normalizeText($div.text())
+
+ expect(secondText, 'second text').to.equal(text)
+ })
+ })
+
+ it('assert - assert shape of an object', () => {
+ const person = {
+ name: 'Joe',
+ age: 20,
+ }
+
+ assert.isObject(person, 'value is object')
+ })
+
+ it('retries the should callback until assertions pass', () => {
+ cy.get('#random-number')
+ .should(($div) => {
+ const n = parseFloat($div.text())
+
+ expect(n).to.be.gte(1).and.be.lte(10)
+ })
+ })
+ })
+})
diff --git a/src/frontend/cypress/e2e/2-advanced-examples/connectors.cy.js b/src/frontend/cypress/e2e/2-advanced-examples/connectors.cy.js
new file mode 100644
index 00000000..ae879918
--- /dev/null
+++ b/src/frontend/cypress/e2e/2-advanced-examples/connectors.cy.js
@@ -0,0 +1,97 @@
+///
+
+context('Connectors', () => {
+ beforeEach(() => {
+ cy.visit('https://example.cypress.io/commands/connectors')
+ })
+
+ it('.each() - iterate over an array of elements', () => {
+ // https://on.cypress.io/each
+ cy.get('.connectors-each-ul>li')
+ .each(($el, index, $list) => {
+ console.log($el, index, $list)
+ })
+ })
+
+ it('.its() - get properties on the current subject', () => {
+ // https://on.cypress.io/its
+ cy.get('.connectors-its-ul>li')
+ // calls the 'length' property yielding that value
+ .its('length')
+ .should('be.gt', 2)
+ })
+
+ it('.invoke() - invoke a function on the current subject', () => {
+ // our div is hidden in our script.js
+ // $('.connectors-div').hide()
+
+ // https://on.cypress.io/invoke
+ cy.get('.connectors-div').should('be.hidden')
+ // call the jquery method 'show' on the 'div.container'
+ .invoke('show')
+ .should('be.visible')
+ })
+
+ it('.spread() - spread an array as individual args to callback function', () => {
+ // https://on.cypress.io/spread
+ const arr = ['foo', 'bar', 'baz']
+
+ cy.wrap(arr).spread((foo, bar, baz) => {
+ expect(foo).to.eq('foo')
+ expect(bar).to.eq('bar')
+ expect(baz).to.eq('baz')
+ })
+ })
+
+ describe('.then()', () => {
+ it('invokes a callback function with the current subject', () => {
+ // https://on.cypress.io/then
+ cy.get('.connectors-list > li')
+ .then(($lis) => {
+ expect($lis, '3 items').to.have.length(3)
+ expect($lis.eq(0), 'first item').to.contain('Walk the dog')
+ expect($lis.eq(1), 'second item').to.contain('Feed the cat')
+ expect($lis.eq(2), 'third item').to.contain('Write JavaScript')
+ })
+ })
+
+ it('yields the returned value to the next command', () => {
+ cy.wrap(1)
+ .then((num) => {
+ expect(num).to.equal(1)
+
+ return 2
+ })
+ .then((num) => {
+ expect(num).to.equal(2)
+ })
+ })
+
+ it('yields the original subject without return', () => {
+ cy.wrap(1)
+ .then((num) => {
+ expect(num).to.equal(1)
+ // note that nothing is returned from this callback
+ })
+ .then((num) => {
+ // this callback receives the original unchanged value 1
+ expect(num).to.equal(1)
+ })
+ })
+
+ it('yields the value yielded by the last Cypress command inside', () => {
+ cy.wrap(1)
+ .then((num) => {
+ expect(num).to.equal(1)
+ // note how we run a Cypress command
+ // the result yielded by this Cypress command
+ // will be passed to the second ".then"
+ cy.wrap(2)
+ })
+ .then((num) => {
+ // this callback receives the value yielded by "cy.wrap(2)"
+ expect(num).to.equal(2)
+ })
+ })
+ })
+})
diff --git a/src/frontend/cypress/e2e/2-advanced-examples/cookies.cy.js b/src/frontend/cypress/e2e/2-advanced-examples/cookies.cy.js
new file mode 100644
index 00000000..31587ff9
--- /dev/null
+++ b/src/frontend/cypress/e2e/2-advanced-examples/cookies.cy.js
@@ -0,0 +1,77 @@
+///
+
+context('Cookies', () => {
+ beforeEach(() => {
+ Cypress.Cookies.debug(true)
+
+ cy.visit('https://example.cypress.io/commands/cookies')
+
+ // clear cookies again after visiting to remove
+ // any 3rd party cookies picked up such as cloudflare
+ cy.clearCookies()
+ })
+
+ it('cy.getCookie() - get a browser cookie', () => {
+ // https://on.cypress.io/getcookie
+ cy.get('#getCookie .set-a-cookie').click()
+
+ // cy.getCookie() yields a cookie object
+ cy.getCookie('token').should('have.property', 'value', '123ABC')
+ })
+
+ it('cy.getCookies() - get browser cookies', () => {
+ // https://on.cypress.io/getcookies
+ cy.getCookies().should('be.empty')
+
+ cy.get('#getCookies .set-a-cookie').click()
+
+ // cy.getCookies() yields an array of cookies
+ cy.getCookies().should('have.length', 1).should((cookies) => {
+ // each cookie has these properties
+ expect(cookies[0]).to.have.property('name', 'token')
+ expect(cookies[0]).to.have.property('value', '123ABC')
+ expect(cookies[0]).to.have.property('httpOnly', false)
+ expect(cookies[0]).to.have.property('secure', false)
+ expect(cookies[0]).to.have.property('domain')
+ expect(cookies[0]).to.have.property('path')
+ })
+ })
+
+ it('cy.setCookie() - set a browser cookie', () => {
+ // https://on.cypress.io/setcookie
+ cy.getCookies().should('be.empty')
+
+ cy.setCookie('foo', 'bar')
+
+ // cy.getCookie() yields a cookie object
+ cy.getCookie('foo').should('have.property', 'value', 'bar')
+ })
+
+ it('cy.clearCookie() - clear a browser cookie', () => {
+ // https://on.cypress.io/clearcookie
+ cy.getCookie('token').should('be.null')
+
+ cy.get('#clearCookie .set-a-cookie').click()
+
+ cy.getCookie('token').should('have.property', 'value', '123ABC')
+
+ // cy.clearCookies() yields null
+ cy.clearCookie('token').should('be.null')
+
+ cy.getCookie('token').should('be.null')
+ })
+
+ it('cy.clearCookies() - clear browser cookies', () => {
+ // https://on.cypress.io/clearcookies
+ cy.getCookies().should('be.empty')
+
+ cy.get('#clearCookies .set-a-cookie').click()
+
+ cy.getCookies().should('have.length', 1)
+
+ // cy.clearCookies() yields null
+ cy.clearCookies()
+
+ cy.getCookies().should('be.empty')
+ })
+})
diff --git a/src/frontend/cypress/e2e/2-advanced-examples/cypress_api.cy.js b/src/frontend/cypress/e2e/2-advanced-examples/cypress_api.cy.js
new file mode 100644
index 00000000..39faaac1
--- /dev/null
+++ b/src/frontend/cypress/e2e/2-advanced-examples/cypress_api.cy.js
@@ -0,0 +1,182 @@
+///
+
+context('Cypress.Commands', () => {
+ beforeEach(() => {
+ cy.visit('https://example.cypress.io/cypress-api')
+ })
+
+ // https://on.cypress.io/custom-commands
+
+ it('.add() - create a custom command', () => {
+ Cypress.Commands.add('console', {
+ prevSubject: true,
+ }, (subject, method) => {
+ // the previous subject is automatically received
+ // and the commands arguments are shifted
+
+ // allow us to change the console method used
+ method = method || 'log'
+
+ // log the subject to the console
+ console[method]('The subject is', subject)
+
+ // whatever we return becomes the new subject
+ // we don't want to change the subject so
+ // we return whatever was passed in
+ return subject
+ })
+
+ cy.get('button').console('info').then(($button) => {
+ // subject is still $button
+ })
+ })
+})
+
+context('Cypress.Cookies', () => {
+ beforeEach(() => {
+ cy.visit('https://example.cypress.io/cypress-api')
+ })
+
+ // https://on.cypress.io/cookies
+ it('.debug() - enable or disable debugging', () => {
+ Cypress.Cookies.debug(true)
+
+ // Cypress will now log in the console when
+ // cookies are set or cleared
+ cy.setCookie('fakeCookie', '123ABC')
+ cy.clearCookie('fakeCookie')
+ cy.setCookie('fakeCookie', '123ABC')
+ cy.clearCookie('fakeCookie')
+ cy.setCookie('fakeCookie', '123ABC')
+ })
+})
+
+context('Cypress.arch', () => {
+ beforeEach(() => {
+ cy.visit('https://example.cypress.io/cypress-api')
+ })
+
+ it('Get CPU architecture name of underlying OS', () => {
+ // https://on.cypress.io/arch
+ expect(Cypress.arch).to.exist
+ })
+})
+
+context('Cypress.config()', () => {
+ beforeEach(() => {
+ cy.visit('https://example.cypress.io/cypress-api')
+ })
+
+ it('Get and set configuration options', () => {
+ // https://on.cypress.io/config
+ let myConfig = Cypress.config()
+
+ expect(myConfig).to.have.property('animationDistanceThreshold', 5)
+ expect(myConfig).to.have.property('baseUrl', null)
+ expect(myConfig).to.have.property('defaultCommandTimeout', 4000)
+ expect(myConfig).to.have.property('requestTimeout', 5000)
+ expect(myConfig).to.have.property('responseTimeout', 30000)
+ expect(myConfig).to.have.property('viewportHeight', 660)
+ expect(myConfig).to.have.property('viewportWidth', 1000)
+ expect(myConfig).to.have.property('pageLoadTimeout', 60000)
+ expect(myConfig).to.have.property('waitForAnimations', true)
+
+ expect(Cypress.config('pageLoadTimeout')).to.eq(60000)
+
+ // this will change the config for the rest of your tests!
+ Cypress.config('pageLoadTimeout', 20000)
+
+ expect(Cypress.config('pageLoadTimeout')).to.eq(20000)
+
+ Cypress.config('pageLoadTimeout', 60000)
+ })
+})
+
+context('Cypress.dom', () => {
+ beforeEach(() => {
+ cy.visit('https://example.cypress.io/cypress-api')
+ })
+
+ // https://on.cypress.io/dom
+ it('.isHidden() - determine if a DOM element is hidden', () => {
+ let hiddenP = Cypress.$('.dom-p p.hidden').get(0)
+ let visibleP = Cypress.$('.dom-p p.visible').get(0)
+
+ // our first paragraph has css class 'hidden'
+ expect(Cypress.dom.isHidden(hiddenP)).to.be.true
+ expect(Cypress.dom.isHidden(visibleP)).to.be.false
+ })
+})
+
+context('Cypress.env()', () => {
+ beforeEach(() => {
+ cy.visit('https://example.cypress.io/cypress-api')
+ })
+
+ // We can set environment variables for highly dynamic values
+
+ // https://on.cypress.io/environment-variables
+ it('Get environment variables', () => {
+ // https://on.cypress.io/env
+ // set multiple environment variables
+ Cypress.env({
+ host: 'veronica.dev.local',
+ api_server: 'http://localhost:8888/v1/',
+ })
+
+ // get environment variable
+ expect(Cypress.env('host')).to.eq('veronica.dev.local')
+
+ // set environment variable
+ Cypress.env('api_server', 'http://localhost:8888/v2/')
+ expect(Cypress.env('api_server')).to.eq('http://localhost:8888/v2/')
+
+ // get all environment variable
+ expect(Cypress.env()).to.have.property('host', 'veronica.dev.local')
+ expect(Cypress.env()).to.have.property('api_server', 'http://localhost:8888/v2/')
+ })
+})
+
+context('Cypress.log', () => {
+ beforeEach(() => {
+ cy.visit('https://example.cypress.io/cypress-api')
+ })
+
+ it('Control what is printed to the Command Log', () => {
+ // https://on.cypress.io/cypress-log
+ })
+})
+
+context('Cypress.platform', () => {
+ beforeEach(() => {
+ cy.visit('https://example.cypress.io/cypress-api')
+ })
+
+ it('Get underlying OS name', () => {
+ // https://on.cypress.io/platform
+ expect(Cypress.platform).to.be.exist
+ })
+})
+
+context('Cypress.version', () => {
+ beforeEach(() => {
+ cy.visit('https://example.cypress.io/cypress-api')
+ })
+
+ it('Get current version of Cypress being run', () => {
+ // https://on.cypress.io/version
+ expect(Cypress.version).to.be.exist
+ })
+})
+
+context('Cypress.spec', () => {
+ beforeEach(() => {
+ cy.visit('https://example.cypress.io/cypress-api')
+ })
+
+ it('Get current spec information', () => {
+ // https://on.cypress.io/spec
+ // wrap the object so we can inspect it easily by clicking in the command log
+ cy.wrap(Cypress.spec).should('include.keys', ['name', 'relative', 'absolute'])
+ })
+})
diff --git a/src/frontend/cypress/e2e/2-advanced-examples/files.cy.js b/src/frontend/cypress/e2e/2-advanced-examples/files.cy.js
new file mode 100644
index 00000000..d449c756
--- /dev/null
+++ b/src/frontend/cypress/e2e/2-advanced-examples/files.cy.js
@@ -0,0 +1,87 @@
+///
+
+/// JSON fixture file can be loaded directly using
+// the built-in JavaScript bundler
+const requiredExample = require('../../fixtures/example')
+
+context('Files', () => {
+ beforeEach(() => {
+ cy.visit('https://example.cypress.io/commands/files')
+ })
+
+ beforeEach(() => {
+ // load example.json fixture file and store
+ // in the test context object
+ cy.fixture('example.json').as('example')
+ })
+
+ it('cy.fixture() - load a fixture', () => {
+ // https://on.cypress.io/fixture
+
+ // Instead of writing a response inline you can
+ // use a fixture file's content.
+
+ // when application makes an Ajax request matching "GET **/comments/*"
+ // Cypress will intercept it and reply with the object in `example.json` fixture
+ cy.intercept('GET', '**/comments/*', { fixture: 'example.json' }).as('getComment')
+
+ // we have code that gets a comment when
+ // the button is clicked in scripts.js
+ cy.get('.fixture-btn').click()
+
+ cy.wait('@getComment').its('response.body')
+ .should('have.property', 'name')
+ .and('include', 'Using fixtures to represent data')
+ })
+
+ it('cy.fixture() or require - load a fixture', function () {
+ // we are inside the "function () { ... }"
+ // callback and can use test context object "this"
+ // "this.example" was loaded in "beforeEach" function callback
+ expect(this.example, 'fixture in the test context')
+ .to.deep.equal(requiredExample)
+
+ // or use "cy.wrap" and "should('deep.equal', ...)" assertion
+ cy.wrap(this.example)
+ .should('deep.equal', requiredExample)
+ })
+
+ it('cy.readFile() - read file contents', () => {
+ // https://on.cypress.io/readfile
+
+ // You can read a file and yield its contents
+ // The filePath is relative to your project's root.
+ cy.readFile(Cypress.config('configFile')).then((config) => {
+ expect(config).to.be.an('string')
+ })
+ })
+
+ it('cy.writeFile() - write to a file', () => {
+ // https://on.cypress.io/writefile
+
+ // You can write to a file
+
+ // Use a response from a request to automatically
+ // generate a fixture file for use later
+ cy.request('https://jsonplaceholder.cypress.io/users')
+ .then((response) => {
+ cy.writeFile('cypress/fixtures/users.json', response.body)
+ })
+
+ cy.fixture('users').should((users) => {
+ expect(users[0].name).to.exist
+ })
+
+ // JavaScript arrays and objects are stringified
+ // and formatted into text.
+ cy.writeFile('cypress/fixtures/profile.json', {
+ id: 8739,
+ name: 'Jane',
+ email: 'jane@example.com',
+ })
+
+ cy.fixture('profile').should((profile) => {
+ expect(profile.name).to.eq('Jane')
+ })
+ })
+})
diff --git a/src/frontend/cypress/e2e/2-advanced-examples/location.cy.js b/src/frontend/cypress/e2e/2-advanced-examples/location.cy.js
new file mode 100644
index 00000000..299867da
--- /dev/null
+++ b/src/frontend/cypress/e2e/2-advanced-examples/location.cy.js
@@ -0,0 +1,32 @@
+///
+
+context('Location', () => {
+ beforeEach(() => {
+ cy.visit('https://example.cypress.io/commands/location')
+ })
+
+ it('cy.hash() - get the current URL hash', () => {
+ // https://on.cypress.io/hash
+ cy.hash().should('be.empty')
+ })
+
+ it('cy.location() - get window.location', () => {
+ // https://on.cypress.io/location
+ cy.location().should((location) => {
+ expect(location.hash).to.be.empty
+ expect(location.href).to.eq('https://example.cypress.io/commands/location')
+ expect(location.host).to.eq('example.cypress.io')
+ expect(location.hostname).to.eq('example.cypress.io')
+ expect(location.origin).to.eq('https://example.cypress.io')
+ expect(location.pathname).to.eq('/commands/location')
+ expect(location.port).to.eq('')
+ expect(location.protocol).to.eq('https:')
+ expect(location.search).to.be.empty
+ })
+ })
+
+ it('cy.url() - get the current URL', () => {
+ // https://on.cypress.io/url
+ cy.url().should('eq', 'https://example.cypress.io/commands/location')
+ })
+})
diff --git a/src/frontend/cypress/e2e/2-advanced-examples/misc.cy.js b/src/frontend/cypress/e2e/2-advanced-examples/misc.cy.js
new file mode 100644
index 00000000..087d33c0
--- /dev/null
+++ b/src/frontend/cypress/e2e/2-advanced-examples/misc.cy.js
@@ -0,0 +1,104 @@
+///
+
+context('Misc', () => {
+ beforeEach(() => {
+ cy.visit('https://example.cypress.io/commands/misc')
+ })
+
+ it('.end() - end the command chain', () => {
+ // https://on.cypress.io/end
+
+ // cy.end is useful when you want to end a chain of commands
+ // and force Cypress to re-query from the root element
+ cy.get('.misc-table').within(() => {
+ // ends the current chain and yields null
+ cy.contains('Cheryl').click().end()
+
+ // queries the entire table again
+ cy.contains('Charles').click()
+ })
+ })
+
+ it('cy.exec() - execute a system command', () => {
+ // execute a system command.
+ // so you can take actions necessary for
+ // your test outside the scope of Cypress.
+ // https://on.cypress.io/exec
+
+ // we can use Cypress.platform string to
+ // select appropriate command
+ // https://on.cypress/io/platform
+ cy.log(`Platform ${Cypress.platform} architecture ${Cypress.arch}`)
+
+ // on CircleCI Windows build machines we have a failure to run bash shell
+ // https://github.com/cypress-io/cypress/issues/5169
+ // so skip some of the tests by passing flag "--env circle=true"
+ const isCircleOnWindows = Cypress.platform === 'win32' && Cypress.env('circle')
+
+ if (isCircleOnWindows) {
+ cy.log('Skipping test on CircleCI')
+
+ return
+ }
+
+ // cy.exec problem on Shippable CI
+ // https://github.com/cypress-io/cypress/issues/6718
+ const isShippable = Cypress.platform === 'linux' && Cypress.env('shippable')
+
+ if (isShippable) {
+ cy.log('Skipping test on ShippableCI')
+
+ return
+ }
+
+ cy.exec('echo Jane Lane')
+ .its('stdout').should('contain', 'Jane Lane')
+
+ if (Cypress.platform === 'win32') {
+ cy.exec(`print ${Cypress.config('configFile')}`)
+ .its('stderr').should('be.empty')
+ } else {
+ cy.exec(`cat ${Cypress.config('configFile')}`)
+ .its('stderr').should('be.empty')
+
+ cy.exec('pwd')
+ .its('code').should('eq', 0)
+ }
+ })
+
+ it('cy.focused() - get the DOM element that has focus', () => {
+ // https://on.cypress.io/focused
+ cy.get('.misc-form').find('#name').click()
+ cy.focused().should('have.id', 'name')
+
+ cy.get('.misc-form').find('#description').click()
+ cy.focused().should('have.id', 'description')
+ })
+
+ context('Cypress.Screenshot', function () {
+ it('cy.screenshot() - take a screenshot', () => {
+ // https://on.cypress.io/screenshot
+ cy.screenshot('my-image')
+ })
+
+ it('Cypress.Screenshot.defaults() - change default config of screenshots', function () {
+ Cypress.Screenshot.defaults({
+ blackout: ['.foo'],
+ capture: 'viewport',
+ clip: { x: 0, y: 0, width: 200, height: 200 },
+ scale: false,
+ disableTimersAndAnimations: true,
+ screenshotOnRunFailure: true,
+ onBeforeScreenshot () { },
+ onAfterScreenshot () { },
+ })
+ })
+ })
+
+ it('cy.wrap() - wrap an object', () => {
+ // https://on.cypress.io/wrap
+ cy.wrap({ foo: 'bar' })
+ .should('have.property', 'foo')
+ .and('include', 'bar')
+ })
+})
diff --git a/src/frontend/cypress/e2e/2-advanced-examples/navigation.cy.js b/src/frontend/cypress/e2e/2-advanced-examples/navigation.cy.js
new file mode 100644
index 00000000..b85a4689
--- /dev/null
+++ b/src/frontend/cypress/e2e/2-advanced-examples/navigation.cy.js
@@ -0,0 +1,56 @@
+///
+
+context('Navigation', () => {
+ beforeEach(() => {
+ cy.visit('https://example.cypress.io')
+ cy.get('.navbar-nav').contains('Commands').click()
+ cy.get('.dropdown-menu').contains('Navigation').click()
+ })
+
+ it('cy.go() - go back or forward in the browser\'s history', () => {
+ // https://on.cypress.io/go
+
+ cy.location('pathname').should('include', 'navigation')
+
+ cy.go('back')
+ cy.location('pathname').should('not.include', 'navigation')
+
+ cy.go('forward')
+ cy.location('pathname').should('include', 'navigation')
+
+ // clicking back
+ cy.go(-1)
+ cy.location('pathname').should('not.include', 'navigation')
+
+ // clicking forward
+ cy.go(1)
+ cy.location('pathname').should('include', 'navigation')
+ })
+
+ it('cy.reload() - reload the page', () => {
+ // https://on.cypress.io/reload
+ cy.reload()
+
+ // reload the page without using the cache
+ cy.reload(true)
+ })
+
+ it('cy.visit() - visit a remote url', () => {
+ // https://on.cypress.io/visit
+
+ // Visit any sub-domain of your current domain
+
+ // Pass options to the visit
+ cy.visit('https://example.cypress.io/commands/navigation', {
+ timeout: 50000, // increase total time for the visit to resolve
+ onBeforeLoad (contentWindow) {
+ // contentWindow is the remote page's window object
+ expect(typeof contentWindow === 'object').to.be.true
+ },
+ onLoad (contentWindow) {
+ // contentWindow is the remote page's window object
+ expect(typeof contentWindow === 'object').to.be.true
+ },
+ })
+ })
+})
diff --git a/src/frontend/cypress/e2e/2-advanced-examples/network_requests.cy.js b/src/frontend/cypress/e2e/2-advanced-examples/network_requests.cy.js
new file mode 100644
index 00000000..11213a0e
--- /dev/null
+++ b/src/frontend/cypress/e2e/2-advanced-examples/network_requests.cy.js
@@ -0,0 +1,163 @@
+///
+
+context('Network Requests', () => {
+ beforeEach(() => {
+ cy.visit('https://example.cypress.io/commands/network-requests')
+ })
+
+ // Manage HTTP requests in your app
+
+ it('cy.request() - make an XHR request', () => {
+ // https://on.cypress.io/request
+ cy.request('https://jsonplaceholder.cypress.io/comments')
+ .should((response) => {
+ expect(response.status).to.eq(200)
+ // the server sometimes gets an extra comment posted from another machine
+ // which gets returned as 1 extra object
+ expect(response.body).to.have.property('length').and.be.oneOf([500, 501])
+ expect(response).to.have.property('headers')
+ expect(response).to.have.property('duration')
+ })
+ })
+
+ it('cy.request() - verify response using BDD syntax', () => {
+ cy.request('https://jsonplaceholder.cypress.io/comments')
+ .then((response) => {
+ // https://on.cypress.io/assertions
+ expect(response).property('status').to.equal(200)
+ expect(response).property('body').to.have.property('length').and.be.oneOf([500, 501])
+ expect(response).to.include.keys('headers', 'duration')
+ })
+ })
+
+ it('cy.request() with query parameters', () => {
+ // will execute request
+ // https://jsonplaceholder.cypress.io/comments?postId=1&id=3
+ cy.request({
+ url: 'https://jsonplaceholder.cypress.io/comments',
+ qs: {
+ postId: 1,
+ id: 3,
+ },
+ })
+ .its('body')
+ .should('be.an', 'array')
+ .and('have.length', 1)
+ .its('0') // yields first element of the array
+ .should('contain', {
+ postId: 1,
+ id: 3,
+ })
+ })
+
+ it('cy.request() - pass result to the second request', () => {
+ // first, let's find out the userId of the first user we have
+ cy.request('https://jsonplaceholder.cypress.io/users?_limit=1')
+ .its('body') // yields the response object
+ .its('0') // yields the first element of the returned list
+ // the above two commands its('body').its('0')
+ // can be written as its('body.0')
+ // if you do not care about TypeScript checks
+ .then((user) => {
+ expect(user).property('id').to.be.a('number')
+ // make a new post on behalf of the user
+ cy.request('POST', 'https://jsonplaceholder.cypress.io/posts', {
+ userId: user.id,
+ title: 'Cypress Test Runner',
+ body: 'Fast, easy and reliable testing for anything that runs in a browser.',
+ })
+ })
+ // note that the value here is the returned value of the 2nd request
+ // which is the new post object
+ .then((response) => {
+ expect(response).property('status').to.equal(201) // new entity created
+ expect(response).property('body').to.contain({
+ title: 'Cypress Test Runner',
+ })
+
+ // we don't know the exact post id - only that it will be > 100
+ // since JSONPlaceholder has built-in 100 posts
+ expect(response.body).property('id').to.be.a('number')
+ .and.to.be.gt(100)
+
+ // we don't know the user id here - since it was in above closure
+ // so in this test just confirm that the property is there
+ expect(response.body).property('userId').to.be.a('number')
+ })
+ })
+
+ it('cy.request() - save response in the shared test context', () => {
+ // https://on.cypress.io/variables-and-aliases
+ cy.request('https://jsonplaceholder.cypress.io/users?_limit=1')
+ .its('body').its('0') // yields the first element of the returned list
+ .as('user') // saves the object in the test context
+ .then(function () {
+ // NOTE 👀
+ // By the time this callback runs the "as('user')" command
+ // has saved the user object in the test context.
+ // To access the test context we need to use
+ // the "function () { ... }" callback form,
+ // otherwise "this" points at a wrong or undefined object!
+ cy.request('POST', 'https://jsonplaceholder.cypress.io/posts', {
+ userId: this.user.id,
+ title: 'Cypress Test Runner',
+ body: 'Fast, easy and reliable testing for anything that runs in a browser.',
+ })
+ .its('body').as('post') // save the new post from the response
+ })
+ .then(function () {
+ // When this callback runs, both "cy.request" API commands have finished
+ // and the test context has "user" and "post" objects set.
+ // Let's verify them.
+ expect(this.post, 'post has the right user id').property('userId').to.equal(this.user.id)
+ })
+ })
+
+ it('cy.intercept() - route responses to matching requests', () => {
+ // https://on.cypress.io/intercept
+
+ let message = 'whoa, this comment does not exist'
+
+ // Listen to GET to comments/1
+ cy.intercept('GET', '**/comments/*').as('getComment')
+
+ // we have code that gets a comment when
+ // the button is clicked in scripts.js
+ cy.get('.network-btn').click()
+
+ // https://on.cypress.io/wait
+ cy.wait('@getComment').its('response.statusCode').should('be.oneOf', [200, 304])
+
+ // Listen to POST to comments
+ cy.intercept('POST', '**/comments').as('postComment')
+
+ // we have code that posts a comment when
+ // the button is clicked in scripts.js
+ cy.get('.network-post').click()
+ cy.wait('@postComment').should(({ request, response }) => {
+ expect(request.body).to.include('email')
+ expect(request.headers).to.have.property('content-type')
+ expect(response && response.body).to.have.property('name', 'Using POST in cy.intercept()')
+ })
+
+ // Stub a response to PUT comments/ ****
+ cy.intercept({
+ method: 'PUT',
+ url: '**/comments/*',
+ }, {
+ statusCode: 404,
+ body: { error: message },
+ headers: { 'access-control-allow-origin': '*' },
+ delayMs: 500,
+ }).as('putComment')
+
+ // we have code that puts a comment when
+ // the button is clicked in scripts.js
+ cy.get('.network-put').click()
+
+ cy.wait('@putComment')
+
+ // our 404 statusCode logic in scripts.js executed
+ cy.get('.network-put-comment').should('contain', message)
+ })
+})
diff --git a/src/frontend/cypress/e2e/2-advanced-examples/querying.cy.js b/src/frontend/cypress/e2e/2-advanced-examples/querying.cy.js
new file mode 100644
index 00000000..00970480
--- /dev/null
+++ b/src/frontend/cypress/e2e/2-advanced-examples/querying.cy.js
@@ -0,0 +1,114 @@
+///
+
+context('Querying', () => {
+ beforeEach(() => {
+ cy.visit('https://example.cypress.io/commands/querying')
+ })
+
+ // The most commonly used query is 'cy.get()', you can
+ // think of this like the '$' in jQuery
+
+ it('cy.get() - query DOM elements', () => {
+ // https://on.cypress.io/get
+
+ cy.get('#query-btn').should('contain', 'Button')
+
+ cy.get('.query-btn').should('contain', 'Button')
+
+ cy.get('#querying .well>button:first').should('contain', 'Button')
+ // ↲
+ // Use CSS selectors just like jQuery
+
+ cy.get('[data-test-id="test-example"]').should('have.class', 'example')
+
+ // 'cy.get()' yields jQuery object, you can get its attribute
+ // by invoking `.attr()` method
+ cy.get('[data-test-id="test-example"]')
+ .invoke('attr', 'data-test-id')
+ .should('equal', 'test-example')
+
+ // or you can get element's CSS property
+ cy.get('[data-test-id="test-example"]')
+ .invoke('css', 'position')
+ .should('equal', 'static')
+
+ // or use assertions directly during 'cy.get()'
+ // https://on.cypress.io/assertions
+ cy.get('[data-test-id="test-example"]')
+ .should('have.attr', 'data-test-id', 'test-example')
+ .and('have.css', 'position', 'static')
+ })
+
+ it('cy.contains() - query DOM elements with matching content', () => {
+ // https://on.cypress.io/contains
+ cy.get('.query-list')
+ .contains('bananas')
+ .should('have.class', 'third')
+
+ // we can pass a regexp to `.contains()`
+ cy.get('.query-list')
+ .contains(/^b\w+/)
+ .should('have.class', 'third')
+
+ cy.get('.query-list')
+ .contains('apples')
+ .should('have.class', 'first')
+
+ // passing a selector to contains will
+ // yield the selector containing the text
+ cy.get('#querying')
+ .contains('ul', 'oranges')
+ .should('have.class', 'query-list')
+
+ cy.get('.query-button')
+ .contains('Save Form')
+ .should('have.class', 'btn')
+ })
+
+ it('.within() - query DOM elements within a specific element', () => {
+ // https://on.cypress.io/within
+ cy.get('.query-form').within(() => {
+ cy.get('input:first').should('have.attr', 'placeholder', 'Email')
+ cy.get('input:last').should('have.attr', 'placeholder', 'Password')
+ })
+ })
+
+ it('cy.root() - query the root DOM element', () => {
+ // https://on.cypress.io/root
+
+ // By default, root is the document
+ cy.root().should('match', 'html')
+
+ cy.get('.query-ul').within(() => {
+ // In this within, the root is now the ul DOM element
+ cy.root().should('have.class', 'query-ul')
+ })
+ })
+
+ it('best practices - selecting elements', () => {
+ // https://on.cypress.io/best-practices#Selecting-Elements
+ cy.get('[data-cy=best-practices-selecting-elements]').within(() => {
+ // Worst - too generic, no context
+ cy.get('button').click()
+
+ // Bad. Coupled to styling. Highly subject to change.
+ cy.get('.btn.btn-large').click()
+
+ // Average. Coupled to the `name` attribute which has HTML semantics.
+ cy.get('[name=submission]').click()
+
+ // Better. But still coupled to styling or JS event listeners.
+ cy.get('#main').click()
+
+ // Slightly better. Uses an ID but also ensures the element
+ // has an ARIA role attribute
+ cy.get('#main[role=button]').click()
+
+ // Much better. But still coupled to text content that may change.
+ cy.contains('Submit').click()
+
+ // Best. Insulated from all changes.
+ cy.get('[data-cy=submit]').click()
+ })
+ })
+})
diff --git a/src/frontend/cypress/e2e/2-advanced-examples/spies_stubs_clocks.cy.js b/src/frontend/cypress/e2e/2-advanced-examples/spies_stubs_clocks.cy.js
new file mode 100644
index 00000000..72d8a213
--- /dev/null
+++ b/src/frontend/cypress/e2e/2-advanced-examples/spies_stubs_clocks.cy.js
@@ -0,0 +1,203 @@
+///
+// remove no check once Cypress.sinon is typed
+// https://github.com/cypress-io/cypress/issues/6720
+
+context('Spies, Stubs, and Clock', () => {
+ it('cy.spy() - wrap a method in a spy', () => {
+ // https://on.cypress.io/spy
+ cy.visit('https://example.cypress.io/commands/spies-stubs-clocks')
+
+ const obj = {
+ foo () {},
+ }
+
+ const spy = cy.spy(obj, 'foo').as('anyArgs')
+
+ obj.foo()
+
+ expect(spy).to.be.called
+ })
+
+ it('cy.spy() retries until assertions pass', () => {
+ cy.visit('https://example.cypress.io/commands/spies-stubs-clocks')
+
+ const obj = {
+ /**
+ * Prints the argument passed
+ * @param x {any}
+ */
+ foo (x) {
+ console.log('obj.foo called with', x)
+ },
+ }
+
+ cy.spy(obj, 'foo').as('foo')
+
+ setTimeout(() => {
+ obj.foo('first')
+ }, 500)
+
+ setTimeout(() => {
+ obj.foo('second')
+ }, 2500)
+
+ cy.get('@foo').should('have.been.calledTwice')
+ })
+
+ it('cy.stub() - create a stub and/or replace a function with stub', () => {
+ // https://on.cypress.io/stub
+ cy.visit('https://example.cypress.io/commands/spies-stubs-clocks')
+
+ const obj = {
+ /**
+ * prints both arguments to the console
+ * @param a {string}
+ * @param b {string}
+ */
+ foo (a, b) {
+ console.log('a', a, 'b', b)
+ },
+ }
+
+ const stub = cy.stub(obj, 'foo').as('foo')
+
+ obj.foo('foo', 'bar')
+
+ expect(stub).to.be.called
+ })
+
+ it('cy.clock() - control time in the browser', () => {
+ // https://on.cypress.io/clock
+
+ // create the date in UTC so its always the same
+ // no matter what local timezone the browser is running in
+ const now = new Date(Date.UTC(2017, 2, 14)).getTime()
+
+ cy.clock(now)
+ cy.visit('https://example.cypress.io/commands/spies-stubs-clocks')
+ cy.get('#clock-div').click()
+ .should('have.text', '1489449600')
+ })
+
+ it('cy.tick() - move time in the browser', () => {
+ // https://on.cypress.io/tick
+
+ // create the date in UTC so its always the same
+ // no matter what local timezone the browser is running in
+ const now = new Date(Date.UTC(2017, 2, 14)).getTime()
+
+ cy.clock(now)
+ cy.visit('https://example.cypress.io/commands/spies-stubs-clocks')
+ cy.get('#tick-div').click()
+ .should('have.text', '1489449600')
+
+ cy.tick(10000) // 10 seconds passed
+ cy.get('#tick-div').click()
+ .should('have.text', '1489449610')
+ })
+
+ it('cy.stub() matches depending on arguments', () => {
+ // see all possible matchers at
+ // https://sinonjs.org/releases/latest/matchers/
+ const greeter = {
+ /**
+ * Greets a person
+ * @param {string} name
+ */
+ greet (name) {
+ return `Hello, ${name}!`
+ },
+ }
+
+ cy.stub(greeter, 'greet')
+ .callThrough() // if you want non-matched calls to call the real method
+ .withArgs(Cypress.sinon.match.string).returns('Hi')
+ .withArgs(Cypress.sinon.match.number).throws(new Error('Invalid name'))
+
+ expect(greeter.greet('World')).to.equal('Hi')
+ expect(() => greeter.greet(42)).to.throw('Invalid name')
+ expect(greeter.greet).to.have.been.calledTwice
+
+ // non-matched calls goes the actual method
+ expect(greeter.greet()).to.equal('Hello, undefined!')
+ })
+
+ it('matches call arguments using Sinon matchers', () => {
+ // see all possible matchers at
+ // https://sinonjs.org/releases/latest/matchers/
+ const calculator = {
+ /**
+ * returns the sum of two arguments
+ * @param a {number}
+ * @param b {number}
+ */
+ add (a, b) {
+ return a + b
+ },
+ }
+
+ const spy = cy.spy(calculator, 'add').as('add')
+
+ expect(calculator.add(2, 3)).to.equal(5)
+
+ // if we want to assert the exact values used during the call
+ expect(spy).to.be.calledWith(2, 3)
+
+ // let's confirm "add" method was called with two numbers
+ expect(spy).to.be.calledWith(Cypress.sinon.match.number, Cypress.sinon.match.number)
+
+ // alternatively, provide the value to match
+ expect(spy).to.be.calledWith(Cypress.sinon.match(2), Cypress.sinon.match(3))
+
+ // match any value
+ expect(spy).to.be.calledWith(Cypress.sinon.match.any, 3)
+
+ // match any value from a list
+ expect(spy).to.be.calledWith(Cypress.sinon.match.in([1, 2, 3]), 3)
+
+ /**
+ * Returns true if the given number is even
+ * @param {number} x
+ */
+ const isEven = (x) => x % 2 === 0
+
+ // expect the value to pass a custom predicate function
+ // the second argument to "sinon.match(predicate, message)" is
+ // shown if the predicate does not pass and assertion fails
+ expect(spy).to.be.calledWith(Cypress.sinon.match(isEven, 'isEven'), 3)
+
+ /**
+ * Returns a function that checks if a given number is larger than the limit
+ * @param {number} limit
+ * @returns {(x: number) => boolean}
+ */
+ const isGreaterThan = (limit) => (x) => x > limit
+
+ /**
+ * Returns a function that checks if a given number is less than the limit
+ * @param {number} limit
+ * @returns {(x: number) => boolean}
+ */
+ const isLessThan = (limit) => (x) => x < limit
+
+ // you can combine several matchers using "and", "or"
+ expect(spy).to.be.calledWith(
+ Cypress.sinon.match.number,
+ Cypress.sinon.match(isGreaterThan(2), '> 2').and(Cypress.sinon.match(isLessThan(4), '< 4')),
+ )
+
+ expect(spy).to.be.calledWith(
+ Cypress.sinon.match.number,
+ Cypress.sinon.match(isGreaterThan(200), '> 200').or(Cypress.sinon.match(3)),
+ )
+
+ // matchers can be used from BDD assertions
+ cy.get('@add').should('have.been.calledWith',
+ Cypress.sinon.match.number, Cypress.sinon.match(3))
+
+ // you can alias matchers for shorter test code
+ const { match: M } = Cypress.sinon
+
+ cy.get('@add').should('have.been.calledWith', M.number, M(3))
+ })
+})
diff --git a/src/frontend/cypress/e2e/2-advanced-examples/storage.cy.js b/src/frontend/cypress/e2e/2-advanced-examples/storage.cy.js
new file mode 100644
index 00000000..c138806a
--- /dev/null
+++ b/src/frontend/cypress/e2e/2-advanced-examples/storage.cy.js
@@ -0,0 +1,110 @@
+///
+
+context('Local Storage / Session Storage', () => {
+ beforeEach(() => {
+ cy.visit('https://example.cypress.io/commands/storage')
+ })
+ // Although localStorage is automatically cleared
+ // in between tests to maintain a clean state
+ // sometimes we need to clear localStorage manually
+
+ it('cy.clearLocalStorage() - clear all data in localStorage for the current origin', () => {
+ // https://on.cypress.io/clearlocalstorage
+ cy.get('.ls-btn').click().should(() => {
+ expect(localStorage.getItem('prop1')).to.eq('red')
+ expect(localStorage.getItem('prop2')).to.eq('blue')
+ expect(localStorage.getItem('prop3')).to.eq('magenta')
+ })
+
+ // clearLocalStorage() yields the localStorage object
+ cy.clearLocalStorage().should((ls) => {
+ expect(ls.getItem('prop1')).to.be.null
+ expect(ls.getItem('prop2')).to.be.null
+ expect(ls.getItem('prop3')).to.be.null
+ })
+
+ cy.get('.ls-btn').click().should(() => {
+ expect(localStorage.getItem('prop1')).to.eq('red')
+ expect(localStorage.getItem('prop2')).to.eq('blue')
+ expect(localStorage.getItem('prop3')).to.eq('magenta')
+ })
+
+ // Clear key matching string in localStorage
+ cy.clearLocalStorage('prop1').should((ls) => {
+ expect(ls.getItem('prop1')).to.be.null
+ expect(ls.getItem('prop2')).to.eq('blue')
+ expect(ls.getItem('prop3')).to.eq('magenta')
+ })
+
+ cy.get('.ls-btn').click().should(() => {
+ expect(localStorage.getItem('prop1')).to.eq('red')
+ expect(localStorage.getItem('prop2')).to.eq('blue')
+ expect(localStorage.getItem('prop3')).to.eq('magenta')
+ })
+
+ // Clear keys matching regex in localStorage
+ cy.clearLocalStorage(/prop1|2/).should((ls) => {
+ expect(ls.getItem('prop1')).to.be.null
+ expect(ls.getItem('prop2')).to.be.null
+ expect(ls.getItem('prop3')).to.eq('magenta')
+ })
+ })
+
+ it('cy.getAllLocalStorage() - get all data in localStorage for all origins', () => {
+ // https://on.cypress.io/getalllocalstorage
+ cy.get('.ls-btn').click()
+
+ // getAllLocalStorage() yields a map of origins to localStorage values
+ cy.getAllLocalStorage().should((storageMap) => {
+ expect(storageMap).to.deep.equal({
+ // other origins will also be present if localStorage is set on them
+ 'https://example.cypress.io': {
+ 'prop1': 'red',
+ 'prop2': 'blue',
+ 'prop3': 'magenta',
+ },
+ })
+ })
+ })
+
+ it('cy.clearAllLocalStorage() - clear all data in localStorage for all origins', () => {
+ // https://on.cypress.io/clearalllocalstorage
+ cy.get('.ls-btn').click()
+
+ // clearAllLocalStorage() yields null
+ cy.clearAllLocalStorage().should(() => {
+ expect(sessionStorage.getItem('prop1')).to.be.null
+ expect(sessionStorage.getItem('prop2')).to.be.null
+ expect(sessionStorage.getItem('prop3')).to.be.null
+ })
+ })
+
+ it('cy.getAllSessionStorage() - get all data in sessionStorage for all origins', () => {
+ // https://on.cypress.io/getallsessionstorage
+ cy.get('.ls-btn').click()
+
+ // getAllSessionStorage() yields a map of origins to sessionStorage values
+ cy.getAllSessionStorage().should((storageMap) => {
+ expect(storageMap).to.deep.equal({
+ // other origins will also be present if sessionStorage is set on them
+ 'https://example.cypress.io': {
+ 'prop4': 'cyan',
+ 'prop5': 'yellow',
+ 'prop6': 'black',
+ },
+ })
+ })
+ })
+
+ it('cy.clearAllSessionStorage() - clear all data in sessionStorage for all origins', () => {
+ // https://on.cypress.io/clearallsessionstorage
+ cy.get('.ls-btn').click()
+
+ // clearAllSessionStorage() yields null
+ cy.clearAllSessionStorage().should(() => {
+ expect(sessionStorage.getItem('prop4')).to.be.null
+ expect(sessionStorage.getItem('prop5')).to.be.null
+ expect(sessionStorage.getItem('prop6')).to.be.null
+ })
+ })
+})
diff --git a/src/frontend/cypress/e2e/2-advanced-examples/traversal.cy.js b/src/frontend/cypress/e2e/2-advanced-examples/traversal.cy.js
new file mode 100644
index 00000000..0a3b9d33
--- /dev/null
+++ b/src/frontend/cypress/e2e/2-advanced-examples/traversal.cy.js
@@ -0,0 +1,121 @@
+///
+
+context('Traversal', () => {
+ beforeEach(() => {
+ cy.visit('https://example.cypress.io/commands/traversal')
+ })
+
+ it('.children() - get child DOM elements', () => {
+ // https://on.cypress.io/children
+ cy.get('.traversal-breadcrumb')
+ .children('.active')
+ .should('contain', 'Data')
+ })
+
+ it('.closest() - get closest ancestor DOM element', () => {
+ // https://on.cypress.io/closest
+ cy.get('.traversal-badge')
+ .closest('ul')
+ .should('have.class', 'list-group')
+ })
+
+ it('.eq() - get a DOM element at a specific index', () => {
+ // https://on.cypress.io/eq
+ cy.get('.traversal-list>li')
+ .eq(1).should('contain', 'siamese')
+ })
+
+ it('.filter() - get DOM elements that match the selector', () => {
+ // https://on.cypress.io/filter
+ cy.get('.traversal-nav>li')
+ .filter('.active').should('contain', 'About')
+ })
+
+ it('.find() - get descendant DOM elements of the selector', () => {
+ // https://on.cypress.io/find
+ cy.get('.traversal-pagination')
+ .find('li').find('a')
+ .should('have.length', 7)
+ })
+
+ it('.first() - get first DOM element', () => {
+ // https://on.cypress.io/first
+ cy.get('.traversal-table td')
+ .first().should('contain', '1')
+ })
+
+ it('.last() - get last DOM element', () => {
+ // https://on.cypress.io/last
+ cy.get('.traversal-buttons .btn')
+ .last().should('contain', 'Submit')
+ })
+
+ it('.next() - get next sibling DOM element', () => {
+ // https://on.cypress.io/next
+ cy.get('.traversal-ul')
+ .contains('apples').next().should('contain', 'oranges')
+ })
+
+ it('.nextAll() - get all next sibling DOM elements', () => {
+ // https://on.cypress.io/nextall
+ cy.get('.traversal-next-all')
+ .contains('oranges')
+ .nextAll().should('have.length', 3)
+ })
+
+ it('.nextUntil() - get next sibling DOM elements until next el', () => {
+ // https://on.cypress.io/nextuntil
+ cy.get('#veggies')
+ .nextUntil('#nuts').should('have.length', 3)
+ })
+
+ it('.not() - remove DOM elements from set of DOM elements', () => {
+ // https://on.cypress.io/not
+ cy.get('.traversal-disabled .btn')
+ .not('[disabled]').should('not.contain', 'Disabled')
+ })
+
+ it('.parent() - get parent DOM element from DOM elements', () => {
+ // https://on.cypress.io/parent
+ cy.get('.traversal-mark')
+ .parent().should('contain', 'Morbi leo risus')
+ })
+
+ it('.parents() - get parent DOM elements from DOM elements', () => {
+ // https://on.cypress.io/parents
+ cy.get('.traversal-cite')
+ .parents().should('match', 'blockquote')
+ })
+
+ it('.parentsUntil() - get parent DOM elements from DOM elements until el', () => {
+ // https://on.cypress.io/parentsuntil
+ cy.get('.clothes-nav')
+ .find('.active')
+ .parentsUntil('.clothes-nav')
+ .should('have.length', 2)
+ })
+
+ it('.prev() - get previous sibling DOM element', () => {
+ // https://on.cypress.io/prev
+ cy.get('.birds').find('.active')
+ .prev().should('contain', 'Lorikeets')
+ })
+
+ it('.prevAll() - get all previous sibling DOM elements', () => {
+ // https://on.cypress.io/prevall
+ cy.get('.fruits-list').find('.third')
+ .prevAll().should('have.length', 2)
+ })
+
+ it('.prevUntil() - get all previous sibling DOM elements until el', () => {
+ // https://on.cypress.io/prevuntil
+ cy.get('.foods-list').find('#nuts')
+ .prevUntil('#veggies').should('have.length', 3)
+ })
+
+ it('.siblings() - get all sibling DOM elements', () => {
+ // https://on.cypress.io/siblings
+ cy.get('.traversal-pills .active')
+ .siblings().should('have.length', 2)
+ })
+})
diff --git a/src/frontend/cypress/e2e/2-advanced-examples/utilities.cy.js b/src/frontend/cypress/e2e/2-advanced-examples/utilities.cy.js
new file mode 100644
index 00000000..14934c22
--- /dev/null
+++ b/src/frontend/cypress/e2e/2-advanced-examples/utilities.cy.js
@@ -0,0 +1,108 @@
+///
+
+context('Utilities', () => {
+ beforeEach(() => {
+ cy.visit('https://example.cypress.io/utilities')
+ })
+
+ it('Cypress._ - call a lodash method', () => {
+ // https://on.cypress.io/_
+ cy.request('https://jsonplaceholder.cypress.io/users')
+ .then((response) => {
+ let ids = Cypress._.chain(response.body).map('id').take(3).value()
+
+ expect(ids).to.deep.eq([1, 2, 3])
+ })
+ })
+
+ it('Cypress.$ - call a jQuery method', () => {
+ // https://on.cypress.io/$
+ let $li = Cypress.$('.utility-jquery li:first')
+
+ cy.wrap($li)
+ .should('not.have.class', 'active')
+ .click()
+ .should('have.class', 'active')
+ })
+
+ it('Cypress.Blob - blob utilities and base64 string conversion', () => {
+ // https://on.cypress.io/blob
+ cy.get('.utility-blob').then(($div) => {
+ // https://github.com/nolanlawson/blob-util#imgSrcToDataURL
+ // get the dataUrl string for the javascript-logo
+ return Cypress.Blob.imgSrcToDataURL('https://example.cypress.io/assets/img/javascript-logo.png', undefined, 'anonymous')
+ .then((dataUrl) => {
+ // create an element and set its src to the dataUrl
+ let img = Cypress.$(' ', { src: dataUrl })
+
+ // need to explicitly return cy here since we are initially returning
+ // the Cypress.Blob.imgSrcToDataURL promise to our test
+ // append the image
+ $div.append(img)
+
+ cy.get('.utility-blob img').click()
+ .should('have.attr', 'src', dataUrl)
+ })
+ })
+ })
+
+ it('Cypress.minimatch - test out glob patterns against strings', () => {
+ // https://on.cypress.io/minimatch
+ let matching = Cypress.minimatch('/users/1/comments', '/users/*/comments', {
+ matchBase: true,
+ })
+
+ expect(matching, 'matching wildcard').to.be.true
+
+ matching = Cypress.minimatch('/users/1/comments/2', '/users/*/comments', {
+ matchBase: true,
+ })
+
+ expect(matching, 'comments').to.be.false
+
+ // ** matches against all downstream path segments
+ matching = Cypress.minimatch('/foo/bar/baz/123/quux?a=b&c=2', '/foo/**', {
+ matchBase: true,
+ })
+
+ expect(matching, 'comments').to.be.true
+
+ // whereas * matches only the next path segment
+
+ matching = Cypress.minimatch('/foo/bar/baz/123/quux?a=b&c=2', '/foo/*', {
+ matchBase: false,
+ })
+
+ expect(matching, 'comments').to.be.false
+ })
+
+ it('Cypress.Promise - instantiate a bluebird promise', () => {
+ // https://on.cypress.io/promise
+ let waited = false
+
+ /**
+ * @return Bluebird
+ */
+ function waitOneSecond () {
+ // return a promise that resolves after 1 second
+ return new Cypress.Promise((resolve, reject) => {
+ setTimeout(() => {
+ // set waited to true
+ waited = true
+
+ // resolve with 'foo' string
+ resolve('foo')
+ }, 1000)
+ })
+ }
+
+ cy.then(() => {
+ // return a promise to cy.then() that
+ // is awaited until it resolves
+ return waitOneSecond().then((str) => {
+ expect(str).to.eq('foo')
+ expect(waited).to.be.true
+ })
+ })
+ })
+})
diff --git a/src/frontend/cypress/e2e/2-advanced-examples/viewport.cy.js b/src/frontend/cypress/e2e/2-advanced-examples/viewport.cy.js
new file mode 100644
index 00000000..95d3eb45
--- /dev/null
+++ b/src/frontend/cypress/e2e/2-advanced-examples/viewport.cy.js
@@ -0,0 +1,59 @@
+///
+
+context('Viewport', () => {
+ beforeEach(() => {
+ cy.visit('https://example.cypress.io/commands/viewport')
+ })
+
+ it('cy.viewport() - set the viewport size and dimension', () => {
+ // https://on.cypress.io/viewport
+
+ cy.get('#navbar').should('be.visible')
+ cy.viewport(320, 480)
+
+ // the navbar should have collapse since our screen is smaller
+ cy.get('#navbar').should('not.be.visible')
+ cy.get('.navbar-toggle').should('be.visible').click()
+ cy.get('.nav').find('a').should('be.visible')
+
+ // lets see what our app looks like on a super large screen
+ cy.viewport(2999, 2999)
+
+ // cy.viewport() accepts a set of preset sizes
+ // to easily set the screen to a device's width and height
+
+ // We added a cy.wait() between each viewport change so you can see
+ // the change otherwise it is a little too fast to see :)
+
+ cy.viewport('macbook-15')
+ cy.wait(200)
+ cy.viewport('macbook-13')
+ cy.wait(200)
+ cy.viewport('macbook-11')
+ cy.wait(200)
+ cy.viewport('ipad-2')
+ cy.wait(200)
+ cy.viewport('ipad-mini')
+ cy.wait(200)
+ cy.viewport('iphone-6+')
+ cy.wait(200)
+ cy.viewport('iphone-6')
+ cy.wait(200)
+ cy.viewport('iphone-5')
+ cy.wait(200)
+ cy.viewport('iphone-4')
+ cy.wait(200)
+ cy.viewport('iphone-3')
+ cy.wait(200)
+
+ // cy.viewport() accepts an orientation for all presets
+ // the default orientation is 'portrait'
+ cy.viewport('ipad-2', 'portrait')
+ cy.wait(200)
+ cy.viewport('iphone-4', 'landscape')
+ cy.wait(200)
+
+ // The viewport will be reset back to the default dimensions
+ // in between tests (the default can be set in cypress.config.{js|ts})
+ })
+})
diff --git a/src/frontend/cypress/e2e/2-advanced-examples/waiting.cy.js b/src/frontend/cypress/e2e/2-advanced-examples/waiting.cy.js
new file mode 100644
index 00000000..c8f0d7c6
--- /dev/null
+++ b/src/frontend/cypress/e2e/2-advanced-examples/waiting.cy.js
@@ -0,0 +1,31 @@
+///
+
+context('Waiting', () => {
+ beforeEach(() => {
+ cy.visit('https://example.cypress.io/commands/waiting')
+ })
+ // BE CAREFUL of adding unnecessary wait times.
+ // https://on.cypress.io/best-practices#Unnecessary-Waiting
+
+ // https://on.cypress.io/wait
+ it('cy.wait() - wait for a specific amount of time', () => {
+ cy.get('.wait-input1').type('Wait 1000ms after typing')
+ cy.wait(1000)
+ cy.get('.wait-input2').type('Wait 1000ms after typing')
+ cy.wait(1000)
+ cy.get('.wait-input3').type('Wait 1000ms after typing')
+ cy.wait(1000)
+ })
+
+ it('cy.wait() - wait for a specific route', () => {
+ // Listen to GET to comments/1
+ cy.intercept('GET', '**/comments/*').as('getComment')
+
+ // we have code that gets a comment when
+ // the button is clicked in scripts.js
+ cy.get('.network-btn').click()
+
+ // wait for GET comments/1
+ cy.wait('@getComment').its('response.statusCode').should('be.oneOf', [200, 304])
+ })
+})
diff --git a/src/frontend/cypress/e2e/2-advanced-examples/window.cy.js b/src/frontend/cypress/e2e/2-advanced-examples/window.cy.js
new file mode 100644
index 00000000..f94b6497
--- /dev/null
+++ b/src/frontend/cypress/e2e/2-advanced-examples/window.cy.js
@@ -0,0 +1,22 @@
+///
+
+context('Window', () => {
+ beforeEach(() => {
+ cy.visit('https://example.cypress.io/commands/window')
+ })
+
+ it('cy.window() - get the global window object', () => {
+ // https://on.cypress.io/window
+ cy.window().should('have.property', 'top')
+ })
+
+ it('cy.document() - get the document object', () => {
+ // https://on.cypress.io/document
+ cy.document().should('have.property', 'charset').and('eq', 'UTF-8')
+ })
+
+ it('cy.title() - get the title', () => {
+ // https://on.cypress.io/title
+ cy.title().should('include', 'Kitchen Sink')
+ })
+})
diff --git a/src/frontend/cypress/e2e/policy.cy.ts b/src/frontend/cypress/e2e/policy.cy.ts
new file mode 100644
index 00000000..a2b60e57
--- /dev/null
+++ b/src/frontend/cypress/e2e/policy.cy.ts
@@ -0,0 +1,75 @@
+import {environment} from 'src/environments/environment'
+// describe('Image Scanner Test', () => {
+// beforeEach(() => {
+// cy.intercept('GET', environment.api.goharbor + '/assessmentreports', { fixture: 'tags.json' })
+// cy.intercept('GET', environment.api.goharbor + '/assessmentreports?limit=10&continue=', { fixture: 'tags.json' })
+// cy.intercept('GET', '/proxy/api/v1/namespaces', { fixture: 'namespace.json' })
+// cy.intercept('GET', '/proxy/apis/apiregistration.k8s.io/v1/apiservices', { fixture: 'apiservices.json' })
+// cy.intercept('GET', '/proxy/api/v1/nodes', { fixture: 'nodes.json' })
+// // cy.visit('https://angular.realworld.io/')
+// })
+
+
+// it('Visits the initial project page', () => {
+// cy.visit('/')
+// cy.contains('app is running!')
+// })
+
+// })
+
+describe('Setting Test', () => {
+ beforeEach(() => {
+ Cypress.on('uncaught:exception', (err, runnable) => {
+ // returning false here prevents Cypress from
+ // failing the test
+ return false
+ })
+ cy.intercept('GET', environment.api.goharbor + '/inspectionpolicies', { fixture: 'policy.json' })
+ cy.intercept('GET', '/proxy/apis/goharbor.goharbor.io/v1alpha1/settings', { fixture: 'settings.json' })
+ cy.intercept('POST', environment.api.goharbor + '/inspectionpolicies', {
+ statusCode: 201,
+ body: {
+ msg: 'created sussessful!',
+ },
+ })
+ cy.visit('http://127.0.0.1:4004/policy')
+
+ // cy.visit('https://angular.realworld.io/')
+ })
+
+
+ it('new policy', () => {
+ // cy.contains('Secret-team')
+ // create policy
+ cy.intercept('GET', environment.api.goharbor + '/inspectionpolicies', { fixture: 'policy-list.json' })
+ cy.visit('http://127.0.0.1:4004/modify-policy/create')
+ // cy.get('[data-cy=new_policy]').click()
+ cy.get('[data-cy=name]').type('policy-test', {force: true})
+ cy.get('[data-cy=namespace]').type('cronjobs', {force: true})
+ cy.get('[data-cy=imagePullPolicy]').select('Always')
+ cy.get('[data-cy=settingsName]').select('sample-setting')
+
+
+ cy.get('[data-cy=next-one]').click()
+ cy.get('[data-cy=policySettingAddItem]').click()
+
+ cy.get('[data-cy=key]').type('default', {force: true})
+ cy.get('[data-cy=value]').type('true', {force: true})
+
+ cy.get('[data-cy=next-two]').click()
+
+ // create policy
+ cy.get('[data-cy=created]').click()
+
+ })
+
+ // it('setting', () => {
+ // // cy.wait(1000)
+ // // // create setting
+ // // cy.get('[data-cy=cut_setting]').click()
+ // // cy.visit('http://localhost:4004/modify-setting/create')
+ // })
+
+
+})
+
diff --git a/src/frontend/cypress/e2e/spec.cy.ts b/src/frontend/cypress/e2e/spec.cy.ts
new file mode 100644
index 00000000..23243b60
--- /dev/null
+++ b/src/frontend/cypress/e2e/spec.cy.ts
@@ -0,0 +1,68 @@
+import {environment} from 'src/environments/environment'
+// describe('Image Scanner Test', () => {
+// beforeEach(() => {
+// cy.intercept('GET', environment.api.goharbor + '/assessmentreports', { fixture: 'tags.json' })
+// cy.intercept('GET', environment.api.goharbor + '/assessmentreports?limit=10&continue=', { fixture: 'tags.json' })
+// cy.intercept('GET', '/proxy/api/v1/namespaces', { fixture: 'namespace.json' })
+// cy.intercept('GET', '/proxy/apis/apiregistration.k8s.io/v1/apiservices', { fixture: 'apiservices.json' })
+// cy.intercept('GET', '/proxy/api/v1/nodes', { fixture: 'nodes.json' })
+// // cy.visit('https://angular.realworld.io/')
+// })
+
+
+// it('Visits the initial project page', () => {
+// cy.visit('/')
+// cy.contains('app is running!')
+// })
+
+// })
+
+describe('Setting Test', () => {
+ beforeEach(() => {
+ Cypress.on('uncaught:exception', (err, runnable) => {
+ // returning false here prevents Cypress from
+ // failing the test
+ return false
+ })
+ cy.intercept('GET', environment.api.goharbor + '/assessmentreports', { fixture: 'tags.json' })
+ cy.intercept('GET', environment.api.goharbor + '/assessmentreports?limit=10&continue=', { fixture: 'tags.json' })
+ cy.intercept('GET', '/proxy/api/v1/namespaces', { fixture: 'namespace.json' })
+ cy.intercept('GET', '/proxy/apis/apiregistration.k8s.io/v1/apiservices', { fixture: 'apiservices.json' })
+ cy.intercept('GET', '/proxy/api/v1/nodes', { fixture: 'nodes.json' })
+ cy.intercept('GET', '/proxy/api/v1/namespaces/default/secrets', { fixture: 'secrets.json' })
+ cy.intercept('GET', '/proxy/apis/goharbor.goharbor.io/v1alpha1/settings', { fixture: 'settings.json' })
+ cy.intercept('POST', environment.api.k8s + '/namespaces/default/secrets', {
+ statusCode: 201,
+ body: {
+ msg: 'created sussessful!',
+ },
+ })
+ cy.visit('http://127.0.0.1:4004/setting')
+
+ // cy.visit('https://angular.realworld.io/')
+ })
+
+
+ it('open secret modal', () => {
+ // cy.contains('Secret-team')
+ // create secret
+ cy.get('[data-cy=submit]').click()
+ cy.get('[data-cy=secret_name]').type('Harbor-test', {force: true})
+ cy.get('[data-cy=accessKey]').type('admin', {force: true})
+ cy.get('[data-cy=accessSecret]').type('Harbor12345', {force: true})
+ cy.get('[data-cy=createSecret]').click()
+ // create setting
+ cy.get('[data-cy=cut_setting]').click()
+
+ })
+
+ it('setting', () => {
+ cy.wait(1000)
+ // create setting
+ cy.get('[data-cy=cut_setting]').click()
+ cy.visit('http://127.0.0.1:4004/modify-setting/create')
+ })
+
+
+})
+
diff --git a/src/frontend/cypress/fixtures/apiservices.json b/src/frontend/cypress/fixtures/apiservices.json
new file mode 100644
index 00000000..99ed9dba
--- /dev/null
+++ b/src/frontend/cypress/fixtures/apiservices.json
@@ -0,0 +1,1537 @@
+{
+ "kind": "APIServiceList",
+ "apiVersion": "apiregistration.k8s.io/v1",
+ "metadata": {
+ "resourceVersion": "5141933"
+ },
+ "items": [
+ {
+ "metadata": {
+ "name": "v1.",
+ "uid": "8f57485a-f72a-4a74-a578-028981a42007",
+ "resourceVersion": "7",
+ "creationTimestamp": "2022-12-19T09:44:03Z",
+ "labels": {
+ "kube-aggregator.kubernetes.io/automanaged": "onstart"
+ },
+ "managedFields": [
+ {
+ "manager": "kube-apiserver",
+ "operation": "Update",
+ "apiVersion": "apiregistration.k8s.io/v1",
+ "time": "2022-12-19T09:44:03Z",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:labels": {
+ ".": {},
+ "f:kube-aggregator.kubernetes.io/automanaged": {}
+ }
+ },
+ "f:spec": {
+ "f:groupPriorityMinimum": {},
+ "f:version": {},
+ "f:versionPriority": {}
+ }
+ }
+ }
+ ]
+ },
+ "spec": {
+ "version": "v1",
+ "groupPriorityMinimum": 18000,
+ "versionPriority": 1
+ },
+ "status": {
+ "conditions": [
+ {
+ "type": "Available",
+ "status": "True",
+ "lastTransitionTime": "2022-12-19T09:44:03Z",
+ "reason": "Local",
+ "message": "Local APIServices are always available"
+ }
+ ]
+ }
+ },
+ {
+ "metadata": {
+ "name": "v1.admissionregistration.k8s.io",
+ "uid": "384c1293-f603-40b6-9602-bf4f9f5f98f4",
+ "resourceVersion": "10",
+ "creationTimestamp": "2022-12-19T09:44:03Z",
+ "labels": {
+ "kube-aggregator.kubernetes.io/automanaged": "onstart"
+ },
+ "managedFields": [
+ {
+ "manager": "kube-apiserver",
+ "operation": "Update",
+ "apiVersion": "apiregistration.k8s.io/v1",
+ "time": "2022-12-19T09:44:03Z",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:labels": {
+ ".": {},
+ "f:kube-aggregator.kubernetes.io/automanaged": {}
+ }
+ },
+ "f:spec": {
+ "f:group": {},
+ "f:groupPriorityMinimum": {},
+ "f:version": {},
+ "f:versionPriority": {}
+ }
+ }
+ }
+ ]
+ },
+ "spec": {
+ "group": "admissionregistration.k8s.io",
+ "version": "v1",
+ "groupPriorityMinimum": 16700,
+ "versionPriority": 15
+ },
+ "status": {
+ "conditions": [
+ {
+ "type": "Available",
+ "status": "True",
+ "lastTransitionTime": "2022-12-19T09:44:03Z",
+ "reason": "Local",
+ "message": "Local APIServices are always available"
+ }
+ ]
+ }
+ },
+ {
+ "metadata": {
+ "name": "v1.apiextensions.k8s.io",
+ "uid": "14eb3d6a-1ae2-4de2-a755-2820d2300c90",
+ "resourceVersion": "11",
+ "creationTimestamp": "2022-12-19T09:44:03Z",
+ "labels": {
+ "kube-aggregator.kubernetes.io/automanaged": "onstart"
+ },
+ "managedFields": [
+ {
+ "manager": "kube-apiserver",
+ "operation": "Update",
+ "apiVersion": "apiregistration.k8s.io/v1",
+ "time": "2022-12-19T09:44:03Z",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:labels": {
+ ".": {},
+ "f:kube-aggregator.kubernetes.io/automanaged": {}
+ }
+ },
+ "f:spec": {
+ "f:group": {},
+ "f:groupPriorityMinimum": {},
+ "f:version": {},
+ "f:versionPriority": {}
+ }
+ }
+ }
+ ]
+ },
+ "spec": {
+ "group": "apiextensions.k8s.io",
+ "version": "v1",
+ "groupPriorityMinimum": 16700,
+ "versionPriority": 15
+ },
+ "status": {
+ "conditions": [
+ {
+ "type": "Available",
+ "status": "True",
+ "lastTransitionTime": "2022-12-19T09:44:03Z",
+ "reason": "Local",
+ "message": "Local APIServices are always available"
+ }
+ ]
+ }
+ },
+ {
+ "metadata": {
+ "name": "v1.apps",
+ "uid": "34733719-4f9a-4f3d-b21e-818e9e8599b8",
+ "resourceVersion": "8",
+ "creationTimestamp": "2022-12-19T09:44:03Z",
+ "labels": {
+ "kube-aggregator.kubernetes.io/automanaged": "onstart"
+ },
+ "managedFields": [
+ {
+ "manager": "kube-apiserver",
+ "operation": "Update",
+ "apiVersion": "apiregistration.k8s.io/v1",
+ "time": "2022-12-19T09:44:03Z",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:labels": {
+ ".": {},
+ "f:kube-aggregator.kubernetes.io/automanaged": {}
+ }
+ },
+ "f:spec": {
+ "f:group": {},
+ "f:groupPriorityMinimum": {},
+ "f:version": {},
+ "f:versionPriority": {}
+ }
+ }
+ }
+ ]
+ },
+ "spec": {
+ "group": "apps",
+ "version": "v1",
+ "groupPriorityMinimum": 17800,
+ "versionPriority": 15
+ },
+ "status": {
+ "conditions": [
+ {
+ "type": "Available",
+ "status": "True",
+ "lastTransitionTime": "2022-12-19T09:44:03Z",
+ "reason": "Local",
+ "message": "Local APIServices are always available"
+ }
+ ]
+ }
+ },
+ {
+ "metadata": {
+ "name": "v1.authentication.k8s.io",
+ "uid": "dab582fd-1f7c-4cef-abb7-a3a4d6209a70",
+ "resourceVersion": "9",
+ "creationTimestamp": "2022-12-19T09:44:03Z",
+ "labels": {
+ "kube-aggregator.kubernetes.io/automanaged": "onstart"
+ },
+ "managedFields": [
+ {
+ "manager": "kube-apiserver",
+ "operation": "Update",
+ "apiVersion": "apiregistration.k8s.io/v1",
+ "time": "2022-12-19T09:44:03Z",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:labels": {
+ ".": {},
+ "f:kube-aggregator.kubernetes.io/automanaged": {}
+ }
+ },
+ "f:spec": {
+ "f:group": {},
+ "f:groupPriorityMinimum": {},
+ "f:version": {},
+ "f:versionPriority": {}
+ }
+ }
+ }
+ ]
+ },
+ "spec": {
+ "group": "authentication.k8s.io",
+ "version": "v1",
+ "groupPriorityMinimum": 17700,
+ "versionPriority": 15
+ },
+ "status": {
+ "conditions": [
+ {
+ "type": "Available",
+ "status": "True",
+ "lastTransitionTime": "2022-12-19T09:44:03Z",
+ "reason": "Local",
+ "message": "Local APIServices are always available"
+ }
+ ]
+ }
+ },
+ {
+ "metadata": {
+ "name": "v1.authorization.k8s.io",
+ "uid": "31182692-d770-48ea-9861-a08a9a137816",
+ "resourceVersion": "12",
+ "creationTimestamp": "2022-12-19T09:44:03Z",
+ "labels": {
+ "kube-aggregator.kubernetes.io/automanaged": "onstart"
+ },
+ "managedFields": [
+ {
+ "manager": "kube-apiserver",
+ "operation": "Update",
+ "apiVersion": "apiregistration.k8s.io/v1",
+ "time": "2022-12-19T09:44:03Z",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:labels": {
+ ".": {},
+ "f:kube-aggregator.kubernetes.io/automanaged": {}
+ }
+ },
+ "f:spec": {
+ "f:group": {},
+ "f:groupPriorityMinimum": {},
+ "f:version": {},
+ "f:versionPriority": {}
+ }
+ }
+ }
+ ]
+ },
+ "spec": {
+ "group": "authorization.k8s.io",
+ "version": "v1",
+ "groupPriorityMinimum": 17600,
+ "versionPriority": 15
+ },
+ "status": {
+ "conditions": [
+ {
+ "type": "Available",
+ "status": "True",
+ "lastTransitionTime": "2022-12-19T09:44:03Z",
+ "reason": "Local",
+ "message": "Local APIServices are always available"
+ }
+ ]
+ }
+ },
+ {
+ "metadata": {
+ "name": "v1.autoscaling",
+ "uid": "5c80c9ba-5843-4d18-b898-ff7d3c9462b8",
+ "resourceVersion": "14",
+ "creationTimestamp": "2022-12-19T09:44:03Z",
+ "labels": {
+ "kube-aggregator.kubernetes.io/automanaged": "onstart"
+ },
+ "managedFields": [
+ {
+ "manager": "kube-apiserver",
+ "operation": "Update",
+ "apiVersion": "apiregistration.k8s.io/v1",
+ "time": "2022-12-19T09:44:03Z",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:labels": {
+ ".": {},
+ "f:kube-aggregator.kubernetes.io/automanaged": {}
+ }
+ },
+ "f:spec": {
+ "f:group": {},
+ "f:groupPriorityMinimum": {},
+ "f:version": {},
+ "f:versionPriority": {}
+ }
+ }
+ }
+ ]
+ },
+ "spec": {
+ "group": "autoscaling",
+ "version": "v1",
+ "groupPriorityMinimum": 17500,
+ "versionPriority": 15
+ },
+ "status": {
+ "conditions": [
+ {
+ "type": "Available",
+ "status": "True",
+ "lastTransitionTime": "2022-12-19T09:44:03Z",
+ "reason": "Local",
+ "message": "Local APIServices are always available"
+ }
+ ]
+ }
+ },
+ {
+ "metadata": {
+ "name": "v1.batch",
+ "uid": "151e55cf-d112-486c-839a-685c2c79ebc2",
+ "resourceVersion": "19",
+ "creationTimestamp": "2022-12-19T09:44:04Z",
+ "labels": {
+ "kube-aggregator.kubernetes.io/automanaged": "onstart"
+ },
+ "managedFields": [
+ {
+ "manager": "kube-apiserver",
+ "operation": "Update",
+ "apiVersion": "apiregistration.k8s.io/v1",
+ "time": "2022-12-19T09:44:04Z",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:labels": {
+ ".": {},
+ "f:kube-aggregator.kubernetes.io/automanaged": {}
+ }
+ },
+ "f:spec": {
+ "f:group": {},
+ "f:groupPriorityMinimum": {},
+ "f:version": {},
+ "f:versionPriority": {}
+ }
+ }
+ }
+ ]
+ },
+ "spec": {
+ "group": "batch",
+ "version": "v1",
+ "groupPriorityMinimum": 17400,
+ "versionPriority": 15
+ },
+ "status": {
+ "conditions": [
+ {
+ "type": "Available",
+ "status": "True",
+ "lastTransitionTime": "2022-12-19T09:44:04Z",
+ "reason": "Local",
+ "message": "Local APIServices are always available"
+ }
+ ]
+ }
+ },
+ {
+ "metadata": {
+ "name": "v1.certificates.k8s.io",
+ "uid": "4dea0ce1-a3d8-4db4-83f7-a87cb8362793",
+ "resourceVersion": "18",
+ "creationTimestamp": "2022-12-19T09:44:04Z",
+ "labels": {
+ "kube-aggregator.kubernetes.io/automanaged": "onstart"
+ },
+ "managedFields": [
+ {
+ "manager": "kube-apiserver",
+ "operation": "Update",
+ "apiVersion": "apiregistration.k8s.io/v1",
+ "time": "2022-12-19T09:44:04Z",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:labels": {
+ ".": {},
+ "f:kube-aggregator.kubernetes.io/automanaged": {}
+ }
+ },
+ "f:spec": {
+ "f:group": {},
+ "f:groupPriorityMinimum": {},
+ "f:version": {},
+ "f:versionPriority": {}
+ }
+ }
+ }
+ ]
+ },
+ "spec": {
+ "group": "certificates.k8s.io",
+ "version": "v1",
+ "groupPriorityMinimum": 17300,
+ "versionPriority": 15
+ },
+ "status": {
+ "conditions": [
+ {
+ "type": "Available",
+ "status": "True",
+ "lastTransitionTime": "2022-12-19T09:44:04Z",
+ "reason": "Local",
+ "message": "Local APIServices are always available"
+ }
+ ]
+ }
+ },
+ {
+ "metadata": {
+ "name": "v1.coordination.k8s.io",
+ "uid": "728be8d2-4127-41dd-ae85-6a754e55ff36",
+ "resourceVersion": "20",
+ "creationTimestamp": "2022-12-19T09:44:04Z",
+ "labels": {
+ "kube-aggregator.kubernetes.io/automanaged": "onstart"
+ },
+ "managedFields": [
+ {
+ "manager": "kube-apiserver",
+ "operation": "Update",
+ "apiVersion": "apiregistration.k8s.io/v1",
+ "time": "2022-12-19T09:44:04Z",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:labels": {
+ ".": {},
+ "f:kube-aggregator.kubernetes.io/automanaged": {}
+ }
+ },
+ "f:spec": {
+ "f:group": {},
+ "f:groupPriorityMinimum": {},
+ "f:version": {},
+ "f:versionPriority": {}
+ }
+ }
+ }
+ ]
+ },
+ "spec": {
+ "group": "coordination.k8s.io",
+ "version": "v1",
+ "groupPriorityMinimum": 16500,
+ "versionPriority": 15
+ },
+ "status": {
+ "conditions": [
+ {
+ "type": "Available",
+ "status": "True",
+ "lastTransitionTime": "2022-12-19T09:44:04Z",
+ "reason": "Local",
+ "message": "Local APIServices are always available"
+ }
+ ]
+ }
+ },
+ {
+ "metadata": {
+ "name": "v1.discovery.k8s.io",
+ "uid": "15c5fd86-f1d6-40aa-b01c-f25b711a43a5",
+ "resourceVersion": "21",
+ "creationTimestamp": "2022-12-19T09:44:04Z",
+ "labels": {
+ "kube-aggregator.kubernetes.io/automanaged": "onstart"
+ },
+ "managedFields": [
+ {
+ "manager": "kube-apiserver",
+ "operation": "Update",
+ "apiVersion": "apiregistration.k8s.io/v1",
+ "time": "2022-12-19T09:44:04Z",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:labels": {
+ ".": {},
+ "f:kube-aggregator.kubernetes.io/automanaged": {}
+ }
+ },
+ "f:spec": {
+ "f:group": {},
+ "f:groupPriorityMinimum": {},
+ "f:version": {},
+ "f:versionPriority": {}
+ }
+ }
+ }
+ ]
+ },
+ "spec": {
+ "group": "discovery.k8s.io",
+ "version": "v1",
+ "groupPriorityMinimum": 16200,
+ "versionPriority": 15
+ },
+ "status": {
+ "conditions": [
+ {
+ "type": "Available",
+ "status": "True",
+ "lastTransitionTime": "2022-12-19T09:44:04Z",
+ "reason": "Local",
+ "message": "Local APIServices are always available"
+ }
+ ]
+ }
+ },
+ {
+ "metadata": {
+ "name": "v1.events.k8s.io",
+ "uid": "28ffd423-b523-4d74-983a-6c9f4dff039c",
+ "resourceVersion": "27",
+ "creationTimestamp": "2022-12-19T09:44:04Z",
+ "labels": {
+ "kube-aggregator.kubernetes.io/automanaged": "onstart"
+ },
+ "managedFields": [
+ {
+ "manager": "kube-apiserver",
+ "operation": "Update",
+ "apiVersion": "apiregistration.k8s.io/v1",
+ "time": "2022-12-19T09:44:04Z",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:labels": {
+ ".": {},
+ "f:kube-aggregator.kubernetes.io/automanaged": {}
+ }
+ },
+ "f:spec": {
+ "f:group": {},
+ "f:groupPriorityMinimum": {},
+ "f:version": {},
+ "f:versionPriority": {}
+ }
+ }
+ }
+ ]
+ },
+ "spec": {
+ "group": "events.k8s.io",
+ "version": "v1",
+ "groupPriorityMinimum": 17750,
+ "versionPriority": 15
+ },
+ "status": {
+ "conditions": [
+ {
+ "type": "Available",
+ "status": "True",
+ "lastTransitionTime": "2022-12-19T09:44:04Z",
+ "reason": "Local",
+ "message": "Local APIServices are always available"
+ }
+ ]
+ }
+ },
+ {
+ "metadata": {
+ "name": "v1.networking.k8s.io",
+ "uid": "257d60b9-fa9c-4f39-b25b-60f1c61f07fc",
+ "resourceVersion": "32",
+ "creationTimestamp": "2022-12-19T09:44:04Z",
+ "labels": {
+ "kube-aggregator.kubernetes.io/automanaged": "onstart"
+ },
+ "managedFields": [
+ {
+ "manager": "kube-apiserver",
+ "operation": "Update",
+ "apiVersion": "apiregistration.k8s.io/v1",
+ "time": "2022-12-19T09:44:04Z",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:labels": {
+ ".": {},
+ "f:kube-aggregator.kubernetes.io/automanaged": {}
+ }
+ },
+ "f:spec": {
+ "f:group": {},
+ "f:groupPriorityMinimum": {},
+ "f:version": {},
+ "f:versionPriority": {}
+ }
+ }
+ }
+ ]
+ },
+ "spec": {
+ "group": "networking.k8s.io",
+ "version": "v1",
+ "groupPriorityMinimum": 17200,
+ "versionPriority": 15
+ },
+ "status": {
+ "conditions": [
+ {
+ "type": "Available",
+ "status": "True",
+ "lastTransitionTime": "2022-12-19T09:44:04Z",
+ "reason": "Local",
+ "message": "Local APIServices are always available"
+ }
+ ]
+ }
+ },
+ {
+ "metadata": {
+ "name": "v1.node.k8s.io",
+ "uid": "bf433c37-739f-4a64-91b8-56a5f3cf57b0",
+ "resourceVersion": "30",
+ "creationTimestamp": "2022-12-19T09:44:04Z",
+ "labels": {
+ "kube-aggregator.kubernetes.io/automanaged": "onstart"
+ },
+ "managedFields": [
+ {
+ "manager": "kube-apiserver",
+ "operation": "Update",
+ "apiVersion": "apiregistration.k8s.io/v1",
+ "time": "2022-12-19T09:44:04Z",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:labels": {
+ ".": {},
+ "f:kube-aggregator.kubernetes.io/automanaged": {}
+ }
+ },
+ "f:spec": {
+ "f:group": {},
+ "f:groupPriorityMinimum": {},
+ "f:version": {},
+ "f:versionPriority": {}
+ }
+ }
+ }
+ ]
+ },
+ "spec": {
+ "group": "node.k8s.io",
+ "version": "v1",
+ "groupPriorityMinimum": 16300,
+ "versionPriority": 15
+ },
+ "status": {
+ "conditions": [
+ {
+ "type": "Available",
+ "status": "True",
+ "lastTransitionTime": "2022-12-19T09:44:04Z",
+ "reason": "Local",
+ "message": "Local APIServices are always available"
+ }
+ ]
+ }
+ },
+ {
+ "metadata": {
+ "name": "v1.policy",
+ "uid": "fcb90c58-19eb-4672-9eba-0c63b9d02a07",
+ "resourceVersion": "34",
+ "creationTimestamp": "2022-12-19T09:44:04Z",
+ "labels": {
+ "kube-aggregator.kubernetes.io/automanaged": "onstart"
+ },
+ "managedFields": [
+ {
+ "manager": "kube-apiserver",
+ "operation": "Update",
+ "apiVersion": "apiregistration.k8s.io/v1",
+ "time": "2022-12-19T09:44:04Z",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:labels": {
+ ".": {},
+ "f:kube-aggregator.kubernetes.io/automanaged": {}
+ }
+ },
+ "f:spec": {
+ "f:group": {},
+ "f:groupPriorityMinimum": {},
+ "f:version": {},
+ "f:versionPriority": {}
+ }
+ }
+ }
+ ]
+ },
+ "spec": {
+ "group": "policy",
+ "version": "v1",
+ "groupPriorityMinimum": 17100,
+ "versionPriority": 15
+ },
+ "status": {
+ "conditions": [
+ {
+ "type": "Available",
+ "status": "True",
+ "lastTransitionTime": "2022-12-19T09:44:04Z",
+ "reason": "Local",
+ "message": "Local APIServices are always available"
+ }
+ ]
+ }
+ },
+ {
+ "metadata": {
+ "name": "v1.rbac.authorization.k8s.io",
+ "uid": "bdb8aa5b-2791-4cae-88ba-3017bd164aef",
+ "resourceVersion": "37",
+ "creationTimestamp": "2022-12-19T09:44:04Z",
+ "labels": {
+ "kube-aggregator.kubernetes.io/automanaged": "onstart"
+ },
+ "managedFields": [
+ {
+ "manager": "kube-apiserver",
+ "operation": "Update",
+ "apiVersion": "apiregistration.k8s.io/v1",
+ "time": "2022-12-19T09:44:04Z",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:labels": {
+ ".": {},
+ "f:kube-aggregator.kubernetes.io/automanaged": {}
+ }
+ },
+ "f:spec": {
+ "f:group": {},
+ "f:groupPriorityMinimum": {},
+ "f:version": {},
+ "f:versionPriority": {}
+ }
+ }
+ }
+ ]
+ },
+ "spec": {
+ "group": "rbac.authorization.k8s.io",
+ "version": "v1",
+ "groupPriorityMinimum": 17000,
+ "versionPriority": 15
+ },
+ "status": {
+ "conditions": [
+ {
+ "type": "Available",
+ "status": "True",
+ "lastTransitionTime": "2022-12-19T09:44:04Z",
+ "reason": "Local",
+ "message": "Local APIServices are always available"
+ }
+ ]
+ }
+ },
+ {
+ "metadata": {
+ "name": "v1.scheduling.k8s.io",
+ "uid": "f33b0076-e66d-46bc-a4a7-0b7772033532",
+ "resourceVersion": "38",
+ "creationTimestamp": "2022-12-19T09:44:04Z",
+ "labels": {
+ "kube-aggregator.kubernetes.io/automanaged": "onstart"
+ },
+ "managedFields": [
+ {
+ "manager": "kube-apiserver",
+ "operation": "Update",
+ "apiVersion": "apiregistration.k8s.io/v1",
+ "time": "2022-12-19T09:44:04Z",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:labels": {
+ ".": {},
+ "f:kube-aggregator.kubernetes.io/automanaged": {}
+ }
+ },
+ "f:spec": {
+ "f:group": {},
+ "f:groupPriorityMinimum": {},
+ "f:version": {},
+ "f:versionPriority": {}
+ }
+ }
+ }
+ ]
+ },
+ "spec": {
+ "group": "scheduling.k8s.io",
+ "version": "v1",
+ "groupPriorityMinimum": 16600,
+ "versionPriority": 15
+ },
+ "status": {
+ "conditions": [
+ {
+ "type": "Available",
+ "status": "True",
+ "lastTransitionTime": "2022-12-19T09:44:04Z",
+ "reason": "Local",
+ "message": "Local APIServices are always available"
+ }
+ ]
+ }
+ },
+ {
+ "metadata": {
+ "name": "v1.storage.k8s.io",
+ "uid": "22b2b57b-418c-451b-b810-8ba5dd9c0c89",
+ "resourceVersion": "36",
+ "creationTimestamp": "2022-12-19T09:44:04Z",
+ "labels": {
+ "kube-aggregator.kubernetes.io/automanaged": "onstart"
+ },
+ "managedFields": [
+ {
+ "manager": "kube-apiserver",
+ "operation": "Update",
+ "apiVersion": "apiregistration.k8s.io/v1",
+ "time": "2022-12-19T09:44:04Z",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:labels": {
+ ".": {},
+ "f:kube-aggregator.kubernetes.io/automanaged": {}
+ }
+ },
+ "f:spec": {
+ "f:group": {},
+ "f:groupPriorityMinimum": {},
+ "f:version": {},
+ "f:versionPriority": {}
+ }
+ }
+ }
+ ]
+ },
+ "spec": {
+ "group": "storage.k8s.io",
+ "version": "v1",
+ "groupPriorityMinimum": 16800,
+ "versionPriority": 15
+ },
+ "status": {
+ "conditions": [
+ {
+ "type": "Available",
+ "status": "True",
+ "lastTransitionTime": "2022-12-19T09:44:04Z",
+ "reason": "Local",
+ "message": "Local APIServices are always available"
+ }
+ ]
+ }
+ },
+ {
+ "metadata": {
+ "name": "v1alpha1.goharbor.goharbor.io",
+ "uid": "7089165b-7a59-41f5-a679-00bfe4547507",
+ "resourceVersion": "3218717",
+ "creationTimestamp": "2023-01-04T07:30:57Z",
+ "labels": {
+ "kube-aggregator.kubernetes.io/automanaged": "true"
+ },
+ "managedFields": [
+ {
+ "manager": "kube-apiserver",
+ "operation": "Update",
+ "apiVersion": "apiregistration.k8s.io/v1",
+ "time": "2023-01-04T07:30:57Z",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:labels": {
+ ".": {},
+ "f:kube-aggregator.kubernetes.io/automanaged": {}
+ }
+ },
+ "f:spec": {
+ "f:group": {},
+ "f:groupPriorityMinimum": {},
+ "f:version": {},
+ "f:versionPriority": {}
+ }
+ }
+ }
+ ]
+ },
+ "spec": {
+ "group": "goharbor.goharbor.io",
+ "version": "v1alpha1",
+ "groupPriorityMinimum": 1000,
+ "versionPriority": 100
+ },
+ "status": {
+ "conditions": [
+ {
+ "type": "Available",
+ "status": "True",
+ "lastTransitionTime": "2023-01-04T07:30:57Z",
+ "reason": "Local",
+ "message": "Local APIServices are always available"
+ }
+ ]
+ }
+ },
+ {
+ "metadata": {
+ "name": "v1beta1.batch",
+ "uid": "7d588ce0-06e6-4fc1-a8ff-528b00b076c4",
+ "resourceVersion": "17",
+ "creationTimestamp": "2022-12-19T09:44:04Z",
+ "labels": {
+ "kube-aggregator.kubernetes.io/automanaged": "onstart"
+ },
+ "managedFields": [
+ {
+ "manager": "kube-apiserver",
+ "operation": "Update",
+ "apiVersion": "apiregistration.k8s.io/v1",
+ "time": "2022-12-19T09:44:04Z",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:labels": {
+ ".": {},
+ "f:kube-aggregator.kubernetes.io/automanaged": {}
+ }
+ },
+ "f:spec": {
+ "f:group": {},
+ "f:groupPriorityMinimum": {},
+ "f:version": {},
+ "f:versionPriority": {}
+ }
+ }
+ }
+ ]
+ },
+ "spec": {
+ "group": "batch",
+ "version": "v1beta1",
+ "groupPriorityMinimum": 17400,
+ "versionPriority": 9
+ },
+ "status": {
+ "conditions": [
+ {
+ "type": "Available",
+ "status": "True",
+ "lastTransitionTime": "2022-12-19T09:44:04Z",
+ "reason": "Local",
+ "message": "Local APIServices are always available"
+ }
+ ]
+ }
+ },
+ {
+ "metadata": {
+ "name": "v1beta1.discovery.k8s.io",
+ "uid": "6fca91dd-f944-420a-aa3f-7e715803a271",
+ "resourceVersion": "25",
+ "creationTimestamp": "2022-12-19T09:44:04Z",
+ "labels": {
+ "kube-aggregator.kubernetes.io/automanaged": "onstart"
+ },
+ "managedFields": [
+ {
+ "manager": "kube-apiserver",
+ "operation": "Update",
+ "apiVersion": "apiregistration.k8s.io/v1",
+ "time": "2022-12-19T09:44:04Z",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:labels": {
+ ".": {},
+ "f:kube-aggregator.kubernetes.io/automanaged": {}
+ }
+ },
+ "f:spec": {
+ "f:group": {},
+ "f:groupPriorityMinimum": {},
+ "f:version": {},
+ "f:versionPriority": {}
+ }
+ }
+ }
+ ]
+ },
+ "spec": {
+ "group": "discovery.k8s.io",
+ "version": "v1beta1",
+ "groupPriorityMinimum": 16200,
+ "versionPriority": 12
+ },
+ "status": {
+ "conditions": [
+ {
+ "type": "Available",
+ "status": "True",
+ "lastTransitionTime": "2022-12-19T09:44:04Z",
+ "reason": "Local",
+ "message": "Local APIServices are always available"
+ }
+ ]
+ }
+ },
+ {
+ "metadata": {
+ "name": "v1beta1.events.k8s.io",
+ "uid": "a4261fe2-fa2d-4675-964e-39bb7b2537ae",
+ "resourceVersion": "26",
+ "creationTimestamp": "2022-12-19T09:44:04Z",
+ "labels": {
+ "kube-aggregator.kubernetes.io/automanaged": "onstart"
+ },
+ "managedFields": [
+ {
+ "manager": "kube-apiserver",
+ "operation": "Update",
+ "apiVersion": "apiregistration.k8s.io/v1",
+ "time": "2022-12-19T09:44:04Z",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:labels": {
+ ".": {},
+ "f:kube-aggregator.kubernetes.io/automanaged": {}
+ }
+ },
+ "f:spec": {
+ "f:group": {},
+ "f:groupPriorityMinimum": {},
+ "f:version": {},
+ "f:versionPriority": {}
+ }
+ }
+ }
+ ]
+ },
+ "spec": {
+ "group": "events.k8s.io",
+ "version": "v1beta1",
+ "groupPriorityMinimum": 17750,
+ "versionPriority": 5
+ },
+ "status": {
+ "conditions": [
+ {
+ "type": "Available",
+ "status": "True",
+ "lastTransitionTime": "2022-12-19T09:44:04Z",
+ "reason": "Local",
+ "message": "Local APIServices are always available"
+ }
+ ]
+ }
+ },
+ {
+ "metadata": {
+ "name": "v1beta1.flowcontrol.apiserver.k8s.io",
+ "uid": "96c88471-dcca-467c-b260-f5b1f43c5f71",
+ "resourceVersion": "24",
+ "creationTimestamp": "2022-12-19T09:44:04Z",
+ "labels": {
+ "kube-aggregator.kubernetes.io/automanaged": "onstart"
+ },
+ "managedFields": [
+ {
+ "manager": "kube-apiserver",
+ "operation": "Update",
+ "apiVersion": "apiregistration.k8s.io/v1",
+ "time": "2022-12-19T09:44:04Z",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:labels": {
+ ".": {},
+ "f:kube-aggregator.kubernetes.io/automanaged": {}
+ }
+ },
+ "f:spec": {
+ "f:group": {},
+ "f:groupPriorityMinimum": {},
+ "f:version": {},
+ "f:versionPriority": {}
+ }
+ }
+ }
+ ]
+ },
+ "spec": {
+ "group": "flowcontrol.apiserver.k8s.io",
+ "version": "v1beta1",
+ "groupPriorityMinimum": 16100,
+ "versionPriority": 12
+ },
+ "status": {
+ "conditions": [
+ {
+ "type": "Available",
+ "status": "True",
+ "lastTransitionTime": "2022-12-19T09:44:04Z",
+ "reason": "Local",
+ "message": "Local APIServices are always available"
+ }
+ ]
+ }
+ },
+ {
+ "metadata": {
+ "name": "v1beta1.node.k8s.io",
+ "uid": "fa4ea7ad-94d1-474c-a6b9-dac4a5496bfc",
+ "resourceVersion": "31",
+ "creationTimestamp": "2022-12-19T09:44:04Z",
+ "labels": {
+ "kube-aggregator.kubernetes.io/automanaged": "onstart"
+ },
+ "managedFields": [
+ {
+ "manager": "kube-apiserver",
+ "operation": "Update",
+ "apiVersion": "apiregistration.k8s.io/v1",
+ "time": "2022-12-19T09:44:04Z",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:labels": {
+ ".": {},
+ "f:kube-aggregator.kubernetes.io/automanaged": {}
+ }
+ },
+ "f:spec": {
+ "f:group": {},
+ "f:groupPriorityMinimum": {},
+ "f:version": {},
+ "f:versionPriority": {}
+ }
+ }
+ }
+ ]
+ },
+ "spec": {
+ "group": "node.k8s.io",
+ "version": "v1beta1",
+ "groupPriorityMinimum": 16300,
+ "versionPriority": 9
+ },
+ "status": {
+ "conditions": [
+ {
+ "type": "Available",
+ "status": "True",
+ "lastTransitionTime": "2022-12-19T09:44:04Z",
+ "reason": "Local",
+ "message": "Local APIServices are always available"
+ }
+ ]
+ }
+ },
+ {
+ "metadata": {
+ "name": "v1beta1.policy",
+ "uid": "a03b83eb-2306-46b0-82e4-93bd05a32c74",
+ "resourceVersion": "33",
+ "creationTimestamp": "2022-12-19T09:44:04Z",
+ "labels": {
+ "kube-aggregator.kubernetes.io/automanaged": "onstart"
+ },
+ "managedFields": [
+ {
+ "manager": "kube-apiserver",
+ "operation": "Update",
+ "apiVersion": "apiregistration.k8s.io/v1",
+ "time": "2022-12-19T09:44:04Z",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:labels": {
+ ".": {},
+ "f:kube-aggregator.kubernetes.io/automanaged": {}
+ }
+ },
+ "f:spec": {
+ "f:group": {},
+ "f:groupPriorityMinimum": {},
+ "f:version": {},
+ "f:versionPriority": {}
+ }
+ }
+ }
+ ]
+ },
+ "spec": {
+ "group": "policy",
+ "version": "v1beta1",
+ "groupPriorityMinimum": 17100,
+ "versionPriority": 9
+ },
+ "status": {
+ "conditions": [
+ {
+ "type": "Available",
+ "status": "True",
+ "lastTransitionTime": "2022-12-19T09:44:04Z",
+ "reason": "Local",
+ "message": "Local APIServices are always available"
+ }
+ ]
+ }
+ },
+ {
+ "metadata": {
+ "name": "v1beta1.storage.k8s.io",
+ "uid": "1d115584-3ab2-4075-940c-5b56f2efab1c",
+ "resourceVersion": "35",
+ "creationTimestamp": "2022-12-19T09:44:04Z",
+ "labels": {
+ "kube-aggregator.kubernetes.io/automanaged": "onstart"
+ },
+ "managedFields": [
+ {
+ "manager": "kube-apiserver",
+ "operation": "Update",
+ "apiVersion": "apiregistration.k8s.io/v1",
+ "time": "2022-12-19T09:44:04Z",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:labels": {
+ ".": {},
+ "f:kube-aggregator.kubernetes.io/automanaged": {}
+ }
+ },
+ "f:spec": {
+ "f:group": {},
+ "f:groupPriorityMinimum": {},
+ "f:version": {},
+ "f:versionPriority": {}
+ }
+ }
+ }
+ ]
+ },
+ "spec": {
+ "group": "storage.k8s.io",
+ "version": "v1beta1",
+ "groupPriorityMinimum": 16800,
+ "versionPriority": 9
+ },
+ "status": {
+ "conditions": [
+ {
+ "type": "Available",
+ "status": "True",
+ "lastTransitionTime": "2022-12-19T09:44:04Z",
+ "reason": "Local",
+ "message": "Local APIServices are always available"
+ }
+ ]
+ }
+ },
+ {
+ "metadata": {
+ "name": "v1beta2.flowcontrol.apiserver.k8s.io",
+ "uid": "85e039af-cd1b-41cc-9dd4-0cb3bacb3146",
+ "resourceVersion": "23",
+ "creationTimestamp": "2022-12-19T09:44:04Z",
+ "labels": {
+ "kube-aggregator.kubernetes.io/automanaged": "onstart"
+ },
+ "managedFields": [
+ {
+ "manager": "kube-apiserver",
+ "operation": "Update",
+ "apiVersion": "apiregistration.k8s.io/v1",
+ "time": "2022-12-19T09:44:04Z",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:labels": {
+ ".": {},
+ "f:kube-aggregator.kubernetes.io/automanaged": {}
+ }
+ },
+ "f:spec": {
+ "f:group": {},
+ "f:groupPriorityMinimum": {},
+ "f:version": {},
+ "f:versionPriority": {}
+ }
+ }
+ }
+ ]
+ },
+ "spec": {
+ "group": "flowcontrol.apiserver.k8s.io",
+ "version": "v1beta2",
+ "groupPriorityMinimum": 16100,
+ "versionPriority": 15
+ },
+ "status": {
+ "conditions": [
+ {
+ "type": "Available",
+ "status": "True",
+ "lastTransitionTime": "2022-12-19T09:44:04Z",
+ "reason": "Local",
+ "message": "Local APIServices are always available"
+ }
+ ]
+ }
+ },
+ {
+ "metadata": {
+ "name": "v2.autoscaling",
+ "uid": "e8dae725-9da2-423a-a9d7-f61a3bcc70f4",
+ "resourceVersion": "13",
+ "creationTimestamp": "2022-12-19T09:44:03Z",
+ "labels": {
+ "kube-aggregator.kubernetes.io/automanaged": "onstart"
+ },
+ "managedFields": [
+ {
+ "manager": "kube-apiserver",
+ "operation": "Update",
+ "apiVersion": "apiregistration.k8s.io/v1",
+ "time": "2022-12-19T09:44:03Z",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:labels": {
+ ".": {},
+ "f:kube-aggregator.kubernetes.io/automanaged": {}
+ }
+ },
+ "f:spec": {
+ "f:group": {},
+ "f:groupPriorityMinimum": {},
+ "f:version": {},
+ "f:versionPriority": {}
+ }
+ }
+ }
+ ]
+ },
+ "spec": {
+ "group": "autoscaling",
+ "version": "v2",
+ "groupPriorityMinimum": 17500,
+ "versionPriority": 30
+ },
+ "status": {
+ "conditions": [
+ {
+ "type": "Available",
+ "status": "True",
+ "lastTransitionTime": "2022-12-19T09:44:03Z",
+ "reason": "Local",
+ "message": "Local APIServices are always available"
+ }
+ ]
+ }
+ },
+ {
+ "metadata": {
+ "name": "v2beta1.autoscaling",
+ "uid": "7351514f-4695-471f-af9c-65b17ebd6ee6",
+ "resourceVersion": "16",
+ "creationTimestamp": "2022-12-19T09:44:03Z",
+ "labels": {
+ "kube-aggregator.kubernetes.io/automanaged": "onstart"
+ },
+ "managedFields": [
+ {
+ "manager": "kube-apiserver",
+ "operation": "Update",
+ "apiVersion": "apiregistration.k8s.io/v1",
+ "time": "2022-12-19T09:44:03Z",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:labels": {
+ ".": {},
+ "f:kube-aggregator.kubernetes.io/automanaged": {}
+ }
+ },
+ "f:spec": {
+ "f:group": {},
+ "f:groupPriorityMinimum": {},
+ "f:version": {},
+ "f:versionPriority": {}
+ }
+ }
+ }
+ ]
+ },
+ "spec": {
+ "group": "autoscaling",
+ "version": "v2beta1",
+ "groupPriorityMinimum": 17500,
+ "versionPriority": 9
+ },
+ "status": {
+ "conditions": [
+ {
+ "type": "Available",
+ "status": "True",
+ "lastTransitionTime": "2022-12-19T09:44:03Z",
+ "reason": "Local",
+ "message": "Local APIServices are always available"
+ }
+ ]
+ }
+ },
+ {
+ "metadata": {
+ "name": "v2beta2.autoscaling",
+ "uid": "9d8c17ed-2e59-4270-b0a5-c4dd072fe720",
+ "resourceVersion": "15",
+ "creationTimestamp": "2022-12-19T09:44:03Z",
+ "labels": {
+ "kube-aggregator.kubernetes.io/automanaged": "onstart"
+ },
+ "managedFields": [
+ {
+ "manager": "kube-apiserver",
+ "operation": "Update",
+ "apiVersion": "apiregistration.k8s.io/v1",
+ "time": "2022-12-19T09:44:03Z",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:labels": {
+ ".": {},
+ "f:kube-aggregator.kubernetes.io/automanaged": {}
+ }
+ },
+ "f:spec": {
+ "f:group": {},
+ "f:groupPriorityMinimum": {},
+ "f:version": {},
+ "f:versionPriority": {}
+ }
+ }
+ }
+ ]
+ },
+ "spec": {
+ "group": "autoscaling",
+ "version": "v2beta2",
+ "groupPriorityMinimum": 17500,
+ "versionPriority": 1
+ },
+ "status": {
+ "conditions": [
+ {
+ "type": "Available",
+ "status": "True",
+ "lastTransitionTime": "2022-12-19T09:44:03Z",
+ "reason": "Local",
+ "message": "Local APIServices are always available"
+ }
+ ]
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/frontend/cypress/fixtures/example.json b/src/frontend/cypress/fixtures/example.json
new file mode 100644
index 00000000..20b22a17
--- /dev/null
+++ b/src/frontend/cypress/fixtures/example.json
@@ -0,0 +1,5 @@
+{
+ "name": "Using fixtures to represent data",
+ "email": "hello@cypress.io"
+}
+
\ No newline at end of file
diff --git a/src/frontend/cypress/fixtures/namespace.json b/src/frontend/cypress/fixtures/namespace.json
new file mode 100644
index 00000000..a482beef
--- /dev/null
+++ b/src/frontend/cypress/fixtures/namespace.json
@@ -0,0 +1,288 @@
+{
+ "kind": "NamespaceList",
+ "apiVersion": "v1",
+ "metadata": {
+ "resourceVersion": "5141933"
+ },
+ "items": [
+ {
+ "metadata": {
+ "name": "cnsi-system",
+ "uid": "8fc590fc-3b1a-4099-80fc-95559c58f5c7",
+ "resourceVersion": "3218730",
+ "creationTimestamp": "2023-01-04T07:30:54Z",
+ "labels": {
+ "control-plane": "cnsi-controller",
+ "kubernetes.io/metadata.name": "cnsi-system"
+ },
+ "annotations": {
+ "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Namespace\",\"metadata\":{\"annotations\":{},\"labels\":{\"control-plane\":\"cnsi-controller\"},\"name\":\"cnsi-system\"}}\n"
+ },
+ "managedFields": [
+ {
+ "manager": "kubectl-client-side-apply",
+ "operation": "Update",
+ "apiVersion": "v1",
+ "time": "2023-01-04T07:30:57Z",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:kubectl.kubernetes.io/last-applied-configuration": {}
+ },
+ "f:labels": {
+ ".": {},
+ "f:control-plane": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ }
+ }
+ }
+ ]
+ },
+ "spec": {
+ "finalizers": [
+ "kubernetes"
+ ]
+ },
+ "status": {
+ "phase": "Active"
+ }
+ },
+ {
+ "metadata": {
+ "name": "cronjobs",
+ "uid": "f5f086f0-b5f8-4ec9-8c55-46dfc0a1cd8a",
+ "resourceVersion": "3226946",
+ "creationTimestamp": "2023-01-04T08:50:45Z",
+ "labels": {
+ "goharbor.io/policy-working-for": "cronjobs",
+ "kubernetes.io/metadata.name": "cronjobs"
+ },
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028",
+ "controller": true,
+ "blockOwnerDeletion": true
+ }
+ ],
+ "managedFields": [
+ {
+ "manager": "manager",
+ "operation": "Update",
+ "apiVersion": "v1",
+ "time": "2023-01-04T08:50:45Z",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:labels": {
+ ".": {},
+ "f:goharbor.io/policy-working-for": {},
+ "f:kubernetes.io/metadata.name": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ }
+ }
+ }
+ ]
+ },
+ "spec": {
+ "finalizers": [
+ "kubernetes"
+ ]
+ },
+ "status": {
+ "phase": "Active"
+ }
+ },
+ {
+ "metadata": {
+ "name": "default",
+ "uid": "734c6b84-c100-4d56-a625-a2e070674556",
+ "resourceVersion": "207",
+ "creationTimestamp": "2022-12-19T09:44:05Z",
+ "labels": {
+ "kubernetes.io/metadata.name": "default"
+ },
+ "managedFields": [
+ {
+ "manager": "kube-apiserver",
+ "operation": "Update",
+ "apiVersion": "v1",
+ "time": "2022-12-19T09:44:05Z",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:labels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ }
+ }
+ }
+ ]
+ },
+ "spec": {
+ "finalizers": [
+ "kubernetes"
+ ]
+ },
+ "status": {
+ "phase": "Active"
+ }
+ },
+ {
+ "metadata": {
+ "name": "kube-node-lease",
+ "uid": "3292ac16-851f-4f55-9d8e-4bc1661bd551",
+ "resourceVersion": "6",
+ "creationTimestamp": "2022-12-19T09:44:03Z",
+ "labels": {
+ "kubernetes.io/metadata.name": "kube-node-lease"
+ },
+ "managedFields": [
+ {
+ "manager": "kube-apiserver",
+ "operation": "Update",
+ "apiVersion": "v1",
+ "time": "2022-12-19T09:44:03Z",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:labels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ }
+ }
+ }
+ ]
+ },
+ "spec": {
+ "finalizers": [
+ "kubernetes"
+ ]
+ },
+ "status": {
+ "phase": "Active"
+ }
+ },
+ {
+ "metadata": {
+ "name": "kube-public",
+ "uid": "d1d41c01-ec70-487d-a904-feff396e8f56",
+ "resourceVersion": "5",
+ "creationTimestamp": "2022-12-19T09:44:03Z",
+ "labels": {
+ "kubernetes.io/metadata.name": "kube-public"
+ },
+ "managedFields": [
+ {
+ "manager": "kube-apiserver",
+ "operation": "Update",
+ "apiVersion": "v1",
+ "time": "2022-12-19T09:44:03Z",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:labels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ }
+ }
+ }
+ ]
+ },
+ "spec": {
+ "finalizers": [
+ "kubernetes"
+ ]
+ },
+ "status": {
+ "phase": "Active"
+ }
+ },
+ {
+ "metadata": {
+ "name": "kube-system",
+ "uid": "47f66aa5-e14b-4e54-972a-f9699f323aff",
+ "resourceVersion": "4",
+ "creationTimestamp": "2022-12-19T09:44:03Z",
+ "labels": {
+ "kubernetes.io/metadata.name": "kube-system"
+ },
+ "managedFields": [
+ {
+ "manager": "kube-apiserver",
+ "operation": "Update",
+ "apiVersion": "v1",
+ "time": "2022-12-19T09:44:03Z",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:labels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ }
+ }
+ }
+ ]
+ },
+ "spec": {
+ "finalizers": [
+ "kubernetes"
+ ]
+ },
+ "status": {
+ "phase": "Active"
+ }
+ },
+ {
+ "metadata": {
+ "name": "opensearch",
+ "uid": "29f30510-691c-4b99-bbde-c03eed4df717",
+ "resourceVersion": "551",
+ "creationTimestamp": "2022-12-19T09:46:28Z",
+ "labels": {
+ "kubernetes.io/metadata.name": "opensearch",
+ "name": "opensearch"
+ },
+ "managedFields": [
+ {
+ "manager": "helm",
+ "operation": "Update",
+ "apiVersion": "v1",
+ "time": "2022-12-19T09:46:28Z",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:labels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {},
+ "f:name": {}
+ }
+ }
+ }
+ }
+ ]
+ },
+ "spec": {
+ "finalizers": [
+ "kubernetes"
+ ]
+ },
+ "status": {
+ "phase": "Active"
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/frontend/cypress/fixtures/nodes.json b/src/frontend/cypress/fixtures/nodes.json
new file mode 100644
index 00000000..21b8b579
--- /dev/null
+++ b/src/frontend/cypress/fixtures/nodes.json
@@ -0,0 +1,369 @@
+{
+ "kind": "NodeList",
+ "apiVersion": "v1",
+ "metadata": {
+ "resourceVersion": "5141933"
+ },
+ "items": [
+ {
+ "metadata": {
+ "name": "sc2-10-186-134-92.eng.vmware.com",
+ "uid": "8ccc0cd0-8b46-40e3-9df9-fb5c4e032c31",
+ "resourceVersion": "5141307",
+ "creationTimestamp": "2022-12-19T09:44:04Z",
+ "labels": {
+ "beta.kubernetes.io/arch": "amd64",
+ "beta.kubernetes.io/os": "linux",
+ "kubernetes.io/arch": "amd64",
+ "kubernetes.io/hostname": "sc2-10-186-134-92.eng.vmware.com",
+ "kubernetes.io/os": "linux",
+ "minikube.k8s.io/commit": "5931455374810b1bbeb222a9713ae2c756daee10",
+ "minikube.k8s.io/name": "minikube",
+ "minikube.k8s.io/updated_at": "2022_12_19T04_44_07_0700",
+ "minikube.k8s.io/version": "v1.23.0",
+ "node-role.kubernetes.io/control-plane": "",
+ "node-role.kubernetes.io/master": "",
+ "node.kubernetes.io/exclude-from-external-load-balancers": ""
+ },
+ "annotations": {
+ "kubeadm.alpha.kubernetes.io/cri-socket": "/var/run/dockershim.sock",
+ "node.alpha.kubernetes.io/ttl": "0",
+ "volumes.kubernetes.io/controller-managed-attach-detach": "true"
+ },
+ "managedFields": [
+ {
+ "manager": "Go-http-client",
+ "operation": "Update",
+ "apiVersion": "v1",
+ "time": "2022-12-19T09:44:06Z",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:kubeadm.alpha.kubernetes.io/cri-socket": {},
+ "f:volumes.kubernetes.io/controller-managed-attach-detach": {}
+ },
+ "f:labels": {
+ ".": {},
+ "f:beta.kubernetes.io/arch": {},
+ "f:beta.kubernetes.io/os": {},
+ "f:kubernetes.io/arch": {},
+ "f:kubernetes.io/hostname": {},
+ "f:kubernetes.io/os": {},
+ "f:node-role.kubernetes.io/control-plane": {},
+ "f:node-role.kubernetes.io/master": {},
+ "f:node.kubernetes.io/exclude-from-external-load-balancers": {}
+ }
+ }
+ }
+ },
+ {
+ "manager": "kubectl-label",
+ "operation": "Update",
+ "apiVersion": "v1",
+ "time": "2022-12-19T09:44:07Z",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:labels": {
+ "f:minikube.k8s.io/commit": {},
+ "f:minikube.k8s.io/name": {},
+ "f:minikube.k8s.io/updated_at": {},
+ "f:minikube.k8s.io/version": {}
+ }
+ }
+ }
+ },
+ {
+ "manager": "kube-controller-manager",
+ "operation": "Update",
+ "apiVersion": "v1",
+ "time": "2023-01-09T23:47:18Z",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ "f:node.alpha.kubernetes.io/ttl": {}
+ }
+ },
+ "f:spec": {
+ "f:podCIDR": {},
+ "f:podCIDRs": {
+ ".": {},
+ "v:\"10.244.0.0/24\"": {}
+ }
+ }
+ }
+ },
+ {
+ "manager": "Go-http-client",
+ "operation": "Update",
+ "apiVersion": "v1",
+ "time": "2023-01-09T23:47:29Z",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:status": {
+ "f:conditions": {
+ "k:{\"type\":\"DiskPressure\"}": {
+ "f:lastHeartbeatTime": {},
+ "f:lastTransitionTime": {},
+ "f:message": {},
+ "f:reason": {},
+ "f:status": {}
+ },
+ "k:{\"type\":\"MemoryPressure\"}": {
+ "f:lastHeartbeatTime": {},
+ "f:lastTransitionTime": {},
+ "f:message": {},
+ "f:reason": {},
+ "f:status": {}
+ },
+ "k:{\"type\":\"PIDPressure\"}": {
+ "f:lastHeartbeatTime": {},
+ "f:lastTransitionTime": {},
+ "f:message": {},
+ "f:reason": {},
+ "f:status": {}
+ },
+ "k:{\"type\":\"Ready\"}": {
+ "f:lastHeartbeatTime": {},
+ "f:lastTransitionTime": {},
+ "f:message": {},
+ "f:reason": {},
+ "f:status": {}
+ }
+ },
+ "f:images": {}
+ }
+ },
+ "subresource": "status"
+ }
+ ]
+ },
+ "spec": {
+ "podCIDR": "10.244.0.0/24",
+ "podCIDRs": [
+ "10.244.0.0/24"
+ ]
+ },
+ "status": {
+ "capacity": {
+ "cpu": "32",
+ "ephemeral-storage": "51175Mi",
+ "hugepages-1Gi": "0",
+ "hugepages-2Mi": "0",
+ "memory": "65804120Ki",
+ "pods": "110"
+ },
+ "allocatable": {
+ "cpu": "32",
+ "ephemeral-storage": "51175Mi",
+ "hugepages-1Gi": "0",
+ "hugepages-2Mi": "0",
+ "memory": "65804120Ki",
+ "pods": "110"
+ },
+ "conditions": [
+ {
+ "type": "MemoryPressure",
+ "status": "False",
+ "lastHeartbeatTime": "2023-01-13T07:40:27Z",
+ "lastTransitionTime": "2023-01-09T23:47:29Z",
+ "reason": "KubeletHasSufficientMemory",
+ "message": "kubelet has sufficient memory available"
+ },
+ {
+ "type": "DiskPressure",
+ "status": "False",
+ "lastHeartbeatTime": "2023-01-13T07:40:27Z",
+ "lastTransitionTime": "2023-01-09T23:47:29Z",
+ "reason": "KubeletHasNoDiskPressure",
+ "message": "kubelet has no disk pressure"
+ },
+ {
+ "type": "PIDPressure",
+ "status": "False",
+ "lastHeartbeatTime": "2023-01-13T07:40:27Z",
+ "lastTransitionTime": "2023-01-09T23:47:29Z",
+ "reason": "KubeletHasSufficientPID",
+ "message": "kubelet has sufficient PID available"
+ },
+ {
+ "type": "Ready",
+ "status": "True",
+ "lastHeartbeatTime": "2023-01-13T07:40:27Z",
+ "lastTransitionTime": "2023-01-09T23:47:29Z",
+ "reason": "KubeletReady",
+ "message": "kubelet is posting ready status"
+ }
+ ],
+ "addresses": [
+ {
+ "type": "InternalIP",
+ "address": "10.186.134.92"
+ },
+ {
+ "type": "Hostname",
+ "address": "sc2-10-186-134-92.eng.vmware.com"
+ }
+ ],
+ "daemonEndpoints": {
+ "kubeletEndpoint": {
+ "Port": 10250
+ }
+ },
+ "nodeInfo": {
+ "machineID": "18220773f96144b6a7641ca3ebec54a9",
+ "systemUUID": "C16D2042-C160-303D-8F14-9D1C0C9614D6",
+ "bootID": "c847da8f-d604-4398-9c6a-36d38a4d783b",
+ "kernelVersion": "3.10.0-1160.el7.x86_64",
+ "osImage": "CentOS Linux 7 (Core)",
+ "containerRuntimeVersion": "docker://20.10.22",
+ "kubeletVersion": "v1.23.0",
+ "kubeProxyVersion": "v1.23.0",
+ "operatingSystem": "linux",
+ "architecture": "amd64"
+ },
+ "images": [
+ {
+ "names": [
+ "opensearchproject/opensearch-dashboards@sha256:47a66cd5d1841d7c2e869d1cfe8003de1251b029355e5e15b4895fb57fb89746",
+ "opensearchproject/opensearch-dashboards:2.4.1"
+ ],
+ "sizeBytes": 1532578391
+ },
+ {
+ "names": [
+ "opensearchproject/opensearch@sha256:ffd7da5e9b8365ce49596f8bd66b782fe99321db57badb263c29a21ec4e4697c",
+ "opensearchproject/opensearch:2.4.0"
+ ],
+ "sizeBytes": 990407900
+ },
+ {
+ "names": [
+ "k8s.gcr.io/etcd@sha256:64b9ea357325d5db9f8a723dcf503b5a449177b17ac87d69481e126bb724c263",
+ "k8s.gcr.io/etcd:3.5.1-0"
+ ],
+ "sizeBytes": 292558922
+ },
+ {
+ "names": [
+ "projects.registry.vmware.com/cnsi/portal@sha256:4b1cbf344de0367a71ee327f500ddc6bdd35ac2cfec06169a189b241a95d1165",
+ "projects.registry.vmware.com/cnsi/portal:0.2"
+ ],
+ "sizeBytes": 244521572
+ },
+ {
+ "names": [
+ "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409"
+ ],
+ "sizeBytes": 159135261
+ },
+ {
+ "names": [
+ "projects.registry.vmware.com/cnsi/kubebench@sha256:b8fe61bd14a7e60c2d29b9520590191716625d4dbed31ab279dcad03d3dd922d"
+ ],
+ "sizeBytes": 148927223
+ },
+ {
+ "names": [
+ "projects.registry.vmware.com/cnsi/kubebench@sha256:751f0a6e45602275f0b87cc2f60a27c15dbf1e51b97d105271d52344d9d4d1bf",
+ "projects.registry.vmware.com/cnsi/kubebench:0.2"
+ ],
+ "sizeBytes": 148918719
+ },
+ {
+ "names": [
+ "k8s.gcr.io/kube-apiserver@sha256:d10db42c2353539ce15006854edfb6707ba6025f282d59d962729ed3b6039004",
+ "k8s.gcr.io/kube-apiserver:v1.23.0"
+ ],
+ "sizeBytes": 135154064
+ },
+ {
+ "names": [
+ "k8s.gcr.io/kube-controller-manager@sha256:0bfbb13e5e9cec329523b6f654687af8ce058adbc90b42e5af7a929ac22e2a53",
+ "k8s.gcr.io/kube-controller-manager:v1.23.0"
+ ],
+ "sizeBytes": 124963795
+ },
+ {
+ "names": [
+ "k8s.gcr.io/kube-proxy@sha256:2e8292d30042bb75f745d2a90d0fc4fbc3a3b1bdbe5b9d3bf50dd866c62b2ba7",
+ "k8s.gcr.io/kube-proxy:v1.23.0"
+ ],
+ "sizeBytes": 112319647
+ },
+ {
+ "names": [
+ "projects.registry.vmware.com/cnsi/risk@sha256:bb804384c7357db929841c824dece68166eb0113aff7c5247906814d136a088a"
+ ],
+ "sizeBytes": 81838672
+ },
+ {
+ "names": [
+ "projects.registry.vmware.com/cnsi/risk@sha256:053d80b4fbfbdd2cd82b0cf38dd5af12b37c9d425fff0cfe21f63ff8e32e0e57",
+ "projects.registry.vmware.com/cnsi/risk:0.2"
+ ],
+ "sizeBytes": 81833019
+ },
+ {
+ "names": [
+ "projects.registry.vmware.com/cnsi/inspector@sha256:542f10d4f820b71adf536676202dab12209e251c8e6ee0982718849a462bb65a"
+ ],
+ "sizeBytes": 78374496
+ },
+ {
+ "names": [
+ "projects.registry.vmware.com/cnsi/inspector@sha256:8cd1bec66e39850dd8ac9e4c0d74921aae0fb175b3077372bd2447db754c8381",
+ "projects.registry.vmware.com/cnsi/inspector:0.2"
+ ],
+ "sizeBytes": 78363384
+ },
+ {
+ "names": [
+ "projects.registry.vmware.com/cnsi/manager@sha256:c615a83d9b0b45f2464b7d4caa8f95b6c56a1a9a09ca51899cfe2ee88b0c5484",
+ "projects.registry.vmware.com/cnsi/manager:0.2"
+ ],
+ "sizeBytes": 64507546
+ },
+ {
+ "names": [
+ "k8s.gcr.io/kube-scheduler@sha256:af8166ce28baa7cb902a2c0d16da865d5d7c892fe1b41187fd4be78ec6291c23",
+ "k8s.gcr.io/kube-scheduler:v1.23.0"
+ ],
+ "sizeBytes": 53476049
+ },
+ {
+ "names": [
+ "projects.registry.vmware.com/cnsi/kubebuilder/kube-rbac-proxy@sha256:34e8724e0f47e31eb2ec3279ac398b657db5f60f167426ee73138e2e84af6486",
+ "projects.registry.vmware.com/cnsi/kubebuilder/kube-rbac-proxy:v0.8.0"
+ ],
+ "sizeBytes": 48952053
+ },
+ {
+ "names": [
+ "k8s.gcr.io/coredns/coredns@sha256:5b6ec0d6de9baaf3e92d0f66cd96a25b9edbce8716f5f15dcd1a616b3abd590e",
+ "k8s.gcr.io/coredns/coredns:v1.8.6"
+ ],
+ "sizeBytes": 46829283
+ },
+ {
+ "names": [
+ "gcr.io/k8s-minikube/storage-provisioner@sha256:18eb69d1418e854ad5a19e399310e52808a8321e4c441c1dddad8977a0d7a944",
+ "gcr.io/k8s-minikube/storage-provisioner:v5"
+ ],
+ "sizeBytes": 31465472
+ },
+ {
+ "names": [
+ "k8s.gcr.io/pause@sha256:3d380ca8864549e74af4b29c10f9cb0956236dfb01c40ca076fb6c37253234db",
+ "k8s.gcr.io/pause:3.6"
+ ],
+ "sizeBytes": 682696
+ }
+ ]
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/frontend/cypress/fixtures/policy-list.json b/src/frontend/cypress/fixtures/policy-list.json
new file mode 100644
index 00000000..ce0433e0
--- /dev/null
+++ b/src/frontend/cypress/fixtures/policy-list.json
@@ -0,0 +1,145 @@
+{
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "items": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "InspectionPolicy",
+ "metadata": {
+ "creationTimestamp": "2023-02-01T01:56:59Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:deletionGracePeriodSeconds": {}
+ },
+ "f:spec": {
+ ".": {},
+ "f:enabled": {},
+ "f:inspection": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchEnabled": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchExpressions": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:defalut": {}
+ }
+ },
+ "f:workloadSelector": {
+ ".": {},
+ "f:matchExpressions": {},
+ "f:matchLabels": {}
+ }
+ },
+ "f:inspector": {
+ ".": {},
+ "f:image": {},
+ "f:imagePullPolicy": {},
+ "f:imagePullSecrets": {},
+ "f:kubebenchImage": {},
+ "f:riskImage": {}
+ },
+ "f:schedule": {},
+ "f:settingsName": {},
+ "f:strategy": {
+ ".": {},
+ "f:concurrencyRule": {},
+ "f:historyLimit": {},
+ "f:suspend": {}
+ },
+ "f:workNamespace": {}
+ }
+ },
+ "manager": "Mozilla",
+ "operation": "Update",
+ "time": "2023-02-01T01:56:59Z"
+ }
+ ],
+ "name": "policy-test",
+ "resourceVersion": "2285810",
+ "uid": "d5e6fe01-b09a-4b8b-98bd-37731d683d9c"
+ },
+ "spec": {
+ "enabled": true,
+ "inspection": {
+ "actions": [
+ {
+ "ignore": {
+ "matchExpressions": [],
+ "matchLabels": {}
+ },
+ "kind": "quarantine_vulnerable_workload",
+ "settings": {}
+ }
+ ],
+ "assessment": {
+ "elasticSearchEnabled": false,
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchExpressions": [],
+ "matchLabels": {
+ "defalut": "true"
+ }
+ },
+ "workloadSelector": {
+ "matchExpressions": [],
+ "matchLabels": {}
+ }
+ },
+ "inspector": {
+ "image": "projects.registry.vmware.com/cnsi/inspector:0.2",
+ "imagePullPolicy": "Always",
+ "imagePullSecrets": [],
+ "kubebenchImage": "projects.registry.vmware.com/cnsi/kubebench:0.2",
+ "riskImage": "projects.registry.vmware.com/cnsi/risk:0.2"
+ },
+ "schedule": "*/3 * * * *",
+ "settingsName": "test-setting",
+ "strategy": {
+ "concurrencyRule": "Forbid",
+ "historyLimit": 5,
+ "suspend": false
+ },
+ "workNamespace": "cronjobs"
+ }
+ }
+ ],
+ "kind": "InspectionPolicyList",
+ "metadata": {
+ "continue": "",
+ "resourceVersion": "2285820"
+ }
+}
\ No newline at end of file
diff --git a/src/frontend/cypress/fixtures/policy.json b/src/frontend/cypress/fixtures/policy.json
new file mode 100644
index 00000000..14b32ab9
--- /dev/null
+++ b/src/frontend/cypress/fixtures/policy.json
@@ -0,0 +1,10 @@
+{
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "items": [
+ ],
+ "kind": "InspectionPolicyList",
+ "metadata": {
+ "continue": "",
+ "resourceVersion": "2285820"
+ }
+}
\ No newline at end of file
diff --git a/src/frontend/cypress/fixtures/secrets.json b/src/frontend/cypress/fixtures/secrets.json
new file mode 100644
index 00000000..6f9f9330
--- /dev/null
+++ b/src/frontend/cypress/fixtures/secrets.json
@@ -0,0 +1,124 @@
+{
+ "kind": "SecretList",
+ "apiVersion": "v1",
+ "metadata": {
+ "resourceVersion": "5143720"
+ },
+ "items": [
+ {
+ "metadata": {
+ "name": "default-token-d8nh4",
+ "namespace": "default",
+ "uid": "55dbb98a-0aff-4369-9d34-5efef915e06f",
+ "resourceVersion": "414",
+ "creationTimestamp": "2022-12-19T09:44:19Z",
+ "annotations": {
+ "kubernetes.io/service-account.name": "default",
+ "kubernetes.io/service-account.uid": "a0f18def-1ffd-423a-92df-96dd7435fc9c"
+ },
+ "managedFields": [
+ {
+ "manager": "kube-controller-manager",
+ "operation": "Update",
+ "apiVersion": "v1",
+ "time": "2022-12-19T09:44:19Z",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:data": {
+ ".": {},
+ "f:ca.crt": {},
+ "f:namespace": {},
+ "f:token": {}
+ },
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:kubernetes.io/service-account.name": {},
+ "f:kubernetes.io/service-account.uid": {}
+ }
+ },
+ "f:type": {}
+ }
+ }
+ ]
+ },
+ "data": {
+ "ca.crt": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURCakNDQWU2Z0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwdGFXNXAKYTNWaVpVTkJNQjRYRFRJeU1USXhPREE1TkRNMU1sb1hEVE15TVRJeE5qQTVORE0xTWxvd0ZURVRNQkVHQTFVRQpBeE1LYldsdWFXdDFZbVZEUVRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTTJkCjhOMnRhUUNlcnNnMTFhMXdla0xZNngrYXdVVzhpMmIyY1ZpMHFpR0pCUHNPeXduY2Y2OTRGK1pxbjRpaVkzVXEKcjJmVTZYbk1EakIxNFl0eDlSRVFNRnpSRUNkWU95WkplMjhlczBtSGZqeHVjc25Bak8yV1NJVzIvdVAxRHlyVgpzZlBoUUJOYk4zVkFTTjRublM2VXlNbFRrNm9NRUtDM3ZhaS84WnByWEl0K1o4NnV2OVFjSCtwOEM1c2UwemNMCm54QmpjZjRJbnVaN0RHck1vdGhCT0NlVW9wbUk4VGVaNlFVWEYxUk05T3JQa1dLelRqTnIvVy9icUpwaW0yMy8KbVZYYlNCQjZoVThxVmVzOGoyQWllR0V5VDA3OWd1MVNTRjBXS3FtQVN0RUxsNHNkeFM2S20yWDBFQjV3OVBiVwpSVk5kNDB5R0VNdE9xdVZmcmhrQ0F3RUFBYU5oTUY4d0RnWURWUjBQQVFIL0JBUURBZ0trTUIwR0ExVWRKUVFXCk1CUUdDQ3NHQVFVRkJ3TUNCZ2dyQmdFRkJRY0RBVEFQQmdOVkhSTUJBZjhFQlRBREFRSC9NQjBHQTFVZERnUVcKQkJTUmxSWllZZXVxbzROYktYY3NEYzViWTAwZUt6QU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FRRUFVNExiUDZieApPRTR5aDYva0N5U01POGxUVUpFUXJ4bHFBWG9UdHBjSXVsM1pQYTE1VzlkSXVOaGh4dkhtQWs2VlJ0QmhmQmJ2Ckh3WnA1SnNxNFQrbk9FcHpXTUkwYUJJQUNNS1VCWTBSN0VvVUpGb1RUZGVqQzhIZnhvK3IxRUJTSXVoUVdmVTQKWXJwaU5pblVnWTFlVy9qY2hFOXBCSXVuMTh3dmxNTTNnamUzVmkxSTlQdXVpaWRlWjRWYVdvdUdsY05rZnVGWAo4a0FDbXVKY1VuOTRiSGh0bTJya1RzSzJYTGdFZ1M4Mi9Ibit1SldvZkFETGdzci8vOER0WFlQZFFHVUFzYldpCkpBSTdBTWlsbitnVThza052SDhmbkNOTWU4SXJZUklxeTVWWVR4eUJncVVsN1RUNjZsbU4rcVVLdVhHVVBsUjEKbHRKRzV4Q0l0clZ2SVE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==",
+ "namespace": "ZGVmYXVsdA==",
+ "token": "ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrZG1ZM1ZCZGxGalN6WlZTR3BXV0c1QlEzUlVSbFZSV1RjelNWTmZkMmRGYUdsVWNWcG1RMG94VUZraWZRLmV5SnBjM01pT2lKcmRXSmxjbTVsZEdWekwzTmxjblpwWTJWaFkyTnZkVzUwSWl3aWEzVmlaWEp1WlhSbGN5NXBieTl6WlhKMmFXTmxZV05qYjNWdWRDOXVZVzFsYzNCaFkyVWlPaUprWldaaGRXeDBJaXdpYTNWaVpYSnVaWFJsY3k1cGJ5OXpaWEoyYVdObFlXTmpiM1Z1ZEM5elpXTnlaWFF1Ym1GdFpTSTZJbVJsWm1GMWJIUXRkRzlyWlc0dFpEaHVhRFFpTENKcmRXSmxjbTVsZEdWekxtbHZMM05sY25acFkyVmhZMk52ZFc1MEwzTmxjblpwWTJVdFlXTmpiM1Z1ZEM1dVlXMWxJam9pWkdWbVlYVnNkQ0lzSW10MVltVnlibVYwWlhNdWFXOHZjMlZ5ZG1salpXRmpZMjkxYm5RdmMyVnlkbWxqWlMxaFkyTnZkVzUwTG5WcFpDSTZJbUV3WmpFNFpHVm1MVEZtWm1RdE5ESXpZUzA1TW1SbUxUazJaR1EzTkRNMVptTTVZeUlzSW5OMVlpSTZJbk41YzNSbGJUcHpaWEoyYVdObFlXTmpiM1Z1ZERwa1pXWmhkV3gwT21SbFptRjFiSFFpZlEuYm5SNmNnLUN1TnRHWXMyb3p1S2xUTDc4UkFFRi1BQnMzZDhVdU9BUUtjTkVFcFV0a2E0WXEwUS1XWS00YVJKV19DaG5ZWWxnMEdOWXFhTGxUckkzb3E3eTJfbW5fVVNnVWRlbV9pOXJHalpjakdPRVh3MkZ0VmVQblZfbkxuNDNVUnpTRGFXc3BIcUJvVGhtWjM2LVVleFUtaTJkUzAyeHNHSDVwRV9RVXYwWklkMkdUTlZNUHJJSTg1S0VQS3NuVW45LVQxc2hxQkp5QnR1Mm00TTZxSGhJbE4xeEFUbHlfTVhDZF80N1FKc1VwT01ldGV4ZDMzV3RxZWlDRURJVGZ0QlBKTERjd1F4RDFJdzAzb3hYMXpjaFA2Z01wNHZWYXNNMFk0MFN3OUlzMmtXQm54cmRtX1VNUjhHWmJCX0hFY0JfR1dHT2NPajRmXzJjVjd2Nkt3"
+ },
+ "type": "kubernetes.io/service-account-token"
+ },
+ {
+ "metadata": {
+ "name": "harbor",
+ "namespace": "default",
+ "uid": "1aa8c18c-c3a4-476d-9537-c248cad646f9",
+ "resourceVersion": "141939",
+ "creationTimestamp": "2022-12-20T09:53:09Z",
+ "annotations": {
+ "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"data\":{\"accessKey\":\"YWRtaW4=\",\"accessSecret\":\"SGFyYm9yMTIzNDU=\"},\"kind\":\"Secret\",\"metadata\":{\"annotations\":{},\"name\":\"harbor\",\"namespace\":\"default\"},\"type\":\"Opaque\"}\n"
+ },
+ "managedFields": [
+ {
+ "manager": "kubectl-client-side-apply",
+ "operation": "Update",
+ "apiVersion": "v1",
+ "time": "2022-12-20T09:53:09Z",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:data": {
+ ".": {},
+ "f:accessKey": {},
+ "f:accessSecret": {}
+ },
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:kubectl.kubernetes.io/last-applied-configuration": {}
+ }
+ },
+ "f:type": {}
+ }
+ }
+ ]
+ },
+ "data": {
+ "accessKey": "YWRtaW4=",
+ "accessSecret": "SGFyYm9yMTIzNDU="
+ },
+ "type": "Opaque"
+ },
+ {
+ "metadata": {
+ "name": "harbor-secret",
+ "namespace": "default",
+ "uid": "9e741aa5-b780-442d-accb-250acf7acaf9",
+ "resourceVersion": "1493",
+ "creationTimestamp": "2022-12-19T09:53:20Z",
+ "managedFields": [
+ {
+ "manager": "Mozilla",
+ "operation": "Update",
+ "apiVersion": "v1",
+ "time": "2022-12-19T09:53:20Z",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:data": {
+ ".": {},
+ "f:accessKey": {},
+ "f:accessSecret": {}
+ },
+ "f:type": {}
+ }
+ }
+ ]
+ },
+ "data": {
+ "accessKey": "YWRtaW4=",
+ "accessSecret": "SGFyYm9yMTIzNDU="
+ },
+ "type": "Opaque"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/frontend/cypress/fixtures/settings.json b/src/frontend/cypress/fixtures/settings.json
new file mode 100644
index 00000000..f687cf1d
--- /dev/null
+++ b/src/frontend/cypress/fixtures/settings.json
@@ -0,0 +1,105 @@
+{
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "items": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "Setting",
+ "metadata": {
+ "annotations": {
+ "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"goharbor.goharbor.io/v1alpha1\",\"kind\":\"Setting\",\"metadata\":{\"annotations\":{},\"name\":\"sample-setting\"},\"spec\":{\"dataSource\":{\"credentialRef\":{\"name\":\"harbor\",\"namespace\":\"default\"},\"endpoint\":\"https://10.212.47.157\",\"name\":\"source-harbor\",\"provider\":\"Harbor\",\"scanSchedule\":\"0 0 0 * * *\",\"skipTLSVerify\":true}}}\n"
+ },
+ "creationTimestamp": "2023-01-04T07:31:45Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:kubectl.kubernetes.io/last-applied-configuration": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:dataSource": {
+ ".": {},
+ "f:credentialRef": {
+ ".": {},
+ "f:name": {},
+ "f:namespace": {}
+ },
+ "f:endpoint": {},
+ "f:name": {},
+ "f:provider": {},
+ "f:scanSchedule": {},
+ "f:skipTLSVerify": {}
+ }
+ }
+ },
+ "manager": "kubectl-client-side-apply",
+ "operation": "Update",
+ "time": "2023-01-04T07:31:45Z"
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:status": {
+ ".": {},
+ "f:conditions": {},
+ "f:status": {}
+ }
+ },
+ "manager": "manager",
+ "operation": "Update",
+ "subresource": "status",
+ "time": "2023-01-04T07:32:07Z"
+ }
+ ],
+ "name": "sample-setting",
+ "resourceVersion": "3454750",
+ "uid": "4cdc3a26-2d87-4435-80ab-a29c383c8831"
+ },
+ "spec": {
+ "dataSource": {
+ "credentialRef": {
+ "name": "harbor",
+ "namespace": "default"
+ },
+ "endpoint": "https://10.212.47.157",
+ "name": "source-harbor",
+ "provider": "Harbor",
+ "scanSchedule": "0 0 0 * * *",
+ "skipTLSVerify": true
+ }
+ },
+ "status": {
+ "conditions": [
+ {
+ "lastTransitionTime": "2023-01-05T10:20:09Z",
+ "status": "True",
+ "type": "DataSourceReady"
+ },
+ {
+ "lastTransitionTime": "2023-01-05T10:20:09Z",
+ "status": "True",
+ "type": "KnownRegistryRegistered"
+ },
+ {
+ "lastTransitionTime": "2023-01-05T10:20:10Z",
+ "status": "True",
+ "type": "ApplyConfigReady"
+ }
+ ],
+ "status": "Healthy"
+ }
+ }
+ ],
+ "kind": "SettingList",
+ "metadata": {
+ "continue": "",
+ "resourceVersion": "5143720"
+ }
+}
\ No newline at end of file
diff --git a/src/frontend/cypress/fixtures/tags.json b/src/frontend/cypress/fixtures/tags.json
new file mode 100644
index 00000000..cc4388ed
--- /dev/null
+++ b/src/frontend/cypress/fixtures/tags.json
@@ -0,0 +1,12224 @@
+{
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "items": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673592182",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T06:43:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T06:43:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0643-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5132769",
+ "uid": "ecdce1df-8823-44d4-aa41-1f57b00e9d90"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://c26dfcc65f33e1242b78720c39bebf4133380be39b5aea703e297f4cd97ed066",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5101140",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://1090eca4075b69abddf6ea26f27c6861aad2117bf543f35508224250b653e596",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5101141",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673592242",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T06:44:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T06:44:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0644-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5132918",
+ "uid": "e3d65278-4640-41bb-91c8-192ad6d681a3"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://c26dfcc65f33e1242b78720c39bebf4133380be39b5aea703e297f4cd97ed066",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5101140",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://1090eca4075b69abddf6ea26f27c6861aad2117bf543f35508224250b653e596",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5101141",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673592310",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T06:45:10Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T06:45:10Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0645-10",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5133066",
+ "uid": "2cc7c7f8-6323-41fa-a94f-4dbf3fa68122"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://1090eca4075b69abddf6ea26f27c6861aad2117bf543f35508224250b653e596",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5101141",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://c26dfcc65f33e1242b78720c39bebf4133380be39b5aea703e297f4cd97ed066",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5101140",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673592362",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T06:46:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T06:46:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0646-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5133206",
+ "uid": "30460344-a805-42bc-9b8e-41772cdfb8c0"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://c26dfcc65f33e1242b78720c39bebf4133380be39b5aea703e297f4cd97ed066",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5101140",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://1090eca4075b69abddf6ea26f27c6861aad2117bf543f35508224250b653e596",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5101141",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673592422",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T06:47:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T06:47:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0647-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5133353",
+ "uid": "cd6cc515-02ee-46fc-854d-f1e56ab3d863"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://c26dfcc65f33e1242b78720c39bebf4133380be39b5aea703e297f4cd97ed066",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5101140",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://1090eca4075b69abddf6ea26f27c6861aad2117bf543f35508224250b653e596",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5101141",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673592483",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T06:48:04Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T06:48:04Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0648-03",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5133508",
+ "uid": "529924d9-a6fd-4cc5-8cb5-ae884188e7f1"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://c26dfcc65f33e1242b78720c39bebf4133380be39b5aea703e297f4cd97ed066",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5101140",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://1090eca4075b69abddf6ea26f27c6861aad2117bf543f35508224250b653e596",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5101141",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673592542",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T06:49:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T06:49:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0649-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5133655",
+ "uid": "27c91601-1f40-4186-b329-2487dba7e979"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://c26dfcc65f33e1242b78720c39bebf4133380be39b5aea703e297f4cd97ed066",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5101140",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://1090eca4075b69abddf6ea26f27c6861aad2117bf543f35508224250b653e596",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5101141",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673592602",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T06:50:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T06:50:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0650-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5133802",
+ "uid": "91c5685e-bd9f-4f7f-9649-c5bafaa86764"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://c26dfcc65f33e1242b78720c39bebf4133380be39b5aea703e297f4cd97ed066",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5101140",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://1090eca4075b69abddf6ea26f27c6861aad2117bf543f35508224250b653e596",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5101141",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673592662",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T06:51:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T06:51:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0651-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5133950",
+ "uid": "a5cbf797-7fe6-4734-a2a5-eb393e391f52"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://c26dfcc65f33e1242b78720c39bebf4133380be39b5aea703e297f4cd97ed066",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5101140",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://1090eca4075b69abddf6ea26f27c6861aad2117bf543f35508224250b653e596",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5101141",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673592722",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T06:52:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T06:52:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0652-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5134109",
+ "uid": "28b21882-7701-461f-9920-b9b827b5e05b"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://c26dfcc65f33e1242b78720c39bebf4133380be39b5aea703e297f4cd97ed066",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5101140",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673592782",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T06:53:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T06:53:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0653-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5134266",
+ "uid": "13b8e1ad-7161-4c7d-b90f-42a5a059eb35"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673592842",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T06:54:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T06:54:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0654-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5134420",
+ "uid": "6305dff3-5267-41a3-8568-c8e745709abb"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673592902",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T06:55:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T06:55:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0655-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5134564",
+ "uid": "02e29710-ad05-49df-bef0-94adbd4d2bf1"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673592962",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T06:56:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T06:56:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0656-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5134716",
+ "uid": "dda60925-cf03-44f6-a81d-e4c0a15df22c"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673593022",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T06:57:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T06:57:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0657-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5134863",
+ "uid": "bc912167-2f38-4159-b062-d66f7ba5c8ac"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673593082",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T06:58:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T06:58:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0658-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5135014",
+ "uid": "c3ccbcc4-1779-4bb6-b375-ab480beeca7c"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673593142",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T06:59:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T06:59:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0659-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5135164",
+ "uid": "cbaefdaf-28b5-47d9-b6ec-c7eb125a6884"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673593202",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T07:00:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T07:00:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0700-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5135307",
+ "uid": "602e37f7-90df-4b52-a63f-a9e818d3480f"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673593262",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T07:01:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T07:01:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0701-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5135462",
+ "uid": "7e6f8f60-e893-46f3-b130-1c50bd55bfec"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673593325",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T07:02:05Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T07:02:05Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0702-05",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5135609",
+ "uid": "55da5a80-aa00-42ed-9b7b-2d8d3e809a80"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673593383",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T07:03:03Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T07:03:03Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0703-03",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5135756",
+ "uid": "4ae815d2-c1ea-4e1f-b45b-1ce32d6a15ab"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673593442",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T07:04:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T07:04:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0704-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5135900",
+ "uid": "378c797f-5055-4509-b554-56e6d7d8dd46"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673593502",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T07:05:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T07:05:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0705-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5136051",
+ "uid": "70c0600f-150b-4641-a831-6b17cce7bf1c"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673593562",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T07:06:03Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T07:06:03Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0706-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5136202",
+ "uid": "b767c42e-b0e7-4a25-ab7b-930cc74ca661"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673593622",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T07:07:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T07:07:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0707-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5136346",
+ "uid": "1dd9e223-5587-42ed-8d2e-b0eec8166b86"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673593682",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T07:08:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T07:08:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0708-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5136497",
+ "uid": "c96d8519-38e6-461a-a348-1e47fb29ceca"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673593742",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T07:09:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T07:09:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0709-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5136646",
+ "uid": "0c4f119b-05d1-4a56-a400-bf2a37d58fae"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673593802",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T07:10:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T07:10:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0710-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5136794",
+ "uid": "0dee93d1-3979-4016-a1c8-00f33601255a"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673593862",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T07:11:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T07:11:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0711-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5136942",
+ "uid": "2c04302c-da7a-4ae9-9891-61152caf93b0"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673593922",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T07:12:03Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T07:12:03Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0712-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5137094",
+ "uid": "8b1c65c4-f6b1-46a7-a1b5-38e65be29dc6"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673593982",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T07:13:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T07:13:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0713-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5137244",
+ "uid": "cc54fa9e-07ff-474c-b999-b4a9e20e4d93"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673594042",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T07:14:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T07:14:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0714-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5137394",
+ "uid": "1ae3ab77-82dc-4569-af34-059627fd7d3e"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673594102",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T07:15:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T07:15:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0715-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5137541",
+ "uid": "6489f35f-d326-4027-8975-52dc5115d476"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673594162",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T07:16:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T07:16:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0716-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5137692",
+ "uid": "4d6a886c-e729-4544-82a7-8b38b5361277"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673594222",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T07:17:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T07:17:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0717-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5137838",
+ "uid": "87fc06ea-07fc-4fe8-a7ae-2b95f8a6a6dc"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673594282",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T07:18:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T07:18:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0718-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5137989",
+ "uid": "17ee5978-5002-43ac-9f82-f1cbc27f6197"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673594341",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T07:19:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T07:19:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0719-01",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5138134",
+ "uid": "a27b5515-6349-4da7-bdc7-2b2c33be4309"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673594402",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T07:20:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T07:20:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0720-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5138288",
+ "uid": "347348dc-c0ef-4659-bf20-42f82b726823"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673594462",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T07:21:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T07:21:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0721-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5138434",
+ "uid": "86dbb57f-45b9-41cc-bbde-3fcf380db260"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673594522",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T07:22:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T07:22:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0722-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5138567",
+ "uid": "9568e982-e91a-459d-86c5-33d987b1fdcc"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673594582",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T07:23:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T07:23:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0723-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5138725",
+ "uid": "19fb8910-5236-48dc-8bac-013c74c99ca8"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673594641",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T07:24:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T07:24:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0724-01",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5138869",
+ "uid": "d47e8b44-d523-498a-b714-3840f0f53334"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673594705",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T07:25:05Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T07:25:05Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0725-05",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5139020",
+ "uid": "680b5b4c-a2ef-4752-ac88-d716e9458530"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673594762",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T07:26:03Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T07:26:03Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0726-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5139169",
+ "uid": "16441f14-1613-49e7-be52-67f43024881c"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673594822",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T07:27:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T07:27:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0727-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5139315",
+ "uid": "b36b9d57-cae0-4fa4-9c09-dd7479f1df4a"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673594882",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T07:28:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T07:28:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0728-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5139470",
+ "uid": "0952d10c-42e8-439f-a729-06006722072c"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673594942",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T07:29:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T07:29:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0729-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5139618",
+ "uid": "a17d3fa0-da40-45e8-a42e-30ec05800968"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673595002",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T07:30:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T07:30:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0730-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5139759",
+ "uid": "10553a85-533c-4394-bd53-be1e23547cdf"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673595062",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T07:31:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T07:31:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0731-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5139908",
+ "uid": "b37c2b33-d7a8-4c27-b9dd-9566030d53a9"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673595122",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T07:32:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T07:32:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0732-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5140065",
+ "uid": "0958ca68-2ec4-4055-9a6d-1bd15601edd7"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673595182",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T07:33:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T07:33:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0733-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5140212",
+ "uid": "35704c61-a6c5-40aa-8739-7db3767fa05c"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673595242",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T07:34:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T07:34:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0734-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5140362",
+ "uid": "17dd2c1c-b3cf-47b9-93c7-cfd5708345f8"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673595302",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T07:35:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T07:35:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0735-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5140510",
+ "uid": "28688d8f-89ce-446a-a58e-3660fe25785f"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673595361",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T07:36:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T07:36:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0736-01",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5140660",
+ "uid": "d646faa4-e5d5-4466-bb6b-94ccc47e664f"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673595422",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T07:37:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T07:37:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0737-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5140806",
+ "uid": "4e5ee8d7-f25d-4e75-b08f-9227e96812a1"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673595482",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T07:38:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T07:38:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0738-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5140962",
+ "uid": "852e331f-45de-4704-8c57-27655ba8cc2f"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673595542",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T07:39:08Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T07:39:08Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0739-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5141128",
+ "uid": "7b2e47f1-9ac1-4969-8c75-3e0f523a34a8"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673595602",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T07:40:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T07:40:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0740-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5141254",
+ "uid": "19e362f0-1b69-419e-a18a-37267e9b64be"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673595662",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T07:41:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T07:41:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0741-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5141400",
+ "uid": "38c84887-c2a4-416e-8e44-c1174e8e7a68"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673595722",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T07:42:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T07:42:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0742-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5141552",
+ "uid": "d0e20f0d-163b-4373-ac15-9496963d0267"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673595781",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T07:43:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T07:43:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0743-01",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5141704",
+ "uid": "a7939552-7237-4a3f-bb14-086d16537cff"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "kind": "AssessmentReport",
+ "metadata": {
+ "annotations": {
+ "goharbor.io/creation-timestamp": "1673595842",
+ "goharbor.io/inspection-policy": "inspectionpolicy-sample"
+ },
+ "creationTimestamp": "2023-01-13T07:44:02Z",
+ "generation": 1,
+ "managedFields": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:goharbor.io/creation-timestamp": {},
+ "f:goharbor.io/inspection-policy": {}
+ },
+ "f:ownerReferences": {
+ ".": {},
+ "k:{\"uid\":\"a80a10f7-84fc-400e-91b5-55fe7d9d0028\"}": {}
+ }
+ },
+ "f:spec": {
+ ".": {},
+ "f:inspectionConfiguration": {
+ ".": {},
+ "f:actions": {},
+ "f:assessment": {
+ ".": {},
+ "f:elasticSearchAddr": {},
+ "f:elasticSearchCert": {},
+ "f:elasticSearchEnabled": {},
+ "f:elasticSearchPasswd": {},
+ "f:elasticSearchUser": {},
+ "f:format": {},
+ "f:generate": {},
+ "f:liveTime": {},
+ "f:managedBy": {},
+ "f:openSearchAddr": {},
+ "f:openSearchCert": {},
+ "f:openSearchEnabled": {},
+ "f:openSearchPasswd": {},
+ "f:openSearchUser": {}
+ },
+ "f:baselines": {},
+ "f:namespaceSelector": {
+ ".": {},
+ "f:matchLabels": {
+ ".": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ },
+ "f:workloadSelector": {}
+ },
+ "f:namespaceAssessments": {}
+ }
+ },
+ "manager": "inspector",
+ "operation": "Update",
+ "time": "2023-01-13T07:44:02Z"
+ }
+ ],
+ "name": "assessment-report-20230113-0744-02",
+ "namespace": "cronjobs",
+ "ownerReferences": [
+ {
+ "apiVersion": "goharbor.goharbor.io/v1alpha1",
+ "blockOwnerDeletion": true,
+ "controller": true,
+ "kind": "InspectionPolicy",
+ "name": "inspectionpolicy-sample",
+ "uid": "a80a10f7-84fc-400e-91b5-55fe7d9d0028"
+ }
+ ],
+ "resourceVersion": "5141853",
+ "uid": "3b084d46-137c-4826-99c4-bfba8c25061d"
+ },
+ "spec": {
+ "inspectionConfiguration": {
+ "actions": [
+ {
+ "ignore": {},
+ "kind": "quarantine_vulnerable_workload"
+ }
+ ],
+ "assessment": {
+ "elasticSearchAddr": "",
+ "elasticSearchCert": "",
+ "elasticSearchEnabled": false,
+ "elasticSearchPasswd": "",
+ "elasticSearchUser": "",
+ "format": "YAML",
+ "generate": true,
+ "liveTime": 3600,
+ "managedBy": true,
+ "openSearchAddr": "https://opensearch-cluster-master.opensearch:9200",
+ "openSearchCert": "",
+ "openSearchEnabled": true,
+ "openSearchPasswd": "admin",
+ "openSearchUser": "admin"
+ },
+ "baselines": [
+ {
+ "baseline": "High",
+ "kind": "vulnerability",
+ "scheme": "application/vnd.security.vulnerability.report; version=1.1",
+ "version": "v1.1"
+ }
+ ],
+ "namespaceSelector": {
+ "matchLabels": {
+ "kubernetes.io/metadata.name": "default"
+ }
+ },
+ "workloadSelector": {}
+ },
+ "namespaceAssessments": [
+ {
+ "namespace": {
+ "name": "default"
+ },
+ "workloadAssessments": [
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test",
+ "namespace": "default",
+ "uid": "06821667-7aad-4030-9c29-1093bb814d38"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://02809690da0d81f3209e4223fe45796914a1fe3d16a49ba0f39113ce068dac9d",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test-5bc54fcbbf-wm9cq",
+ "namespace": "default",
+ "resourceVersion": "5134150",
+ "uid": "34dbedf5-abe2-4cfb-b3b6-30901ad6a6f6"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "passed": true,
+ "workload": {
+ "metadata": {
+ "apiVersion": "apps/v1",
+ "kind": "Deployment",
+ "name": "deploy-test1",
+ "namespace": "default",
+ "uid": "3e14e7fa-5302-4f12-a990-ea47d3173ce7"
+ },
+ "pods": [
+ {
+ "containers": [
+ {
+ "id": "docker://68761ab5a7bc697b17da581ec26e895beeef5ddb7902c70219050a4047aed8c0",
+ "image": "10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "imageID": "docker-pullable://10.212.47.157/cnsi-test/nginx-slim@sha256:f67828dbd791ec61f95ecb37e91caefae32a96a18b78f656e602a4f7fb493409",
+ "isInit": false,
+ "name": "test"
+ }
+ ],
+ "metadata": {
+ "apiVersion": "v1",
+ "kind": "Pod",
+ "name": "deploy-test1-6bdcb479f8-9fb9h",
+ "namespace": "default",
+ "resourceVersion": "5134051",
+ "uid": "31df4917-307e-4ae8-b4de-d4c7ee6814b3"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "kind": "AssessmentReportList",
+ "metadata": {
+ "continue": "",
+ "resourceVersion": "5141933"
+ }
+}
\ No newline at end of file
diff --git a/src/frontend/cypress/support/commands.ts b/src/frontend/cypress/support/commands.ts
new file mode 100644
index 00000000..af1f44a0
--- /dev/null
+++ b/src/frontend/cypress/support/commands.ts
@@ -0,0 +1,43 @@
+// ***********************************************
+// This example namespace declaration will help
+// with Intellisense and code completion in your
+// IDE or Text Editor.
+// ***********************************************
+// declare namespace Cypress {
+// interface Chainable {
+// customCommand(param: any): typeof customCommand;
+// }
+// }
+//
+// function customCommand(param: any): void {
+// console.warn(param);
+// }
+//
+// NOTE: You can use it like so:
+// Cypress.Commands.add('customCommand', customCommand);
+//
+// ***********************************************
+// This example commands.js shows you how to
+// create various custom commands and overwrite
+// existing commands.
+//
+// For more comprehensive examples of custom
+// commands please read more here:
+// https://on.cypress.io/custom-commands
+// ***********************************************
+//
+//
+// -- This is a parent command --
+// Cypress.Commands.add("login", (email, password) => { ... })
+//
+//
+// -- This is a child command --
+// Cypress.Commands.add("drag", { prevSubject: 'element'}, (subject, options) => { ... })
+//
+//
+// -- This is a dual command --
+// Cypress.Commands.add("dismiss", { prevSubject: 'optional'}, (subject, options) => { ... })
+//
+//
+// -- This will overwrite an existing command --
+// Cypress.Commands.overwrite("visit", (originalFn, url, options) => { ... })
diff --git a/src/frontend/cypress/support/component-index.html b/src/frontend/cypress/support/component-index.html
new file mode 100644
index 00000000..ac6e79fd
--- /dev/null
+++ b/src/frontend/cypress/support/component-index.html
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+ Components App
+
+
+
+
+
\ No newline at end of file
diff --git a/src/frontend/cypress/support/component.ts b/src/frontend/cypress/support/component.ts
new file mode 100644
index 00000000..96e1d279
--- /dev/null
+++ b/src/frontend/cypress/support/component.ts
@@ -0,0 +1,39 @@
+// ***********************************************************
+// This example support/component.ts is processed and
+// loaded automatically before your test files.
+//
+// This is a great place to put global configuration and
+// behavior that modifies Cypress.
+//
+// You can change the location of this file or turn off
+// automatically serving support files with the
+// 'supportFile' configuration option.
+//
+// You can read more here:
+// https://on.cypress.io/configuration
+// ***********************************************************
+
+// Import commands.js using ES2015 syntax:
+import './commands'
+
+// Alternatively you can use CommonJS syntax:
+// require('./commands')
+
+import { mount } from 'cypress/angular'
+
+// Augment the Cypress namespace to include type definitions for
+// your custom command.
+// Alternatively, can be defined in cypress/support/component.d.ts
+// with a at the top of your spec.
+declare global {
+ namespace Cypress {
+ interface Chainable {
+ mount: typeof mount
+ }
+ }
+}
+
+Cypress.Commands.add('mount', mount)
+
+// Example use:
+// cy.mount(MyComponent)
diff --git a/src/frontend/cypress/support/e2e.ts b/src/frontend/cypress/support/e2e.ts
new file mode 100644
index 00000000..55540ff7
--- /dev/null
+++ b/src/frontend/cypress/support/e2e.ts
@@ -0,0 +1,17 @@
+// ***********************************************************
+// This example support/e2e.ts is processed and
+// loaded automatically before your test files.
+//
+// This is a great place to put global configuration and
+// behavior that modifies Cypress.
+//
+// You can change the location of this file or turn off
+// automatically serving support files with the
+// 'supportFile' configuration option.
+//
+// You can read more here:
+// https://on.cypress.io/configuration
+// ***********************************************************
+
+// When a command from ./commands is ready to use, import with `import './commands'` syntax
+// import './commands';
diff --git a/src/frontend/cypress/tsconfig.json b/src/frontend/cypress/tsconfig.json
new file mode 100644
index 00000000..79d78d7e
--- /dev/null
+++ b/src/frontend/cypress/tsconfig.json
@@ -0,0 +1,8 @@
+{
+ "extends": "../tsconfig.json",
+ "include": ["**/*.ts"],
+ "compilerOptions": {
+ "sourceMap": false,
+ "types": ["cypress"]
+ }
+}
diff --git a/src/frontend/karma.conf.js b/src/frontend/karma.conf.js
index 51e0d88a..a23d9e78 100644
--- a/src/frontend/karma.conf.js
+++ b/src/frontend/karma.conf.js
@@ -1,3 +1,4 @@
+
// Copyright 2022 VMware, Inc.
// SPDX-License-Identifier: Apache-2.0
// Karma configuration file, see link for more information
@@ -72,4 +73,4 @@ module.exports = function (config) {
},
restartOnFileChange: true
});
-};
+};
\ No newline at end of file
diff --git a/src/frontend/package.json b/src/frontend/package.json
index 494e330d..15a2ff95 100644
--- a/src/frontend/package.json
+++ b/src/frontend/package.json
@@ -8,7 +8,11 @@
"watch": "ng build --watch --configuration development",
"lint": "ng lint",
"lint:style": "npx stylelint \"**/*.less\"",
- "test": "node --max_old_space_size=2048 ./node_modules/@angular/cli/bin/ng test --code-coverage"
+ "test": "ng test --code-coverage",
+ "test2": "node --max_old_space_size=2048 ./node_modules/@angular/cli/bin/ng test --code-coverage",
+ "e2e": "ng e2e",
+ "cypress:open": "cypress open",
+ "cypress:run": "cypress run"
},
"private": true,
"dependencies": {
@@ -44,10 +48,12 @@
"@angular-eslint/template-parser": "14.0.3",
"@angular/cli": "^14.2.1",
"@angular/compiler-cli": "^14.2.0",
+ "@cypress/schematic": "^2.4.0",
"@types/jasmine": "~3.8.0",
"@types/node": "^12.11.1",
"@typescript-eslint/eslint-plugin": "5.29.0",
"@typescript-eslint/parser": "5.29.0",
+ "cypress": "^12.3.0",
"eslint": "^8.18.0",
"jasmine-core": "~3.8.0",
"karma": "~6.3.0",
diff --git a/src/frontend/src/app/app.component.spec.ts b/src/frontend/src/app/app.component.spec.ts
index 18262f6a..3b67dc6e 100644
--- a/src/frontend/src/app/app.component.spec.ts
+++ b/src/frontend/src/app/app.component.spec.ts
@@ -1,14 +1,71 @@
-import { TestBed, ComponentFixture } from '@angular/core/testing';
+import { TestBed, ComponentFixture, fakeAsync, tick } from '@angular/core/testing';
import { Title } from '@angular/platform-browser';
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
import { AppComponent } from './app.component';
import { APP_BASE_HREF } from '@angular/common';
import { ShardTestModule } from 'src/app/shard/shard/shard.module';
+import { ShardService } from './service/shard.service';
+import { Observable, of } from 'rxjs';
describe('AppComponent', () => {
let fixture: ComponentFixture;
+ let component: AppComponent;
let compiled: any;
+ let shardService: ShardService
const fakeCookieService = null;
+ const vmcServiceStub = {
+ getNamespaceList() {
+ return of<{items:any[]}>({
+ items: [
+ {
+ "metadata": {
+ "name": "cnsi-system",
+ "uid": "8fc590fc-3b1a-4099-80fc-95559c58f5c7",
+ "resourceVersion": "3218730",
+ "creationTimestamp": "2023-01-04T07:30:54Z",
+ "labels": {
+ "control-plane": "cnsi-controller",
+ "kubernetes.io/metadata.name": "cnsi-system"
+ },
+ "annotations": {
+ "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Namespace\",\"metadata\":{\"annotations\":{},\"labels\":{\"control-plane\":\"cnsi-controller\"},\"name\":\"cnsi-system\"}}\n"
+ },
+ "managedFields": [
+ {
+ "manager": "kubectl-client-side-apply",
+ "operation": "Update",
+ "apiVersion": "v1",
+ "time": "2023-01-04T07:30:57Z",
+ "fieldsType": "FieldsV1",
+ "fieldsV1": {
+ "f:metadata": {
+ "f:annotations": {
+ ".": {},
+ "f:kubectl.kubernetes.io/last-applied-configuration": {}
+ },
+ "f:labels": {
+ ".": {},
+ "f:control-plane": {},
+ "f:kubernetes.io/metadata.name": {}
+ }
+ }
+ }
+ }
+ ]
+ },
+ "spec": {
+ "finalizers": [
+ "kubernetes"
+ ]
+ },
+ "status": {
+ "phase": "Active"
+ }
+ }
+ ]
+ });
+ },
+ }
let fakeSessionService = {
getCurrentUser: function () {
return { has_admin_role: true };
@@ -48,6 +105,7 @@ describe('AppComponent', () => {
providers: [
{ provide: APP_BASE_HREF, useValue: '/' },
{ provide: Title, useValue: fakeTitle },
+ ShardService
],
schemas: [CUSTOM_ELEMENTS_SCHEMA],
});
@@ -55,6 +113,8 @@ describe('AppComponent', () => {
fixture = TestBed.createComponent(AppComponent);
fixture.detectChanges();
compiled = fixture.nativeElement;
+ component = fixture.componentInstance;
+ shardService = TestBed.get(ShardService);
});
afterEach(() => {
@@ -64,4 +124,18 @@ describe('AppComponent', () => {
it('should create the app', () => {
expect(compiled).toBeTruthy();
});
+
+ describe('AppComponent Function', () => {
+ it('getNamespaceList', fakeAsync(() => {
+ spyOn(shardService, 'getNamespaceList').and.returnValue(
+ vmcServiceStub.getNamespaceList()
+ );
+ component.getNamespaceList();
+ fixture.detectChanges();
+ expect(shardService.getNamespaceList).toHaveBeenCalled();
+ tick(1500);
+ expect(shardService.getNamespaceList);
+ }));
+ });
});
+
diff --git a/src/frontend/src/app/app.component.ts b/src/frontend/src/app/app.component.ts
index a335110e..c1661081 100644
--- a/src/frontend/src/app/app.component.ts
+++ b/src/frontend/src/app/app.component.ts
@@ -13,10 +13,14 @@ import { ShardService } from './service/shard.service';
})
export class AppComponent implements OnInit{
title='';
+ lang: any = ''
constructor(private shardService:ShardService, private i18: AppService) {
- const lang = localStorage.getItem('tsi-language')
- if (lang) {
- this.i18.changeLanguage(lang)
+ this.getLang()
+ }
+ getLang() {
+ this.lang = localStorage.getItem('tsi-language')
+ if (this.lang) {
+ this.i18.changeLanguage(this.lang)
} else {
if (window.navigator.language === 'zh-CN') {
this.i18.changeLanguage('zh_CN')
@@ -24,8 +28,8 @@ export class AppComponent implements OnInit{
this.i18.changeLanguage('en')
}
}
-
}
+
ngOnInit(): void {
this.getNamespaceList()
}
diff --git a/src/frontend/src/app/app.module.ts b/src/frontend/src/app/app.module.ts
index 01787f43..6c2f69f6 100644
--- a/src/frontend/src/app/app.module.ts
+++ b/src/frontend/src/app/app.module.ts
@@ -33,11 +33,11 @@ import { PolicyComponent } from './view/policy/policy.component';
import { CornScheduleComponent } from './components/corn-schedule/corn-schedule.component';
import { TimePickerComponent } from './components/time-picker/time-picker.component';
import { TranslateModule, TranslateLoader } from '@ngx-translate/core';
-import { AppService, createTranslateLoader } from './app.service';
+import { AppService } from './app.service';
+import { TranslateHttpLoader } from '@ngx-translate/http-loader';
import { ClusterLineComponent } from './view/report/cluster-line/cluster-line.component';
import { NamesapcePolarComponent } from './view/report/namesapce-polar/namesapce-polar.component';
import { NamesapceHistogramComponent } from './view/report/namesapce-histogram/namesapce-histogram.component'
-import { ShardTestModule } from 'src/app/shard/shard/shard.module';
import { DgFilterComponent } from './components/dg-filter/dg-filter.component';
import { HarborSettingPageComponent } from './view/setting/harbor-setting-page/harbor-setting-page.component';
import { PolicySettingPageComponent } from './view/policy/policy-setting-page/policy-setting-page.component';
@@ -171,7 +171,9 @@ ClarityIcons.addIcons(
defaultLanguage: 'en',
loader: {
provide: TranslateLoader,
- useFactory: createTranslateLoader,
+ useFactory: (http: HttpClient) => {
+ return new TranslateHttpLoader(http, '../assets/i18n/', '.json')
+ },
deps: [HttpClient]
},
}),
diff --git a/src/frontend/src/app/app.service.spec.ts b/src/frontend/src/app/app.service.spec.ts
index 55b56c2e..30e9d15f 100644
--- a/src/frontend/src/app/app.service.spec.ts
+++ b/src/frontend/src/app/app.service.spec.ts
@@ -16,7 +16,8 @@ describe('Service', () => {
imports: [
TranslateModule.forChild({
extend: true,
- }),
+ }),
+ HttpClientTestingModule
],
providers: [TranslateStore, TranslateService]
diff --git a/src/frontend/src/app/app.service.ts b/src/frontend/src/app/app.service.ts
index 1e82b2c0..08785ea0 100644
--- a/src/frontend/src/app/app.service.ts
+++ b/src/frontend/src/app/app.service.ts
@@ -6,7 +6,6 @@
import { Injectable } from '@angular/core';
import { TranslateService } from '@ngx-translate/core'
import { HttpClient } from '@angular/common/http';
-import { TranslateHttpLoader } from '@ngx-translate/http-loader';
@Injectable({
providedIn: 'root'
})
@@ -25,7 +24,4 @@ export class AppService {
localStorage.setItem('tsi-language', lang)
}
}
-export function createTranslateLoader(http: HttpClient) {
- return new TranslateHttpLoader(http, '../assets/i18n/', '.json')
-}
diff --git a/src/frontend/src/app/components/corn-schedule/corn-schedule.component.spec.ts b/src/frontend/src/app/components/corn-schedule/corn-schedule.component.spec.ts
index 056fac48..78ddad31 100644
--- a/src/frontend/src/app/components/corn-schedule/corn-schedule.component.spec.ts
+++ b/src/frontend/src/app/components/corn-schedule/corn-schedule.component.spec.ts
@@ -35,4 +35,24 @@ describe('CornScheduleComponent', () => {
it('should create', () => {
expect(component).toBeTruthy();
});
+
+ describe('CornScheduleComponent Function', () => {
+ it('getMultipleType', () => {
+ component.getMultipleType = 'day'
+ setTimeout(() => {
+ component.getMultipleType = 'day2'
+ }, 100);
+ });
+
+ it('setTimePicker', () => {
+ component.setTimePicker({hour: {value: 10}, minute: {value: 10}})
+ })
+
+ it('setTimePicker', () => {
+ component.setTimePicker({hour: {value: 10}, minute: {value: 10}})
+ })
+
+
+});
+
});
diff --git a/src/frontend/src/app/components/dg-filter/dg-filter.component.spec.ts b/src/frontend/src/app/components/dg-filter/dg-filter.component.spec.ts
index 2e3abda5..6a3ec0fe 100644
--- a/src/frontend/src/app/components/dg-filter/dg-filter.component.spec.ts
+++ b/src/frontend/src/app/components/dg-filter/dg-filter.component.spec.ts
@@ -1,4 +1,7 @@
+import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA } from '@angular/core';
import { ComponentFixture, TestBed } from '@angular/core/testing';
+import { AssessmentService } from 'src/app/service/assessment.service';
+import { ShardTestModule } from 'src/app/shard/shard/shard.module';
import { DgFilterComponent } from './dg-filter.component';
@@ -8,7 +11,10 @@ describe('DgFilterComponent', () => {
beforeEach(async () => {
await TestBed.configureTestingModule({
- declarations: [ DgFilterComponent ]
+ declarations: [ DgFilterComponent ],
+ imports: [ShardTestModule],
+ providers: [AssessmentService],
+ schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]
})
.compileComponents();
diff --git a/src/frontend/src/app/components/header/header.component.html b/src/frontend/src/app/components/header/header.component.html
index 6ea2fc07..ea2462c4 100644
--- a/src/frontend/src/app/components/header/header.component.html
+++ b/src/frontend/src/app/components/header/header.component.html
@@ -3,7 +3,7 @@
SPDX-License-Identifier: Apache-2.0
-->
-