Release 7.8.0 (#163)
* Release 7.8.0 Signed-off-by: Anatoliy Bazko <abazko@redhat.com> * Update pkg/deploy/defaults.go Co-Authored-By: David Festal <dfestal@redhat.com> * Update pkg/deploy/defaults.go Co-Authored-By: David Festal <dfestal@redhat.com> Co-authored-by: David Festal <dfestal@redhat.com>pull/156/head
parent
365f9a082a
commit
64a5ea9cad
20
RELEASE.md
20
RELEASE.md
|
|
@ -10,32 +10,36 @@
|
|||
|
||||
Start a cluster using `cluster-bot` application.
|
||||
|
||||
To be able to test update it is needed to created some user before. Login as `kubeadmin`. At the middle of the dashboard click `Update OAuth configuration`. Then `Identity providers` -> `Add` -> `HTPassword` and upload a htpassword file (can be created with HTPassword utility). Login using HTPassword, logout and login again as `kubeadmin`. Go to `kube:admin` menu -> `Copy Login Command` -> `Display Token` and launch to showing command in the terminal. Now it is possible to test update:
|
||||
To be able to test update it is needed to created some user before. Login as `kubeadmin`. Click `Update the cluster OAuth configuration` at the middle of the dashboard, then `Identity providers` -> `Add` -> `HTPassword` and upload a htpassword file (can be created with HTPassword utility). Logout and login using HTPassword, then logout and login as `kubeadmin`. Go to `kube:admin` -> `Copy Login Command` -> `Display Token` and launch showing command in the terminal. Now it is possible to test update:
|
||||
|
||||
```bash
|
||||
olm/testUpdates.sh openshift stable
|
||||
olm/testUpdate.sh openshift stable
|
||||
```
|
||||
|
||||
Open Eclipse Che dashboard in the anonymous to validate that the correct version is installed and workspace can be created:
|
||||
Open Eclipse Che dashboard in an anonymous tab:
|
||||
|
||||
```bash
|
||||
echo http://$(kubectl get ingress -n che | grep ^che | awk -F ' ' '{ print $2 }')
|
||||
echo http://$(oc get route -n eclipse-che-preview-test | grep ^che | awk -F ' ' '{ print $2 }')
|
||||
```
|
||||
|
||||
Login using HTPassword then allow selected permissions. Validate that the release version is installed and workspace can be created:
|
||||
|
||||
## 3. Testing release on minikube
|
||||
|
||||
Run script to test updates:
|
||||
|
||||
```bash
|
||||
olm/testUpdates.sh kubernetes stable
|
||||
olm/testUpdate.sh kubernetes stable
|
||||
```
|
||||
|
||||
Open Eclipse Che dashboard to validate that the correct version is installed and workspace can be created:
|
||||
Open Eclipse Che dashboard:
|
||||
|
||||
```bash
|
||||
xdg-open http://$(kubectl get ingress -n che | grep ^che | awk -F ' ' '{ print $2 }')
|
||||
xdg-open http://$(kubectl get ingress -n eclipse-che-preview-test | grep ^che | awk -F ' ' '{ print $2 }')
|
||||
```
|
||||
|
||||
Validate that the release version is installed and workspace can be created:
|
||||
|
||||
## 4. Testing release on minishift
|
||||
|
||||
Login to local minishift cluster:
|
||||
|
|
@ -47,7 +51,7 @@ oc login <LOCAL_MINISHIFT_CLUSTER_ADDRESS>
|
|||
Install the previous version of Eclipse Che:
|
||||
|
||||
```bash
|
||||
chectl server:start --platform=minikube --installer=operator --che-operator-image=quay.io/eclipse/che-operator:<PREVIOUS_RELEASE_VERSION>
|
||||
chectl server:start --platform=minishift --installer=operator --che-operator-image=quay.io/eclipse/che-operator:<PREVIOUS_RELEASE_VERSION>
|
||||
```
|
||||
|
||||
Update Eclipse Che to the latest version. Validate that the correct version is installed and workspace can be created:
|
||||
|
|
|
|||
|
|
@ -17,6 +17,11 @@ init() {
|
|||
NC='\e[0m'
|
||||
YELLOW='\e[33m'
|
||||
GREEN='\e[32m'
|
||||
|
||||
RELEASE="$1"
|
||||
GIT_REMOTE_UPSTREAM="git@github.com:eclipse/che-operator.git"
|
||||
CURRENT_DIR=$(pwd)
|
||||
BASE_DIR=$(cd "$(dirname "$0")"; pwd)
|
||||
}
|
||||
|
||||
check() {
|
||||
|
|
@ -37,17 +42,17 @@ check() {
|
|||
command -v operator-sdk >/dev/null 2>&1 || { echo -e $RED"operator-sdk is not installed. Aborting."$NC; exit 1; }
|
||||
|
||||
local operatorVersion=$(operator-sdk version)
|
||||
[[ ! $operatorVersion =~ .*v0.10.0.* ]] || { echo -e $RED"operator-sdk v0.10.0 is required"$NC; exit 1; }
|
||||
[[ $operatorVersion =~ .*v0.10.0.* ]] || { echo -e $RED"operator-sdk v0.10.0 is required"$NC; exit 1; }
|
||||
}
|
||||
|
||||
ask() {
|
||||
while true; do
|
||||
echo -e $GREEN$@$NC" (Y)es or (N)o"
|
||||
echo -e -n $GREEN$@$NC" (Y)es or (N)o "
|
||||
read -r yn
|
||||
case $yn in
|
||||
[Yy]* ) return 0;;
|
||||
[Nn]* ) return 1;;
|
||||
* ) echo "Please answer (Y)es or (N)o.";;
|
||||
* ) echo "Please answer (Y)es or (N)o. ";;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
|
@ -79,6 +84,12 @@ createLocalBranch() {
|
|||
fi
|
||||
}
|
||||
|
||||
getPropertyValue() {
|
||||
local file=$1
|
||||
local key=$2
|
||||
echo $(cat $file | grep -m1 "$key" | tr -d ' ' | tr -d '\t' | cut -d = -f2)
|
||||
}
|
||||
|
||||
releaseOperatorCode() {
|
||||
set +e
|
||||
ask "3. Release operator code?"
|
||||
|
|
@ -87,15 +98,25 @@ releaseOperatorCode() {
|
|||
|
||||
if [[ $result == 0 ]]; then
|
||||
local defaultsgo=$BASE_DIR/pkg/deploy/defaults.go
|
||||
local extraimagesgo=$BASE_DIR/pkg/deploy/extra_images.go
|
||||
|
||||
echo "3.1 Launch 'release-operator-code.sh' script"
|
||||
echo -e $GREEN"3.1 Launch 'release-operator-code.sh' script"$NC
|
||||
. ${BASE_DIR}/release-operator-code.sh $RELEASE
|
||||
|
||||
echo "3.2 Validate pkg/deploy/defaults.go"
|
||||
grep -q "defaultCheServerImageTag = \""$RELEASE"\"" $defaultsgo
|
||||
grep -q "defaultDevfileRegistryUpstreamImage = \"quay.io/eclipse/che-devfile-registry:"$RELEASE"\"" $defaultsgo
|
||||
grep -q "defaultPluginRegistryUpstreamImage = \"quay.io/eclipse/che-plugin-registry:"$RELEASE"\"" $defaultsgo
|
||||
grep -q "defaultKeycloakUpstreamImage = \"quay.io/eclipse/che-keycloak:"$RELEASE"\"" $defaultsgo
|
||||
echo -e $GREEN"3.2 Validate changes for $defaultsgo"$NC
|
||||
[[ \"$RELEASE\" != $(getPropertyValue $defaultsgo defaultCheServerImageTag) ]] && { echo -e $RED"$defaultsgo cotains unexpected changes"$NC; exit 1; }
|
||||
[[ \"quay.io/eclipse/che-devfile-registry:$RELEASE\" != $(getPropertyValue $defaultsgo defaultDevfileRegistryUpstreamImage) ]] && { echo -e $RED"$defaultsgo cotains unexpected changes"$NC; exit 1; }
|
||||
[[ \"quay.io/eclipse/che-plugin-registry:$RELEASE\" != $(getPropertyValue $defaultsgo defaultPluginRegistryUpstreamImage) ]] && { echo -e $RED"$defaultsgo cotains unexpected changes"$NC; exit 1; }
|
||||
[[ \"quay.io/eclipse/che-keycloak:$RELEASE\" != $(getPropertyValue $defaultsgo defaultKeycloakUpstreamImage) ]] && { echo -e $RED"$defaultsgo cotains unexpected changes"$NC; exit 1; }
|
||||
|
||||
echo -e $GREEN"3.3 Validate changes for $extraimagesgo"$NC
|
||||
[[ \"\" == $(getPropertyValue $extraimagesgo defaultCheWorkspacePluginBrokerMetadataUpstreamImage) ]] && { echo $RED"$extraimagesgo cotains unexpected changes"$NC; exit 1; }
|
||||
[[ \"\" == $(getPropertyValue $extraimagesgo defaultCheWorkspacePluginBrokerArtifactsUpstreamImage) ]] && { echo $RED"$extraimagesgo cotains unexpected changes"$NC; exit 1; }
|
||||
[[ \"\" == $(getPropertyValue $extraimagesgo defaultCheServerSecureExposerJwtProxyUpstreamImage) ]] && { echo $RED"$extraimagesgo cotains unexpected changes"$NC; exit 1; }
|
||||
|
||||
echo -e $GREEN"3.4 Validate number of changed files"$NC
|
||||
local changes=$(git status -s | wc -l)
|
||||
[[ $changes -gt 2 ]] && { echo -e $RED"The number of changes are greated then 2. Check 'git status'."$NC; return 1; }
|
||||
elif [[ $result == 1 ]]; then
|
||||
echo -e $YELLOW"> SKIPPED"$NC
|
||||
fi
|
||||
|
|
@ -108,7 +129,7 @@ commitDefaultsGoChanges() {
|
|||
set -e
|
||||
|
||||
if [[ $result == 0 ]]; then
|
||||
git commit -am "Update defaults tags to "$RELEASE --singoff
|
||||
git commit -am "Update defaults tags to "$RELEASE --signoff
|
||||
elif [[ $result == 1 ]]; then
|
||||
echo -e $YELLOW"> SKIPPED"$NC
|
||||
fi
|
||||
|
|
@ -135,13 +156,15 @@ releaseOlmFiles() {
|
|||
set -e
|
||||
|
||||
if [[ $result == 0 ]]; then
|
||||
echo "6.1 Launch 'olm/release-olm-files.sh' script"
|
||||
echo -e $GREEN"6.1 Launch 'olm/release-olm-files.sh' script"$NC
|
||||
cd $BASE_DIR/olm
|
||||
. $BASE_DIR/olm/release-olm-files.sh $RELEASE
|
||||
cd $CURRENT_DIR
|
||||
|
||||
local openshift=$BASE_DIR/olm/eclipse-che-preview-openshift/deploy/olm-catalog/eclipse-che-preview-openshift
|
||||
local kubernetes=$BASE_DIR/olm/eclipse-che-preview-kubernetes/deploy/olm-catalog/eclipse-che-preview-kubernetes
|
||||
local openshift=$BASE_DIR/eclipse-che-preview-openshift/deploy/olm-catalog/eclipse-che-preview-openshift
|
||||
local kubernetes=$BASE_DIR/eclipse-che-preview-kubernetes/deploy/olm-catalog/eclipse-che-preview-kubernetes
|
||||
|
||||
echo "6.2 Validate files"
|
||||
echo -e $GREEN"6.2 Validate files"$NC
|
||||
grep -q "currentCSV: eclipse-che-preview-openshift.v"$RELEASE $openshift/eclipse-che-preview-openshift.package.yaml
|
||||
grep -q "currentCSV: eclipse-che-preview-kubernetes.v"$RELEASE $kubernetes/eclipse-che-preview-kubernetes.package.yaml
|
||||
grep -q "version: "$RELEASE $openshift/$RELEASE/eclipse-che-preview-openshift.v$RELEASE.clusterserviceversion.yaml
|
||||
|
|
@ -149,12 +172,16 @@ releaseOlmFiles() {
|
|||
test -f $kubernetes/$RELEASE/eclipse-che-preview-kubernetes.crd.yaml
|
||||
test -f $openshift/$RELEASE/eclipse-che-preview-openshift.crd.yaml
|
||||
|
||||
echo "6.3 It is needed to check diff files manully"
|
||||
echo -e $GREEN"6.3 It is needed to check diff files manully"$NC
|
||||
echo $openshift/$RELEASE/eclipse-che-preview-openshift.v$RELEASE.clusterserviceversion.yaml.diff
|
||||
echo $kubernetes/$RELEASE/eclipse-che-preview-kubernetes.v$RELEASE.clusterserviceversion.yaml.diff
|
||||
echo $openshift/$RELEASE/eclipse-che-preview-openshift.crd.yaml.diff
|
||||
echo $kubernetes/$RELEASE/eclipse-che-preview-kubernetes.crd.yaml.diff
|
||||
read -p "Press enter to continue"
|
||||
|
||||
echo -e $GREEN"6.4 Validate number of changed files"$NC
|
||||
local changes=$(git status -s | wc -l)
|
||||
[[ $changes -gt 4 ]] && { echo -e $RED"The number of changed files are greated then 4. Check 'git status'."$NC; return 1; }
|
||||
elif [[ $result == 1 ]]; then
|
||||
echo -e $YELLOW"> SKIPPED"$NC
|
||||
fi
|
||||
|
|
@ -168,7 +195,7 @@ commitOlmChanges() {
|
|||
|
||||
if [[ $result == 0 ]]; then
|
||||
git add -A
|
||||
git commit -m "Release OLM files to "$RELEASE --singoff
|
||||
git commit -m "Release OLM files to "$RELEASE --signoff
|
||||
elif [[ $result == 1 ]]; then
|
||||
echo -e $YELLOW"> SKIPPED"$NC
|
||||
fi
|
||||
|
|
@ -181,7 +208,9 @@ pushOlmFiles() {
|
|||
set -e
|
||||
|
||||
if [[ $result == 0 ]]; then
|
||||
cd $BASE_DIR/olm
|
||||
. $BASE_DIR/olm/push-olm-files-to-quay.sh
|
||||
cd $CURRENT_DIR
|
||||
|
||||
read -p "Validate RELEASES page on quay.io. Press enter to open the browser"
|
||||
xdg-open https://quay.io/application/eclipse-che-operator-kubernetes/eclipse-che-preview-kubernetes
|
||||
|
|
@ -203,7 +232,7 @@ pushChanges() {
|
|||
|
||||
if [[ $result == 0 ]]; then
|
||||
git push origin $RELEASE
|
||||
git tag -a $RELEASE
|
||||
git tag -a $RELEASE -m $RELEASE
|
||||
git push --tags origin
|
||||
elif [[ $result == 1 ]]; then
|
||||
echo -e $YELLOW"> SKIPPED"$NC
|
||||
|
|
@ -211,11 +240,6 @@ pushChanges() {
|
|||
}
|
||||
|
||||
run() {
|
||||
RELEASE="$1"
|
||||
GIT_REMOTE_UPSTREAM="git@github.com:eclipse/che-operator.git"
|
||||
CURRENT_DIR=$(pwd)
|
||||
BASE_DIR=$(cd "$(dirname "$0")"; pwd)
|
||||
|
||||
resetLocalChanges
|
||||
createLocalBranch
|
||||
releaseOperatorCode
|
||||
|
|
|
|||
|
|
@ -0,0 +1,509 @@
|
|||
#
|
||||
# Copyright (c) 2012-2019 Red Hat, Inc.
|
||||
# This program and the accompanying materials are made
|
||||
# available under the terms of the Eclipse Public License 2.0
|
||||
# which is available at https://www.eclipse.org/legal/epl-2.0/
|
||||
#
|
||||
# SPDX-License-Identifier: EPL-2.0
|
||||
#
|
||||
# Contributors:
|
||||
# Red Hat, Inc. - initial API and implementation
|
||||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
name: checlusters.org.eclipse.che
|
||||
spec:
|
||||
group: org.eclipse.che
|
||||
names:
|
||||
kind: CheCluster
|
||||
listKind: CheClusterList
|
||||
plural: checlusters
|
||||
singular: checluster
|
||||
scope: Namespaced
|
||||
subresources:
|
||||
status: {}
|
||||
validation:
|
||||
openAPIV3Schema:
|
||||
properties:
|
||||
apiVersion:
|
||||
description: 'APIVersion defines the versioned schema of this representation
|
||||
of an object. Servers should convert recognized schemas to the latest
|
||||
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
|
||||
type: string
|
||||
kind:
|
||||
description: 'Kind is a string value representing the REST resource this
|
||||
object represents. Servers may infer this from the endpoint the client
|
||||
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
|
||||
type: string
|
||||
metadata:
|
||||
type: object
|
||||
spec:
|
||||
description: Desired configuration of the Che installation. Based on these
|
||||
settings, the operator automatically creates and maintains several config
|
||||
maps that will contain the appropriate environment variables the various
|
||||
components of the Che installation. These generated config maps should
|
||||
NOT be updated manually.
|
||||
properties:
|
||||
auth:
|
||||
description: Configuration settings related to the Authentication used
|
||||
by the Che installation.
|
||||
properties:
|
||||
externalIdentityProvider:
|
||||
description: 'Instructs the operator on whether or not to deploy
|
||||
a dedicated Identity Provider (Keycloak or RH SSO instance). By
|
||||
default a dedicated Identity Provider server is deployed as part
|
||||
of the Che installation. But if `externalIdentityProvider` is
|
||||
`true`, then no dedicated identity provider will be deployed by
|
||||
the operator and you might need to provide details about the external
|
||||
identity provider you want to use. See also all the other fields
|
||||
starting with: `identityProvider`.'
|
||||
type: boolean
|
||||
identityProviderAdminUserName:
|
||||
description: Overrides the name of the Identity Provider admin user.
|
||||
Defaults to `admin`.
|
||||
type: string
|
||||
identityProviderClientId:
|
||||
description: Name of a Identity provider (Keycloak / RH SSO) `client-id`
|
||||
that should be used for Che. This is useful to override it ONLY
|
||||
if you use an external Identity Provider (see the `externalIdentityProvider`
|
||||
field). If omitted or left blank, it will be set to the value
|
||||
of the `flavour` field suffixed with `-public`.
|
||||
type: string
|
||||
identityProviderImage:
|
||||
description: Overrides the container image used in the Identity
|
||||
Provider (Keycloak / RH SSO) deployment. This includes the image
|
||||
tag. Omit it or leave it empty to use the defaut container image
|
||||
provided by the operator.
|
||||
type: string
|
||||
identityProviderImagePullPolicy:
|
||||
description: Overrides the image pull policy used in the Identity
|
||||
Provider (Keycloak / RH SSO) deployment. Default value is `Always`
|
||||
for `nightly` or `latest` images, and `IfNotPresent` in other
|
||||
cases.
|
||||
type: string
|
||||
identityProviderPassword:
|
||||
description: Overrides the password of Keycloak admin user. This
|
||||
is useful to override it ONLY if you use an external Identity
|
||||
Provider (see the `externalIdentityProvider` field). If omitted
|
||||
or left blank, it will be set to an auto-generated password.
|
||||
type: string
|
||||
identityProviderPostgresPassword:
|
||||
description: Password for The Identity Provider (Keycloak / RH SSO)
|
||||
to connect to the database. This is useful to override it ONLY
|
||||
if you use an external Identity Provider (see the `externalIdentityProvider`
|
||||
field). If omitted or left blank, it will be set to an auto-generated
|
||||
password.
|
||||
type: string
|
||||
identityProviderRealm:
|
||||
description: Name of a Identity provider (Keycloak / RH SSO) realm
|
||||
that should be used for Che. This is useful to override it ONLY
|
||||
if you use an external Identity Provider (see the `externalIdentityProvider`
|
||||
field). If omitted or left blank, it will be set to the value
|
||||
of the `flavour` field.
|
||||
type: string
|
||||
identityProviderURL:
|
||||
description: Public URL of the Identity Provider server (Keycloak
|
||||
/ RH SSO server). You should set it ONLY if you use an external
|
||||
Identity Provider (see the `externalIdentityProvider` field).
|
||||
By default this will be automatically calculated and set by the
|
||||
operator.
|
||||
type: string
|
||||
oAuthClientName:
|
||||
description: Name of the OpenShift `OAuthClient` resource used to
|
||||
setup identity federation on the OpenShift side. Auto-generated
|
||||
if left blank. See also the `OpenShiftoAuth` field.
|
||||
type: string
|
||||
oAuthSecret:
|
||||
description: Name of the secret set in the OpenShift `OAuthClient`
|
||||
resource used to setup identity federation on the OpenShift side.
|
||||
Auto-generated if left blank. See also the `OAuthClientName` field.
|
||||
type: string
|
||||
openShiftoAuth:
|
||||
description: 'Enables the integration of the identity provider (Keycloak
|
||||
/ RHSSO) with OpenShift OAuth. Enabled by defaumt on OpenShift.
|
||||
This will allow users to directly login with their Openshift user
|
||||
throug the Openshift login, and have their workspaces created
|
||||
under personnal OpenShift namespaces. WARNING: the `kuebadmin`
|
||||
user is NOT supported, and logging through it will NOT allow accessing
|
||||
the Che Dashboard.'
|
||||
type: boolean
|
||||
updateAdminPassword:
|
||||
description: Forces the default `admin` Che user to update password
|
||||
on first login. Defaults to `false`.
|
||||
type: boolean
|
||||
type: object
|
||||
database:
|
||||
description: Configuration settings related to the database used by
|
||||
the Che installation.
|
||||
properties:
|
||||
chePostgresDb:
|
||||
description: Postgres database name that the Che server uses to
|
||||
connect to the DB. Defaults to `dbche`.
|
||||
type: string
|
||||
chePostgresHostName:
|
||||
description: Postgres Database hostname that the Che server uses
|
||||
to connect to. Defaults to postgres. This value should be overridden
|
||||
ONLY when using an external database (see field `externalDb`).
|
||||
In the default case it will be automatically set by the operator.
|
||||
type: string
|
||||
chePostgresPassword:
|
||||
description: Postgres password that the Che server should use to
|
||||
connect to the DB. If omitted or left blank, it will be set to
|
||||
an auto-generated value.
|
||||
type: string
|
||||
chePostgresPort:
|
||||
description: Postgres Database port that the Che server uses to
|
||||
connect to. Defaults to 5432. This value should be overridden
|
||||
ONLY when using an external database (see field `externalDb`).
|
||||
In the default case it will be automatically set by the operator.
|
||||
type: string
|
||||
chePostgresUser:
|
||||
description: Postgres user that the Che server should use to connect
|
||||
to the DB. Defaults to `pgche`.
|
||||
type: string
|
||||
externalDb:
|
||||
description: 'Instructs the operator on whether or not to deploy
|
||||
a dedicated database. By default a dedicated Postgres database
|
||||
is deployed as part of the Che installation. But if `externalDb`
|
||||
is `true`, then no dedicated database will be deployed by the
|
||||
operator and you might need to provide connection details to the
|
||||
external DB you want to use. See also all the fields starting
|
||||
with: `chePostgres`.'
|
||||
type: boolean
|
||||
postgresImage:
|
||||
description: Overrides the container image used in the Postgres
|
||||
database deployment. This includes the image tag. Omit it or leave
|
||||
it empty to use the defaut container image provided by the operator.
|
||||
type: string
|
||||
postgresImagePullPolicy:
|
||||
description: Overrides the image pull policy used in the Postgres
|
||||
database deployment. Default value is `Always` for `nightly` or
|
||||
`latest` images, and `IfNotPresent` in other cases.
|
||||
type: string
|
||||
type: object
|
||||
k8s:
|
||||
description: Configuration settings specific to Che installations made
|
||||
on upstream Kubernetes.
|
||||
properties:
|
||||
ingressClass:
|
||||
description: 'Ingress class that will define the which controler
|
||||
will manage ingresses. Defaults to `nginx`. NB: This drives the
|
||||
`is kubernetes.io/ingress.class` annotation on Che-related ingresses.'
|
||||
type: string
|
||||
ingressDomain:
|
||||
description: 'Global ingress domain for a K8S cluster. This MUST
|
||||
be explicitly specified: there are no defaults.'
|
||||
type: string
|
||||
ingressStrategy:
|
||||
description: Strategy for ingress creation. This can be `multi-host`
|
||||
(host is explicitly provided in ingress), `single-host` (host
|
||||
is provided, path-based rules) and `default-host.*`(no host is
|
||||
provided, path-based rules). Defaults to `"multi-host`
|
||||
type: string
|
||||
securityContextFsGroup:
|
||||
description: FSGroup the Che pod and Workspace pods containers should
|
||||
run in. Defaults to `1724`.
|
||||
type: string
|
||||
securityContextRunAsUser:
|
||||
description: ID of the user the Che pod and Workspace pods containers
|
||||
should run as. Default to `1724`.
|
||||
type: string
|
||||
tlsSecretName:
|
||||
description: Name of a secret that will be used to setup ingress
|
||||
TLS termination if TLS is enabled. See also the `tlsSupport` field.
|
||||
type: string
|
||||
type: object
|
||||
metrics:
|
||||
description: Configuration settings related to the metrics collection
|
||||
used by the Che installation.
|
||||
properties:
|
||||
enable:
|
||||
description: Enables `metrics` Che server endpoint. Default to `false`.
|
||||
type: boolean
|
||||
type: object
|
||||
server:
|
||||
description: General configuration settings related to the Che server
|
||||
and the plugin and devfile registries
|
||||
properties:
|
||||
airGapContainerRegistryHostname:
|
||||
description: Optional hostname (or url) to an alternate container
|
||||
registry to pull images from. This value overrides the container
|
||||
registry hostname defined in all the default container images
|
||||
involved in a Che deployment. This is particularly useful to install
|
||||
Che in an air-gapped environment.
|
||||
type: string
|
||||
airGapContainerRegistryOrganization:
|
||||
description: Optional repository name of an alternate container
|
||||
registry to pull images from. This value overrides the container
|
||||
registry organization defined in all the default container images
|
||||
involved in a Che deployment. This is particularly useful to install
|
||||
Che in an air-gapped environment.
|
||||
type: string
|
||||
allowUserDefinedWorkspaceNamespaces:
|
||||
description: Defines if a user is able to specify Kubernetes namespace
|
||||
(or OpenShift project) different from the default. It's NOT RECOMMENDED
|
||||
to configured true without OAuth configured. This property is
|
||||
also used by the OpenShift infra.
|
||||
type: boolean
|
||||
cheDebug:
|
||||
description: Enables the debug mode for Che server. Defaults to
|
||||
`false`.
|
||||
type: string
|
||||
cheFlavor:
|
||||
description: Flavor of the installation. This is either `che` for
|
||||
upstream Che installations, or `codeready` for CodeReady Workspaces
|
||||
installation. In most cases the default value should not be overriden.
|
||||
type: string
|
||||
cheHost:
|
||||
description: Public hostname of the installed Che server. This will
|
||||
be automatically set by the operator. In most cases the default
|
||||
value set by the operator should not be overriden.
|
||||
type: string
|
||||
cheImage:
|
||||
description: Overrides the container image used in Che deployment.
|
||||
This does NOT include the container image tag. Omit it or leave
|
||||
it empty to use the defaut container image provided by the operator.
|
||||
type: string
|
||||
cheImagePullPolicy:
|
||||
description: Overrides the image pull policy used in Che deployment.
|
||||
Default value is `Always` for `nightly` or `latest` images, and
|
||||
`IfNotPresent` in other cases.
|
||||
type: string
|
||||
cheImageTag:
|
||||
description: Overrides the tag of the container image used in Che
|
||||
deployment. Omit it or leave it empty to use the defaut image
|
||||
tag provided by the operator.
|
||||
type: string
|
||||
cheLogLevel:
|
||||
description: 'Log level for the Che server: `INFO` or `DEBUG`. Defaults
|
||||
to `INFO`.'
|
||||
type: string
|
||||
cheWorkspaceClusterRole:
|
||||
description: Custom cluster role bound to the user for the Che workspaces.
|
||||
The default roles are used if this is omitted or left blank.
|
||||
type: string
|
||||
customCheProperties:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: Map of additional environment variables that will be
|
||||
applied in the generated `che` config map to be used by the Che
|
||||
server, in addition to the values already generated from other
|
||||
fields of the `CheCluster` custom resource (CR). If `customCheProperties`
|
||||
contains a property that would be normally generated in `che`
|
||||
config map from other CR fields, then the value defined in the
|
||||
`customCheProperties` will be used instead.
|
||||
type: object
|
||||
devfileRegistryImage:
|
||||
description: Overrides the container image used in the Devfile registry
|
||||
deployment. This includes the image tag. Omit it or leave it empty
|
||||
to use the defaut container image provided by the operator.
|
||||
type: string
|
||||
devfileRegistryMemoryLimit:
|
||||
description: Overrides the memory limit used in the Devfile registry
|
||||
deployment. Defaults to 256Mi.
|
||||
type: string
|
||||
devfileRegistryMemoryRequest:
|
||||
description: Overrides the memory request used in the Devfile registry
|
||||
deployment. Defaults to 16Mi.
|
||||
type: string
|
||||
devfileRegistryPullPolicy:
|
||||
description: Overrides the image pull policy used in the Devfile
|
||||
registry deployment. Default value is `Always` for `nightly` or
|
||||
`latest` images, and `IfNotPresent` in other cases.
|
||||
type: string
|
||||
devfileRegistryUrl:
|
||||
description: Public URL of the Devfile registry, that serves sample,
|
||||
ready-to-use devfiles. You should set it ONLY if you use an external
|
||||
devfile registry (see the `externalDevfileRegistry` field). By
|
||||
default this will be automatically calculated by the operator.
|
||||
type: string
|
||||
externalDevfileRegistry:
|
||||
description: Instructs the operator on whether or not to deploy
|
||||
a dedicated Devfile registry server. By default a dedicated devfile
|
||||
registry server is started. But if `externalDevfileRegistry` is
|
||||
`true`, then no such dedicated server will be started by the operator
|
||||
and you will have to manually set the `devfileRegistryUrl` field
|
||||
type: boolean
|
||||
externalPluginRegistry:
|
||||
description: Instructs the operator on whether or not to deploy
|
||||
a dedicated Plugin registry server. By default a dedicated plugin
|
||||
registry server is started. But if `externalPluginRegistry` is
|
||||
`true`, then no such dedicated server will be started by the operator
|
||||
and you will have to manually set the `pluginRegistryUrl` field.
|
||||
type: boolean
|
||||
gitSelfSignedCert:
|
||||
description: If enabled, then the certificate from `che-git-self-signed-cert`
|
||||
config map will be propagated to the Che components and provide
|
||||
particular configuration for Git.
|
||||
type: boolean
|
||||
nonProxyHosts:
|
||||
description: List of hosts that should not use the configured proxy.
|
||||
Use `|`` as delimiter, eg `localhost|my.host.com|123.42.12.32`
|
||||
Only use when configuring a proxy is required (see also the `proxyURL`
|
||||
field).
|
||||
type: string
|
||||
pluginRegistryImage:
|
||||
description: Overrides the container image used in the Plugin registry
|
||||
deployment. This includes the image tag. Omit it or leave it empty
|
||||
to use the defaut container image provided by the operator.
|
||||
type: string
|
||||
pluginRegistryMemoryLimit:
|
||||
description: Overrides the memory limit used in the Plugin registry
|
||||
deployment. Defaults to 256Mi.
|
||||
type: string
|
||||
pluginRegistryMemoryRequest:
|
||||
description: Overrides the memory request used in the Plugin registry
|
||||
deployment. Defaults to 16Mi.
|
||||
type: string
|
||||
pluginRegistryPullPolicy:
|
||||
description: Overrides the image pull policy used in the Plugin
|
||||
registry deployment. Default value is `Always` for `nightly` or
|
||||
`latest` images, and `IfNotPresent` in other cases.
|
||||
type: string
|
||||
pluginRegistryUrl:
|
||||
description: Public URL of the Plugin registry, that serves sample
|
||||
ready-to-use devfiles. You should set it ONLY if you use an external
|
||||
devfile registry (see the `externalPluginRegistry` field). By
|
||||
default this will be automatically calculated by the operator.
|
||||
type: string
|
||||
proxyPassword:
|
||||
description: Password of the proxy server Only use when proxy configuration
|
||||
is required (see also the `proxyUser` field).
|
||||
type: string
|
||||
proxyPort:
|
||||
description: Port of the proxy server. Only use when configuring
|
||||
a proxy is required (see also the `proxyURL` field).
|
||||
type: string
|
||||
proxyURL:
|
||||
description: URL (protocol+hostname) of the proxy server. This drives
|
||||
the appropriate changes in the `JAVA_OPTS` and `https(s)_proxy`
|
||||
variables in the Che server and workspaces containers. Only use
|
||||
when configuring a proxy is required.
|
||||
type: string
|
||||
proxyUser:
|
||||
description: User name of the proxy server. Only use when configuring
|
||||
a proxy is required (see also the `proxyURL` field).
|
||||
type: string
|
||||
selfSignedCert:
|
||||
description: Enables the support of OpenShift clusters whose router
|
||||
uses self-signed certificates. When enabled, the operator retrieves
|
||||
the default self-signed certificate of OpenShift routes and adds
|
||||
it to the Java trust store of the Che server. This is usually
|
||||
required when activating the `tlsSupport` field on demo OpenShift
|
||||
clusters that have not been setup with a valid certificate for
|
||||
the routes. This is disabled by default.
|
||||
type: boolean
|
||||
serverMemoryLimit:
|
||||
description: Overrides the memory limit used in the Che server deployment.
|
||||
Defaults to 1Gi.
|
||||
type: string
|
||||
serverMemoryRequest:
|
||||
description: Overrides the memory request used in the Che server
|
||||
deployment. Defaults to 512Mi.
|
||||
type: string
|
||||
tlsSupport:
|
||||
description: 'Instructs the operator to deploy Che in TLS mode,
|
||||
ie with TLS routes or ingresses. This is disabled by default.
|
||||
WARNING: Enabling TLS might require enabling the `selfSignedCert`
|
||||
field also in some cases.'
|
||||
type: boolean
|
||||
workspaceNamespaceDefault:
|
||||
description: 'Defines Kubernetes default namespace in which user''s
|
||||
workspaces are created if user does not override it. It''s possible
|
||||
to use <username>, <userid> and <workspaceid> placeholders (e.g.:
|
||||
che-workspace-<username>). In that case, new namespace will be
|
||||
created for each user (or workspace). Is used by OpenShift infra
|
||||
as well to specify Project'
|
||||
type: string
|
||||
type: object
|
||||
storage:
|
||||
description: Configuration settings related to the persistent storage
|
||||
used by the Che installation.
|
||||
properties:
|
||||
postgresPVCStorageClassName:
|
||||
description: Storage class for the Persistent Volume Claim dedicated
|
||||
to the Postgres database. If omitted or left blank, default storage
|
||||
class is used.
|
||||
type: string
|
||||
preCreateSubPaths:
|
||||
description: Instructs the Che server to launch a special pod to
|
||||
pre-create a subpath in the Persistent Volumes. Defaults to `false`,
|
||||
however it might need to enable it according to the configuration
|
||||
of your K8S cluster.
|
||||
type: boolean
|
||||
pvcClaimSize:
|
||||
description: Size of the persistent volume claim for workspaces.
|
||||
Defaults to `1Gi`
|
||||
type: string
|
||||
pvcJobsImage:
|
||||
description: Overrides the container image used to create sub-paths
|
||||
in the Persistent Volumes. This includes the image tag. Omit it
|
||||
or leave it empty to use the defaut container image provided by
|
||||
the operator. See also the `preCreateSubPaths` field.
|
||||
type: string
|
||||
pvcStrategy:
|
||||
description: Persistent volume claim strategy for the Che server.
|
||||
This Can be:`common` (all workspaces PVCs in one volume), `per-workspace`
|
||||
(one PVC per workspace for all declared volumes) and `unique`
|
||||
(one PVC per declared volume). Defaults to `common`.
|
||||
type: string
|
||||
workspacePVCStorageClassName:
|
||||
description: Storage class for the Persistent Volume Claims dedicated
|
||||
to the Che workspaces. If omitted or left blank, default storage
|
||||
class is used.
|
||||
type: string
|
||||
type: object
|
||||
type: object
|
||||
status:
|
||||
description: CheClusterStatus defines the observed state of Che installation
|
||||
properties:
|
||||
cheClusterRunning:
|
||||
description: Status of a Che installation. Can be `Available`, `Unavailable`,
|
||||
or `Available, Rolling Update in Progress`
|
||||
type: string
|
||||
cheURL:
|
||||
description: Public URL to the Che server
|
||||
type: string
|
||||
cheVersion:
|
||||
description: Current installed Che version
|
||||
type: string
|
||||
dbProvisioned:
|
||||
description: Indicates if or not a Postgres instance has been correctly
|
||||
provisioned
|
||||
type: boolean
|
||||
devfileRegistryURL:
|
||||
description: Public URL to the Devfile registry
|
||||
type: string
|
||||
helpLink:
|
||||
description: A URL that can point to some URL where to find help related
|
||||
to the current Operator status.
|
||||
type: string
|
||||
keycloakProvisioned:
|
||||
description: Indicates whether an Identity Provider instance (Keycloak
|
||||
/ RH SSO) has been provisioned with realm, client and user
|
||||
type: boolean
|
||||
keycloakURL:
|
||||
description: Public URL to the Identity Provider server (Keycloak /
|
||||
RH SSO).
|
||||
type: string
|
||||
message:
|
||||
description: A human readable message indicating details about why the
|
||||
pod is in this condition.
|
||||
type: string
|
||||
openShiftoAuthProvisioned:
|
||||
description: Indicates whether an Identity Provider instance (Keycloak
|
||||
/ RH SSO) has been configured to integrate with the OpenShift OAuth.
|
||||
type: boolean
|
||||
pluginRegistryURL:
|
||||
description: Public URL to the Plugin registry
|
||||
type: string
|
||||
reason:
|
||||
description: A brief CamelCase message indicating details about why
|
||||
the pod is in this state.
|
||||
type: string
|
||||
type: object
|
||||
version: v1
|
||||
versions:
|
||||
- name: v1
|
||||
served: true
|
||||
storage: true
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,36 @@
|
|||
--- /home/tolusha/gocode/src/github.com/eclipse/che-operator/olm/eclipse-che-preview-kubernetes/deploy/olm-catalog/eclipse-che-preview-kubernetes/7.7.1/eclipse-che-preview-kubernetes.v7.7.1.clusterserviceversion.yaml 2020-01-29 09:08:21.601046604 +0200
|
||||
+++ /home/tolusha/gocode/src/github.com/eclipse/che-operator/olm/eclipse-che-preview-kubernetes/deploy/olm-catalog/eclipse-che-preview-kubernetes/7.8.0/eclipse-che-preview-kubernetes.v7.8.0.clusterserviceversion.yaml 2020-02-03 09:34:57.775325427 +0200
|
||||
@@ -48,13 +48,13 @@
|
||||
capabilities: Seamless Upgrades
|
||||
categories: Developer Tools
|
||||
certified: "false"
|
||||
- containerImage: quay.io/eclipse/che-operator:7.7.1
|
||||
- createdAt: "2020-01-20T10:38:06Z"
|
||||
+ containerImage: quay.io/eclipse/che-operator:7.8.0
|
||||
+ createdAt: "2020-02-03T07:34:57Z"
|
||||
description: A Kube-native development solution that delivers portable and collaborative
|
||||
developer workspaces.
|
||||
repository: https://github.com/eclipse/che-operator
|
||||
support: Eclipse Foundation
|
||||
- name: eclipse-che-preview-kubernetes.v7.7.1
|
||||
+ name: eclipse-che-preview-kubernetes.v7.8.0
|
||||
namespace: placeholder
|
||||
spec:
|
||||
apiservicedefinitions: {}
|
||||
@@ -247,7 +247,7 @@
|
||||
fieldPath: metadata.name
|
||||
- name: OPERATOR_NAME
|
||||
value: che-operator
|
||||
- image: quay.io/eclipse/che-operator:7.7.1
|
||||
+ image: quay.io/eclipse/che-operator:7.8.0
|
||||
imagePullPolicy: IfNotPresent
|
||||
name: che-operator
|
||||
ports:
|
||||
@@ -350,5 +350,5 @@
|
||||
maturity: stable
|
||||
provider:
|
||||
name: Eclipse Foundation
|
||||
- replaces: eclipse-che-preview-kubernetes.v7.7.0
|
||||
- version: 7.7.1
|
||||
+ replaces: eclipse-che-preview-kubernetes.v7.7.1
|
||||
+ version: 7.8.0
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
channels:
|
||||
- currentCSV: eclipse-che-preview-kubernetes.v9.9.9-nightly.1580283700
|
||||
name: nightly
|
||||
- currentCSV: eclipse-che-preview-kubernetes.v7.7.1
|
||||
- currentCSV: eclipse-che-preview-kubernetes.v7.8.0
|
||||
name: stable
|
||||
defaultChannel: stable
|
||||
packageName: eclipse-che-preview-kubernetes
|
||||
|
|
|
|||
|
|
@ -0,0 +1,509 @@
|
|||
#
|
||||
# Copyright (c) 2012-2019 Red Hat, Inc.
|
||||
# This program and the accompanying materials are made
|
||||
# available under the terms of the Eclipse Public License 2.0
|
||||
# which is available at https://www.eclipse.org/legal/epl-2.0/
|
||||
#
|
||||
# SPDX-License-Identifier: EPL-2.0
|
||||
#
|
||||
# Contributors:
|
||||
# Red Hat, Inc. - initial API and implementation
|
||||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
name: checlusters.org.eclipse.che
|
||||
spec:
|
||||
group: org.eclipse.che
|
||||
names:
|
||||
kind: CheCluster
|
||||
listKind: CheClusterList
|
||||
plural: checlusters
|
||||
singular: checluster
|
||||
scope: Namespaced
|
||||
subresources:
|
||||
status: {}
|
||||
validation:
|
||||
openAPIV3Schema:
|
||||
properties:
|
||||
apiVersion:
|
||||
description: 'APIVersion defines the versioned schema of this representation
|
||||
of an object. Servers should convert recognized schemas to the latest
|
||||
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
|
||||
type: string
|
||||
kind:
|
||||
description: 'Kind is a string value representing the REST resource this
|
||||
object represents. Servers may infer this from the endpoint the client
|
||||
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
|
||||
type: string
|
||||
metadata:
|
||||
type: object
|
||||
spec:
|
||||
description: Desired configuration of the Che installation. Based on these
|
||||
settings, the operator automatically creates and maintains several config
|
||||
maps that will contain the appropriate environment variables the various
|
||||
components of the Che installation. These generated config maps should
|
||||
NOT be updated manually.
|
||||
properties:
|
||||
auth:
|
||||
description: Configuration settings related to the Authentication used
|
||||
by the Che installation.
|
||||
properties:
|
||||
externalIdentityProvider:
|
||||
description: 'Instructs the operator on whether or not to deploy
|
||||
a dedicated Identity Provider (Keycloak or RH SSO instance). By
|
||||
default a dedicated Identity Provider server is deployed as part
|
||||
of the Che installation. But if `externalIdentityProvider` is
|
||||
`true`, then no dedicated identity provider will be deployed by
|
||||
the operator and you might need to provide details about the external
|
||||
identity provider you want to use. See also all the other fields
|
||||
starting with: `identityProvider`.'
|
||||
type: boolean
|
||||
identityProviderAdminUserName:
|
||||
description: Overrides the name of the Identity Provider admin user.
|
||||
Defaults to `admin`.
|
||||
type: string
|
||||
identityProviderClientId:
|
||||
description: Name of a Identity provider (Keycloak / RH SSO) `client-id`
|
||||
that should be used for Che. This is useful to override it ONLY
|
||||
if you use an external Identity Provider (see the `externalIdentityProvider`
|
||||
field). If omitted or left blank, it will be set to the value
|
||||
of the `flavour` field suffixed with `-public`.
|
||||
type: string
|
||||
identityProviderImage:
|
||||
description: Overrides the container image used in the Identity
|
||||
Provider (Keycloak / RH SSO) deployment. This includes the image
|
||||
tag. Omit it or leave it empty to use the defaut container image
|
||||
provided by the operator.
|
||||
type: string
|
||||
identityProviderImagePullPolicy:
|
||||
description: Overrides the image pull policy used in the Identity
|
||||
Provider (Keycloak / RH SSO) deployment. Default value is `Always`
|
||||
for `nightly` or `latest` images, and `IfNotPresent` in other
|
||||
cases.
|
||||
type: string
|
||||
identityProviderPassword:
|
||||
description: Overrides the password of Keycloak admin user. This
|
||||
is useful to override it ONLY if you use an external Identity
|
||||
Provider (see the `externalIdentityProvider` field). If omitted
|
||||
or left blank, it will be set to an auto-generated password.
|
||||
type: string
|
||||
identityProviderPostgresPassword:
|
||||
description: Password for The Identity Provider (Keycloak / RH SSO)
|
||||
to connect to the database. This is useful to override it ONLY
|
||||
if you use an external Identity Provider (see the `externalIdentityProvider`
|
||||
field). If omitted or left blank, it will be set to an auto-generated
|
||||
password.
|
||||
type: string
|
||||
identityProviderRealm:
|
||||
description: Name of a Identity provider (Keycloak / RH SSO) realm
|
||||
that should be used for Che. This is useful to override it ONLY
|
||||
if you use an external Identity Provider (see the `externalIdentityProvider`
|
||||
field). If omitted or left blank, it will be set to the value
|
||||
of the `flavour` field.
|
||||
type: string
|
||||
identityProviderURL:
|
||||
description: Public URL of the Identity Provider server (Keycloak
|
||||
/ RH SSO server). You should set it ONLY if you use an external
|
||||
Identity Provider (see the `externalIdentityProvider` field).
|
||||
By default this will be automatically calculated and set by the
|
||||
operator.
|
||||
type: string
|
||||
oAuthClientName:
|
||||
description: Name of the OpenShift `OAuthClient` resource used to
|
||||
setup identity federation on the OpenShift side. Auto-generated
|
||||
if left blank. See also the `OpenShiftoAuth` field.
|
||||
type: string
|
||||
oAuthSecret:
|
||||
description: Name of the secret set in the OpenShift `OAuthClient`
|
||||
resource used to setup identity federation on the OpenShift side.
|
||||
Auto-generated if left blank. See also the `OAuthClientName` field.
|
||||
type: string
|
||||
openShiftoAuth:
|
||||
description: 'Enables the integration of the identity provider (Keycloak
|
||||
/ RHSSO) with OpenShift OAuth. Enabled by defaumt on OpenShift.
|
||||
This will allow users to directly login with their Openshift user
|
||||
throug the Openshift login, and have their workspaces created
|
||||
under personnal OpenShift namespaces. WARNING: the `kuebadmin`
|
||||
user is NOT supported, and logging through it will NOT allow accessing
|
||||
the Che Dashboard.'
|
||||
type: boolean
|
||||
updateAdminPassword:
|
||||
description: Forces the default `admin` Che user to update password
|
||||
on first login. Defaults to `false`.
|
||||
type: boolean
|
||||
type: object
|
||||
database:
|
||||
description: Configuration settings related to the database used by
|
||||
the Che installation.
|
||||
properties:
|
||||
chePostgresDb:
|
||||
description: Postgres database name that the Che server uses to
|
||||
connect to the DB. Defaults to `dbche`.
|
||||
type: string
|
||||
chePostgresHostName:
|
||||
description: Postgres Database hostname that the Che server uses
|
||||
to connect to. Defaults to postgres. This value should be overridden
|
||||
ONLY when using an external database (see field `externalDb`).
|
||||
In the default case it will be automatically set by the operator.
|
||||
type: string
|
||||
chePostgresPassword:
|
||||
description: Postgres password that the Che server should use to
|
||||
connect to the DB. If omitted or left blank, it will be set to
|
||||
an auto-generated value.
|
||||
type: string
|
||||
chePostgresPort:
|
||||
description: Postgres Database port that the Che server uses to
|
||||
connect to. Defaults to 5432. This value should be overridden
|
||||
ONLY when using an external database (see field `externalDb`).
|
||||
In the default case it will be automatically set by the operator.
|
||||
type: string
|
||||
chePostgresUser:
|
||||
description: Postgres user that the Che server should use to connect
|
||||
to the DB. Defaults to `pgche`.
|
||||
type: string
|
||||
externalDb:
|
||||
description: 'Instructs the operator on whether or not to deploy
|
||||
a dedicated database. By default a dedicated Postgres database
|
||||
is deployed as part of the Che installation. But if `externalDb`
|
||||
is `true`, then no dedicated database will be deployed by the
|
||||
operator and you might need to provide connection details to the
|
||||
external DB you want to use. See also all the fields starting
|
||||
with: `chePostgres`.'
|
||||
type: boolean
|
||||
postgresImage:
|
||||
description: Overrides the container image used in the Postgres
|
||||
database deployment. This includes the image tag. Omit it or leave
|
||||
it empty to use the defaut container image provided by the operator.
|
||||
type: string
|
||||
postgresImagePullPolicy:
|
||||
description: Overrides the image pull policy used in the Postgres
|
||||
database deployment. Default value is `Always` for `nightly` or
|
||||
`latest` images, and `IfNotPresent` in other cases.
|
||||
type: string
|
||||
type: object
|
||||
k8s:
|
||||
description: Configuration settings specific to Che installations made
|
||||
on upstream Kubernetes.
|
||||
properties:
|
||||
ingressClass:
|
||||
description: 'Ingress class that will define the which controler
|
||||
will manage ingresses. Defaults to `nginx`. NB: This drives the
|
||||
`is kubernetes.io/ingress.class` annotation on Che-related ingresses.'
|
||||
type: string
|
||||
ingressDomain:
|
||||
description: 'Global ingress domain for a K8S cluster. This MUST
|
||||
be explicitly specified: there are no defaults.'
|
||||
type: string
|
||||
ingressStrategy:
|
||||
description: Strategy for ingress creation. This can be `multi-host`
|
||||
(host is explicitly provided in ingress), `single-host` (host
|
||||
is provided, path-based rules) and `default-host.*`(no host is
|
||||
provided, path-based rules). Defaults to `"multi-host`
|
||||
type: string
|
||||
securityContextFsGroup:
|
||||
description: FSGroup the Che pod and Workspace pods containers should
|
||||
run in. Defaults to `1724`.
|
||||
type: string
|
||||
securityContextRunAsUser:
|
||||
description: ID of the user the Che pod and Workspace pods containers
|
||||
should run as. Default to `1724`.
|
||||
type: string
|
||||
tlsSecretName:
|
||||
description: Name of a secret that will be used to setup ingress
|
||||
TLS termination if TLS is enabled. See also the `tlsSupport` field.
|
||||
type: string
|
||||
type: object
|
||||
metrics:
|
||||
description: Configuration settings related to the metrics collection
|
||||
used by the Che installation.
|
||||
properties:
|
||||
enable:
|
||||
description: Enables `metrics` Che server endpoint. Default to `false`.
|
||||
type: boolean
|
||||
type: object
|
||||
server:
|
||||
description: General configuration settings related to the Che server
|
||||
and the plugin and devfile registries
|
||||
properties:
|
||||
airGapContainerRegistryHostname:
|
||||
description: Optional hostname (or url) to an alternate container
|
||||
registry to pull images from. This value overrides the container
|
||||
registry hostname defined in all the default container images
|
||||
involved in a Che deployment. This is particularly useful to install
|
||||
Che in an air-gapped environment.
|
||||
type: string
|
||||
airGapContainerRegistryOrganization:
|
||||
description: Optional repository name of an alternate container
|
||||
registry to pull images from. This value overrides the container
|
||||
registry organization defined in all the default container images
|
||||
involved in a Che deployment. This is particularly useful to install
|
||||
Che in an air-gapped environment.
|
||||
type: string
|
||||
allowUserDefinedWorkspaceNamespaces:
|
||||
description: Defines if a user is able to specify Kubernetes namespace
|
||||
(or OpenShift project) different from the default. It's NOT RECOMMENDED
|
||||
to configured true without OAuth configured. This property is
|
||||
also used by the OpenShift infra.
|
||||
type: boolean
|
||||
cheDebug:
|
||||
description: Enables the debug mode for Che server. Defaults to
|
||||
`false`.
|
||||
type: string
|
||||
cheFlavor:
|
||||
description: Flavor of the installation. This is either `che` for
|
||||
upstream Che installations, or `codeready` for CodeReady Workspaces
|
||||
installation. In most cases the default value should not be overriden.
|
||||
type: string
|
||||
cheHost:
|
||||
description: Public hostname of the installed Che server. This will
|
||||
be automatically set by the operator. In most cases the default
|
||||
value set by the operator should not be overriden.
|
||||
type: string
|
||||
cheImage:
|
||||
description: Overrides the container image used in Che deployment.
|
||||
This does NOT include the container image tag. Omit it or leave
|
||||
it empty to use the defaut container image provided by the operator.
|
||||
type: string
|
||||
cheImagePullPolicy:
|
||||
description: Overrides the image pull policy used in Che deployment.
|
||||
Default value is `Always` for `nightly` or `latest` images, and
|
||||
`IfNotPresent` in other cases.
|
||||
type: string
|
||||
cheImageTag:
|
||||
description: Overrides the tag of the container image used in Che
|
||||
deployment. Omit it or leave it empty to use the defaut image
|
||||
tag provided by the operator.
|
||||
type: string
|
||||
cheLogLevel:
|
||||
description: 'Log level for the Che server: `INFO` or `DEBUG`. Defaults
|
||||
to `INFO`.'
|
||||
type: string
|
||||
cheWorkspaceClusterRole:
|
||||
description: Custom cluster role bound to the user for the Che workspaces.
|
||||
The default roles are used if this is omitted or left blank.
|
||||
type: string
|
||||
customCheProperties:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: Map of additional environment variables that will be
|
||||
applied in the generated `che` config map to be used by the Che
|
||||
server, in addition to the values already generated from other
|
||||
fields of the `CheCluster` custom resource (CR). If `customCheProperties`
|
||||
contains a property that would be normally generated in `che`
|
||||
config map from other CR fields, then the value defined in the
|
||||
`customCheProperties` will be used instead.
|
||||
type: object
|
||||
devfileRegistryImage:
|
||||
description: Overrides the container image used in the Devfile registry
|
||||
deployment. This includes the image tag. Omit it or leave it empty
|
||||
to use the defaut container image provided by the operator.
|
||||
type: string
|
||||
devfileRegistryMemoryLimit:
|
||||
description: Overrides the memory limit used in the Devfile registry
|
||||
deployment. Defaults to 256Mi.
|
||||
type: string
|
||||
devfileRegistryMemoryRequest:
|
||||
description: Overrides the memory request used in the Devfile registry
|
||||
deployment. Defaults to 16Mi.
|
||||
type: string
|
||||
devfileRegistryPullPolicy:
|
||||
description: Overrides the image pull policy used in the Devfile
|
||||
registry deployment. Default value is `Always` for `nightly` or
|
||||
`latest` images, and `IfNotPresent` in other cases.
|
||||
type: string
|
||||
devfileRegistryUrl:
|
||||
description: Public URL of the Devfile registry, that serves sample,
|
||||
ready-to-use devfiles. You should set it ONLY if you use an external
|
||||
devfile registry (see the `externalDevfileRegistry` field). By
|
||||
default this will be automatically calculated by the operator.
|
||||
type: string
|
||||
externalDevfileRegistry:
|
||||
description: Instructs the operator on whether or not to deploy
|
||||
a dedicated Devfile registry server. By default a dedicated devfile
|
||||
registry server is started. But if `externalDevfileRegistry` is
|
||||
`true`, then no such dedicated server will be started by the operator
|
||||
and you will have to manually set the `devfileRegistryUrl` field
|
||||
type: boolean
|
||||
externalPluginRegistry:
|
||||
description: Instructs the operator on whether or not to deploy
|
||||
a dedicated Plugin registry server. By default a dedicated plugin
|
||||
registry server is started. But if `externalPluginRegistry` is
|
||||
`true`, then no such dedicated server will be started by the operator
|
||||
and you will have to manually set the `pluginRegistryUrl` field.
|
||||
type: boolean
|
||||
gitSelfSignedCert:
|
||||
description: If enabled, then the certificate from `che-git-self-signed-cert`
|
||||
config map will be propagated to the Che components and provide
|
||||
particular configuration for Git.
|
||||
type: boolean
|
||||
nonProxyHosts:
|
||||
description: List of hosts that should not use the configured proxy.
|
||||
Use `|`` as delimiter, eg `localhost|my.host.com|123.42.12.32`
|
||||
Only use when configuring a proxy is required (see also the `proxyURL`
|
||||
field).
|
||||
type: string
|
||||
pluginRegistryImage:
|
||||
description: Overrides the container image used in the Plugin registry
|
||||
deployment. This includes the image tag. Omit it or leave it empty
|
||||
to use the defaut container image provided by the operator.
|
||||
type: string
|
||||
pluginRegistryMemoryLimit:
|
||||
description: Overrides the memory limit used in the Plugin registry
|
||||
deployment. Defaults to 256Mi.
|
||||
type: string
|
||||
pluginRegistryMemoryRequest:
|
||||
description: Overrides the memory request used in the Plugin registry
|
||||
deployment. Defaults to 16Mi.
|
||||
type: string
|
||||
pluginRegistryPullPolicy:
|
||||
description: Overrides the image pull policy used in the Plugin
|
||||
registry deployment. Default value is `Always` for `nightly` or
|
||||
`latest` images, and `IfNotPresent` in other cases.
|
||||
type: string
|
||||
pluginRegistryUrl:
|
||||
description: Public URL of the Plugin registry, that serves sample
|
||||
ready-to-use devfiles. You should set it ONLY if you use an external
|
||||
devfile registry (see the `externalPluginRegistry` field). By
|
||||
default this will be automatically calculated by the operator.
|
||||
type: string
|
||||
proxyPassword:
|
||||
description: Password of the proxy server Only use when proxy configuration
|
||||
is required (see also the `proxyUser` field).
|
||||
type: string
|
||||
proxyPort:
|
||||
description: Port of the proxy server. Only use when configuring
|
||||
a proxy is required (see also the `proxyURL` field).
|
||||
type: string
|
||||
proxyURL:
|
||||
description: URL (protocol+hostname) of the proxy server. This drives
|
||||
the appropriate changes in the `JAVA_OPTS` and `https(s)_proxy`
|
||||
variables in the Che server and workspaces containers. Only use
|
||||
when configuring a proxy is required.
|
||||
type: string
|
||||
proxyUser:
|
||||
description: User name of the proxy server. Only use when configuring
|
||||
a proxy is required (see also the `proxyURL` field).
|
||||
type: string
|
||||
selfSignedCert:
|
||||
description: Enables the support of OpenShift clusters whose router
|
||||
uses self-signed certificates. When enabled, the operator retrieves
|
||||
the default self-signed certificate of OpenShift routes and adds
|
||||
it to the Java trust store of the Che server. This is usually
|
||||
required when activating the `tlsSupport` field on demo OpenShift
|
||||
clusters that have not been setup with a valid certificate for
|
||||
the routes. This is disabled by default.
|
||||
type: boolean
|
||||
serverMemoryLimit:
|
||||
description: Overrides the memory limit used in the Che server deployment.
|
||||
Defaults to 1Gi.
|
||||
type: string
|
||||
serverMemoryRequest:
|
||||
description: Overrides the memory request used in the Che server
|
||||
deployment. Defaults to 512Mi.
|
||||
type: string
|
||||
tlsSupport:
|
||||
description: 'Instructs the operator to deploy Che in TLS mode,
|
||||
ie with TLS routes or ingresses. This is disabled by default.
|
||||
WARNING: Enabling TLS might require enabling the `selfSignedCert`
|
||||
field also in some cases.'
|
||||
type: boolean
|
||||
workspaceNamespaceDefault:
|
||||
description: 'Defines Kubernetes default namespace in which user''s
|
||||
workspaces are created if user does not override it. It''s possible
|
||||
to use <username>, <userid> and <workspaceid> placeholders (e.g.:
|
||||
che-workspace-<username>). In that case, new namespace will be
|
||||
created for each user (or workspace). Is used by OpenShift infra
|
||||
as well to specify Project'
|
||||
type: string
|
||||
type: object
|
||||
storage:
|
||||
description: Configuration settings related to the persistent storage
|
||||
used by the Che installation.
|
||||
properties:
|
||||
postgresPVCStorageClassName:
|
||||
description: Storage class for the Persistent Volume Claim dedicated
|
||||
to the Postgres database. If omitted or left blank, default storage
|
||||
class is used.
|
||||
type: string
|
||||
preCreateSubPaths:
|
||||
description: Instructs the Che server to launch a special pod to
|
||||
pre-create a subpath in the Persistent Volumes. Defaults to `false`,
|
||||
however it might need to enable it according to the configuration
|
||||
of your K8S cluster.
|
||||
type: boolean
|
||||
pvcClaimSize:
|
||||
description: Size of the persistent volume claim for workspaces.
|
||||
Defaults to `1Gi`
|
||||
type: string
|
||||
pvcJobsImage:
|
||||
description: Overrides the container image used to create sub-paths
|
||||
in the Persistent Volumes. This includes the image tag. Omit it
|
||||
or leave it empty to use the defaut container image provided by
|
||||
the operator. See also the `preCreateSubPaths` field.
|
||||
type: string
|
||||
pvcStrategy:
|
||||
description: Persistent volume claim strategy for the Che server.
|
||||
This Can be:`common` (all workspaces PVCs in one volume), `per-workspace`
|
||||
(one PVC per workspace for all declared volumes) and `unique`
|
||||
(one PVC per declared volume). Defaults to `common`.
|
||||
type: string
|
||||
workspacePVCStorageClassName:
|
||||
description: Storage class for the Persistent Volume Claims dedicated
|
||||
to the Che workspaces. If omitted or left blank, default storage
|
||||
class is used.
|
||||
type: string
|
||||
type: object
|
||||
type: object
|
||||
status:
|
||||
description: CheClusterStatus defines the observed state of Che installation
|
||||
properties:
|
||||
cheClusterRunning:
|
||||
description: Status of a Che installation. Can be `Available`, `Unavailable`,
|
||||
or `Available, Rolling Update in Progress`
|
||||
type: string
|
||||
cheURL:
|
||||
description: Public URL to the Che server
|
||||
type: string
|
||||
cheVersion:
|
||||
description: Current installed Che version
|
||||
type: string
|
||||
dbProvisioned:
|
||||
description: Indicates if or not a Postgres instance has been correctly
|
||||
provisioned
|
||||
type: boolean
|
||||
devfileRegistryURL:
|
||||
description: Public URL to the Devfile registry
|
||||
type: string
|
||||
helpLink:
|
||||
description: A URL that can point to some URL where to find help related
|
||||
to the current Operator status.
|
||||
type: string
|
||||
keycloakProvisioned:
|
||||
description: Indicates whether an Identity Provider instance (Keycloak
|
||||
/ RH SSO) has been provisioned with realm, client and user
|
||||
type: boolean
|
||||
keycloakURL:
|
||||
description: Public URL to the Identity Provider server (Keycloak /
|
||||
RH SSO).
|
||||
type: string
|
||||
message:
|
||||
description: A human readable message indicating details about why the
|
||||
pod is in this condition.
|
||||
type: string
|
||||
openShiftoAuthProvisioned:
|
||||
description: Indicates whether an Identity Provider instance (Keycloak
|
||||
/ RH SSO) has been configured to integrate with the OpenShift OAuth.
|
||||
type: boolean
|
||||
pluginRegistryURL:
|
||||
description: Public URL to the Plugin registry
|
||||
type: string
|
||||
reason:
|
||||
description: A brief CamelCase message indicating details about why
|
||||
the pod is in this state.
|
||||
type: string
|
||||
type: object
|
||||
version: v1
|
||||
versions:
|
||||
- name: v1
|
||||
served: true
|
||||
storage: true
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,36 @@
|
|||
--- /home/tolusha/gocode/src/github.com/eclipse/che-operator/olm/eclipse-che-preview-openshift/deploy/olm-catalog/eclipse-che-preview-openshift/7.7.1/eclipse-che-preview-openshift.v7.7.1.clusterserviceversion.yaml 2020-01-29 09:08:21.601046604 +0200
|
||||
+++ /home/tolusha/gocode/src/github.com/eclipse/che-operator/olm/eclipse-che-preview-openshift/deploy/olm-catalog/eclipse-che-preview-openshift/7.8.0/eclipse-che-preview-openshift.v7.8.0.clusterserviceversion.yaml 2020-02-03 09:34:57.919325369 +0200
|
||||
@@ -45,13 +45,13 @@
|
||||
capabilities: Seamless Upgrades
|
||||
categories: Developer Tools, OpenShift Optional
|
||||
certified: "false"
|
||||
- containerImage: quay.io/eclipse/che-operator:7.7.1
|
||||
- createdAt: "2020-01-20T10:38:06Z"
|
||||
+ containerImage: quay.io/eclipse/che-operator:7.8.0
|
||||
+ createdAt: "2020-02-03T07:34:57Z"
|
||||
description: A Kube-native development solution that delivers portable and collaborative
|
||||
developer workspaces in OpenShift.
|
||||
repository: https://github.com/eclipse/che-operator
|
||||
support: Eclipse Foundation
|
||||
- name: eclipse-che-preview-openshift.v7.7.1
|
||||
+ name: eclipse-che-preview-openshift.v7.8.0
|
||||
namespace: placeholder
|
||||
spec:
|
||||
apiservicedefinitions: {}
|
||||
@@ -287,7 +287,7 @@
|
||||
fieldPath: metadata.name
|
||||
- name: OPERATOR_NAME
|
||||
value: che-operator
|
||||
- image: quay.io/eclipse/che-operator:7.7.1
|
||||
+ image: quay.io/eclipse/che-operator:7.8.0
|
||||
imagePullPolicy: IfNotPresent
|
||||
name: che-operator
|
||||
ports:
|
||||
@@ -395,5 +395,5 @@
|
||||
maturity: stable
|
||||
provider:
|
||||
name: Eclipse Foundation
|
||||
- replaces: eclipse-che-preview-openshift.v7.7.0
|
||||
- version: 7.7.1
|
||||
+ replaces: eclipse-che-preview-openshift.v7.7.1
|
||||
+ version: 7.8.0
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
channels:
|
||||
- currentCSV: eclipse-che-preview-openshift.v9.9.9-nightly.1580283700
|
||||
name: nightly
|
||||
- currentCSV: eclipse-che-preview-openshift.v7.7.1
|
||||
- currentCSV: eclipse-che-preview-openshift.v7.8.0
|
||||
name: stable
|
||||
defaultChannel: stable
|
||||
packageName: eclipse-che-preview-openshift
|
||||
|
|
|
|||
|
|
@ -31,14 +31,14 @@ do
|
|||
lastPackagePreReleaseVersion=$(yq -r '.channels[] | select(.name == "stable") | .currentCSV' "${sourcePackageFilePath}" | sed -e "s/${packageName}.v//")
|
||||
|
||||
echo " - Cloning the 'community-operators' GitHub repository to temporary folder: ${communityOperatorsLocalGitFolder}"
|
||||
|
||||
|
||||
rm -Rf "${communityOperatorsLocalGitFolder}"
|
||||
mkdir -p "${communityOperatorsLocalGitFolder}"
|
||||
git clone https://github.com/che-incubator/community-operators.git "${communityOperatorsLocalGitFolder}" 2>&1 | sed -e 's/^/ /'
|
||||
cd "${communityOperatorsLocalGitFolder}"
|
||||
git remote add upstream https://github.com/operator-framework/community-operators.git
|
||||
git fetch upstream master:upstream/master
|
||||
|
||||
|
||||
branch="update-eclipse-che"
|
||||
if [ "${platform}" == "kubernetes" ]
|
||||
then
|
||||
|
|
@ -47,7 +47,8 @@ do
|
|||
branch="${branch}-operator-${lastPackagePreReleaseVersion}"
|
||||
echo
|
||||
echo " - Creating branch '${branch}' in the local 'community-operators' repository: ${communityOperatorsLocalGitFolder}"
|
||||
git checkout -b "${branch}" upstream/master 2>&1 | sed -e 's/^/ /'
|
||||
git checkout upstream/master
|
||||
git checkout -b "${branch}" 2>&1 | sed -e 's/^/ /'
|
||||
cd "${packageBaseFolderPath}"
|
||||
|
||||
platformSubFolder="community-operators"
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ do
|
|||
sed \
|
||||
-e 's/imagePullPolicy: *Always/imagePullPolicy: IfNotPresent/' \
|
||||
-e 's/"cheImageTag": *"nightly"/"cheImageTag": ""/' \
|
||||
-e 's|"identityProviderImage": *"eclipse/che-keycloak:nightly"|"identityProviderImage": ""|' \
|
||||
-e 's|"identityProviderImage": *"quay.io/eclipse/che-keycloak:nightly"|"identityProviderImage": ""|' \
|
||||
-e 's|"devfileRegistryImage": *"quay.io/eclipse/che-devfile-registry:nightly"|"devfileRegistryImage": ""|' \
|
||||
-e 's|"pluginRegistryImage": *"quay.io/eclipse/che-plugin-registry:nightly"|"pluginRegistryImage": ""|' \
|
||||
-e "/^ replaces: ${packageName}.v.*/d" \
|
||||
|
|
|
|||
|
|
@ -40,10 +40,12 @@ packageFilePath="${packageFolderPath}/${packageName}.package.yaml"
|
|||
lastCSV=$(yq -r ".channels[] | select(.name == \"${channel}\") | .currentCSV" "${packageFilePath}")
|
||||
lastPackageVersion=$(echo "${lastCSV}" | sed -e "s/${packageName}.v//")
|
||||
previousCSV=$(sed -n 's|^ *replaces: *\([^ ]*\) *|\1|p' "${packageFolderPath}/${lastPackageVersion}/${packageName}.v${lastPackageVersion}.clusterserviceversion.yaml")
|
||||
previousPackageVersion=$(echo "${previousCSV}" | sed -e "s/${packageName}.v//")
|
||||
|
||||
echo "lastPackageVersion=${lastPackageVersion}"
|
||||
echo "lastCSV=${lastCSV}"
|
||||
echo "previousCSV=${previousCSV}"
|
||||
echo "previousPackageVersion=${previousPackageVersion}"
|
||||
|
||||
if kubectl get namespace "${namespace}" >/dev/null 2>&1
|
||||
then
|
||||
|
|
@ -147,7 +149,7 @@ fi
|
|||
|
||||
echo "Creating Custom Resource"
|
||||
|
||||
CRs=$(yq -r '.metadata.annotations["alm-examples"]' "${packageFolderPath}/${lastPackageVersion}/${packageName}.v${lastPackageVersion}.clusterserviceversion.yaml")
|
||||
CRs=$(yq -r '.metadata.annotations["alm-examples"]' "${packageFolderPath}/${previousPackageVersion}/${packageName}.v${previousPackageVersion}.clusterserviceversion.yaml")
|
||||
CR=$(echo "$CRs" | yq -r ".[0]")
|
||||
if [ "${platform}" == "kubernetes" ]
|
||||
then
|
||||
|
|
|
|||
|
|
@ -14,13 +14,14 @@ package deploy
|
|||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"os"
|
||||
"strconv"
|
||||
|
||||
orgv1 "github.com/eclipse/che-operator/pkg/apis/org/v1"
|
||||
"github.com/eclipse/che-operator/pkg/util"
|
||||
"github.com/sirupsen/logrus"
|
||||
corev1 "k8s.io/api/core/v1"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"os"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
func addMap(a map[string]string, b map[string]string) {
|
||||
|
|
@ -30,46 +31,46 @@ func addMap(a map[string]string, b map[string]string) {
|
|||
}
|
||||
|
||||
type CheConfigMap struct {
|
||||
CheHost string `json:"CHE_HOST"`
|
||||
CheMultiUser string `json:"CHE_MULTIUSER"`
|
||||
ChePort string `json:"CHE_PORT"`
|
||||
CheApi string `json:"CHE_API"`
|
||||
CheWebSocketEndpoint string `json:"CHE_WEBSOCKET_ENDPOINT"`
|
||||
CheDebugServer string `json:"CHE_DEBUG_SERVER"`
|
||||
CheMetricsEnabled string `json:"CHE_METRICS_ENABLED"`
|
||||
CheInfrastructureActive string `json:"CHE_INFRASTRUCTURE_ACTIVE"`
|
||||
CheInfraKubernetesServiceAccountName string `json:"CHE_INFRA_KUBERNETES_SERVICE__ACCOUNT__NAME"`
|
||||
DefaultTargetNamespace string `json:"CHE_INFRA_KUBERNETES_NAMESPACE_DEFAULT"`
|
||||
NamespaceAllowUserDefined string `json:"CHE_INFRA_KUBERNETES_NAMESPACE_ALLOW__USER__DEFINED"`
|
||||
PvcStrategy string `json:"CHE_INFRA_KUBERNETES_PVC_STRATEGY"`
|
||||
PvcClaimSize string `json:"CHE_INFRA_KUBERNETES_PVC_QUANTITY"`
|
||||
PvcJobsImage string `json:"CHE_INFRA_KUBERNETES_PVC_JOBS_IMAGE"`
|
||||
WorkspacePvcStorageClassName string `json:"CHE_INFRA_KUBERNETES_PVC_STORAGE__CLASS__NAME"`
|
||||
PreCreateSubPaths string `json:"CHE_INFRA_KUBERNETES_PVC_PRECREATE__SUBPATHS"`
|
||||
TlsSupport string `json:"CHE_INFRA_OPENSHIFT_TLS__ENABLED"`
|
||||
K8STrustCerts string `json:"CHE_INFRA_KUBERNETES_TRUST__CERTS"`
|
||||
DatabaseURL string `json:"CHE_JDBC_URL"`
|
||||
DbUserName string `json:"CHE_JDBC_USERNAME"`
|
||||
DbPassword string `json:"CHE_JDBC_PASSWORD"`
|
||||
CheLogLevel string `json:"CHE_LOG_LEVEL"`
|
||||
KeycloakURL string `json:"CHE_KEYCLOAK_AUTH__SERVER__URL"`
|
||||
KeycloakRealm string `json:"CHE_KEYCLOAK_REALM"`
|
||||
KeycloakClientId string `json:"CHE_KEYCLOAK_CLIENT__ID"`
|
||||
OpenShiftIdentityProvider string `json:"CHE_INFRA_OPENSHIFT_OAUTH__IDENTITY__PROVIDER"`
|
||||
JavaOpts string `json:"JAVA_OPTS"`
|
||||
WorkspaceJavaOpts string `json:"CHE_WORKSPACE_JAVA__OPTIONS"`
|
||||
WorkspaceMavenOpts string `json:"CHE_WORKSPACE_MAVEN__OPTIONS"`
|
||||
WorkspaceProxyJavaOpts string `json:"CHE_WORKSPACE_HTTP__PROXY__JAVA__OPTIONS"`
|
||||
WorkspaceHttpProxy string `json:"CHE_WORKSPACE_HTTP__PROXY"`
|
||||
WorkspaceHttpsProxy string `json:"CHE_WORKSPACE_HTTPS__PROXY"`
|
||||
WorkspaceNoProxy string `json:"CHE_WORKSPACE_NO__PROXY"`
|
||||
PluginRegistryUrl string `json:"CHE_WORKSPACE_PLUGIN__REGISTRY__URL,omitempty"`
|
||||
DevfileRegistryUrl string `json:"CHE_WORKSPACE_DEVFILE__REGISTRY__URL,omitempty"`
|
||||
WebSocketEndpointMinor string `json:"CHE_WEBSOCKET_ENDPOINT__MINOR"`
|
||||
CheWorkspacePluginBrokerInitImage string `json:"CHE_WORKSPACE_PLUGIN__BROKER_INIT_IMAGE,omitempty"`
|
||||
CheWorkspacePluginBrokerUnifiedImage string `json:"CHE_WORKSPACE_PLUGIN__BROKER_UNIFIED_IMAGE,omitempty"`
|
||||
CheServerSecureExposerJwtProxyImage string `json:"CHE_SERVER_SECURE__EXPOSER_JWTPROXY_IMAGE,omitempty"`
|
||||
CheJGroupsKubernetesLabels string `json:"KUBERNETES_LABELS,omitempty"`
|
||||
CheHost string `json:"CHE_HOST"`
|
||||
CheMultiUser string `json:"CHE_MULTIUSER"`
|
||||
ChePort string `json:"CHE_PORT"`
|
||||
CheApi string `json:"CHE_API"`
|
||||
CheWebSocketEndpoint string `json:"CHE_WEBSOCKET_ENDPOINT"`
|
||||
CheDebugServer string `json:"CHE_DEBUG_SERVER"`
|
||||
CheMetricsEnabled string `json:"CHE_METRICS_ENABLED"`
|
||||
CheInfrastructureActive string `json:"CHE_INFRASTRUCTURE_ACTIVE"`
|
||||
CheInfraKubernetesServiceAccountName string `json:"CHE_INFRA_KUBERNETES_SERVICE__ACCOUNT__NAME"`
|
||||
DefaultTargetNamespace string `json:"CHE_INFRA_KUBERNETES_NAMESPACE_DEFAULT"`
|
||||
NamespaceAllowUserDefined string `json:"CHE_INFRA_KUBERNETES_NAMESPACE_ALLOW__USER__DEFINED"`
|
||||
PvcStrategy string `json:"CHE_INFRA_KUBERNETES_PVC_STRATEGY"`
|
||||
PvcClaimSize string `json:"CHE_INFRA_KUBERNETES_PVC_QUANTITY"`
|
||||
PvcJobsImage string `json:"CHE_INFRA_KUBERNETES_PVC_JOBS_IMAGE"`
|
||||
WorkspacePvcStorageClassName string `json:"CHE_INFRA_KUBERNETES_PVC_STORAGE__CLASS__NAME"`
|
||||
PreCreateSubPaths string `json:"CHE_INFRA_KUBERNETES_PVC_PRECREATE__SUBPATHS"`
|
||||
TlsSupport string `json:"CHE_INFRA_OPENSHIFT_TLS__ENABLED"`
|
||||
K8STrustCerts string `json:"CHE_INFRA_KUBERNETES_TRUST__CERTS"`
|
||||
DatabaseURL string `json:"CHE_JDBC_URL"`
|
||||
DbUserName string `json:"CHE_JDBC_USERNAME"`
|
||||
DbPassword string `json:"CHE_JDBC_PASSWORD"`
|
||||
CheLogLevel string `json:"CHE_LOG_LEVEL"`
|
||||
KeycloakURL string `json:"CHE_KEYCLOAK_AUTH__SERVER__URL"`
|
||||
KeycloakRealm string `json:"CHE_KEYCLOAK_REALM"`
|
||||
KeycloakClientId string `json:"CHE_KEYCLOAK_CLIENT__ID"`
|
||||
OpenShiftIdentityProvider string `json:"CHE_INFRA_OPENSHIFT_OAUTH__IDENTITY__PROVIDER"`
|
||||
JavaOpts string `json:"JAVA_OPTS"`
|
||||
WorkspaceJavaOpts string `json:"CHE_WORKSPACE_JAVA__OPTIONS"`
|
||||
WorkspaceMavenOpts string `json:"CHE_WORKSPACE_MAVEN__OPTIONS"`
|
||||
WorkspaceProxyJavaOpts string `json:"CHE_WORKSPACE_HTTP__PROXY__JAVA__OPTIONS"`
|
||||
WorkspaceHttpProxy string `json:"CHE_WORKSPACE_HTTP__PROXY"`
|
||||
WorkspaceHttpsProxy string `json:"CHE_WORKSPACE_HTTPS__PROXY"`
|
||||
WorkspaceNoProxy string `json:"CHE_WORKSPACE_NO__PROXY"`
|
||||
PluginRegistryUrl string `json:"CHE_WORKSPACE_PLUGIN__REGISTRY__URL,omitempty"`
|
||||
DevfileRegistryUrl string `json:"CHE_WORKSPACE_DEVFILE__REGISTRY__URL,omitempty"`
|
||||
WebSocketEndpointMinor string `json:"CHE_WEBSOCKET_ENDPOINT__MINOR"`
|
||||
CheWorkspacePluginBrokerMetadataImage string `json:"CHE_WORKSPACE_PLUGIN__BROKER_METADATA_IMAGE,omitempty"`
|
||||
CheWorkspacePluginBrokerArtifactsImage string `json:"CHE_WORKSPACE_PLUGIN__BROKER_ARTIFACTS_IMAGE,omitempty"`
|
||||
CheServerSecureExposerJwtProxyImage string `json:"CHE_SERVER_SECURE__EXPOSER_JWTPROXY_IMAGE,omitempty"`
|
||||
CheJGroupsKubernetesLabels string `json:"KUBERNETES_LABELS,omitempty"`
|
||||
}
|
||||
|
||||
// GetConfigMapData gets env values from CR spec and returns a map with key:value
|
||||
|
|
@ -155,46 +156,46 @@ func GetConfigMapData(cr *orgv1.CheCluster) (cheEnv map[string]string) {
|
|||
cheLabels := util.MapToKeyValuePairs(GetLabels(cr, util.GetValue(cr.Spec.Server.CheFlavor, DefaultCheFlavor)))
|
||||
|
||||
data := &CheConfigMap{
|
||||
CheMultiUser: "true",
|
||||
CheHost: cheHost,
|
||||
ChePort: "8080",
|
||||
CheApi: protocol + "://" + cheHost + "/api",
|
||||
CheWebSocketEndpoint: wsprotocol + "://" + cheHost + "/api/websocket",
|
||||
WebSocketEndpointMinor: wsprotocol + "://" + cheHost + "/api/websocket-minor",
|
||||
CheDebugServer: cheDebug,
|
||||
CheInfrastructureActive: infra,
|
||||
CheInfraKubernetesServiceAccountName: "che-workspace",
|
||||
DefaultTargetNamespace: defaultTargetNamespace,
|
||||
NamespaceAllowUserDefined: namespaceAllowUserDefined,
|
||||
PvcStrategy: pvcStrategy,
|
||||
PvcClaimSize: pvcClaimSize,
|
||||
WorkspacePvcStorageClassName: workspacePvcStorageClassName,
|
||||
PvcJobsImage: pvcJobsImage,
|
||||
PreCreateSubPaths: preCreateSubPaths,
|
||||
TlsSupport: tls,
|
||||
K8STrustCerts: tls,
|
||||
DatabaseURL: "jdbc:postgresql://" + chePostgresHostName + ":" + chePostgresPort + "/" + chePostgresDb,
|
||||
DbUserName: chePostgresUser,
|
||||
DbPassword: chePostgresPassword,
|
||||
CheLogLevel: cheLogLevel,
|
||||
KeycloakURL: keycloakURL + "/auth",
|
||||
KeycloakRealm: keycloakRealm,
|
||||
KeycloakClientId: keycloakClientId,
|
||||
OpenShiftIdentityProvider: openShiftIdentityProviderId,
|
||||
JavaOpts: DefaultJavaOpts + " " + proxyJavaOpts,
|
||||
WorkspaceJavaOpts: DefaultWorkspaceJavaOpts + " " + proxyJavaOpts,
|
||||
WorkspaceMavenOpts: DefaultWorkspaceJavaOpts + " " + proxyJavaOpts,
|
||||
WorkspaceProxyJavaOpts: proxyJavaOpts,
|
||||
WorkspaceHttpProxy: cheWorkspaceHttpProxy,
|
||||
WorkspaceHttpsProxy: cheWorkspaceHttpProxy,
|
||||
WorkspaceNoProxy: cheWorkspaceNoProxy,
|
||||
PluginRegistryUrl: pluginRegistryUrl,
|
||||
DevfileRegistryUrl: devfileRegistryUrl,
|
||||
CheWorkspacePluginBrokerInitImage: DefaultCheWorkspacePluginBrokerInitImage(cr, cheFlavor),
|
||||
CheWorkspacePluginBrokerUnifiedImage: DefaultCheWorkspacePluginBrokerUnifiedImage(cr, cheFlavor),
|
||||
CheServerSecureExposerJwtProxyImage: DefaultCheServerSecureExposerJwtProxyImage(cr, cheFlavor),
|
||||
CheJGroupsKubernetesLabels: cheLabels,
|
||||
CheMetricsEnabled: cheMetrics,
|
||||
CheMultiUser: "true",
|
||||
CheHost: cheHost,
|
||||
ChePort: "8080",
|
||||
CheApi: protocol + "://" + cheHost + "/api",
|
||||
CheWebSocketEndpoint: wsprotocol + "://" + cheHost + "/api/websocket",
|
||||
WebSocketEndpointMinor: wsprotocol + "://" + cheHost + "/api/websocket-minor",
|
||||
CheDebugServer: cheDebug,
|
||||
CheInfrastructureActive: infra,
|
||||
CheInfraKubernetesServiceAccountName: "che-workspace",
|
||||
DefaultTargetNamespace: defaultTargetNamespace,
|
||||
NamespaceAllowUserDefined: namespaceAllowUserDefined,
|
||||
PvcStrategy: pvcStrategy,
|
||||
PvcClaimSize: pvcClaimSize,
|
||||
WorkspacePvcStorageClassName: workspacePvcStorageClassName,
|
||||
PvcJobsImage: pvcJobsImage,
|
||||
PreCreateSubPaths: preCreateSubPaths,
|
||||
TlsSupport: tls,
|
||||
K8STrustCerts: tls,
|
||||
DatabaseURL: "jdbc:postgresql://" + chePostgresHostName + ":" + chePostgresPort + "/" + chePostgresDb,
|
||||
DbUserName: chePostgresUser,
|
||||
DbPassword: chePostgresPassword,
|
||||
CheLogLevel: cheLogLevel,
|
||||
KeycloakURL: keycloakURL + "/auth",
|
||||
KeycloakRealm: keycloakRealm,
|
||||
KeycloakClientId: keycloakClientId,
|
||||
OpenShiftIdentityProvider: openShiftIdentityProviderId,
|
||||
JavaOpts: DefaultJavaOpts + " " + proxyJavaOpts,
|
||||
WorkspaceJavaOpts: DefaultWorkspaceJavaOpts + " " + proxyJavaOpts,
|
||||
WorkspaceMavenOpts: DefaultWorkspaceJavaOpts + " " + proxyJavaOpts,
|
||||
WorkspaceProxyJavaOpts: proxyJavaOpts,
|
||||
WorkspaceHttpProxy: cheWorkspaceHttpProxy,
|
||||
WorkspaceHttpsProxy: cheWorkspaceHttpProxy,
|
||||
WorkspaceNoProxy: cheWorkspaceNoProxy,
|
||||
PluginRegistryUrl: pluginRegistryUrl,
|
||||
DevfileRegistryUrl: devfileRegistryUrl,
|
||||
CheWorkspacePluginBrokerMetadataImage: DefaultCheWorkspacePluginBrokerMetadataImage(cr, cheFlavor),
|
||||
CheWorkspacePluginBrokerArtifactsImage: DefaultCheWorkspacePluginBrokerArtifactsImage(cr, cheFlavor),
|
||||
CheServerSecureExposerJwtProxyImage: DefaultCheServerSecureExposerJwtProxyImage(cr, cheFlavor),
|
||||
CheJGroupsKubernetesLabels: cheLabels,
|
||||
CheMetricsEnabled: cheMetrics,
|
||||
}
|
||||
|
||||
out, err := json.Marshal(data)
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ import (
|
|||
const (
|
||||
defaultCheServerImageRepo = "quay.io/eclipse/che-server"
|
||||
defaultCodeReadyServerImageRepo = "registry.redhat.io/codeready-workspaces/server-rhel8"
|
||||
defaultCheServerImageTag = "7.7.1"
|
||||
defaultCheServerImageTag = "7.8.0"
|
||||
defaultCodeReadyServerImageTag = "2.0"
|
||||
DefaultCheFlavor = "che"
|
||||
DefaultChePostgresUser = "pgche"
|
||||
|
|
@ -34,11 +34,11 @@ const (
|
|||
DefaultIngressStrategy = "multi-host"
|
||||
DefaultIngressClass = "nginx"
|
||||
defaultPluginRegistryImage = "registry.redhat.io/codeready-workspaces/pluginregistry-rhel8:2.0"
|
||||
defaultPluginRegistryUpstreamImage = "quay.io/eclipse/che-plugin-registry:7.7.1"
|
||||
defaultPluginRegistryUpstreamImage = "quay.io/eclipse/che-plugin-registry:7.8.0"
|
||||
DefaultPluginRegistryMemoryLimit = "256Mi"
|
||||
DefaultPluginRegistryMemoryRequest = "16Mi"
|
||||
defaultDevfileRegistryImage = "registry.redhat.io/codeready-workspaces/devfileregistry-rhel8:2.0"
|
||||
defaultDevfileRegistryUpstreamImage = "quay.io/eclipse/che-devfile-registry:7.7.1"
|
||||
defaultDevfileRegistryUpstreamImage = "quay.io/eclipse/che-devfile-registry:7.8.0"
|
||||
DefaultDevfileRegistryMemoryLimit = "256Mi"
|
||||
DefaultDevfileRegistryMemoryRequest = "16Mi"
|
||||
DefaultKeycloakAdminUserName = "admin"
|
||||
|
|
@ -51,7 +51,7 @@ const (
|
|||
defaultPostgresImage = "registry.redhat.io/rhscl/postgresql-96-rhel7:1-47"
|
||||
defaultPostgresUpstreamImage = "centos/postgresql-96-centos7:9.6"
|
||||
defaultKeycloakImage = "registry.redhat.io/redhat-sso-7/sso73-openshift:1.0-15"
|
||||
defaultKeycloakUpstreamImage = "quay.io/eclipse/che-keycloak:7.7.1"
|
||||
defaultKeycloakUpstreamImage = "quay.io/eclipse/che-keycloak:7.8.0"
|
||||
DefaultJavaOpts = "-XX:MaxRAMFraction=2 -XX:+UseParallelGC -XX:MinHeapFreeRatio=10 " +
|
||||
"-XX:MaxHeapFreeRatio=20 -XX:GCTimeRatio=4 " +
|
||||
"-XX:AdaptiveSizePolicyWeight=90 -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap " +
|
||||
|
|
@ -69,10 +69,10 @@ const (
|
|||
// For CRW these should be synced by hand with images stored in RH registries
|
||||
// instead of being synced by script with the content of the upstream `che.properties` file
|
||||
// NB:
|
||||
// The upstream equivent are stored in the generated `extra_images.go` source file.
|
||||
defaultCheWorkspacePluginBrokerInitImage = "quay.io/crw/pluginbrokerinit-rhel8:2.0-6"
|
||||
defaultCheWorkspacePluginBrokerUnifiedImage = "quay.io/crw/pluginbroker-rhel8:2.0-5"
|
||||
defaultCheServerSecureExposerJwtProxyImage = "quay.io/crw/jwtproxy-rhel8:2.0-4"
|
||||
// The upstream equivalent are stored in the generated `extra_images.go` source file.
|
||||
defaultCheWorkspacePluginBrokerMetadataImage = "quay.io/crw/pluginbroker-metadata-rhel8:2.1"
|
||||
defaultCheWorkspacePluginBrokerArtifactsImage = "quay.io/crw/pluginbroker-artifacts-rhel8:2.1"
|
||||
defaultCheServerSecureExposerJwtProxyImage = "quay.io/crw/jwtproxy-rhel8:2.1"
|
||||
|
||||
// This is only to correctly manage defaults during the transition
|
||||
// from Upstream 7.0.0 GA to the next version
|
||||
|
|
@ -163,31 +163,31 @@ func DefaultDevfileRegistryImage(cr *orgv1.CheCluster, cheFlavor string) string
|
|||
}
|
||||
}
|
||||
|
||||
func DefaultCheWorkspacePluginBrokerInitImage(cr *orgv1.CheCluster, cheFlavor string) string {
|
||||
func DefaultCheWorkspacePluginBrokerMetadataImage(cr *orgv1.CheCluster, cheFlavor string) string {
|
||||
if cheFlavor == "codeready" {
|
||||
// In the CRW case, we should always set the plugin broker image in the Che config map
|
||||
return patchDefaultImageName(cr, defaultCheWorkspacePluginBrokerInitImage)
|
||||
return patchDefaultImageName(cr, defaultCheWorkspacePluginBrokerMetadataImage)
|
||||
} else {
|
||||
// In the Upstream Che case, the default will be provided by the Che server `che.properties` file
|
||||
// if we return an empty string here.
|
||||
// We only need to override it in case of AirGap mode
|
||||
if cr.IsAirGapMode() {
|
||||
return patchDefaultImageName(cr, defaultCheWorkspacePluginBrokerInitUpstreamImage)
|
||||
return patchDefaultImageName(cr, defaultCheWorkspacePluginBrokerMetadataUpstreamImage)
|
||||
}
|
||||
return ""
|
||||
}
|
||||
}
|
||||
|
||||
func DefaultCheWorkspacePluginBrokerUnifiedImage(cr *orgv1.CheCluster, cheFlavor string) string {
|
||||
func DefaultCheWorkspacePluginBrokerArtifactsImage(cr *orgv1.CheCluster, cheFlavor string) string {
|
||||
if cheFlavor == "codeready" {
|
||||
// In the CRW case, we should always set the plugin broker image in the Che config map
|
||||
return patchDefaultImageName(cr, defaultCheWorkspacePluginBrokerUnifiedImage)
|
||||
return patchDefaultImageName(cr, defaultCheWorkspacePluginBrokerArtifactsImage)
|
||||
} else {
|
||||
// In the Upstream Che case, the default will be provided by the Che server `che.properties` file
|
||||
// if we return an empty string here.
|
||||
// We only need to override it in case of AirGap mode
|
||||
if cr.IsAirGapMode() {
|
||||
return patchDefaultImageName(cr, defaultCheWorkspacePluginBrokerUnifiedUpstreamImage)
|
||||
return patchDefaultImageName(cr, defaultCheWorkspacePluginBrokerArtifactsUpstreamImage)
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
package deploy
|
||||
|
||||
const (
|
||||
defaultCheWorkspacePluginBrokerInitUpstreamImage = "eclipse/che-init-plugin-broker:v0.24"
|
||||
defaultCheWorkspacePluginBrokerUnifiedUpstreamImage = "eclipse/che-unified-plugin-broker:v0.24"
|
||||
defaultCheServerSecureExposerJwtProxyUpstreamImage = "quay.io/eclipse/che-jwtproxy:dbd0578"
|
||||
defaultCheWorkspacePluginBrokerMetadataUpstreamImage = "quay.io/eclipse/che-plugin-metadata-broker:v3.1.0"
|
||||
defaultCheWorkspacePluginBrokerArtifactsUpstreamImage = "quay.io/eclipse/che-plugin-artifacts-broker:v3.1.0"
|
||||
defaultCheServerSecureExposerJwtProxyUpstreamImage = "quay.io/eclipse/che-jwtproxy:dbd0578"
|
||||
)
|
||||
|
|
|
|||
|
|
@ -67,8 +67,8 @@ pkg/deploy/defaults.go \
|
|||
mv pkg/deploy/defaults.go.new pkg/deploy/defaults.go
|
||||
|
||||
wget https://raw.githubusercontent.com/eclipse/che/${RELEASE}/assembly/assembly-wsmaster-war/src/main/webapp/WEB-INF/classes/che/che.properties -q -O /tmp/che.properties
|
||||
latestCheWorkspacePluginBrokerInitImage=$(cat /tmp/che.properties| grep "che.workspace.plugin_broker.init.image" | cut -d = -f2)
|
||||
latestCheWorkspacePluginBrokerUnifiedImage=$(cat /tmp/che.properties | grep "che.workspace.plugin_broker.unified.image" | cut -d = -f2)
|
||||
latestCheWorkspacePluginBrokerMetadataImage=$(cat /tmp/che.properties| grep "che.workspace.plugin_broker.metadata.image" | cut -d = -f2)
|
||||
latestCheWorkspacePluginBrokerArtifactsImage=$(cat /tmp/che.properties | grep "che.workspace.plugin_broker.artifacts.image" | cut -d = -f2)
|
||||
latestCheServerSecureExposerJwtProxyImage=$(cat /tmp/che.properties | grep "che.server.secure_exposer.jwtproxy.image" | cut -d = -f2)
|
||||
|
||||
cat << EOF > pkg/deploy/extra_images.go
|
||||
|
|
@ -76,8 +76,8 @@ cat << EOF > pkg/deploy/extra_images.go
|
|||
package deploy
|
||||
|
||||
const (
|
||||
defaultCheWorkspacePluginBrokerInitUpstreamImage = "${latestCheWorkspacePluginBrokerInitImage}"
|
||||
defaultCheWorkspacePluginBrokerUnifiedUpstreamImage = "${latestCheWorkspacePluginBrokerUnifiedImage}"
|
||||
defaultCheWorkspacePluginBrokerMetadataUpstreamImage = "${latestCheWorkspacePluginBrokerMetadataImage}"
|
||||
defaultCheWorkspacePluginBrokerArtifactsUpstreamImage = "${latestCheWorkspacePluginBrokerArtifactsImage}"
|
||||
defaultCheServerSecureExposerJwtProxyUpstreamImage = "${latestCheServerSecureExposerJwtProxyImage}"
|
||||
)
|
||||
EOF
|
||||
|
|
|
|||
Loading…
Reference in New Issue