-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
unable to access repository present inside an organization's gitlab account (visibility private) #20962
Comments
@Divine1 thank you for the question. At this stage, it's important to decide the flow you want to follow.
Wich way do you want to follow? |
@skabashnyuk i would like to follow ssh flow. |
Ok. Now, what Che version do you have, and what workspace engine are you using. Che7 or devWrksapce, Devfile v1 or Devfile v2?
Does that mean you need to set up HTTP proxy? |
@skabashnyuk HTTP proxy is not required. Che7 or devWrksapce - what is the difference? i have installed eclipse-che via minikube. i'm with the understanding that both are same i installed via below link https://www.eclipse.org/che/docs/che-7/installation-guide/installing-che-on-minikube/ |
I found only this guide on how to mount a file https://www.eclipse.org/che/docs/che-7/end-user-guide/mounting-a-secret-as-a-file-or-an-environment-variable-into-a-workspace-container/. If you are able to create secrets in your k8s namespace I think you can follow it to mount ssh files. @vinokurig @svor do you remember if we have documentation about how to manage ssh keys from the Theia? |
@skabashnyuk i have access to create secrets in my k8s namespace. i have a doubt in the value present for As per the docs, Should i encode(base64) all the data present inside
incase of ssh public key, should i encode(base64) the content of publickey file and put it as below ?
|
This might be useful : https://www.eclipse.org/che/docs/che-7/end-user-guide/version-control/#_generating_an_ssh_key_using_the_che_command_palette |
I think you need both. git client inside the Theia container has to have access to the private par. The public part would be checked on the opposite side (on gitlab) However @vinokurig 's variant I like more. |
the |
I think you are referring to factory flow. It's not the |
@skabashnyuk could you share the doc link for |
@skabashnyuk do you think the step mentioned here will be relevant for my scenario? |
@Divine1 Since we had the same issue, I can share some information what works in our case. :) We're quite happy with the OAuth Integration flow. Since i wrote down everything for another ticket, here's a quick summary what I did to get it working. Have a look here: https://www.eclipse.org/che/docs/che-7/administration-guide/configuring-authorization/#configuring-gitlab-oauth2_che My intention was to allow cloning private projects for all of our developers using GitLab OAuth without the need of defining SSH-Tokens or Kubernetes secrets on user side. So basically add a button to all GitLab Project-Pages (like "Open in Che") which will does the trick (Login, clone, etc.) without user interaction. Git-urls in devfiles must be http-only of course. Thanks to the work of @skabashnyuk it now works like a charm in v7.40. Thanks a lot! (#20790) We've setup GitLab/Keycloak/Che as described in the documentation.
Our Keycloak Identity Provider config: I installed Che using chectl. Deployment: Operator. operator-config.yaml: spec:
server:
tlsSupport: true
customCheProperties:
CHE_SYSTEM_SUPER__PRIVILEGED__MODE: "true"
CHE_LIMITS_USER_WORKSPACES_RUN_COUNT: "-1"
CHE_LIMITS_WORKSPACE_IDLE_TIMEOUT: "9000000"
CHE_SYSTEM_ADMIN__NAME: mosbachn
CHE_INTEGRATION_GITLAB_SERVER__ENDPOINTS: "https://git.company.dev/"
CHE_INTEGRATION_GITLAB_OAUTH__ENDPOINT: "https://git.company.dev/"
cheImagePullPolicy: Always
devfileRegistryPullPolicy: Always
pluginRegistryPullPolicy: Always
database:
externalDb: false
postgresImagePullPolicy: Always
storage:
pvcStrategy: per-workspace
pvcClaimSize: '5Gi'
auth:
externalIdentityProvider: true
identityProviderURL: 'https://auth.company.dev/auth'
identityProviderRealm: 'git-dev'
identityProviderClientId: 'che'
openShiftoAuth: false
k8s:
ingressDomain: 'company.dev'
ingressStrategy: 'multi-host'
tlsSecretName: 'tls-company-dev' That's it. Nice and smooth without dealing with SSH tokens! :) |
@nils-mosbach thank you for details. this is very helpful.. i have below doubt.
i have already installed eclipse-che using chectl in minikube for exploring the capabilities https://www.eclipse.org/che/docs/che-7/installation-guide/installing-che-on-minikube/ in this case, how to update |
Depends on your configuration.
If users from OIDC are linked i would start fresh, just in case... |
i will try this out and share the feedback. |
my project repository is present in the installation is successful. To verify if all components are working fine i opened a sample project in eclipse-che workspace the vscode editor opened successfully. but when i try to clone a repository from the |
Is this an HTTP proxy? |
i dont use any proxy urls. i have to connect my laptop using global protect to be inside the corporate network inorder to access the i have installed eclipse-che in a minikube cluster in my laptop, but looks like eclipse-che is not able to make use of the corporate network @tolusha @skabashnyuk |
Can you try to run any container (without using che) with git inside and try to clone |
yes i'm able to clone a repository from i disabled corporate network and tried to clone a repository from |
@Divine1 |
@skabashnyuk @tolusha @nils-mosbach i used the private accestoken to resolve this issue. may be this is not the best solution compared to the solution suggested by @nils-mosbach . but i was not able to make the solution shared by @nils-mosbach to work.... Thank you everybody for the support . Takecare i'm facing few other problems, will created another ticket for it. closing this ticket |
Summary
The project repository i'm working on is maintained under
gitlab.company.com
. Thegitlab.company.com
is accessible only within the corporate network and sso is required to login into thegitlab.company.com
. i can add ssh keys/generate accessTokens but this will be valid only inside corporate network.The visibility of the project repository is private
i'm maintaining the
devfile.yaml
inside the same project repository.i have eclipseche installed in minikube. The installation is successful and i'm able to clone a public / private github repository in this eclipseche instance.
the problem i face is with
private
gitlab.company.com
repository that is accessible only within corporate network.i get below error message when i try to open the workspace.
Please let me know how to resolve this issue
Relevant information
No response
The text was updated successfully, but these errors were encountered: