Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Request hosting for Testkube CLI plugin #3743

Closed
devcatalin opened this issue Jan 16, 2024 · 18 comments
Closed

Request hosting for Testkube CLI plugin #3743

devcatalin opened this issue Jan 16, 2024 · 18 comments
Labels
bot-check-complete Automated hosting checks passed hosting-request Request to host a component in jenkinsci security-audit-done The hosting request code passed the security audit with success

Comments

@devcatalin
Copy link
Contributor

Repository URL

https://github.com/kubeshop/testkube-jenkins-plugin

New Repository Name

testkube-cli-plugin

Description

This plugin provides pipeline scripts for initializing and configuring the Testkube CLI in a pipeline.
Allowing users to trigger test runs from Jenkins.
It also provides the same logic for Build Steps in the UI for freestyle projects.

GitHub users to have commit permission

@devcatalin
@olensmar

Jenkins project users to have release permission

testkube

Issue tracker

GitHub issues

@devcatalin devcatalin added the hosting-request Request to host a component in jenkinsci label Jan 16, 2024
@jenkins-cert-app
Copy link
Collaborator

Security audit, information and commands

The security team is auditing all the hosting requests, to ensure a better security by default.

This message informs you that a Jenkins Security Scan was triggered on your repository.
It takes ~10 minutes to complete.

Commands

The bot will parse all comments, and it will check if any line start with a command.

Security team only:

  • /audit-ok => the audit is complete, the hosting can continue 🎉.
  • /audit-skip => the audit is not necessary, the hosting can continue 🎉.
  • /audit-findings => the audit reveals some issues that require corrections ✏️.

Anyone:

  • /request-security-scan => the findings from the Jenkins Security Scan were corrected, this command will re-scan your repository 🔍.
  • /audit-review => the findings from the audit were corrected, this command will ping the security team to review the findings 👀. It's only applicable when the previous audit required changes.

Only one command can be requested per comment.

(automatically generated message, version: 1.26.28)

@jenkins-cert-app jenkins-cert-app added the security-audit-todo The security team needs to audit the hosting request code label Jan 16, 2024
Copy link

Hello from your friendly Jenkins Hosting Checker

It appears you have some issues with your hosting request. Please see the list below and correct all issues marked Required. Your hosting request will not be approved until these issues are corrected. Issues marked with Warning or Info are just recommendations and will not stall the hosting process.

  • ⛔ Required: The parent pom version '4.75' should be at least '4.76' or higher.
  • ⛔ Required: The following usernames in 'Jenkins project users to have release permission' need to log into Jira: testkube (reports are re-synced hourly, wait to re-check for a bit after logging in)
  • ⛔ Required: The following usernames in 'Jenkins project users to have release permission' need to log into Artifactory: testkube (reports are re-synced hourly, wait to re-check for a bit after logging in)
  • ⛔ Required: The 'artifactId' from the pom.xml (testkube-cli-setup) is incorrect, it should be testkube-cli ('New Repository Name' field with "-plugin" removed)

You can re-trigger a check by editing your hosting request or by commenting /hosting re-check

@devcatalin
Copy link
Contributor Author

/hosting re-check

Copy link

Hello from your friendly Jenkins Hosting Checker

It appears you have some issues with your hosting request. Please see the list below and correct all issues marked Required. Your hosting request will not be approved until these issues are corrected. Issues marked with Warning or Info are just recommendations and will not stall the hosting process.

  • ⛔ Required: The following usernames in 'Jenkins project users to have release permission' need to log into Jira: testkube (reports are re-synced hourly, wait to re-check for a bit after logging in)
  • ⛔ Required: The following usernames in 'Jenkins project users to have release permission' need to log into Artifactory: testkube (reports are re-synced hourly, wait to re-check for a bit after logging in)

You can re-trigger a check by editing your hosting request or by commenting /hosting re-check

@jenkins-cert-app
Copy link
Collaborator

The Jenkins Security Scan discovered 1 finding(s) 🔍.
For each of them, either apply the recommended correction, suppress the warning or provide a justification.

Once you're done, either re-run the scan with /request-security-scan or request the Security team to review your justifications with /audit-review.


Jenkins: Plaintext password storage

You can find detailed information about this finding here.

TestkubeCLI.java#41
Field should be reviewed whether it stores a password and is serialized to disk: apiToken

