Fix kie-issues #1236 - Replace quay.io with docker.io, review version.go (#466)
* Fix kie-issues #1236 - Replace quay.io with docker.io, review version.go
Signed-off-by: Ricardo Zanini <zanini@redhat.com>
* Fix env.sh and bump-version.sh scripts
Signed-off-by: Ricardo Zanini <zanini@redhat.com>
* Fix small typos
Signed-off-by: Ricardo Zanini <zanini@redhat.com>
---------
Signed-off-by: Ricardo Zanini <zanini@redhat.com>
diff --git a/.ci/jenkins/Jenkinsfile.e2e.cluster b/.ci/jenkins/Jenkinsfile.e2e.cluster
index d1ffd38..6cd8bd0 100644
--- a/.ci/jenkins/Jenkinsfile.e2e.cluster
+++ b/.ci/jenkins/Jenkinsfile.e2e.cluster
@@ -92,11 +92,11 @@
def platformCR = readYaml(file: platformCRFilepath)
platformCR.spec.devMode = platformCR.spec.devMode ?: [:]
- platformCR.spec.devMode.baseImage = "quay.io/kiegroup/kogito-swf-devmode-nightly:${majorMinor}"
+ platformCR.spec.devMode.baseImage = "docker.io/apache/incubator-kie-sonataflow-devmode:${majorMinor}"
platformCR.spec.build = platformCR.spec.build ?: [:]
platformCR.spec.build.config = platformCR.spec.build.config ?: [:]
- platformCR.spec.build.config.baseImage = "quay.io/kiegroup/kogito-swf-builder-nightly:${majorMinor}"
+ platformCR.spec.build.config.baseImage = "docker.io/apache/incubator-kie-sonataflow-builder:${majorMinor}"
writeYaml(file: platformCRFilepath, data: platformCR, overwrite: true)
}
}
diff --git a/Makefile b/Makefile
index d8349ff..81eb505 100644
--- a/Makefile
+++ b/Makefile
@@ -30,7 +30,7 @@
#
# For example, running 'make bundle-build bundle-push catalog-build catalog-push' will build and push both
# kiegroup.org/kogito-serverless-operator-bundle:$VERSION and kiegroup.org/kogito-serverless-operator-catalog:$VERSION.
-IMAGE_TAG_BASE ?= quay.io/kiegroup/kogito-serverless-operator-nightly
+IMAGE_TAG_BASE ?= docker.io/apache/incubator-kie-sonataflow-operator
# BUNDLE_IMG defines the image:tag used for the bundle.
# You can use it as an arg. (E.g make bundle-build BUNDLE_IMG=<some-registry>/<project-name-bundle>:<tag>)
diff --git a/bddframework/pkg/api/app/v1beta1/kogitoservices.go b/bddframework/pkg/api/app/v1beta1/kogitoservices.go
index 1d64688..2bdfa14 100644
--- a/bddframework/pkg/api/app/v1beta1/kogitoservices.go
+++ b/bddframework/pkg/api/app/v1beta1/kogitoservices.go
@@ -201,7 +201,7 @@
Env []corev1.EnvVar `json:"env,omitempty"`
// +optional
- // Image definition for the service. Example: "quay.io/kiegroup/kogito-service:latest".
+ // Image definition for the service. Example: "docker.io/apache/incubator-kie-kogito-service:latest".
//
// On OpenShift an ImageStream will be created in the current namespace pointing to the given image.
// +operator-sdk:csv:customresourcedefinitions:type=spec
diff --git a/bddframework/pkg/framework/util.go b/bddframework/pkg/framework/util.go
index 2e93a1f..3c4e529 100644
--- a/bddframework/pkg/framework/util.go
+++ b/bddframework/pkg/framework/util.go
@@ -292,7 +292,7 @@
}
if len(image.Tag) == 0 {
- image.Tag = GetKogitoImageVersion(version.OperatorVersion)
+ image.Tag = GetKogitoImageVersion(version.GetTagVersion())
}
}
diff --git a/bundle/manifests/sonataflow-operator-builder-config_v1_configmap.yaml b/bundle/manifests/sonataflow-operator-builder-config_v1_configmap.yaml
index d04b6b6..425a812 100644
--- a/bundle/manifests/sonataflow-operator-builder-config_v1_configmap.yaml
+++ b/bundle/manifests/sonataflow-operator-builder-config_v1_configmap.yaml
@@ -1,16 +1,16 @@
apiVersion: v1
data:
DEFAULT_WORKFLOW_EXTENSION: .sw.json
- Dockerfile: "FROM quay.io/kiegroup/kogito-swf-builder-nightly:latest AS builder\n\n#
+ Dockerfile: "FROM docker.io/apache/incubator-kie-sonataflow-builder:main AS builder\n\n#
variables that can be overridden by the builder\n# To add a Quarkus extension
to your application\nARG QUARKUS_EXTENSIONS\n# Args to pass to the Quarkus CLI
add extension command\nARG QUARKUS_ADD_EXTENSION_ARGS\n# Additional java/mvn arguments
to pass to the builder\nARG MAVEN_ARGS_APPEND\n\n# Copy from build context to
skeleton resources project\nCOPY --chown=1001 . ./resources\n\nRUN /home/kogito/launch/build-app.sh
./resources\n \n#=============================\n# Runtime Run\n#=============================\nFROM
- registry.access.redhat.com/ubi9/openjdk-17:latest\n\nENV LANG='en_US.UTF-8' LANGUAGE='en_US:en'\n
- \ \n# We make four distinct layers so if there are application changes the library
- layers can be re-used\nCOPY --from=builder --chown=185 /home/kogito/serverless-workflow-project/target/quarkus-app/lib/
+ registry.access.redhat.com/ubi9/openjdk-17-runtime:latest\n\nENV LANG='en_US.UTF-8'
+ LANGUAGE='en_US:en'\n \n# We make four distinct layers so if there are application
+ changes the library layers can be re-used\nCOPY --from=builder --chown=185 /home/kogito/serverless-workflow-project/target/quarkus-app/lib/
/deployments/lib/\nCOPY --from=builder --chown=185 /home/kogito/serverless-workflow-project/target/quarkus-app/*.jar
/deployments/\nCOPY --from=builder --chown=185 /home/kogito/serverless-workflow-project/target/quarkus-app/app/
/deployments/app/\nCOPY --from=builder --chown=185 /home/kogito/serverless-workflow-project/target/quarkus-app/quarkus/
diff --git a/bundle/manifests/sonataflow-operator.clusterserviceversion.yaml b/bundle/manifests/sonataflow-operator.clusterserviceversion.yaml
index c9a617e..37ca5da 100644
--- a/bundle/manifests/sonataflow-operator.clusterserviceversion.yaml
+++ b/bundle/manifests/sonataflow-operator.clusterserviceversion.yaml
@@ -119,7 +119,7 @@
]
capabilities: Basic Install
categories: Application Runtime
- containerImage: quay.io/kiegroup/kogito-serverless-operator-nightly:latest
+ containerImage: docker.io/apache/incubator-kie-sonataflow-operator:main
description: SonataFlow Kubernetes Operator for deploying workflow applications
based on the CNCF Serverless Workflow specification
operators.operatorframework.io/builder: operator-sdk-v1.25.0
@@ -761,7 +761,7 @@
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: quay.io/kiegroup/kogito-serverless-operator-nightly:latest
+ image: docker.io/apache/incubator-kie-sonataflow-operator:latest
livenessProbe:
httpGet:
path: /healthz
diff --git a/config/manager/SonataFlow-Builder.containerfile b/config/manager/SonataFlow-Builder.containerfile
index d95cbf0..892d1bd 100644
--- a/config/manager/SonataFlow-Builder.containerfile
+++ b/config/manager/SonataFlow-Builder.containerfile
@@ -1,4 +1,4 @@
-FROM quay.io/kiegroup/kogito-swf-builder-nightly:latest AS builder
+FROM docker.io/apache/incubator-kie-sonataflow-builder:main AS builder
# variables that can be overridden by the builder
# To add a Quarkus extension to your application
@@ -16,7 +16,7 @@
#=============================
# Runtime Run
#=============================
-FROM registry.access.redhat.com/ubi9/openjdk-17:latest
+FROM registry.access.redhat.com/ubi9/openjdk-17-runtime:latest
ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en'
diff --git a/config/manager/kustomization.yaml b/config/manager/kustomization.yaml
index 3cc8cc8..fb3d741 100644
--- a/config/manager/kustomization.yaml
+++ b/config/manager/kustomization.yaml
@@ -21,7 +21,7 @@
kind: Kustomization
images:
- name: controller
- newName: quay.io/kiegroup/kogito-serverless-operator-nightly
+ newName: docker.io/apache/incubator-kie-sonataflow-operator
newTag: latest
# Patching the manager deployment file to add an env var with the operator namespace in
patchesJson6902:
diff --git a/config/manifests/bases/sonataflow-operator.clusterserviceversion.yaml b/config/manifests/bases/sonataflow-operator.clusterserviceversion.yaml
index 8bdae52..094fbfa 100644
--- a/config/manifests/bases/sonataflow-operator.clusterserviceversion.yaml
+++ b/config/manifests/bases/sonataflow-operator.clusterserviceversion.yaml
@@ -5,7 +5,7 @@
alm-examples: '[]'
capabilities: Basic Install
categories: Application Runtime
- containerImage: quay.io/kiegroup/kogito-serverless-operator-nightly:latest
+ containerImage: docker.io/apache/incubator-kie-sonataflow-operator:main
description: SonataFlow Kubernetes Operator for deploying workflow applications
based on the CNCF Serverless Workflow specification
operators.operatorframework.io/internal-objects: '["sonataflowbuilds.sonataflow.org"]'
diff --git a/container-builder/builder/kubernetes/builder_kaniko_test.go b/container-builder/builder/kubernetes/builder_kaniko_test.go
index 8603c37..9391700 100644
--- a/container-builder/builder/kubernetes/builder_kaniko_test.go
+++ b/container-builder/builder/kubernetes/builder_kaniko_test.go
@@ -68,7 +68,7 @@
addFlags[0] = "--use-new-run=true"
// create the new build, schedule with cache enabled, a specific set of resources and additional flags
- build, err := NewBuild(ContainerBuilderInfo{FinalImageName: "quay.io/kiegroup/buildexample:latest", BuildUniqueName: "build1", Platform: platform}).
+ build, err := NewBuild(ContainerBuilderInfo{FinalImageName: "docker.io/apache/incubator-kie-buildexample:latest", BuildUniqueName: "build1", Platform: platform}).
AddResource("Dockerfile", dockerFile).
AddResource("greetings.sw.json", workflowDefinition).
WithClient(c).
@@ -134,7 +134,7 @@
},
}
- build, err := NewBuild(ContainerBuilderInfo{FinalImageName: "quay.io/kiegroup/buildexample:latest", BuildUniqueName: "build1", Platform: platform}).
+ build, err := NewBuild(ContainerBuilderInfo{FinalImageName: "docker.io/apache/incubator-kie-buildexample:latest", BuildUniqueName: "build1", Platform: platform}).
AddResource("Dockerfile", dockerFile).
AddResource("greetings.sw.json", workflowDefinition).
WithClient(c).
diff --git a/container-builder/builder/kubernetes/builder_test.go b/container-builder/builder/kubernetes/builder_test.go
index a54201f..70fe527 100644
--- a/container-builder/builder/kubernetes/builder_test.go
+++ b/container-builder/builder/kubernetes/builder_test.go
@@ -57,7 +57,7 @@
},
}
// create the new build, schedule
- build, err := NewBuild(ContainerBuilderInfo{FinalImageName: "quay.io/kiegroup/buildexample:latest", BuildUniqueName: "build1", Platform: platform}).
+ build, err := NewBuild(ContainerBuilderInfo{FinalImageName: "docker.io/apache/incubator-kie-buildexample:latest", BuildUniqueName: "build1", Platform: platform}).
WithClient(c).
AddResource("Dockerfile", dockerFile).
AddResource("greetings.sw.json", workflowDefinition).
diff --git a/container-builder/builder/kubernetes/testdata/Dockerfile b/container-builder/builder/kubernetes/testdata/Dockerfile
index 80d51e1..89f941b 100644
--- a/container-builder/builder/kubernetes/testdata/Dockerfile
+++ b/container-builder/builder/kubernetes/testdata/Dockerfile
@@ -15,7 +15,7 @@
# specific language governing permissions and limitations
# under the License.
-FROM quay.io/kiegroup/kogito-swf-builder-nightly:latest AS builder
+FROM docker.io/apache/incubator-kie-sonataflow-builder:main AS builder
# Kogito User
USER 1001
diff --git a/container-builder/examples/api/PlatformBuild_usingKanikowithCache.yaml b/container-builder/examples/api/PlatformBuild_usingKanikowithCache.yaml
index 788da52..5efeea8 100644
--- a/container-builder/examples/api/PlatformBuild_usingKanikowithCache.yaml
+++ b/container-builder/examples/api/PlatformBuild_usingKanikowithCache.yaml
@@ -1,7 +1,7 @@
name: platform-kaniko-using-cache
spec:
publishStrategy: "Kaniko"
- baseImage: quay.io/kiegroup/kogito-swf-builder-nightly:latest
+ baseImage: docker.io/apache/incubator-kie-sonataflow-builder:main
registry:
address: quay.io/kiegroup
secret: regcred
diff --git a/container-builder/examples/dockerfiles/SonataFlow.dockerfile b/container-builder/examples/dockerfiles/SonataFlow.dockerfile
index 6ca872b..82d94ab 100644
--- a/container-builder/examples/dockerfiles/SonataFlow.dockerfile
+++ b/container-builder/examples/dockerfiles/SonataFlow.dockerfile
@@ -15,7 +15,7 @@
# specific language governing permissions and limitations
# under the License.
-FROM quay.io/kiegroup/kogito-swf-builder-nightly:latest AS builder
+FROM docker.io/apache/incubator-kie-sonataflow-builder:main AS builder
# Kogito User
USER 1001
diff --git a/controllers/builder/openshiftbuilder_test.go b/controllers/builder/openshiftbuilder_test.go
index 48b6ef3..9a74016 100644
--- a/controllers/builder/openshiftbuilder_test.go
+++ b/controllers/builder/openshiftbuilder_test.go
@@ -23,6 +23,7 @@
"context"
"testing"
+ "github.com/apache/incubator-kie-kogito-serverless-operator/controllers/platform"
buildv1 "github.com/openshift/api/build/v1"
imgv1 "github.com/openshift/api/image/v1"
buildfake "github.com/openshift/client-go/build/clientset/versioned/fake"
@@ -142,15 +143,19 @@
// Setup
ns := t.Name()
workflow := test.GetBaseSonataFlow(ns)
- platform := test.GetBasePlatformInReadyPhase(t.Name())
+ pl := test.GetBasePlatformInReadyPhase(t.Name())
config := test.GetSonataFlowBuilderConfig(ns)
+
+ dockerFile := config.Data[defaultBuilderResourceName]
+ config.Data[defaultBuilderResourceName] = platform.ReplaceFromImageTagDockerfile(dockerFile, "FROM image:latest AS builder")
+
namespacedName := types.NamespacedName{Namespace: workflow.Namespace, Name: workflow.Name}
- client := test.NewKogitoClientBuilderWithOpenShift().WithRuntimeObjects(workflow, platform, config).Build()
+ client := test.NewKogitoClientBuilderWithOpenShift().WithRuntimeObjects(workflow, pl, config).Build()
buildClient := buildfake.NewSimpleClientset().BuildV1()
managerContext := buildManagerContext{
ctx: context.TODO(),
client: client,
- platform: platform,
+ platform: pl,
builderConfigMap: config,
}
diff --git a/controllers/platform/platformutils.go b/controllers/platform/platformutils.go
index f3978b7..0b41054 100644
--- a/controllers/platform/platformutils.go
+++ b/controllers/platform/platformutils.go
@@ -170,3 +170,9 @@
res := builderDockerfileFromRE.FindAllStringSubmatch(dockerfile, 1)
return strings.Trim(res[0][1], " ")
}
+
+// ReplaceFromImageTagDockerfile replaces the "FROM" clause from the given dockerfile with the given fromReplacement.
+// For example: "FROM myimage:latest AS builder"
+func ReplaceFromImageTagDockerfile(dockerfile string, fromReplacement string) string {
+ return string(builderDockerfileFromRE.ReplaceAll([]byte(dockerfile), []byte(fromReplacement)))
+}
diff --git a/controllers/platform/platformutils_test.go b/controllers/platform/platformutils_test.go
index f111903..d0bcf2c 100644
--- a/controllers/platform/platformutils_test.go
+++ b/controllers/platform/platformutils_test.go
@@ -36,9 +36,9 @@
assert.Fail(t, "Unable to read base Dockerfile")
}
dockerfile := string(dockerfileBytes)
- // 1 - Let's verify that the default image is used (for this unit test is quay.io/kiegroup/kogito-swf-builder-nightly:latest)
+ // 1 - Let's verify that the default image is used (for this unit test is docker.io/apache/incubator-kie-sonataflow-builder:main)
resDefault := GetCustomizedBuilderDockerfile(dockerfile, *platform)
- foundDefault, err := regexp.MatchString("FROM quay.io/kiegroup/kogito-swf-builder-nightly:latest AS builder", resDefault)
+ foundDefault, err := regexp.MatchString("FROM docker.io/apache/incubator-kie-sonataflow-builder:main AS builder", resDefault)
assert.NoError(t, err)
assert.True(t, foundDefault)
diff --git a/controllers/platform/services/services.go b/controllers/platform/services/services.go
index aead391..50baa84 100644
--- a/controllers/platform/services/services.go
+++ b/controllers/platform/services/services.go
@@ -110,15 +110,8 @@
if persistenceType == constants.PersistenceTypeEphemeral && len(cfg.GetCfg().DataIndexEphemeralImageTag) > 0 {
return cfg.GetCfg().DataIndexEphemeralImageTag
}
- var tag = version.GetMajorMinor()
- var suffix = ""
- if version.IsSnapshot() {
- tag = "latest"
- //TODO, remove
- suffix = constants.ImageNameNightlySuffix
- }
- // returns "quay.io/kiegroup/kogito-data-index-<persistence_layer>:<tag>"
- return fmt.Sprintf("%s-%s-%s:%s", constants.ImageNamePrefix, constants.DataIndexName, persistenceType.String()+suffix, tag)
+ // returns "docker.io/apache/incubator-kie-kogito-data-index-<persistence_layer>:<tag>"
+ return fmt.Sprintf("%s-%s-%s:%s", constants.ImageNamePrefix, constants.DataIndexName, persistenceType.String(), version.GetTagVersion())
}
func (d DataIndexHandler) GetServiceName() string {
@@ -279,15 +272,8 @@
if persistenceType == constants.PersistenceTypeEphemeral && len(cfg.GetCfg().JobsServiceEphemeralImageTag) > 0 {
return cfg.GetCfg().JobsServiceEphemeralImageTag
}
- var tag = version.GetMajorMinor()
- var suffix = ""
- if version.IsSnapshot() {
- tag = "latest"
- //TODO remove
- suffix = constants.ImageNameNightlySuffix
- }
- // returns "quay.io/kiegroup/kogito-jobs-service-<persistece_layer>:<tag>"
- return fmt.Sprintf("%s-%s-%s:%s", constants.ImageNamePrefix, constants.JobServiceName, persistenceType.String()+suffix, tag)
+ // returns "docker.io/apache/incubator-kie-kogito-jobs-service-<persistece_layer>:<tag>"
+ return fmt.Sprintf("%s-%s-%s:%s", constants.ImageNamePrefix, constants.JobServiceName, persistenceType.String(), version.GetTagVersion())
}
func (j JobServiceHandler) GetServiceName() string {
diff --git a/controllers/profiles/common/constants/platform_services.go b/controllers/profiles/common/constants/platform_services.go
index 30b25fb..4065d9e 100644
--- a/controllers/profiles/common/constants/platform_services.go
+++ b/controllers/profiles/common/constants/platform_services.go
@@ -57,12 +57,8 @@
DataIndexServiceName = "data-index-service"
JobServiceName = "jobs-service"
- ImageNamePrefix = "quay.io/kiegroup/kogito"
- //TODO, the usage of this constant was temporary introduced since only the nightly images are being updated for the
- //data-index and jobs-service. And this is causing issues at the time of using the workflows integrated with these, etc.
- //This will be removed when the CI is fixed.
- ImageNameNightlySuffix = "-nightly"
- DataIndexName = "data-index"
+ ImageNamePrefix = "docker.io/apache/incubator-kie-kogito"
+ DataIndexName = "data-index"
DefaultDatabaseName string = "sonataflow"
DefaultPostgreSQLPort int = 5432
diff --git a/controllers/workflowdef/image.go b/controllers/workflowdef/image.go
index 220aa20..0174a92 100644
--- a/controllers/workflowdef/image.go
+++ b/controllers/workflowdef/image.go
@@ -20,6 +20,8 @@
package workflowdef
import (
+ "fmt"
+
"github.com/apache/incubator-kie-kogito-serverless-operator/api/v1alpha08"
"github.com/apache/incubator-kie-kogito-serverless-operator/controllers/cfg"
"github.com/apache/incubator-kie-kogito-serverless-operator/version"
@@ -27,9 +29,8 @@
const (
latestImageTag = "latest"
- nightlySuffix = "nightly"
- defaultWorkflowDevModeImage = "quay.io/kiegroup/kogito-swf-devmode"
- defaultWorkflowBuilderImage = "quay.io/kiegroup/kogito-swf-builder"
+ defaultWorkflowDevModeImage = "docker.io/apache/incubator-kie-sonataflow-devmode"
+ defaultWorkflowBuilderImage = "docker.io/apache/incubator-kie-sonataflow-builder"
)
// GetWorkflowAppImageNameTag returns the image name with tag to use for the image to be produced for a given workflow.
@@ -63,14 +64,5 @@
}
func GetDefaultImageTag(imgTag string) string {
- if version.IsSnapshot() {
- imgTag += "-" + nightlySuffix
- }
- imgTag += ":"
- if version.IsLatestVersion() {
- imgTag += latestImageTag
- } else {
- imgTag += version.GetMajorMinor()
- }
- return imgTag
+ return fmt.Sprintf("%s:%s", imgTag, version.GetTagVersion())
}
diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md
index 2112d86..14dd27e 100644
--- a/docs/CONTRIBUTING.md
+++ b/docs/CONTRIBUTING.md
@@ -175,7 +175,7 @@
At the startup a [Dockerfile](../config/manager/SonataFlow-Builder.containerfile) is placed in a configmap. This
Dockerfile uses a base image
-called [kogito-swf-builder](https://github.com/kiegroup/kogito-images/tree/master/modules/kogito-swf-builder) with:
+called [sonataflow-builder](https://github.com/kiegroup/kogito-images/tree/master/modules/sonataflow-builder) with:
- openjdk 11+
- maven 3.8.6+
diff --git a/hack/bump-version.sh b/hack/bump-version.sh
index d74fd88..d2791f0 100755
--- a/hack/bump-version.sh
+++ b/hack/bump-version.sh
@@ -20,10 +20,9 @@
script_dir_path=$(dirname "${BASH_SOURCE[0]}")
source "${script_dir_path}"/env.sh
-imageTag='quay.io/kiegroup/kogito-serverless-operator'
+imageTag='docker.io/apache/incubator-kie-sonataflow-operator'
# shellcheck disable=SC2034
-old_version=$(getOperatorVersion)
-latest_version=$(getOperatorLatestVersion)
+old_version=$(getImageTagVersion)
new_version=$1
if [ -z "${new_version}" ]; then
@@ -31,18 +30,10 @@
exit 1
fi
-imageSuffix=$(if [[ "${new_version}" == *snapshot ]]; then echo '-nightly'; else echo ''; fi)
-
oldMajorMinorVersion=${old_version%.*}
newMajorMinorVersion=${new_version%.*}
-if [ "${old_version}" = "${latest_version}" ]; then
- oldMajorMinorVersion='latest'
-fi
-if [ "${new_version}" = "${latest_version}" ]; then
- newMajorMinorVersion='latest'
-fi
-echo "Set new version to ${new_version} (img_suffix = '${imageSuffix}', majorMinor = ${newMajorMinorVersion})"
+echo "Set new version to ${new_version} (majorMinor = ${newMajorMinorVersion})"
sed -i "s|version: ${old_version}|version: ${new_version}|g" image.yaml
@@ -50,19 +41,19 @@
sed -i "s|^REDUCED_VERSION ?=.*|REDUCED_VERSION ?= ${newMajorMinorVersion}|g" Makefile
sed -i "s|newTag:.*|newTag: ${new_version}|g" config/manager/kustomization.yaml
-sed -i "s|IMAGE_TAG_BASE ?=.*|IMAGE_TAG_BASE ?= ${imageTag}${imageSuffix}|g" Makefile
-sed -i "s|newName:.*|newName: ${imageTag}${imageSuffix}|g" config/manager/kustomization.yaml
+sed -i "s|IMAGE_TAG_BASE ?=.*|IMAGE_TAG_BASE ?= ${imageTag}|g" Makefile
+sed -i "s|newName:.*|newName: ${imageTag}|g" config/manager/kustomization.yaml
-# Update kogito-swf-* images
-find . -name "*.yaml" -exec sed -i "s|quay.io/kiegroup/kogito-swf-builder.*:${oldMajorMinorVersion}|quay.io/kiegroup/kogito-swf-builder${imageSuffix}:${newMajorMinorVersion}|" {} +
-sed -i "s|quay.io/kiegroup/kogito-swf-builder.*:${oldMajorMinorVersion}|quay.io/kiegroup/kogito-swf-builder${imageSuffix}:${newMajorMinorVersion}|" Dockerfile
+# Update sonataflow-* images
+find . -name "*.yaml" -exec sed -i "s|docker.io/apache/incubator-kie-sonataflow-builder.*:${oldMajorMinorVersion}|docker.io/apache/incubator-kie-sonataflow-builder:${newMajorMinorVersion}|" {} +
+sed -i "s|docker.io/apache/incubator-kie-sonataflow-builder.*:${oldMajorMinorVersion}|docker.io/apache/incubator-kie-sonataflow-builder:${newMajorMinorVersion}|" Dockerfile
-find . -name "*.yaml" -exec sed -i "s|quay.io/kiegroup/kogito-swf-devmode.*:${oldMajorMinorVersion}|quay.io/kiegroup/kogito-swf-devmode${imageSuffix}:${newMajorMinorVersion}|" {} +
-sed -i "s|quay.io/kiegroup/kogito-swf-devmode.*:${oldMajorMinorVersion}|quay.io/kiegroup/kogito-swf-devmode${imageSuffix}:${newMajorMinorVersion}|" Dockerfile
+find . -name "*.yaml" -exec sed -i "s|docker.io/apache/incubator-kie-sonataflow-devmode.*:${oldMajorMinorVersion}|docker.io/apache/incubator-kie-sonataflow-devmode:${newMajorMinorVersion}|" {} +
+sed -i "s|docker.io/apache/incubator-kie-sonataflow-devmode.*:${oldMajorMinorVersion}|docker.io/apache/incubator-kie-sonataflow-devmode:${newMajorMinorVersion}|" Dockerfile
-sed -i -r "s|OperatorVersion =.*|OperatorVersion = \"${new_version}\"|g" version/version.go
+sed -i -r "s|operatorVersion =.*|operatorVersion = \"${new_version}\"|g" version/version.go
-sed -i "s|containerImage:.*|containerImage: ${imageTag}${imageSuffix}:${newMajorMinorVersion}|g" $(getCsvFile)
+sed -i "s|containerImage:.*|containerImage: ${imageTag}:${newMajorMinorVersion}|g" $(getCsvFile)
make generate-all
make vet
diff --git a/hack/env.sh b/hack/env.sh
index 945175d..c463d26 100755
--- a/hack/env.sh
+++ b/hack/env.sh
@@ -20,13 +20,13 @@
BUNDLE_DIR="bundle/manifests"
getOperatorVersion() {
- local version=$(grep -m 1 'OperatorVersion' version/version.go | awk -F\" '{print $2}')
+ local version=$(grep -m 1 'operatorVersion = ' version/version.go | awk -F\" '{print $2}')
echo "${version}"
}
-getOperatorLatestVersion() {
- local version=$(grep -m 1 'latestVersion' version/version.go | awk -F\" '{print $2}')
- echo "${version}"
+getImageTagVersion() {
+ local tag_version=$(grep -m 1 'tagVersion = ' version/version.go | awk -F\" '{print $2}')
+ echo "${tag_version}"
}
getOperatorImageName() {
diff --git a/hack/local/build-simple-workflow.sh b/hack/local/build-simple-workflow.sh
index c0886e4..e008e39 100755
--- a/hack/local/build-simple-workflow.sh
+++ b/hack/local/build-simple-workflow.sh
@@ -17,4 +17,4 @@
cp ./config/manager/sonataflow_builder_dockerfile.yaml /tmp/simpleworkflow/Dockerfile
cp ./workflowproj/testdata/workflows/workflow-minimal.sw.json /tmp/simpleworkflow/workflow-minimal.sw.json
-docker build -t quay.io/kiegroup/sonataflow-minimal-example:latest /tmp/simpleworkflow/
+docker build -t docker.io/apache/incubator-kie-sonataflow-minimal-example:latest /tmp/simpleworkflow/
diff --git a/main.go b/main.go
index e0265ed..dc290e0 100644
--- a/main.go
+++ b/main.go
@@ -24,6 +24,7 @@
"os"
"github.com/apache/incubator-kie-kogito-serverless-operator/controllers/cfg"
+ "github.com/apache/incubator-kie-kogito-serverless-operator/version"
eventingv1 "knative.dev/eventing/pkg/apis/eventing/v1"
sourcesv1 "knative.dev/eventing/pkg/apis/sources/v1"
servingv1 "knative.dev/serving/pkg/apis/serving/v1"
@@ -158,7 +159,7 @@
os.Exit(1)
}
- klog.V(log.I).InfoS("starting manager")
+ klog.V(log.I).InfoS("starting manager", "version:", version.GetOperatorVersion())
if err := mgr.Start(ctrl.SetupSignalHandler()); err != nil {
klog.V(log.E).ErrorS(err, "problem running manager")
os.Exit(1)
diff --git a/operator.yaml b/operator.yaml
index f7d0931..325d30c 100644
--- a/operator.yaml
+++ b/operator.yaml
@@ -26988,16 +26988,16 @@
apiVersion: v1
data:
DEFAULT_WORKFLOW_EXTENSION: .sw.json
- Dockerfile: "FROM quay.io/kiegroup/kogito-swf-builder-nightly:latest AS builder\n\n#
+ Dockerfile: "FROM docker.io/apache/incubator-kie-sonataflow-builder:main AS builder\n\n#
variables that can be overridden by the builder\n# To add a Quarkus extension
to your application\nARG QUARKUS_EXTENSIONS\n# Args to pass to the Quarkus CLI
add extension command\nARG QUARKUS_ADD_EXTENSION_ARGS\n# Additional java/mvn arguments
to pass to the builder\nARG MAVEN_ARGS_APPEND\n\n# Copy from build context to
skeleton resources project\nCOPY --chown=1001 . ./resources\n\nRUN /home/kogito/launch/build-app.sh
./resources\n \n#=============================\n# Runtime Run\n#=============================\nFROM
- registry.access.redhat.com/ubi9/openjdk-17:latest\n\nENV LANG='en_US.UTF-8' LANGUAGE='en_US:en'\n
- \ \n# We make four distinct layers so if there are application changes the library
- layers can be re-used\nCOPY --from=builder --chown=185 /home/kogito/serverless-workflow-project/target/quarkus-app/lib/
+ registry.access.redhat.com/ubi9/openjdk-17-runtime:latest\n\nENV LANG='en_US.UTF-8'
+ LANGUAGE='en_US:en'\n \n# We make four distinct layers so if there are application
+ changes the library layers can be re-used\nCOPY --from=builder --chown=185 /home/kogito/serverless-workflow-project/target/quarkus-app/lib/
/deployments/lib/\nCOPY --from=builder --chown=185 /home/kogito/serverless-workflow-project/target/quarkus-app/*.jar
/deployments/\nCOPY --from=builder --chown=185 /home/kogito/serverless-workflow-project/target/quarkus-app/app/
/deployments/app/\nCOPY --from=builder --chown=185 /home/kogito/serverless-workflow-project/target/quarkus-app/quarkus/
@@ -27104,7 +27104,7 @@
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: quay.io/kiegroup/kogito-serverless-operator-nightly:latest
+ image: docker.io/apache/incubator-kie-sonataflow-operator:latest
livenessProbe:
httpGet:
path: /healthz
diff --git a/tekton/pipeline/kogito_serverless_operator_pipeline.yaml b/tekton/pipeline/kogito_serverless_operator_pipeline.yaml
index 4cff773..60c28c1 100644
--- a/tekton/pipeline/kogito_serverless_operator_pipeline.yaml
+++ b/tekton/pipeline/kogito_serverless_operator_pipeline.yaml
@@ -53,7 +53,7 @@
params:
- name: script
value: >
- curl https://raw.githubusercontent.com/apache/incubator-kie-kogito-serverless-operator/main/operator.yaml | sed -E 's|image: quay.io/kiegroup/.*|image: image-registry.openshift-image-registry.svc:5000/sonataflow-operator-system/kogito-serverless-operator:latest|g' | kubectl apply -f -
+ curl https://raw.githubusercontent.com/apache/incubator-kie-kogito-serverless-operator/main/operator.yaml | sed -E 's|image: docker.io/apache/incubator-kie.*|image: image-registry.openshift-image-registry.svc:5000/sonataflow-operator-system/kogito-serverless-operator:latest|g' | kubectl apply -f -
runAfter:
- build-image
taskRef:
diff --git a/test/builder/Dockerfile b/test/builder/Dockerfile
index fac640c..41dbbae 100644
--- a/test/builder/Dockerfile
+++ b/test/builder/Dockerfile
@@ -15,7 +15,7 @@
# specific language governing permissions and limitations
# under the License.
-FROM quay.io/kiegroup/kogito-swf-builder-nightly:latest AS builder
+FROM docker.io/apache/incubator-kie-sonataflow-builder:main AS builder
# Kogito User
USER 1001
diff --git a/test/testdata/sonataflow.org_v1alpha08_sonataflow-simpleops.yaml b/test/testdata/sonataflow.org_v1alpha08_sonataflow-simpleops.yaml
index d55f427..8c8de2a 100644
--- a/test/testdata/sonataflow.org_v1alpha08_sonataflow-simpleops.yaml
+++ b/test/testdata/sonataflow.org_v1alpha08_sonataflow-simpleops.yaml
@@ -25,7 +25,7 @@
spec:
podTemplate:
container:
- image: quay.io/kiegroup/sonataflow-minimal-example:latest
+ image: docker.io/apache/incubator-kie-sonataflow-minimal-example:latest
flow:
start: HelloWorld
states:
diff --git a/test/testdata/sonataflow.org_v1alpha08_sonataflowplatform_withCache_minikube.yaml b/test/testdata/sonataflow.org_v1alpha08_sonataflowplatform_withCache_minikube.yaml
index 76a1e02..adb4de8 100644
--- a/test/testdata/sonataflow.org_v1alpha08_sonataflowplatform_withCache_minikube.yaml
+++ b/test/testdata/sonataflow.org_v1alpha08_sonataflowplatform_withCache_minikube.yaml
@@ -22,6 +22,6 @@
spec:
build:
config:
- baseImage: quay.io/kiegroup/kogito-swf-builder-nightly:latest
+ baseImage: docker.io/apache/incubator-kie-sonataflow-builder:main
strategyOptions:
KanikoBuildCacheEnabled: "true"
diff --git a/testbdd/README.md b/testbdd/README.md
index cd31d60..00cc330 100644
--- a/testbdd/README.md
+++ b/testbdd/README.md
@@ -88,9 +88,9 @@
```
$ make
$ make container-build
-$ podman tag quay.io/kiegroup/kogito-serverless-operator-nightly:latest quay.io/{USERNAME}/kogito-serverless-operator-nightly:latest
-$ podman push quay.io/{USERNAME}/kogito-serverless-operator-nightly:latest
-$ make run-tests cr_deployment_only=true local_cluster=true operator_image_tag=quay.io/{USERNAME}/kogito-serverless-operator-nightly:latest
+$ podman tag docker.io/apache/incubator-kie-sonataflow-operator:main quay.io/{USERNAME}/incubator-kie-sonataflow-operator:latest
+$ podman push quay.io/{USERNAME}/incubator-kie-sonataflow-operator:latest
+$ make run-tests cr_deployment_only=true local_cluster=true operator_image_tag=quay.io/{USERNAME}/incubator-kie-sonataflow-operator:latest
```
**NOTE:** Replace {USERNAME} with the username/group you want to push to. Podman needs to be logged in to quay.io and be able to push to your username/group. If you want to use docker, just append `BUILDER=docker` to the `make container-build` command.
@@ -108,7 +108,7 @@
#### Running devMode tests
```bash
-make run-tests cr_deployment_only=true local_cluster=true show_scenarios=true tags=devMode namespace_name=my-namespace operator_image_tag=quay.io/kiegroup/kogito-serverless-operator-nightly:latest
+make run-tests cr_deployment_only=true local_cluster=true show_scenarios=true tags=devMode namespace_name=my-namespace operator_image_tag=docker.io/apache/incubator-kie-sonataflow-operator:latest
```
If you want to have a more readable format, you can specify the `format=pretty` parameter. You can also specify your own operator image. Namespace is always created automatically, however, you can provide its name as in the command above, otherwise it will be automatically generated.
diff --git a/testbdd/installers/sonataflow_installer.go b/testbdd/installers/sonataflow_installer.go
index 1b528bc..aa27415 100644
--- a/testbdd/installers/sonataflow_installer.go
+++ b/testbdd/installers/sonataflow_installer.go
@@ -33,7 +33,7 @@
srvframework "github.com/apache/incubator-kie-kogito-serverless-operator/testbdd/framework"
)
-const defaultOperatorImage = "quay.io/kiegroup/kogito-serverless-operator"
+const defaultOperatorImage = "docker.io/apache/incubator-kie-sonataflow-operator"
var (
// sonataFlowYamlClusterInstaller installs SonataFlow operator cluster wide using YAMLs
diff --git a/version/version.go b/version/version.go
index 942dc66..7321fb2 100644
--- a/version/version.go
+++ b/version/version.go
@@ -19,28 +19,26 @@
package version
-import (
- "strings"
-)
-
const (
- // Current version
- OperatorVersion = "999.0.0-snapshot"
+ // Use the script /hack/ci/bump-version.sh to update these constants. DO NOT UPDATE THEM MANUALLY!
- // Should not be changed
- snapshotSuffix = "snapshot"
- latestVersion = "999.0.0-snapshot"
+ // operatorVersion is the current BINARY version of the operator, not the image tag.
+ operatorVersion = "999.0.0"
+ // tagVersion is the images version tag.
+ // For example, docker.io/apache/incubator-kie-sonataflow-operator:main
+ //
+ // This tag must reflect an existing tag in the registry. In development, must follow the git branch naming.
+ // When released, this version should reflect the `major.minor` version in the registry.
+ // For example, docker.io/apache/incubator-kie-sonataflow-operator:10.0
+ tagVersion = "main"
)
-func IsSnapshot() bool {
- return strings.HasSuffix(OperatorVersion, snapshotSuffix)
+// GetOperatorVersion gets the current binary version of the operator. Do not use it to compose image tags!
+func GetOperatorVersion() string {
+ return operatorVersion
}
-func IsLatestVersion() bool {
- return latestVersion == OperatorVersion
-}
-
-func GetMajorMinor() string {
- v := strings.Split(OperatorVersion, ".")
- return v[0] + "." + v[1]
+// GetTagVersion gets the current tag version for the operator and platform images.
+func GetTagVersion() string {
+ return tagVersion
}