Commit Graph

1398 Commits (2c198333efb69eba6f1bd72ec50352307ac87949)

Author SHA1 Message Date
Mykhailo Kuznietsov 26cf509ea7 chore: Bump to 7.77.0-SNAPSHOT in main
Signed-off-by: Mykhailo Kuznietsov <mkuznets@redhat.com>
2023-11-06 09:39:16 +01:00
Igor Vinokur cb0c9f9d39
Fix update token on workspace start (#597)
Change the getHostName() function to getProviderUrl() in order to fix an error while updating an oauth token on workspace start.
Throw ScmUnauthorizedException if an oAuth token is not valid, for the dashboard to open the authorisation page and update the token.
2023-11-04 19:12:12 +02:00
Igor Vinokur 148415c691
Respect authorisation request opt-out on workspace start (#576)
If user rejects an scm provider authorisation request while creating or starting existed workspace store the name of the scm provider in the workspace-preferences config-map. The workspace create/start step must proceed without token fetch step. If user creates another workspace or starts existed workspace from an scm provider which name is stored in the config-map, do not ask the authorisation as it was already rejected once.
2023-10-12 15:59:42 +03:00
Igor Vinokur f27f8b1589
Update minor maven dependencies (#577) 2023-10-12 14:38:05 +03:00
Mykhailo Kuznietsov 2f2a939823 chore: Bump to 7.76.0-SNAPSHOT in main
Signed-off-by: Mykhailo Kuznietsov <mkuznets@redhat.com>
2023-09-28 10:13:22 +02:00
Igor Vinokur b2ff110da5
Encode the authentication reject error to build a proper callback url (#568)
Encode the &error_code=access_denied query param for the callback url in order to fix the bug when the authentication request appears again if it was rejected.
2023-09-27 14:20:27 +03:00
Igor Vinokur b1da9ef121
Add an SSH Factory parameter resolver for unsupported SCM providers (#567)
Return the SSH factory resolver in order to handle SSH urls from unsupported SCM providers.
Add a priority value for all factory resolvers to be able to control resolver's priority.

---------

Co-authored-by: Aleksandr Shmaraiev <oshmarai@redhat.com>
2023-09-22 17:09:48 +03:00
Igor Vinokur 261be8f99d
Add a null check before reading GitHub response (#563)
Add a null check to prevent NullPointer exception while reading body from the GitHub API response. response.body() should not return null according to the java documentation, but the NullPointer exception was found in the customer debug logs
2023-09-21 10:48:32 +03:00
che-bot 033d310b0d
chore: Bump to 7.75.0-SNAPSHOT in main (#554)
Signed-off-by: Mykhailo Kuznietsov <mkuznets@redhat.com>
Co-authored-by: Mykhailo Kuznietsov <mkuznets@redhat.com>
2023-09-11 19:17:12 -03:00
Igor Vinokur 9d43803100
Simplify the Raw devfile filename check (#548)
Do not check the Raw devfile file name but check if the url ends with .yaml before using the Raw devfile url resolver.
2023-09-06 14:15:11 +03:00
Igor Vinokur ea67092cbc
Fix failing unit tests (#553)
Signed-off-by: Igor <ivinokur@redhat.com>
2023-09-06 12:48:04 +03:00
Igor Vinokur 6edfa3910f
Apply permanetn `ref` query param to the GitLab raw file location request (#545)
A user claims that he couldn't start a workspace form GitLab repository because of the raw file location request doesn't contain the ref query parameter. Rework the way of generating the GitLab raw file location function to permanently add the ref query param.
2023-09-05 12:51:27 +03:00
Igor Vinokur da5174bf17
Duplicate creating a git-credentials secret on token fetch (#551)
Duplicate the git-credentials secret creation step on create personal access token secret. Currently this step is performed on workspace provision step but in this case the PAT secret might be initialised when the provision is finished. In order to synchronise the personal access token secret and git credentials secret creation step duplicate the git credentials secret creation step after the PAT secret creation step.
Refactor the get(scmServerUrl) function in the KubernetesPersonalAccessTokenManager class
2023-09-05 12:49:09 +03:00
Igor Vinokur 7d0cfb306c
Support SSH urls (#539)
Extend each SCM provider implementation to support SSH urls.
2023-08-27 16:17:13 +03:00
Mykhailo Kuznietsov 8d19ea8046 chore: Bump to 7.74.0-SNAPSHOT in main
Signed-off-by: Mykhailo Kuznietsov <mkuznets@redhat.com>
2023-08-23 15:09:29 +02:00
Anatolii Bazko ff90b44018
fix: Improve BitBucket token scope validation (#547)
Signed-off-by: Anatolii Bazko <abazko@redhat.com>
2023-08-22 09:17:54 +02:00
Igor Vinokur f5a70d0f9a
Do not return secret token in the Oauth API (#538)
Remove the personalAccessTokenManager.get() call from the OAuth API getToken() method. The OAuth API must not know anything about PAT secrets. It should get tokens only by requesting an SCM provider OAuth API.
Fix validating the Bitbucket-Server PAT method by requesting user instead of requesting.
This prevents the code execution going to a recursive loop: bitbucketServerApiClient.getPersonalAccessToken() calls oauthApi.getToken() which referred to personalAccessTokenManager.getToken() which validated the token by calling scmPersonalAccessTokenFetcher.getScmUsername() -> bitbucketServerApiClient.getPersonalAccessToken().
2023-08-17 16:29:24 +03:00
Igor Vinokur 73dbac0c44
Do not substring `.git` while parsing Azure DevOps Urls (#541)
Do not substring .git while parsing Azure DevOps Urls. Azure doesn't add the .git suffix neither to the generated clone URLs nor to the browser repository URLs.
2023-08-15 14:37:13 +03:00
Igor Vinokur 0ea20e687b
Use `login` instead of `name` in the GitHub scopes/username request (#537)
Change user.getName() to user.getLogin() in the GitHub getTokenScopes() API request, in order to fix a bug where NullPointer exception is appeared when a GitHub user request returns a user with null in the name field.
2023-08-01 21:36:14 +03:00
Mykhailo Kuznietsov 29ff3f3e75 chore: Bump to 7.73.0-SNAPSHOT in main
Signed-off-by: Mykhailo Kuznietsov <mkuznets@redhat.com>
2023-07-31 10:50:12 +02:00
Igor Vinokur df3fc9965a
Omit scm-username annotation from the PAT secret (#533)
Ignore the che.eclipse.org/scm-username annotation when fetching token from a PAT secret. Instead fetch the username from the isValid(<token>) request.
2023-07-25 18:52:54 +03:00
Mykhailo Kuznietsov 2cd1bb2b46 chore: Bump to 7.72.0-SNAPSHOT in main
Signed-off-by: Mykhailo Kuznietsov <mkuznets@redhat.com>
2023-07-24 12:10:57 +02:00
Igor Vinokur c5963e0de7
Pass string to ObjectMapper instead of InputStream (#531)
Pass string to ObjectMapper instead of InputStream in order to avoid No content to map due to end-of-input error caused by jdk.internal.net.http.ResponseSubscribers$HttpResponseInputStream.
An error was discovered in our customers environment
2023-07-12 10:33:56 +03:00
Mykhailo Kuznietsov 454bc7304f chore: Bump to 7.71.0-SNAPSHOT in main
Signed-off-by: Mykhailo Kuznietsov <mkuznets@redhat.com>
2023-06-30 09:45:41 +02:00
Igor Vinokur 287b903010
Provision git credentials secrets on workspace start (#527)
On workspace start iterate user PAT secrets. If a PAT secret is not included to the devworkspace-merged-git-credentials secret, create a git credentials secret based on the PAT secret.
Remove the redundant logic of creation an empty workspace-credentials-secret secret.
2023-06-26 17:18:32 +03:00
Igor Vinokur ab83bee400
Omit extracting subfolder from a workspace URL (#523)
sparce-checkoutis no longer available from devfile 2.1, so omit the subfolder mechanism in order to support branch names with a / sign.
2023-06-15 13:41:43 +03:00
Mykhailo Kuznietsov c23792c7b1 chore: Bump to 7.70.0-SNAPSHOT in main
Signed-off-by: Mykhailo Kuznietsov <mkuznets@redhat.com>
2023-06-15 10:18:24 +02:00
Anatolii Bazko 7c598014a2
fix: Cloning projects from Azure DevOps (#522)
Signed-off-by: Anatolii Bazko <abazko@redhat.com>
2023-06-08 12:44:06 +03:00
Igor Vinokur 32c67ed032
Return the default resolver if the factory URL refers directly to a devfile (#519)
Check if the factory URL is a raw devfile URL. If so, use the devfile URL resolver, which resolves factories from a direct URL to a devfile content.
2023-06-06 10:38:03 +03:00
Mykhailo Kuznietsov fdb2dbf163 chore: Bump to 7.69.0-SNAPSHOT in main
Signed-off-by: Mykhailo Kuznietsov <mkuznets@redhat.com>
2023-06-02 16:13:59 +02:00
Mykhailo Kuznietsov 559de5a7f1 chore: Bump to 7.68.0-SNAPSHOT in main
Signed-off-by: Mykhailo Kuznietsov <mkuznets@redhat.com>
2023-05-18 10:44:15 +02:00
Igor Vinokur cefc638dad
Pass user slug instead of user id when creating a PAT for bitbucket-server (#512)
Pass user neme instead of user id when creating a PAT secret for bitbucket-server in order to fix the generation of thegit-credentials-secret secret which requires the user name: https://<user name>:<token>@<host name>.
2023-05-16 13:53:10 +03:00
Mykhailo Kuznietsov 1fb16e5b63 chore: Bump to 7.67.0-SNAPSHOT in main
Signed-off-by: Mykhailo Kuznietsov <mkuznets@redhat.com>
2023-05-10 10:27:11 +02:00
Igor Vinokur 725506d26f
Fix provider name constant in the BitbucketServerUserDataFetcher calss (#511)
Change the OAUTH_PROVIDER_NAME constant from bitbucket to bitbucket-server in order to fix the git user data initialisation flow, when a PAT is initialised in a user namespace.
2023-05-09 16:14:38 +03:00
Mykhailo Kuznietsov b333b7bdb9 chore: Bump to 7.66.0-SNAPSHOT in main
Signed-off-by: Mykhailo Kuznietsov <mkuznets@redhat.com>
2023-04-21 13:06:43 +02:00
Mykhailo Kuznietsov d0402f0b8e chore: Bump to 7.65.0-SNAPSHOT in main
Signed-off-by: Mykhailo Kuznietsov <mkuznets@redhat.com>
2023-04-19 11:11:56 +02:00
Igor Vinokur 8d0d9ac5d8
Withdraw scm-userid value in PAT secrets and use scm-username instead (#496)
Withdraw the scm-userid annotation from the PAT secret structure.
Rework the PAT validation to check scm-username instead scm-userid.
2023-04-19 09:37:29 +03:00
Anatolii Bazko 8dda567e23
fix: Support Azure DevOps repository urls without project (#490)
Signed-off-by: Anatolii Bazko <abazko@redhat.com>
2023-04-04 16:31:00 +03:00
Anatolii Bazko b24e3c7d95
feat: support retrieving Git user data when PAT is configured (#489)
* feat: support retrieving Git user data when PAT is configured

Signed-off-by: Anatolii Bazko <abazko@redhat.com>
2023-04-04 10:14:40 +03:00
Ilya Buziuk 188c722dae chore: Adding @Deprecated annotation to the unused services that will be removed in the future versions
Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
2023-04-03 15:40:13 +02:00
Igor Vinokur 45e9d18d22 Fix vuOAlnerable dependencies
Signed-off-by: Igor Vinokur <ivinokur@redhat.com>
2023-03-29 19:04:50 +02:00
Mykhailo Kuznietsov 63c72d2628 chore: Bump to 7.64.0-SNAPSHOT in main
Signed-off-by: Mykhailo Kuznietsov <mkuznets@redhat.com>
2023-03-27 15:40:05 +02:00
Anatolii Bazko 76445656a9
feat: GitLab support nested repositories (#467)
* feat: GitLab support nested repositories

Signed-off-by: Anatolii Bazko <abazko@redhat.com>

---------

Signed-off-by: Anatolii Bazko <abazko@redhat.com>
2023-03-20 08:32:05 +02:00
Igor Vinokur 5a04496ded
Return empty credentials from bitbucket URL with username (#466)
Override the getCredentials() method in the BitbucketUrl class to intercept bitbucket URL with username e.g. https://user@bitbucket.org/eclipse/che. Return empty credentials for such urls.
2023-03-17 13:24:14 +02:00
Igor Vinokur be757ec5a6
Check the devfile content before creating a factory (#463)
When Che creates a workspace from a repository URL, first we iterate and find a related git provider handler, then we gat a devfile location according to the handler rules. If we pass an unsupported git repository url we will have a default handler which will try find a devfile by the same url as the repository. In that case we will have an html content as a devfile.

We need to check the content before parsing the devfile, and throw a specific error in case if the content is not yaml.
2023-03-14 12:03:39 +02:00
Valeriy Svydenko 54827213f1
fix: extend pattern for BitBacket URL (#461)
Signed-off-by: Valerii Svydenko <vsvydenk@redhat.com>
2023-03-10 10:14:37 +02:00
Anatolii Bazko d9ad2fbd7e Remove scopes from AzureDevOpsApiClient
Signed-off-by: Anatolii Bazko <abazko@redhat.com>
2023-03-09 18:09:31 +01:00
Anatolii Bazko ea1ceb09ac fix: update the way how Azure OAuth2 token is validated
Signed-off-by: Anatolii Bazko <abazko@redhat.com>
2023-03-09 18:09:31 +01:00
Anatolii Bazko 04bf956751
feat: Support git+ssh urls (#458)
* feat: Support git+ssh urls

Signed-off-by: Anatolii Bazko <abazko@redhat.com>
2023-03-09 14:24:49 +02:00
che-bot 709d872d24
chore: Bump to 7.63.0-SNAPSHOT in main (#459)
Signed-off-by: Mykhailo Kuznietsov <mkuznets@redhat.com>
Co-authored-by: Mykhailo Kuznietsov <mkuznets@redhat.com>
2023-03-08 18:05:13 -04:00