Latest versions of minishift ignore Che master docker image that
was built locally inside the VM.
Removeing docker.io from the image name workarounds the issue.
Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>
* Move wsnext flow in Kubernetes infra implementation
Now we need to start a broker and pass meta.yaml files to it.
Starting a broker is infra-specific stuff, so it has to be done
on the infra implementation side because we don't have a part
in the infra SPI that would allow us to start a broker.
Passing Meta files using InternalEnvironment object is more
invasive than passing only attributes. So, this commit applies
less invasive scheme.
* CHE-10202,10561: Add fetching of Che editor, plugins meta from the registry
Add fetching of Che editor ID from workspace attributes.
Add fetching of Che plugins IDs from workspace attributes.
Use colon sign for separating editor/plugin ID and version
instead of the slash.
Remove old Workspace.Next model objects.
* CHE-10561: Share WS.NEXT between k8s and OS infras
Use WS.NEXT in both k8s and OS infrastructure implementations.
* CHE-10561: fix fetching meta.yaml files from che-plugin-registry
* CHE-10561: Fix sidecar model serialization
Fixes the fact that some fields in workspace sidecar tooling model
POJOs were incorrectly named or required custom serialization of
fields.
* CHE-10561: Add listening of che-plugin-broker
Add code that allows listening for events from Che plugin broker.
An event might contain workspace tooling config as a result if the broker
finished successfully or error otherwise.
* CHE-10561: Add PluginBrokerManager to control broker lifecycle
Adds PluginBrokerManager that configures/starts/waits Che plugin
broker.
Remove unused code.
Remove notion of Workspace next.
* Align plugin registry property between different components
* Fix extra path in che plugin registry URL
Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>
Added ability to deploy che plugin registry with ocp.sh ./ocp.sh --deploy-che --deploy-che-plugin-registry
Add environment variableCHE_PLUGIN_REGISTRY_URL for che-master with a link to che plugin registry
Removes properties
- che.infra.kubernetes.username : can change, requiring reconfiguration
- che.infra.kubernetes.password : can change, requiring reconfiguration
- che.infra.kubernetes.oauth_token : expires
as they complicate setup and all represent suboptimal running scenarios.
Use che serviceaccount instead.
Signed-off-by: Angel Misevski <amisevsk@redhat.com>
Rework model, of CheService and renamed it to ChePlugin.
Replace features hosting to apache server to be able to host plugin files and avoiding having model files for Go lang.
Host YAMLs instead of JSONs. Downloads and parse ChePlugin YAMLs instead of JSONs from the marketplace.
Improve unit tests coverage.
Add support of Che Server protocol and path, so it is possible to run Classic GWT IDE in Workspace Next now.
Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>
* Support identity provider token retrieval in both JSON or URL formats.
That's required because some identity providers (such a `openshift-v3`)
correctly return the token information in JSON, as expected. So
switching to the url-based syntax should only used when the returned
json is invalid.
Signed-off-by: David Festal <dfestal@redhat.com>
* Introduce an `OpenShiftClientConfigFactory` to allow customizing the OpenShift config returned according to the current context (workspace ID, current user)
Signed-off-by: David Festal <dfestal@redhat.com>
* Openshift Infra + Multi-user => allow using OpenShift identity provider to connect to openshift with the OS oauth token of the current Che user.
This introduces a new property:
`che.infra.openshift.oauth_identity_provider`
Signed-off-by: David Festal <dfestal@redhat.com>
* Notify the user when a workspace cannot be started from the nav bar.
Signed-off-by: David Festal <dfestal@redhat.com>
* Add the ability to install the Openshift certificate into Keycloak
Signed-off-by: David Festal <dfestal@redhat.com>
* Add a yaml file to provide the openshift certificate as a secret,
in case it has to be installed into the dedicated Keycloak server.
Then the commands to install Che multiuser on Minishift with this
certificate are:
```
oc new-project che
oc process -f multi/openshift-certificate-secret.yaml -p
CERTIFICATE="$(minishift ssh docker exec origin /bin/cat
./openshift.local.config/master/ca.crt)" | oc apply -f -; \
oc new-app -f multi/postgres-template.yaml; \
oc new-app -f multi/keycloak-template.yaml -p ROUTING_SUFFIX=$(minishift
ip).nip.io; \
oc apply -f pvc/che-server-pvc.yaml; \
oc new-app -f che-server-template.yaml -p ROUTING_SUFFIX=$(minishift
ip).nip.io -p CHE_MULTIUSER=true -p
CHE_INFRA_OPENSHIFT_OAUTH__IDENTITY__PROVIDER=openshift-v3; \
oc set volume dc/che --add -m /data --name=che-data-volume
--claim-name=che-data-volume
```
Of course it's still needed to register the `openshift-v3` identity
provider in the Keycloak server, as well as, add the corresponding
`OAuthClient` object in Minihshift.
Signed-off-by: David Festal <dfestal@redhat.com>
* Update OpenShift Origin version to 3.9
* Deploy script uses templates
* Pass args to deploy script
* Remove old scripts and yamls
* Add missing args to ocp.sh help and and help to deploy_che.sh
* Small fixes
* Remove mistakenly added file
* Remove mistakenly added file
* Remove -a in docker ps to get registry container
* Do not pass args but export envs in ocp.sh
* Messed envs a bit
* Delete test service that is used to compute routing suffix
* Remove unnecessary port from Keycloak route
* Fixes
* Fixes
* Typo
* Minor fixes
* Use templates only to deploy Che to OpenShift
* Avoid breaking existing scripts
* Avoid breaking existing scripts
* Fixes
* Cleanup
* Cleanup
* Fixup
* New line and typos
* New line and typos
* Update dc/che. Env variables
* Remove creationtimestamp
* Template cleanup. Update README
* Fix DB URL env
* Add missing keycloak param
* Changes to ocp.sh to use new templates. Fix Keycloak template
* Env support
* Update server yaml. Update ocp.sh
* Configure CHE_IMAGE and CHE_TAG
* Add recycler
* Revern recycler sa
* Using credentials and creating ws in separate namespaces
* Use custom Keycloak image
* Use custom Keycloak image
* Remove use of credentials