Skip to content

Commit

Permalink
📂 update OpenShift specific files
Browse files Browse the repository at this point in the history
  • Loading branch information
serverless-qe committed Sep 11, 2023
1 parent 26614eb commit a9175a9
Show file tree
Hide file tree
Showing 20 changed files with 9,097 additions and 8,492 deletions.
5 changes: 5 additions & 0 deletions .github/workflows/test-e2e-oncluster-runtime.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,11 @@ jobs:
run: ./hack/create-testing-func-image.sh
- name: Allocate Cluster
run: ./hack/allocate.sh
- name: Install RH pull secrets for KinD cluster
env:
RH_REG_USR: ${{ secrets.RH_REG_USR }}
RH_REG_PWD: ${{ secrets.RH_REG_PWD }}
run: ./hack/install-pull-secrets.sh
- name: Deploy Tekton
run: ./hack/tekton.sh
- name: Deploy Test Git Server
Expand Down
5 changes: 5 additions & 0 deletions .github/workflows/test-e2e-oncluster.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,11 @@ jobs:
run: ./hack/create-testing-func-image.sh
- name: Allocate Cluster
run: ./hack/allocate.sh
- name: Install RH pull secrets for KinD cluster
env:
RH_REG_USR: ${{ secrets.RH_REG_USR }}
RH_REG_PWD: ${{ secrets.RH_REG_PWD }}
run: ./hack/install-pull-secrets.sh
- name: Deploy Tekton
run: ./hack/tekton.sh
- name: Deploy Test Git Server
Expand Down
16,968 changes: 8,488 additions & 8,480 deletions generate/zz_filesystem_generated.go

Large diffs are not rendered by default.

28 changes: 28 additions & 0 deletions hack/install-pull-secrets.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#!/usr/bin/env bash

set -o errexit
set -o nounset
set -o pipefail

main() {
local -r tmp_docker_config="$(mktemp config.json-XXXXXXXX)"

cat <<EOF > "${tmp_docker_config}"
{
"auths": {
"registry.redhat.io": {
"auth": "$(echo -n "${RH_REG_USR}:${RH_REG_PWD}" | base64 -w0)"
}
}
}
EOF

local node
for node in $(kind get nodes --name "func"); do
tar -cf - "${tmp_docker_config}" --transform="flags=r;s|${tmp_docker_config}|config.json|" | \
docker cp - "${node}:/var/lib/kubelet/"
done
rm "${tmp_docker_config}"
}

main "$@"
85 changes: 85 additions & 0 deletions hack/openshift-pipelines.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
#!/usr/bin/env bash

# Copyright 2022 The OpenShift Knative Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

set -o errexit
set -o nounset
set -o pipefail

# source of tasks (in this case to the project root folder)
source_path=$(dirname $(cd $(dirname $0) && pwd ))

openshift_pipelines() {
echo "Installing Openshift Pipelines..."

PIPELINE_OPERATOR_DEFAULT_CHANNEL=$(oc get packagemanifests openshift-pipelines-operator-rh -n openshift-marketplace -o json | jq '.status.defaultChannel' | tr -d '"')
PIPELINE_OPERATOR_CHANNEL=${PIPELINE_OPERATOR_CHANNEL:-${PIPELINE_OPERATOR_DEFAULT_CHANNEL}}
PIPELINE_TARGET_VERSION=$(oc get packagemanifests openshift-pipelines-operator-rh -n openshift-marketplace -o json | CHANNEL=$PIPELINE_OPERATOR_CHANNEL jq '.status.channels[] | select(.name==env.CHANNEL) | .currentCSV')

echo Channel: $PIPELINE_OPERATOR_CHANNEL Target Version: $PIPELINE_TARGET_VERSION

cat << EOF | oc apply -f -
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
name: openshift-pipelines-operator-rh
namespace: openshift-operators
spec:
channel: $PIPELINE_OPERATOR_CHANNEL
name: openshift-pipelines-operator-rh
source: redhat-operators
sourceNamespace: openshift-marketplace
EOF

}

wait_pipelines_ready() {
echo "Waiting for Openshift Pipeline to get ready..."
rc=1
set +e
for i in $(seq 5); do
oc wait subscription.operators.coreos.com/openshift-pipelines-operator-rh -n openshift-operators --for=jsonpath='{.status.state}'="AtLatestKnown" --timeout=60s && \
oc wait pod --for=condition=Ready --timeout=180s -n openshift-pipelines -l "app=tekton-pipelines-controller" && \
oc wait pod --for=condition=Ready --timeout=180s -n openshift-pipelines -l "app=tekton-pipelines-webhook" && \
rc=0 && break || (echo "Conditions are not matched. Retrying in 10 secs" && sleep 10)
done
set -e
if (( $rc )); then
echo "Installing Openshift pipelines has failed"
exit 1
fi
}

