Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Operator version based on branch #2419

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
3240b29
chore: tagRelease.sh: bump to 1.6.0 in main branch + regen yarn.lock …
nickboldt Feb 11, 2025
c114627
chore(deps): update dependency turbo to v2.4.1 (#2368)
renovate[bot] Feb 12, 2025
7fd2b4d
chore(deps): update dependency prettier to v3.5.0 (#2369)
renovate[bot] Feb 12, 2025
5a17faf
chore(ci): use arm VM (ubuntu-24.04-arm) for building arm images (#2389)
kadel Feb 14, 2025
97db712
fix(deps): update opentelemetry-js (non-major) to v0.57.2 (#2388)
renovate[bot] Feb 14, 2025
3f8cfed
chore(deps): update dependency prettier to v3.5.1 (#2391)
renovate[bot] Feb 15, 2025
0c9fb2e
chore(deps): update dependency turbo to v2.4.2 (#2392)
renovate[bot] Feb 15, 2025
45a2999
chore(deps): update dependency @types/node to v20.17.19 (#2394)
renovate[bot] Feb 17, 2025
403e56a
chore(ci): don't fail pipeline when droute error (#2397)
zdrapela Feb 17, 2025
c20e46f
fix: fix auth providers timeouts (#2407)
albarbaro Feb 18, 2025
87c537e
chore(e2e): refactor periodic pipeline to include sanity plugins chec…
gustavolira Feb 18, 2025
b7c4887
chore(deps): update actions/create-github-app-token action to v1.11.5…
renovate[bot] Feb 18, 2025
1dd6624
fix(deps): update dependency octokit to v4.1.2 (#2393)
renovate[bot] Feb 18, 2025
3e3c64a
chore(e2e): rhidp-5634 Update audit log messages for e2e tests. (#2383)
gustavolira Feb 18, 2025
0a17447
feat(global-header): added config for default header components (#2263)
ciiay Feb 18, 2025
474904f
Revert "hide notifications from sidebar by default" (#2416)
christoph-jerolimov Feb 19, 2025
1a44aaf
chore(ci): use branch specific operator version for e2e
zdrapela Feb 19, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/link-checker.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ jobs:
with:
config-file: '.github/workflows/link-checker.config.json'
folder-path: 'docs/'
ignore: "https://code.visualstudio.com/docs/nodejs/nodejs-debugging" # Ignores known false positives

- name: Check markdown files in root
uses: gaurav-nelson/github-action-markdown-link-check@v1
Expand Down
21 changes: 15 additions & 6 deletions .github/workflows/next-build-image.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,13 +35,13 @@ env:
jobs:
build-image:
name: Build Image
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
platform:
- linux/amd64
- linux/arm64
os:
- ubuntu-24.04-arm
- ubuntu-24.04
runs-on: ${{ matrix.os }}
permissions:
contents: read
packages: write
Expand All @@ -54,12 +54,21 @@ jobs:

- name: Prepare
run: |
platform=${{ matrix.platform }}
if [ "${{ matrix.os }}" == "ubuntu-24.04" ]; then
platform="linux/amd64"
elif [ "${{ matrix.os }}" == "ubuntu-24.04-arm" ]; then
platform="linux/arm64"
else
echo "Unknown platform"
exit 1
fi

ref_name=${{ github.ref_name }}
if [ "$ref_name" == "main" ]; then
ref_name="next"
fi
echo "REF_NAME=$ref_name" >> $GITHUB_ENV
echo "PLATFORM=$platform" >> $GITHUB_ENV
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV
echo "PLATFORM_ARCH=${platform#*/}" >> $GITHUB_ENV

Expand All @@ -80,7 +89,7 @@ jobs:
type=raw,value=${{ env.REF_NAME }}-${{ env.SHORT_SHA }}-${{ env.PLATFORM_ARCH }}
imageLabels: quay.expires-after=14d
push: true
platform: ${{ matrix.platform }}
platform: ${{ env.PLATFORM }}

- name: Export digest
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/update-backstage.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ jobs:
steps:
- name: Generate token
id: generate-token
uses: actions/create-github-app-token@67e27a7eb7db372a1c61a7f9bdab8699e9ee57f7 # v1.11.3
uses: actions/create-github-app-token@0d564482f06ca65fa9e77e2510873638c82206f2 # v1.11.5
with:
app-id: ${{ secrets.RHDH_GITHUB_APP_ID }}
private-key: ${{ secrets.RHDH_GITHUB_APP_PRIVATE_KEY }}
Expand Down
1 change: 1 addition & 0 deletions .ibm/pipelines/env_variables.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ NAME_SPACE="${NAME_SPACE:-showcase}"
NAME_SPACE_RBAC="${NAME_SPACE_RBAC:-showcase-rbac}"
NAME_SPACE_RUNTIME="${NAME_SPACE_RUNTIME:-showcase-runtime}"
NAME_SPACE_POSTGRES_DB="${NAME_SPACE_POSTGRES_DB:-postgress-external-db}"
NAME_SPACE_SANITY_PLUGINS_CHECK="showcase-sanity-plugins"
OPERATOR_MANAGER='rhdh-operator'
CHART_VERSION="2.15.2" # Fixed version should be used for release branches.
GITHUB_APP_APP_ID=$(cat /tmp/secrets/GITHUB_APP_3_APP_ID)
Expand Down
7 changes: 6 additions & 1 deletion .ibm/pipelines/jobs/operator.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,12 @@ install_rhdh_operator() {
rm -f /tmp/install-rhdh-catalog-source.sh
curl -L https://raw.githubusercontent.com/redhat-developer/rhdh-operator/refs/heads/main/.rhdh/scripts/install-rhdh-catalog-source.sh > /tmp/install-rhdh-catalog-source.sh
chmod +x /tmp/install-rhdh-catalog-source.sh
bash -x /tmp/install-rhdh-catalog-source.sh --next --install-operator rhdh
if [ "$RELEASE_BRANCH_NAME" == "main" ]; then
bash -x /tmp/install-rhdh-catalog-source.sh --next --install-operator rhdh
else
local operator_version="${RELEASE_BRANCH_NAME#release-}"
bash -x /tmp/install-rhdh-catalog-source.sh -v "$operator_version" --install-operator rhdh
fi
}

deploy_rhdh_operator() {
Expand Down
14 changes: 5 additions & 9 deletions .ibm/pipelines/jobs/periodic.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@ handle_nightly() {

cluster_setup
initiate_deployments
# add_sanity_plugins_check
deploy_test_backstage_provider "${NAME_SPACE}"

run_standard_deployment_tests
run_runtime_config_change_tests
run_sanity_plugins_check

}

Expand All @@ -35,12 +35,8 @@ run_runtime_config_change_tests() {
check_and_test "${RELEASE_NAME}" "${NAME_SPACE_RUNTIME}" "${runtime_url}"
}

add_sanity_plugins_check() {
helm upgrade -i "${RELEASE_NAME}" -n "${NAME_SPACE}" \
"${HELM_REPO_NAME}/${HELM_IMAGE_NAME}" --version "${CHART_VERSION}" \
-f "${DIR}/value_files/${HELM_CHART_VALUE_FILE_NAME}" \
-f "${DIR}/value_files/sanity-check-plugins.yaml" \
--set global.clusterRouterBase="${K8S_CLUSTER_ROUTER_BASE}" \
--set upstream.backstage.image.repository="${QUAY_REPO}" \
--set upstream.backstage.image.tag="${TAG_NAME}"
run_sanity_plugins_check() {
initiate_sanity_plugin_checks_deployment "${RELEASE_NAME}" "${NAME_SPACE_SANITY_PLUGINS_CHECK}"
local sanity_plugins_url="https://${RELEASE_NAME}-backstage-${NAME_SPACE_SANITY_PLUGINS_CHECK}.${K8S_CLUSTER_ROUTER_BASE}"
check_and_test "${RELEASE_NAME}" "${NAME_SPACE_SANITY_PLUGINS_CHECK}" "${sanity_plugins_url}"
}
27 changes: 19 additions & 8 deletions .ibm/pipelines/utils.sh
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,7 @@ droute_send() {
if [[ "${OPENSHIFT_CI}" != "true" ]]; then return 0; fi
temp_kubeconfig=$(mktemp) # Create temporary KUBECONFIG to open second `oc` session
( # Open subshell
if [ -n "${PULL_NUMBER:-}" ]; then
set +e
fi
set +e
export KUBECONFIG="$temp_kubeconfig"
local droute_version="1.2.2"
local release_name=$1
Expand Down Expand Up @@ -185,9 +183,7 @@ droute_send() {
set -e
fi
oc exec -n "${droute_project}" "${droute_pod_name}" -- /bin/bash -c "rm -rf ${temp_droute}/*"
if [ -n "${PULL_NUMBER:-}" ]; then
set -e
fi
set -e
) # Close subshell
rm -f "$temp_kubeconfig" # Destroy temporary KUBECONFIG
oc whoami --show-server
Expand Down Expand Up @@ -271,7 +267,7 @@ wait_for_svc(){
local svc_name=$1
local namespace=$2
local timeout=${3:-300}

timeout "${timeout}" bash -c "
echo ${svc_name}
while ! oc get svc $svc_name -n $namespace &> /dev/null; do
Expand Down Expand Up @@ -670,7 +666,7 @@ install_acm_operator(){
wait_for_svc multiclusterhub-operator-webhook open-cluster-management
oc apply -f "${DIR}/cluster/operators/acm/multiclusterhub.yaml"
# wait until multiclusterhub is Running.
timeout 900 bash -c 'while true; do
timeout 900 bash -c 'while true; do
CURRENT_PHASE=$(oc get multiclusterhub multiclusterhub -n open-cluster-management -o jsonpath="{.status.phase}")
echo "MulticlusterHub Current Status: $CURRENT_PHASE"
[[ "$CURRENT_PHASE" == "Running" ]] && echo "MulticlusterHub is now in Running phase." && break
Expand Down Expand Up @@ -805,6 +801,21 @@ initiate_runtime_deployment() {
--set upstream.backstage.image.tag="${TAG_NAME}"
}

initiate_sanity_plugin_checks_deployment() {
configure_namespace "${NAME_SPACE_SANITY_PLUGINS_CHECK}"
uninstall_helmchart "${NAME_SPACE_SANITY_PLUGINS_CHECK}" "${RELEASE_NAME}"
oc apply -f "$DIR/resources/redis-cache/redis-deployment.yaml" --namespace="${NAME_SPACE_SANITY_PLUGINS_CHECK}"
apply_yaml_files "${DIR}" "${NAME_SPACE_SANITY_PLUGINS_CHECK}" "${sanity_plugins_url}"
helm upgrade -i "${RELEASE_NAME}" \
-n "${NAME_SPACE_SANITY_PLUGINS_CHECK}" "${HELM_REPO_NAME}/${HELM_IMAGE_NAME}" \
--version "${CHART_VERSION}" \
-f "${DIR}/value_files/${HELM_CHART_VALUE_FILE_NAME}" \
-f "${DIR}/value_files/sanity-check-plugins.yaml" \
--set global.clusterRouterBase="${K8S_CLUSTER_ROUTER_BASE}" \
--set upstream.backstage.image.repository="${QUAY_REPO}" \
--set upstream.backstage.image.tag="${TAG_NAME}"
}

check_and_test() {
local release_name=$1
local namespace=$2
Expand Down
71 changes: 50 additions & 21 deletions .ibm/pipelines/value_files/sanity-check-plugins.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,27 @@ global:
disabled: false
- package: ./dynamic-plugins/dist/roadiehq-backstage-plugin-argo-cd-backend-dynamic
disabled: false
pluginConfig:
argocd:
username: "temp"
password: "temp"
appLocatorMethods:
- type: 'config'
instances:
- name: argoInstance1
url: "temp"
- package: ./dynamic-plugins/dist/roadiehq-scaffolder-backend-argocd-dynamic
disabled: false
disabled: true
pluginConfig:
argocd:
username: "temp"
password: "temp"
appLocatorMethods:
- type: 'config'
instances:
- name: argoInstance1
url: "temp"
token: "temp"
- package: ./dynamic-plugins/dist/roadiehq-backstage-plugin-argo-cd
disabled: false
- package: ./dynamic-plugins/dist/backstage-community-plugin-redhat-argocd
Expand All @@ -30,6 +49,13 @@ global:
disabled: false
- package: ./dynamic-plugins/dist/backstage-community-plugin-jenkins-backend-dynamic
disabled: false
pluginConfig:
jenkins:
instances:
- name: default
baseUrl: 'temp'
username: 'temp'
apiKey: 'temp'
- package: ./dynamic-plugins/dist/backstage-community-plugin-jenkins
disabled: false
- package: ./dynamic-plugins/dist/backstage-plugin-notifications
Expand All @@ -38,18 +64,27 @@ global:
disabled: false
- package: ./dynamic-plugins/dist/backstage-plugin-notifications-backend-module-email-dynamic
disabled: false
pluginConfig:
notifications:
processors:
email:
transportConfig:
sender: 'temp'
- package: ./dynamic-plugins/dist/backstage-plugin-signals-backend-dynamic
disabled: false
- package: ./dynamic-plugins/dist/backstage-plugin-signals
disabled: false
- package: ./dynamic-plugins/dist/backstage-community-plugin-sonarqube-backend-dynamic
disabled: false
- package: ./dynamic-plugins/dist/backstage-community-plugin-sonarqube
disabled: false
pluginConfig:
sonarqube:
baseUrl: 'temp'
apiKey: 'temp'
instances:
- name: default
instanceKey: 'mySonarqube'
baseUrl: 'https://default-sonarqube.example.com'
apiKey: '123456789abcdef0123456789abcedf012'
- package: ./dynamic-plugins/dist/backstage-community-plugin-sonarqube
disabled: false
- package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-dynamic-home-page
disabled: false
- package: ./dynamic-plugins/dist/backstage-plugin-techdocs-backend-dynamic
Expand Down Expand Up @@ -91,28 +126,22 @@ global:
disabled: false
- package: ./dynamic-plugins/dist/backstage-community-plugin-3scale-backend-dynamic
disabled: false
pluginConfig:
catalog:
providers:
threeScaleApiEntity:
default:
baseUrl: 'temp'
accessToken: 'temp'
- package: ./dynamic-plugins/dist/backstage-plugin-scaffolder-backend-module-bitbucket-cloud-dynamic
disabled: false
- package: ./dynamic-plugins/dist/backstage-plugin-catalog-backend-module-bitbucket-cloud-dynamic
disabled: false
- package: ./dynamic-plugins/dist/backstage-plugin-scaffolder-backend-module-bitbucket-server-dynamic
disabled: false
- package: ./dynamic-plugins/dist/backstage-plugin-catalog-backend-module-bitbucket-server-dynamic
disabled: false
pluginConfig:
# https://backstage.io/docs/integrations/bitbucketServer/discovery#configuration
# https://backstage.io/docs/integrations/bitbucketCloud/discovery#configuration
catalog:
providers:
bitbucketServer:
bitbucketCloud:
default: # identifies your ingested dataset
host: 'temp'
schedule:
frequency:
minutes: 30
initialDelay:
minutes: 1
timeout:
minutes: 3
workspace: 'temp'
- package: ./dynamic-plugins/dist/backstage-community-plugin-dynatrace
disabled: false
- package: ./dynamic-plugins/dist/roadiehq-backstage-plugin-jira
Expand Down
3 changes: 3 additions & 0 deletions .ibm/pipelines/value_files/values_showcase-rbac.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,9 @@ global:
disabled: false
- package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-bulk-import
disabled: false
# Disable global header plugin for now. See https://issues.redhat.com/browse/RHIDP-5474
- package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-global-header
disabled: true
- package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-dynamic-home-page
disabled: false
# Enable tech-radar plugin.
Expand Down
3 changes: 3 additions & 0 deletions .ibm/pipelines/value_files/values_showcase.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,9 @@ global:
disabled: false
- package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-bulk-import
disabled: false
# Disable global header plugin for now. See https://issues.redhat.com/browse/RHIDP-5474
- package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-global-header
disabled: true
# Enable tech-radar plugins.
- package: ./dynamic-plugins/dist/backstage-community-plugin-tech-radar
disabled: false
Expand Down
3 changes: 1 addition & 2 deletions app-config.dynamic-plugins.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -256,8 +256,7 @@ dynamicPlugins:
- mountPoint: application/header
importName: GlobalHeader
config:
layout:
position: above-main-content
position: above-main-content # above-main-content | above-sidebar
red-hat-developer-hub.backstage-plugin-global-floating-action-button:
mountPoints:
- mountPoint: application/listener
Expand Down
5 changes: 2 additions & 3 deletions docs/dynamic-plugins/frontend-plugin-wiring.md
Original file line number Diff line number Diff line change
Expand Up @@ -386,15 +386,14 @@ dynamicPlugins:
- mountPoint: application/header # mount point for a global header
importName: <header_component> # e.g., `GlobalHeader` for `red-hat-developer-hub.backstage-plugin-global-header`
config:
layout:
position: above-main-content # options: `above-main-content` or `above-sidebar`
position: above-main-content # options: `above-main-content` or `above-sidebar`
```

Each global header entry requires the following attributes:

- `mountPoint`: Defines where the header will be added. Use `application/header` to specify it as a global header.
- `importName`: Specifies the component exported by the global header plugin (e.g., `GlobalHeader`).
- `config.layout.position`: Determines the header's position. Supported values are:
- `config.position`: Determines the header's position. Supported values are:
- `above-main-content`: Positions the header above the main content area.
- `above-sidebar`: Positions the header above the sidebar.

Expand Down
Loading
Loading