@jenkins-cert-app jenkins-cert-app added security-audit-needs-correction The security audit revealed issues that must be corrected from the hosting request and removed security-audit-todo The security team needs to audit the hosting request code labels Jan 16, 2024
@devcatalin
Copy link
Contributor Author

/hosting re-check

@devcatalin
Copy link
Contributor Author

/request-security-scan

Copy link

Hello from your friendly Jenkins Hosting Checker

It looks like you have everything in order for your hosting request. A member of the Jenkins hosting team will check over things that I am not able to check(code review, README content, etc) and process the request as quickly as possible. Thank you for your patience.

Hosting team members can host this request with /hosting host

@github-actions github-actions bot added bot-check-complete Automated hosting checks passed and removed needs-fix labels Jan 23, 2024
@jenkins-cert-app jenkins-cert-app added security-audit-todo The security team needs to audit the hosting request code and removed security-audit-needs-correction The security audit revealed issues that must be corrected from the hosting request labels Jan 23, 2024
@jenkins-cert-app
Copy link
Collaborator

The Jenkins Security Scan did not find anything dangerous with your plugin, congratulations! 🎉


💡 The Security team recommends that you are setting up the scan in your repository by following our guide.

@jenkins-cert-app jenkins-cert-app added security-audit-done The hosting request code passed the security audit with success and removed security-audit-todo The security team needs to audit the hosting request code labels Jan 23, 2024
@alecharp
Copy link
Contributor

Hello,

in your pom.xml, please:

Rather than having your own CD process (.github/workflows/build-and-release.yml), may I suggest that you use the community designed one: https://www.jenkins.io/doc/developer/publishing/releasing-cd/

Please fix the team name in .github/CODEOWNERS to be @jenkinsci/testkube-cli-plugin-developers (based on requested repository name and artifactId)

@devcatalin
Copy link
Contributor Author

thanks @alecharp , I just made the updates you requested, let me know if there's anything else I should do

@alecharp
Copy link
Contributor

And about the release workflow?

@devcatalin
Copy link
Contributor Author

devcatalin commented Jan 23, 2024

I've done the following:

  • removed old CD processes
  • created the .github/workflows/cd.yaml based on the provided example
  • updated dependabot.yml
  • updated .mvn/maven.config
  • updated pom
  • ran mvn validate commands with success

Is there anything else that I should do?

@alecharp
Copy link
Contributor

You should be able to get rid of the version for the json-api plugin but that's a detail.
Is the account testkube a technical account used within your company? With the setup of cd.yml, the release will be done when a pull request is merged with an "interesting" label.

The labels are listed here. The labels are used to create categories in the release note draft and those are prefixed with a emoji. The emoji is parsed by the "interesting" action here which determines if a release should occur.

I have looked at the plugin code. To my knowledge there is no other plugin providing what you developed the plugin for.

I would like to give 24-48hrs for other on the hosting team to be able to review your request before finalizing it.

@NotMyFault
Copy link
Member

@devcatalin
Copy link
Contributor Author

@alecharp yes, the account testkube is a technical support account used within my company. Thanks for the information about labels, will keep that in mind for releases.

@NotMyFault I fixed the path and all the violations from running mvn clean verify package

Thank you for your reviews! Let me know if there's anything else to do

@NotMyFault
Copy link
Member

/hosting host

@jenkins-infra-bot
Copy link
Contributor

Hosting request complete, the code has been forked into the jenkinsci project on GitHub as https://github.com/jenkinsci/testkube-cli-plugin

GitHub issues has been selected for issue tracking and was enabled for the forked repo.

A pull request has been created against the repository permissions updater to setup release permissions. Additional users can be added by modifying the created file.

Please delete your original repository (if there are no other forks), under 'Danger Zone', so that the jenkinsci organization repository is the definitive source for the code. If there are other forks, please contact GitHub support to make the jenkinsci repo the root of the fork network (mention that Jenkins approval was given in support request 569994). Also, please make sure you properly follow the documentation on documenting your plugin so that your plugin is correctly documented.

You will also need to do the following in order to push changes and release your plugin:

In order for your plugin to be built by the Jenkins CI Infrastructure and check pull requests, please add a Jenkinsfile to the root of your repository with the following content:
https://github.com/jenkinsci/archetypes/blob/master/common-files/Jenkinsfile

Welcome aboard!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bot-check-complete Automated hosting checks passed hosting-request Request to host a component in jenkinsci security-audit-done The hosting request code passed the security audit with success
Projects
None yet
Development

No branches or pull requests

5 participants