tekton_tasks() {
echo "Creating Pipeline tasks..."
oc apply -f ${source_path}/pkg/pipelines/resources/tekton/task/func-deploy/0.1/func-deploy.yaml
oc apply -f ${source_path}/pkg/pipelines/resources/tekton/task/func-s2i/0.1/func-s2i.yaml
oc apply -f ${source_path}/pkg/pipelines/resources/tekton/task/func-buildpacks/0.1/func-buildpacks.yaml
}

tasks_only=false
if [[ $# -ge 1 && "$1" == "--tasks-only" ]]; then
tasks_only=true
elif [[ $# -ge 1 ]]; then
echo "Unknown parameters, use '--tasks-only' to only install Tekton Tasks"
fi

if [ $tasks_only = false ] ; then
openshift_pipelines
wait_pipelines_ready
fi
tekton_tasks

echo Done
13 changes: 13 additions & 0 deletions openshift/patches/0001-default-build.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
diff --git a/pkg/builders/builders.go b/pkg/builders/builders.go
index e172834c..44d00311 100644
--- a/pkg/builders/builders.go
+++ b/pkg/builders/builders.go
@@ -16,7 +16,7 @@ const (
Host = "host"
Pack = "pack"
S2I = "s2i"
- Default = Pack
+ Default = S2I
)

// Known builder names with a pretty-printed string representation
102 changes: 102 additions & 0 deletions openshift/patches/0002-quarkus-productized.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
diff --git a/templates/quarkus/cloudevents/pom.xml b/templates/quarkus/cloudevents/pom.xml
index 58abbb0a..f71561e3 100644
--- a/templates/quarkus/cloudevents/pom.xml
+++ b/templates/quarkus/cloudevents/pom.xml
@@ -7,12 +7,12 @@
<version>1.0.0-SNAPSHOT</version>
<properties>
<compiler-plugin.version>3.8.1</compiler-plugin.version>
- <maven.compiler.release>11</maven.compiler.release>
+ <maven.compiler.release>17</maven.compiler.release>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<quarkus.platform.artifact-id>quarkus-bom</quarkus.platform.artifact-id>
- <quarkus.platform.group-id>io.quarkus.platform</quarkus.platform.group-id>
- <quarkus.platform.version>3.3.1</quarkus.platform.version>
+ <quarkus.platform.group-id>com.redhat.quarkus.platform</quarkus.platform.group-id>
+ <quarkus.platform.version>2.13.8.SP1-redhat-00003</quarkus.platform.version>
<skipITs>true</skipITs>
<surefire-plugin.version>3.0.0-M7</surefire-plugin.version>
</properties>
@@ -51,6 +51,30 @@
<scope>test</scope>
</dependency>
</dependencies>
+ <repositories>
+ <repository>
+ <releases>
+ <enabled>true</enabled>
+ </releases>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ <id>redhat</id>
+ <url>https://maven.repository.redhat.com/ga</url>
+ </repository>
+ </repositories>
+ <pluginRepositories>
+ <pluginRepository>
+ <releases>
+ <enabled>true</enabled>
+ </releases>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ <id>redhat</id>
+ <url>https://maven.repository.redhat.com/ga</url>
+ </pluginRepository>
+ </pluginRepositories>
<build>
<plugins>
<plugin>
diff --git a/templates/quarkus/http/pom.xml b/templates/quarkus/http/pom.xml
index 58abbb0a..f71561e3 100644
--- a/templates/quarkus/http/pom.xml
+++ b/templates/quarkus/http/pom.xml
@@ -7,12 +7,12 @@
<version>1.0.0-SNAPSHOT</version>
<properties>
<compiler-plugin.version>3.8.1</compiler-plugin.version>
- <maven.compiler.release>11</maven.compiler.release>
+ <maven.compiler.release>17</maven.compiler.release>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<quarkus.platform.artifact-id>quarkus-bom</quarkus.platform.artifact-id>
- <quarkus.platform.group-id>io.quarkus.platform</quarkus.platform.group-id>
- <quarkus.platform.version>3.3.1</quarkus.platform.version>
+ <quarkus.platform.group-id>com.redhat.quarkus.platform</quarkus.platform.group-id>
+ <quarkus.platform.version>2.13.8.SP1-redhat-00003</quarkus.platform.version>
<skipITs>true</skipITs>
<surefire-plugin.version>3.0.0-M7</surefire-plugin.version>
</properties>
@@ -51,6 +51,30 @@
<scope>test</scope>
</dependency>
</dependencies>
+ <repositories>
+ <repository>
+ <releases>
+ <enabled>true</enabled>
+ </releases>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ <id>redhat</id>
+ <url>https://maven.repository.redhat.com/ga</url>
+ </repository>
+ </repositories>
+ <pluginRepositories>
+ <pluginRepository>
+ <releases>
+ <enabled>true</enabled>
+ </releases>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ <id>redhat</id>
+ <url>https://maven.repository.redhat.com/ga</url>
+ </pluginRepository>
+ </pluginRepositories>
<build>
<plugins>
<plugin>
11 changes: 11 additions & 0 deletions openshift/patches/0003-quarkus-java-version.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
diff --git a/templates/quarkus/manifest.yaml b/templates/quarkus/manifest.yaml
index 48668216..57cda2a2 100644
--- a/templates/quarkus/manifest.yaml
+++ b/templates/quarkus/manifest.yaml
@@ -1,4 +1,6 @@
buildEnvs:
+ - name: BP_JVM_VERSION
+ value: "17"
- name: BP_NATIVE_IMAGE
value: "false"
- name: BP_MAVEN_BUILT_ARTIFACT
42 changes: 42 additions & 0 deletions openshift/patches/0005-tekton-pipelines.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
diff --git a/pkg/pipelines/resources/tekton/task/func-buildpacks/0.1/func-buildpacks.yaml b/pkg/pipelines/resources/tekton/task/func-buildpacks/0.1/func-buildpacks.yaml
index ee227cf7..ac42d639 100644
--- a/pkg/pipelines/resources/tekton/task/func-buildpacks/0.1/func-buildpacks.yaml
+++ b/pkg/pipelines/resources/tekton/task/func-buildpacks/0.1/func-buildpacks.yaml
@@ -1,6 +1,6 @@
---
apiVersion: tekton.dev/v1beta1
-kind: Task
+kind: ClusterTask
metadata:
name: func-buildpacks
labels:
diff --git a/pkg/pipelines/resources/tekton/task/func-deploy/0.1/func-deploy.yaml b/pkg/pipelines/resources/tekton/task/func-deploy/0.1/func-deploy.yaml
index c58ff568..4658f04f 100644
--- a/pkg/pipelines/resources/tekton/task/func-deploy/0.1/func-deploy.yaml
+++ b/pkg/pipelines/resources/tekton/task/func-deploy/0.1/func-deploy.yaml
@@ -1,5 +1,5 @@
apiVersion: tekton.dev/v1beta1
-kind: Task
+kind: ClusterTask
metadata:
name: func-deploy
labels:
diff --git a/pkg/pipelines/resources/tekton/task/func-s2i/0.1/func-s2i.yaml b/pkg/pipelines/resources/tekton/task/func-s2i/0.1/func-s2i.yaml
index bf90adfa..7f9fe8fc 100644
--- a/pkg/pipelines/resources/tekton/task/func-s2i/0.1/func-s2i.yaml
+++ b/pkg/pipelines/resources/tekton/task/func-s2i/0.1/func-s2i.yaml
@@ -1,5 +1,5 @@
apiVersion: tekton.dev/v1beta1
-kind: Task
+kind: ClusterTask
metadata:
name: func-s2i
labels:
@@ -26,6 +26,7 @@ spec:
description: Reference of the image S2I will produce.
- name: REGISTRY
description: The registry associated with the function image.
+ default: ""
- name: PATH_CONTEXT
description: The location of the path to run s2i from.
default: .
22 changes: 22 additions & 0 deletions openshift/patches/0006-s2i-task-images.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
diff --git a/pkg/pipelines/resources/tekton/task/func-s2i/0.1/func-s2i.yaml b/pkg/pipelines/resources/tekton/task/func-s2i/0.1/func-s2i.yaml
index 696699580..7c25d5b67 100644
--- a/pkg/pipelines/resources/tekton/task/func-s2i/0.1/func-s2i.yaml
+++ b/pkg/pipelines/resources/tekton/task/func-s2i/0.1/func-s2i.yaml
@@ -60,7 +60,7 @@ spec:
description: Digest of the image just built.
steps:
- name: generate
- image: quay.io/openshift-pipeline/s2i:nightly
+ image: registry.redhat.io/ocp-tools-4-tech-preview/source-to-image-rhel8@sha256:98d8cb3a255641ca6a1bce854e5e2460c20de9fb9b28e3cc67eb459f122873dd
workingDir: $(workspaces.source.path)
args: ["$(params.ENV_VARS[*])"]
script: |
@@ -99,7 +99,7 @@ spec:
- mountPath: /env-vars
name: env-vars
- name: build
- image: quay.io/buildah/stable:v1.31.0
+ image: registry.redhat.io/rhel8/buildah@sha256:a1e5cc0fb334e333e5eab69689223e8bd1f0c060810d260603b26cf8c0da2023
workingDir: /gen-source
script: |
TLS_VERIFY_FLAG=""
Loading

0 comments on commit a9175a9

Please sign in to comment.