-
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
Multi-user Eclipse Che #6441
Multi-user Eclipse Che #6441
Conversation
Build success. https://ci.codenvycorp.com/job/che-pullrequests-build/4018/ |
-0 |
Good point @benoitf. We received a couple more feedback like yours. And we have an agreement to have a single assembly in next releases. It's going to improve onboarding and probably remove duplication problems you've mentioned. |
Build success. https://ci.codenvycorp.com/job/che-pullrequests-build/4027/ |
Build # 4032 - FAILED Please check console output at https://ci.codenvycorp.com/job/che-pullrequests-build/4032/ to view the results. |
if (permissionsManager.getDomain(domain).isInstanceRequired() && instance == null) { | ||
throw new BadRequestException("Specified domain requires non nullable value for instance"); | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@sleshchenko simplify proposal:
checkArgument(domain != null, "Domain id required");
checkArgument((permissionsManager.getDomain(domain).isInstanceRequired() && instance == null),
"Specified domain requires non nullable value for instance"
);
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It can be rewritten with checkArgument
method. But then condition should be rewritten as
checkArgument(!permissionsManager.getDomain(domain).isInstanceRequired() || instance != null), "Specified domain requires non nullable value for instance");
So I'd not change it because then condition becomes more complicated.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can remove negation in the checkArgument
so than condition will be the same (and domain == null
in first check )
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This method is named after Precondition#checkArgument from guava. And I think it is
logical to have negation there while it is named in this way. Up to you change it or not =)
Signed-off-by: Oleksii Orel <oorel@redhat.com>
@skabashnyuk the move to a single assembly noted here is for multi-user only right? We haven’t agreed that we don’t need a single user assembly yet. |
@bmicklea it's topic TBD. I'll create an issue for that. |
Running integrations tests on centos/postgresql-96-centos7 image
Build # 4042 - FAILED Please check console output at https://ci.codenvycorp.com/job/che-pullrequests-build/4042/ to view the results. |
Multi-user Eclipse Che (#6441) #### How to run it. ```docker run -it -e CHE_MULTIUSER=true -e CHE_HOST=<your ip> -e CHE_KEYCLOAK_AUTH-SERVER-URL=http://<your ip>:5050/auth -v /var/run/docker.sock:/var/run/docker.sock -v ~/.che-multiuser:/data eclipse/che:nightly start --skip:pull --skip:nightly``` #### How to manage it - Keycloak configured with two realms. ```Master``` and ```che```. Also we have one user admin/admin in both realm. Admin user in master realm is - super admin. - Eclipse Che configured for che realm - We enabled user registration in ```Che``` realm #### Known limitation - swagger would not work. We need to upgrade a version. to support openid authentification #6015 - It's working on local docker. We are going to provide scalable version based on OpenShift on next versions. - Invitation of non-existent users to Eclipse Che organization #6335 #### How to run it when it is in a branch To run an multiuser Che version, the following steps are required after building the branch: - Rebuild init, cli and che images (in the given sequence). To do that, proceed to folder _dockerfiles/<image_name>_ and run _build.sh_ - Run Che in a usual way using cli, with additional parameters: `-e CHE_MULTIUSER=true` and `--skip:pull --skip:nightly` Full command example: `docker run -it --rm -v /var/run/docker.sock:/var/run/docker.sock -v /home/user/.che:/data -e CHE_MULTIUSER=true eclipse/che-cli:nightly start --skip:pull --skip:nightly` - MacOS users may need to edit _che.env_ file in the data folder, changing `CHE_HOST` and `CHE_KEYCLOAK_AUTH__SERVER__URL` values to their specific IP. When start is succeeded, the following docker containers should be created: - che, exposing 8080 port; - che_keycloak, exposing 5050 port; - che_postgres, exposing 5432 port;
Hi, On running the below command in windows powershell: I am getting the below message: Now can you please guide me further steps and other steps if i am missing to set up the workspace which multiple users can access concurrently from different machines ? I could not find simple straight forward documents/references for this. Your help would be highly appreciated. Looking forward to your response. |
Multi-user Eclipse Che (#6441) #### How to run it. ```docker run -it -e CHE_MULTIUSER=true -e CHE_HOST=<your ip> -e CHE_KEYCLOAK_AUTH-SERVER-URL=http://<your ip>:5050/auth -v /var/run/docker.sock:/var/run/docker.sock -v ~/.che-multiuser:/data eclipse/che:nightly start --skip:pull --skip:nightly``` #### How to manage it - Keycloak configured with two realms. ```Master``` and ```che```. Also we have one user admin/admin in both realm. Admin user in master realm is - super admin. - Eclipse Che configured for che realm - We enabled user registration in ```Che``` realm #### Known limitation - swagger would not work. We need to upgrade a version. to support openid authentification #6015 - It's working on local docker. We are going to provide scalable version based on OpenShift on next versions. - Invitation of non-existent users to Eclipse Che organization #6335 #### How to run it when it is in a branch To run an multiuser Che version, the following steps are required after building the branch: - Rebuild init, cli and che images (in the given sequence). To do that, proceed to folder _dockerfiles/<image_name>_ and run _build.sh_ - Run Che in a usual way using cli, with additional parameters: `-e CHE_MULTIUSER=true` and `--skip:pull --skip:nightly` Full command example: `docker run -it --rm -v /var/run/docker.sock:/var/run/docker.sock -v /home/user/.che:/data -e CHE_MULTIUSER=true eclipse/che-cli:nightly start --skip:pull --skip:nightly` - MacOS users may need to edit _che.env_ file in the data folder, changing `CHE_HOST` and `CHE_KEYCLOAK_AUTH__SERVER__URL` values to their specific IP. When start is succeeded, the following docker containers should be created: - che, exposing 8080 port; - che_keycloak, exposing 5050 port; - che_postgres, exposing 5432 port;
steps required before merge
What does this PR do?
Introduce multi-user Eclipse Che based on Keyclaok identity server.
What is it
How to run it.
docker run -it -e CHE_MULTIUSER=true -e CHE_HOST=<your ip> -e CHE_KEYCLOAK_AUTH__SERVER__URL=http://<your ip>:5050/auth -v /var/run/docker.sock:/var/run/docker.sock -v ~/.che-multiuser:/data eclipse/che:nightly start --skip:pull --skip:nightly
How to manage it
Master
andche
. Also we have one user admin/admin in both realm. Admin user in master realm is - super admin.Che
realmKnown limitation
How to run it when it is in a branch
To run an multiuser Che version, the following steps are required after building the branch:
-e CHE_MULTIUSER=true
and--skip:pull --skip:nightly
Full command example:
docker run -it --rm -v /var/run/docker.sock:/var/run/docker.sock -v /home/user/.che:/data -e CHE_MULTIUSER=true eclipse/che-cli:nightly start --skip:pull --skip:nightly
CHE_HOST
andCHE_KEYCLOAK_AUTH__SERVER__URL
values to their specific IP.When start is succeeded, the following docker containers should be created:
What issues does this PR fix or reference?
#5362
Changelog
Introduce multi-user Eclipse Che based on Keyclaok identity server.
Release Notes
Introduce multi-user Eclipse Che based on Keyclaok identity server.
Docs PR
eclipse-che/che-docs#296