From 20c08bddd070301aa2e3d20e49a161def688f0f9 Mon Sep 17 00:00:00 2001 From: Jan Richter Date: Tue, 3 Mar 2026 13:36:28 +0100 Subject: [PATCH] ci: move dynamic plugin config to configmaps --- .../cluster/aks/aks-helm-deployment.sh | 1 + .../cluster/aks/aks-operator-deployment.sh | 1 + .../cluster/eks/eks-helm-deployment.sh | 1 + .../cluster/eks/eks-operator-deployment.sh | 1 + .../cluster/gke/gke-helm-deployment.sh | 1 + .../cluster/gke/gke-operator-deployment.sh | 1 + .ci/pipelines/env_variables.sh | 11 +- .ci/pipelines/lib/config.sh | 47 +++ .../diff-dynamic-plugins-sanity.yaml | 211 ++++++++++ ...dynamic-plugins-showcase-rbac_OSD-GCP.yaml | 10 + .../diff-dynamic-plugins-showcase_AKS.yaml | 12 + .../diff-dynamic-plugins-showcase_EKS.yaml | 12 + .../diff-dynamic-plugins-showcase_GKE.yaml | 51 +++ ...diff-dynamic-plugins-showcase_OSD-GCP.yaml | 12 + .../dynamic-plugins-showcase-rbac.yaml | 344 +++++++++++++++++ .../config_map/dynamic-plugins-showcase.yaml | 334 ++++++++++++++++ .ci/pipelines/utils.sh | 11 +- .../diff-values_showcase-rbac_OSD-GCP.yaml | 13 - .../value_files/diff-values_showcase_AKS.yaml | 14 - .../value_files/diff-values_showcase_EKS.yaml | 13 - .../value_files/diff-values_showcase_GKE.yaml | 53 --- .../diff-values_showcase_OSD-GCP.yaml | 15 +- .../value_files/values_showcase-rbac.yaml | 361 +----------------- .../value_files/values_showcase.yaml | 351 +---------------- 24 files changed, 1071 insertions(+), 810 deletions(-) create mode 100644 .ci/pipelines/resources/config_map/diff-dynamic-plugins-sanity.yaml create mode 100644 .ci/pipelines/resources/config_map/diff-dynamic-plugins-showcase-rbac_OSD-GCP.yaml create mode 100644 .ci/pipelines/resources/config_map/diff-dynamic-plugins-showcase_AKS.yaml create mode 100644 .ci/pipelines/resources/config_map/diff-dynamic-plugins-showcase_EKS.yaml create mode 100644 .ci/pipelines/resources/config_map/diff-dynamic-plugins-showcase_GKE.yaml create mode 100644 .ci/pipelines/resources/config_map/diff-dynamic-plugins-showcase_OSD-GCP.yaml create mode 100644 .ci/pipelines/resources/config_map/dynamic-plugins-showcase-rbac.yaml create mode 100644 .ci/pipelines/resources/config_map/dynamic-plugins-showcase.yaml diff --git a/.ci/pipelines/cluster/aks/aks-helm-deployment.sh b/.ci/pipelines/cluster/aks/aks-helm-deployment.sh index ea580ced98..207cab3f9b 100644 --- a/.ci/pipelines/cluster/aks/aks-helm-deployment.sh +++ b/.ci/pipelines/cluster/aks/aks-helm-deployment.sh @@ -18,6 +18,7 @@ initiate_aks_helm_deployment() { cd "${DIR}" || exit local rhdh_base_url="https://${K8S_CLUSTER_ROUTER_BASE}" + config::merge_plugin_configs "merge" "${DIR}/resources/config_map/${SHOWCASE_DYNAMIC_PLUGINS_FILE_NAME}" "${DIR}/resources/config_map/${SHOWCASE_DYNAMIC_PLUGINS_AKS_DIFF_FILE_NAME}" "${DIR}/resources/config_map/${SHOWCASE_DYNAMIC_PLUGINS_FILE_NAME}" apply_yaml_files "${DIR}" "${NAME_SPACE}" "${rhdh_base_url}" helm::merge_values "merge" "${DIR}/value_files/${HELM_CHART_VALUE_FILE_NAME}" "${DIR}/value_files/${HELM_CHART_AKS_DIFF_VALUE_FILE_NAME}" "/tmp/${HELM_CHART_K8S_MERGED_VALUE_FILE_NAME}" common::save_artifact "${NAME_SPACE}" "/tmp/${HELM_CHART_K8S_MERGED_VALUE_FILE_NAME}" diff --git a/.ci/pipelines/cluster/aks/aks-operator-deployment.sh b/.ci/pipelines/cluster/aks/aks-operator-deployment.sh index 9232f36c61..0c94ff7874 100644 --- a/.ci/pipelines/cluster/aks/aks-operator-deployment.sh +++ b/.ci/pipelines/cluster/aks/aks-operator-deployment.sh @@ -18,6 +18,7 @@ initiate_aks_operator_deployment() { namespace::configure "${namespace}" deploy_redis_cache "${namespace}" # deploy_test_backstage_customization_provider "${namespace}" # Doesn't work on K8s + config::merge_plugin_configs "merge" "${DIR}/resources/config_map/${SHOWCASE_DYNAMIC_PLUGINS_FILE_NAME}" "${DIR}/resources/config_map/${SHOWCASE_DYNAMIC_PLUGINS_AKS_DIFF_FILE_NAME}" "${DIR}/resources/config_map/${SHOWCASE_DYNAMIC_PLUGINS_FILE_NAME}" apply_yaml_files "${DIR}" "${namespace}" "${rhdh_base_url}" log::info "Creating and applying ConfigMap for dynamic plugins" diff --git a/.ci/pipelines/cluster/eks/eks-helm-deployment.sh b/.ci/pipelines/cluster/eks/eks-helm-deployment.sh index 88e91cdf6e..bf644926a5 100644 --- a/.ci/pipelines/cluster/eks/eks-helm-deployment.sh +++ b/.ci/pipelines/cluster/eks/eks-helm-deployment.sh @@ -19,6 +19,7 @@ initiate_eks_helm_deployment() { namespace::setup_image_pull_secret "${NAME_SPACE}" "rh-pull-secret" "${REGISTRY_REDHAT_IO_SERVICE_ACCOUNT_DOCKERCONFIGJSON}" local rhdh_base_url="https://${K8S_CLUSTER_ROUTER_BASE}" + config::merge_plugin_configs "merge" "${DIR}/resources/config_map/${SHOWCASE_DYNAMIC_PLUGINS_FILE_NAME}" "${DIR}/resources/config_map/${SHOWCASE_DYNAMIC_PLUGINS_EKS_DIFF_FILE_NAME}" "${DIR}/resources/config_map/${SHOWCASE_DYNAMIC_PLUGINS_FILE_NAME}" apply_yaml_files "${DIR}" "${NAME_SPACE}" "${rhdh_base_url}" envsubst < "${DIR}/value_files/${HELM_CHART_EKS_DIFF_VALUE_FILE_NAME}" > "/tmp/${HELM_CHART_EKS_DIFF_VALUE_FILE_NAME}" helm::merge_values "merge" "${DIR}/value_files/${HELM_CHART_VALUE_FILE_NAME}" "/tmp/${HELM_CHART_EKS_DIFF_VALUE_FILE_NAME}" "/tmp/${HELM_CHART_K8S_MERGED_VALUE_FILE_NAME}" diff --git a/.ci/pipelines/cluster/eks/eks-operator-deployment.sh b/.ci/pipelines/cluster/eks/eks-operator-deployment.sh index ee3580ceb6..23836384cd 100644 --- a/.ci/pipelines/cluster/eks/eks-operator-deployment.sh +++ b/.ci/pipelines/cluster/eks/eks-operator-deployment.sh @@ -16,6 +16,7 @@ initiate_eks_operator_deployment() { namespace::configure "${namespace}" deploy_redis_cache "${namespace}" # deploy_test_backstage_customization_provider "${namespace}" # Doesn't work on K8s + config::merge_plugin_configs "merge" "${DIR}/resources/config_map/${SHOWCASE_DYNAMIC_PLUGINS_FILE_NAME}" "${DIR}/resources/config_map/${SHOWCASE_DYNAMIC_PLUGINS_EKS_DIFF_FILE_NAME}" "${DIR}/resources/config_map/${SHOWCASE_DYNAMIC_PLUGINS_FILE_NAME}" apply_yaml_files "${DIR}" "${namespace}" "${rhdh_base_url}" log::info "Creating and applying ConfigMap for dynamic plugins" diff --git a/.ci/pipelines/cluster/gke/gke-helm-deployment.sh b/.ci/pipelines/cluster/gke/gke-helm-deployment.sh index 19fe83de4e..c3846c19c8 100644 --- a/.ci/pipelines/cluster/gke/gke-helm-deployment.sh +++ b/.ci/pipelines/cluster/gke/gke-helm-deployment.sh @@ -19,6 +19,7 @@ initiate_gke_helm_deployment() { cd "${DIR}" || exit local rhdh_base_url="https://${K8S_CLUSTER_ROUTER_BASE}" + config::merge_plugin_configs "merge" "${DIR}/resources/config_map/${SHOWCASE_DYNAMIC_PLUGINS_FILE_NAME}" "${DIR}/resources/config_map/${SHOWCASE_DYNAMIC_PLUGINS_GKE_DIFF_FILE_NAME}" "${DIR}/resources/config_map/${SHOWCASE_DYNAMIC_PLUGINS_FILE_NAME}" apply_yaml_files "${DIR}" "${NAME_SPACE}" "${rhdh_base_url}" apply_gke_frontend_config "${NAME_SPACE}" helm::merge_values "merge" "${DIR}/value_files/${HELM_CHART_VALUE_FILE_NAME}" "${DIR}/value_files/${HELM_CHART_GKE_DIFF_VALUE_FILE_NAME}" "/tmp/${HELM_CHART_K8S_MERGED_VALUE_FILE_NAME}" diff --git a/.ci/pipelines/cluster/gke/gke-operator-deployment.sh b/.ci/pipelines/cluster/gke/gke-operator-deployment.sh index b3ba9913e7..1cb8516990 100644 --- a/.ci/pipelines/cluster/gke/gke-operator-deployment.sh +++ b/.ci/pipelines/cluster/gke/gke-operator-deployment.sh @@ -20,6 +20,7 @@ initiate_gke_operator_deployment() { namespace::configure "${namespace}" deploy_redis_cache "${namespace}" # deploy_test_backstage_customization_provider "${namespace}" # Doesn't work on K8s + config::merge_plugin_configs "merge" "${DIR}/resources/config_map/${SHOWCASE_DYNAMIC_PLUGINS_FILE_NAME}" "${DIR}/resources/config_map/${SHOWCASE_DYNAMIC_PLUGINS_GKE_DIFF_FILE_NAME}" "${DIR}/resources/config_map/${SHOWCASE_DYNAMIC_PLUGINS_FILE_NAME}" apply_yaml_files "${DIR}" "${namespace}" "${rhdh_base_url}" apply_gke_frontend_config "${namespace}" diff --git a/.ci/pipelines/env_variables.sh b/.ci/pipelines/env_variables.sh index 43fc700373..56615e431c 100755 --- a/.ci/pipelines/env_variables.sh +++ b/.ci/pipelines/env_variables.sh @@ -38,8 +38,15 @@ HELM_CHART_EKS_DIFF_VALUE_FILE_NAME="diff-values_showcase_EKS.yaml" HELM_CHART_RBAC_EKS_DIFF_VALUE_FILE_NAME="diff-values_showcase-rbac_EKS.yaml" HELM_CHART_OSD_GCP_DIFF_VALUE_FILE_NAME="diff-values_showcase_OSD-GCP.yaml" HELM_CHART_RBAC_OSD_GCP_DIFF_VALUE_FILE_NAME="diff-values_showcase-rbac_OSD-GCP.yaml" -HELM_CHART_SANITY_PLUGINS_DIFF_VALUE_FILE_NAME="diff-values_showcase-sanity-plugins.yaml" -HELM_CHART_SANITY_PLUGINS_MERGED_VALUE_FILE_NAME="merged-values_showcase-sanity-plugins.yaml" + +SHOWCASE_DYNAMIC_PLUGINS_FILE_NAME="dynamic-plugins-showcase.yaml" +SHOWCASE_RBAC_DYNAMIC_PLUGINS_FILE_NAME="dynamic-plugins-showcase-rbac.yaml" +SHOWCASE_DYNAMIC_PLUGINS_SANITY_DIFF_FILE_NAME="diff-dynamic-plugins-sanity.yaml" +SHOWCASE_DYNAMIC_PLUGINS_AKS_DIFF_FILE_NAME="diff-dynamic-plugins-showcase_AKS.yaml" +SHOWCASE_DYNAMIC_PLUGINS_EKS_DIFF_FILE_NAME="diff-dynamic-plugins-showcase_EKS.yaml" +SHOWCASE_DYNAMIC_PLUGINS_GKE_DIFF_FILE_NAME="diff-dynamic-plugins-showcase_GKE.yaml" +SHOWCASE_DYNAMIC_PLUGINS_OSD_GCP_DIFF_FILE_NAME="diff-dynamic-plugins-showcase_OSD_GCP.yaml" +SHOWCASE_RBAC_DYNAMIC_PLUGINS_OSD_GCP_DIFF_FILE_NAME="diff-dynamic-plugins-showcase-rbac_OSD_GCP.yaml" HELM_CHART_URL="oci://quay.io/rhdh/chart" K8S_CLUSTER_TOKEN_ENCODED=$(printf "%s" $K8S_CLUSTER_TOKEN | base64 | tr -d '\n') diff --git a/.ci/pipelines/lib/config.sh b/.ci/pipelines/lib/config.sh index 94aba4efa6..250da0c3da 100644 --- a/.ci/pipelines/lib/config.sh +++ b/.ci/pipelines/lib/config.sh @@ -140,3 +140,50 @@ config::prepare_operator_app_config() { yq e -i '.permission.rbac.conditionalPoliciesFile = "./rbac/conditional-policies.yaml"' "${config_file}" return $? } + +# Merge two dynamic plugin config YAML files +# Args: +# $1 - plugin_operation: "merge" to combine plugins, "overwrite" to replace +# $2 - base_file: Path to the base config file +# $3 - diff_file: Path to the differences file +# $4 - final_file: Output path for the merged file +# Returns: +# 0 - Success +# 1 - Invalid operation specified +config::merge_plugin_configs() { + local plugin_operation=$1 + local base_file=$2 + local diff_file=$3 + local final_file=$4 + local temp_file="$final_file.tmp" + + if [[ -z "$plugin_operation" || -z "$base_file" || -z "$diff_file" || -z "$final_file" ]]; then + log::error "Missing required parameters" + log::info "Usage: helm::merge_values " + return 1 + fi + + if [[ "$plugin_operation" != "merge" && "$plugin_operation" != "overwrite" ]]; then + log::error "Invalid operation with plugins key: $plugin_operation (expected 'merge' or 'overwrite')" + return 1 + fi + + if [[ "$base_file" == "$final_file" ]]; then + rm -f "$temp_file" + mv "$final_file" "$temp_file" + base_file=$temp_file + fi + + if [[ "$plugin_operation" == "merge" ]]; then + yq eval-all ' + select(fileIndex == 0) *+ select(fileIndex == 1) | + .plugins |= (reverse | unique_by(.package) | reverse) + ' "${base_file}" "${diff_file}" > "${final_file}" + elif [[ "$plugin_operation" == "overwrite" ]]; then + yq eval-all ' + select(fileIndex == 0) * select(fileIndex == 1) + ' "${base_file}" "${diff_file}" > "${final_file}" + fi + + rm -f "$temp_file" +} diff --git a/.ci/pipelines/resources/config_map/diff-dynamic-plugins-sanity.yaml b/.ci/pipelines/resources/config_map/diff-dynamic-plugins-sanity.yaml new file mode 100644 index 0000000000..d929693bd4 --- /dev/null +++ b/.ci/pipelines/resources/config_map/diff-dynamic-plugins-sanity.yaml @@ -0,0 +1,211 @@ +plugins: + # sanity check https://issues.redhat.com/browse/RHIDP-5301 + - package: ./dynamic-plugins/dist/backstage-plugin-catalog-backend-module-gitlab-org-dynamic + disabled: false + - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/roadiehq-backstage-plugin-github-insights:bs_1.45.3__3.4.1!roadiehq-backstage-plugin-github-insights + disabled: false + - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/roadiehq-backstage-plugin-security-insights:bs_1.45.3__3.3.1!roadiehq-backstage-plugin-security-insights + disabled: false + - package: ./dynamic-plugins/dist/backstage-plugin-scaffolder-backend-module-gitlab-dynamic + disabled: false + - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/immobiliarelabs-backstage-plugin-gitlab:bs_1.45.3__6.13.0!immobiliarelabs-backstage-plugin-gitlab + 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: true + pluginConfig: + argocd: + username: "temp" + password: "temp" + appLocatorMethods: + - type: "config" + instances: + - name: argoInstance1 + url: "temp" + token: "temp" + - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-argocd:bs_1.45.3__2.4.0 + disabled: false + - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-plugin-scaffolder-backend-module-azure:bs_1.45.3__0.2.15!backstage-plugin-scaffolder-backend-module-azure + disabled: false + - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-azure-devops-backend:bs_1.45.3__0.23.0!backstage-community-plugin-azure-devops-backend + disabled: false + - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-azure-devops:bs_1.45.3__0.23.0!backstage-community-plugin-azure-devops + disabled: false + - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-jenkins-backend:bs_1.45.3__0.22.0!backstage-community-plugin-jenkins-backend + disabled: false + pluginConfig: + jenkins: + instances: + - name: default + baseUrl: "temp" + username: "temp" + apiKey: "temp" + - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-jenkins:bs_1.45.3__0.26.0!backstage-community-plugin-jenkins + disabled: false + - package: ./dynamic-plugins/dist/backstage-plugin-notifications + disabled: false + - package: ./dynamic-plugins/dist/backstage-plugin-notifications-backend-dynamic + 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: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-sonarqube-backend:bs_1.45.3__0.15.0!backstage-community-plugin-sonarqube-backend + disabled: false + pluginConfig: + sonarqube: + instances: + - name: default + instanceKey: "mySonarqube" + baseUrl: "https://default-sonarqube.example.com" + apiKey: "123456789abcdef0123456789abcedf012" + - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-sonarqube:bs_1.45.3__0.21.0!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 + disabled: false + - package: ./dynamic-plugins/dist/backstage-plugin-techdocs + disabled: false + - package: ./dynamic-plugins/dist/backstage-plugin-techdocs-module-addons-contrib + disabled: false + pluginConfig: + dynamicPlugins: + frontend: + backstage.plugin-techdocs-module-addons-contrib: + techdocsAddons: + - importName: ReportIssue + - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/pagerduty-backstage-plugin:bs_1.45.3__0.16.4!pagerduty-backstage-plugin + disabled: true + - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/pagerduty-backstage-plugin-backend:bs_1.45.3__0.10.1!pagerduty-backstage-plugin-backend + disabled: true + pluginConfig: + pagerDuty: + apiBaseUrl: "temp" + oauth: + clientId: "temp" + clientSecret: "temp" + subDomain: "temp" + - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-plugin-scaffolder-backend-module-gerrit:bs_1.45.3__0.2.15!backstage-plugin-scaffolder-backend-module-gerrit + disabled: false + - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/roadiehq-scaffolder-backend-module-utils:bs_1.45.3__4.1.1!roadiehq-scaffolder-backend-module-utils + disabled: false + - package: ./dynamic-plugins/dist/backstage-community-plugin-scaffolder-backend-module-kubernetes-dynamic + disabled: false + - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-scaffolder-backend-module-quay:bs_1.45.3__2.14.0!backstage-community-plugin-scaffolder-backend-module-quay + disabled: false + - package: ./dynamic-plugins/dist/backstage-community-plugin-scaffolder-backend-module-regex-dynamic + disabled: false + - package: ./dynamic-plugins/dist/backstage-community-plugin-scaffolder-backend-module-servicenow-dynamic + disabled: true + pluginConfig: + servicenow: + # The base url of the ServiceNow instance. + baseUrl: "temp" + # The username to use for authentication. + username: "temp" + # The password to use for authentication. + password: "temp" + - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-scaffolder-backend-module-sonarqube:bs_1.45.3__2.11.0!backstage-community-plugin-scaffolder-backend-module-sonarqube + disabled: false + - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-3scale-backend:bs_1.45.3__3.10.0!backstage-community-plugin-3scale-backend + disabled: true + pluginConfig: + catalog: + providers: + threeScaleApiEntity: + default: + baseUrl: "temp" + accessToken: "temp" + - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-plugin-scaffolder-backend-module-bitbucket-cloud:bs_1.45.3__0.2.15!backstage-plugin-scaffolder-backend-module-bitbucket-cloud + disabled: false + pluginConfig: + # https://backstage.io/docs/integrations/bitbucketCloud/discovery#configuration + catalog: + providers: + bitbucketCloud: + default: # identifies your ingested dataset + workspace: "temp" + - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-dynatrace:bs_1.45.3__10.12.1!backstage-community-plugin-dynatrace + disabled: false + - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/roadiehq-backstage-plugin-jira:bs_1.45.3__2.14.0!roadiehq-backstage-plugin-jira + disabled: false + - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/roadiehq-backstage-plugin-datadog:bs_1.45.3__2.6.0!roadiehq-backstage-plugin-datadog + disabled: false + - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-nexus-repository-manager:bs_1.45.3__1.19.3!backstage-community-plugin-nexus-repository-manager + disabled: false + - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-jfrog-artifactory:bs_1.45.3__1.24.0!backstage-community-plugin-jfrog-artifactory + disabled: false + - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-lighthouse:bs_1.45.3__0.16.0!backstage-community-plugin-lighthouse + disabled: false + - package: ./dynamic-plugins/dist/backstage-community-plugin-analytics-provider-segment + disabled: false + - package: ./dynamic-plugins/dist/backstage-community-plugin-catalog-backend-module-scaffolder-relation-processor-dynamic + disabled: false + - package: ./dynamic-plugins/dist/backstage-plugin-catalog-backend-module-msgraph-dynamic + disabled: false + pluginConfig: + catalog: + providers: + microsoftGraphOrg: + providerId: + target: https://graph.microsoft.com/v1.0 + tenantId: temp + clientId: temp + clientSecret: temp + schedule: + # Let's perform a single execution per test run + frequency: + hours: 24 + initialDelay: + seconds: 15 + timeout: + minutes: 15 + - package: ./dynamic-plugins/dist/backstage-plugin-catalog-backend-module-ldap-dynamic + disabled: false + pluginConfig: + catalog: + providers: + ldapOrg: + default: + target: temp + bind: + dn: temp + secret: temp + users: + - dn: temp + options: + filter: (uid=*) + groups: + - dn: temp + options: + filter: (cn=*) + schedule: + # Let's perform a single execution per test run + frequency: + hours: 24 + initialDelay: + seconds: 15 + timeout: + minutes: 15 + + - package: ./dynamic-plugins/dist/backstage-community-plugin-catalog-backend-module-pingidentity-dynamic + disabled: false diff --git a/.ci/pipelines/resources/config_map/diff-dynamic-plugins-showcase-rbac_OSD-GCP.yaml b/.ci/pipelines/resources/config_map/diff-dynamic-plugins-showcase-rbac_OSD-GCP.yaml new file mode 100644 index 0000000000..b0ccd152a9 --- /dev/null +++ b/.ci/pipelines/resources/config_map/diff-dynamic-plugins-showcase-rbac_OSD-GCP.yaml @@ -0,0 +1,10 @@ +plugins: + # Disable orchestrator plugins for OSD-GCP + - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-orchestrator:bs_1.45.3__5.1.0!red-hat-developer-hub-backstage-plugin-orchestrator" + disabled: true + - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-orchestrator-backend:bs_1.45.3__8.3.0!red-hat-developer-hub-backstage-plugin-orchestrator-backend" + disabled: true + - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-scaffolder-backend-module-orchestrator:bs_1.45.3__1.3.1!red-hat-developer-hub-backstage-plugin-scaffolder-backend-module-orchestrator" + disabled: true + - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-orchestrator-form-widgets:bs_1.45.3__1.2.0!red-hat-developer-hub-backstage-plugin-orchestrator-form-widgets" + disabled: true diff --git a/.ci/pipelines/resources/config_map/diff-dynamic-plugins-showcase_AKS.yaml b/.ci/pipelines/resources/config_map/diff-dynamic-plugins-showcase_AKS.yaml new file mode 100644 index 0000000000..050658d95b --- /dev/null +++ b/.ci/pipelines/resources/config_map/diff-dynamic-plugins-showcase_AKS.yaml @@ -0,0 +1,12 @@ +plugins: + - package: ./dynamic-plugins/dist/backstage-community-plugin-catalog-backend-module-scaffolder-relation-processor-dynamic + disabled: false + # Disable orchestrator plugins for AKS + - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-orchestrator:bs_1.45.3__5.1.0!red-hat-developer-hub-backstage-plugin-orchestrator" + disabled: true + - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-orchestrator-backend:bs_1.45.3__8.3.0!red-hat-developer-hub-backstage-plugin-orchestrator-backend" + disabled: true + - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-scaffolder-backend-module-orchestrator:bs_1.45.3__1.3.1!red-hat-developer-hub-backstage-plugin-scaffolder-backend-module-orchestrator" + disabled: true + - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-orchestrator-form-widgets:bs_1.45.3__1.2.0!red-hat-developer-hub-backstage-plugin-orchestrator-form-widgets" + disabled: true \ No newline at end of file diff --git a/.ci/pipelines/resources/config_map/diff-dynamic-plugins-showcase_EKS.yaml b/.ci/pipelines/resources/config_map/diff-dynamic-plugins-showcase_EKS.yaml new file mode 100644 index 0000000000..1ff361ebfb --- /dev/null +++ b/.ci/pipelines/resources/config_map/diff-dynamic-plugins-showcase_EKS.yaml @@ -0,0 +1,12 @@ +plugins: + - package: ./dynamic-plugins/dist/backstage-community-plugin-catalog-backend-module-scaffolder-relation-processor-dynamic + disabled: false + # Disable orchestrator plugins for EKS + - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-orchestrator:bs_1.45.3__5.1.0!red-hat-developer-hub-backstage-plugin-orchestrator" + disabled: true + - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-orchestrator-backend:bs_1.45.3__8.3.0!red-hat-developer-hub-backstage-plugin-orchestrator-backend" + disabled: true + - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-scaffolder-backend-module-orchestrator:bs_1.45.3__1.3.1!red-hat-developer-hub-backstage-plugin-scaffolder-backend-module-orchestrator" + disabled: true + - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-orchestrator-form-widgets:bs_1.45.3__1.2.0!red-hat-developer-hub-backstage-plugin-orchestrator-form-widgets" + disabled: true \ No newline at end of file diff --git a/.ci/pipelines/resources/config_map/diff-dynamic-plugins-showcase_GKE.yaml b/.ci/pipelines/resources/config_map/diff-dynamic-plugins-showcase_GKE.yaml new file mode 100644 index 0000000000..32779e97c0 --- /dev/null +++ b/.ci/pipelines/resources/config_map/diff-dynamic-plugins-showcase_GKE.yaml @@ -0,0 +1,51 @@ +plugins: + # Disable plugins to save disk space on GKE + # These plugins correspond to tests that are ignored in showcase-k8s project + # See e2e-tests/playwright.config.ts lines 109-125 + + # Tekton - test ignored + # Test file: e2e-tests/playwright/e2e/plugins/tekton/tekton.spec.ts + - package: ./dynamic-plugins/dist/backstage-community-plugin-tekton + disabled: true + + # OCM - test ignored + # Test file: e2e-tests/playwright/e2e/plugins/ocm.spec.ts (currently doesn't exist) + - package: ./dynamic-plugins/dist/backstage-community-plugin-ocm-backend-dynamic + disabled: true + - package: ./dynamic-plugins/dist/backstage-community-plugin-ocm + disabled: true + + # Dynamic Home Page - test ignored + # Test file: e2e-tests/playwright/e2e/dynamic-home-page-customization.spec.ts + - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-dynamic-home-page + disabled: true + + # Scorecard - test ignored + # Test file: e2e-tests/playwright/e2e/plugins/scorecard/scorecard.spec.ts + - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-scorecard:pr_1499__0.1.0!red-hat-developer-hub-backstage-plugin-scorecard + disabled: true + + # Adoption Insights - large plugin (~300MB) causing disk space issues + # This plugin IS tested on showcase-k8s normally, but disabled on GKE to save disk space + # Test skipped on GKE: e2e-tests/playwright/e2e/plugins/adoption-insights/adoption-insights.spec.ts + - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-adoption-insights + disabled: true + - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-adoption-insights-backend-dynamic + disabled: true + - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-analytics-module-adoption-insights-dynamic + disabled: true + + # Orchestrator - large OCI plugins causing disk space issues + # Tests skipped on GKE: e2e-tests/playwright/e2e/plugins/orchestrator/*.spec.ts + - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-orchestrator:bs_1.45.3__5.1.0!red-hat-developer-hub-backstage-plugin-orchestrator" + disabled: true + - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-orchestrator-backend:bs_1.45.3__8.3.0!red-hat-developer-hub-backstage-plugin-orchestrator-backend" + disabled: true + - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-scaffolder-backend-module-orchestrator:bs_1.45.3__1.3.1!red-hat-developer-hub-backstage-plugin-scaffolder-backend-module-orchestrator" + disabled: true + - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-orchestrator-form-widgets:bs_1.45.3__1.2.0!red-hat-developer-hub-backstage-plugin-orchestrator-form-widgets" + disabled: true + + # Scaffolder relation processor - keep enabled for K8s + - package: ./dynamic-plugins/dist/backstage-community-plugin-catalog-backend-module-scaffolder-relation-processor-dynamic + disabled: false \ No newline at end of file diff --git a/.ci/pipelines/resources/config_map/diff-dynamic-plugins-showcase_OSD-GCP.yaml b/.ci/pipelines/resources/config_map/diff-dynamic-plugins-showcase_OSD-GCP.yaml new file mode 100644 index 0000000000..33c0f218e5 --- /dev/null +++ b/.ci/pipelines/resources/config_map/diff-dynamic-plugins-showcase_OSD-GCP.yaml @@ -0,0 +1,12 @@ +global: + dynamic: + plugins: + # Disable orchestrator plugins for OSD-GCP + - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-orchestrator:bs_1.45.3__5.1.0!red-hat-developer-hub-backstage-plugin-orchestrator" + disabled: true + - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-orchestrator-backend:bs_1.45.3__8.3.0!red-hat-developer-hub-backstage-plugin-orchestrator-backend" + disabled: true + - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-scaffolder-backend-module-orchestrator:bs_1.45.3__1.3.1!red-hat-developer-hub-backstage-plugin-scaffolder-backend-module-orchestrator" + disabled: true + - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-orchestrator-form-widgets:bs_1.45.3__1.2.0!red-hat-developer-hub-backstage-plugin-orchestrator-form-widgets" + disabled: true diff --git a/.ci/pipelines/resources/config_map/dynamic-plugins-showcase-rbac.yaml b/.ci/pipelines/resources/config_map/dynamic-plugins-showcase-rbac.yaml new file mode 100644 index 0000000000..7f9087d8fc --- /dev/null +++ b/.ci/pipelines/resources/config_map/dynamic-plugins-showcase-rbac.yaml @@ -0,0 +1,344 @@ +includes: + - dynamic-plugins.default.yaml +plugins: + # Enforce new quick start configuration for now but normally this should not be required. + # FIXME: remove this again. + - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-quickstart + disabled: false + pluginConfig: + app: + quickstart: + - title: Set up authentication + titleKey: steps.setupAuthentication.title + icon: Admin + description: Set up secure login credentials to protect your account from unauthorized access. + descriptionKey: steps.setupAuthentication.description + cta: + text: Learn more + textKey: steps.setupAuthentication.ctaTitle + link: https://docs.redhat.com/en/documentation/red_hat_developer_hub/latest/html/authentication_in_red_hat_developer_hub/ + - title: Configure RBAC + titleKey: steps.configureRbac.title + icon: Rbac + description: + Assign roles and permissions to control who can view, create, or edit resources, ensuring secure and + efficient collaboration. + descriptionKey: steps.configureRbac.description + cta: + text: Manage access + textKey: steps.configureRbac.ctaTitle + link: /rbac + - title: Configure Git + titleKey: steps.configureGit.title + icon: Git + description: + Connect your Git providers, such as GitHub to manage code, automate workflows, and integrate with platform + features. + descriptionKey: steps.configureGit.description + cta: + text: Learn more + textKey: steps.configureGit.ctaTitle + link: https://docs.redhat.com/en/documentation/red_hat_developer_hub/latest/html/integrating_red_hat_developer_hub_with_github/ + - title: Manage plugins + titleKey: steps.managePlugins.title + icon: Plugins + description: Browse and install extensions to add features, connect with external tools, and customize your experience. + descriptionKey: steps.managePlugins.description + cta: + text: Explore plugins + textKey: steps.managePlugins.ctaTitle + link: /extensions + - title: Import application + roles: + - developer + icon: Import + description: + Import your existing code and services into the catalog to organize and access them through your developer + portal. + cta: + text: Import + link: /bulk-import/repositories + - title: Learn about the Catalog + roles: + - developer + icon: Catalog + description: Discover all software components, services, and APIs, and view their owners and documentation. + cta: + text: View Catalog + link: /catalog + - title: Explore Self-service templates + roles: + - developer + icon: SelfService + description: Use our self-service templates to quickly set up new projects, services, or documentation. + cta: + text: Explore templates + link: /create + - title: Find all Learning Paths + roles: + - developer + icon: Learning + description: + Integrate tailored e-learning into your workflows with Learning Paths to accelerate onboarding, close + skill gaps, and promote best practices. + cta: + text: View Learning Paths + link: /learning-paths + dynamicPlugins: + frontend: + red-hat-developer-hub.backstage-plugin-quickstart: + translationResources: + - importName: quickstartTranslations + module: Alpha + ref: quickstartTranslationRef + mountPoints: + - mountPoint: application/provider + importName: QuickstartDrawerProvider + - mountPoint: application/internal/drawer-state + importName: QuickstartDrawerStateExposer + - mountPoint: application/internal/drawer-content + importName: QuickstartDrawerContent + config: + id: quickstart + - mountPoint: global.header/help + importName: QuickstartButton + config: + priority: 100 + - package: ./dynamic-plugins/dist/backstage-plugin-catalog-backend-module-github-dynamic + disabled: false + pluginConfig: + catalog: + providers: + github: + my-test-org: + organization: janus-qe + catalogPath: "/catalog-info.yaml" + schedule: + frequency: + hours: 24 + timeout: + minutes: 1 + initialDelay: + seconds: 15 + - package: ./dynamic-plugins/dist/backstage-plugin-catalog-backend-module-github-org-dynamic + disabled: false + pluginConfig: + catalog: + providers: + githubOrg: + id: production + githubUrl: ${GITHUB_URL} + orgs: + - ${GITHUB_ORG} + - ${GITHUB_ORG_2} + schedule: + frequency: + hours: 24 + initialDelay: + seconds: 15 + timeout: + minutes: 15 + - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-github-issues:bs_1.45.3__0.16.0!backstage-community-plugin-github-issues + disabled: false + - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/roadiehq-backstage-plugin-github-pull-requests:bs_1.45.3__3.6.2!roadiehq-backstage-plugin-github-pull-requests + disabled: false + - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-github-actions:bs_1.45.3__0.18.0!backstage-community-plugin-github-actions + disabled: false + - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-quay-backend:bs_1.45.3__1.10.1!backstage-community-plugin-quay-backend + disabled: false + pluginConfig: + quay: + apiUrl: https://quay.io + - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-quay:bs_1.45.3__1.28.1!backstage-community-plugin-quay + disabled: false + pluginConfig: + dynamicPlugins: + frontend: + backstage-community.plugin-quay: + mountPoints: + - mountPoint: entity.page.image-registry/cards + importName: QuayPage + config: + layout: + gridColumn: 1 / -1 + if: + anyOf: + - isQuayAvailable + - package: ./dynamic-plugins/dist/backstage-community-plugin-catalog-backend-module-keycloak-dynamic + disabled: false + - package: ./dynamic-plugins/dist/backstage-community-plugin-tekton + disabled: false + - package: ./dynamic-plugins/dist/backstage-community-plugin-topology + disabled: false + - package: ./dynamic-plugins/dist/backstage-plugin-kubernetes + disabled: false + - package: ./dynamic-plugins/dist/backstage-plugin-kubernetes-backend-dynamic + disabled: false + pluginConfig: + kubernetes: + clusterLocatorMethods: + - clusters: + - authProvider: serviceAccount + name: "my-cluster" + serviceAccountToken: ${K8S_CLUSTER_TOKEN_ENCODED} + url: ${K8S_CLUSTER_API_SERVER_URL} + skipTLSVerify: true + type: config + customResources: + # Add for tekton + - apiVersion: "v1beta1" + group: "tekton.dev" + plural: "pipelines" + - apiVersion: v1beta1 + group: tekton.dev + plural: pipelineruns + - apiVersion: v1beta1 + group: tekton.dev + plural: taskruns + # Add for topology plugin + - apiVersion: "v1" + group: "route.openshift.io" + plural: "routes" + serviceLocatorMethod: + type: multiTenant + # Enable Bulk import plugins. + - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-bulk-import-backend-dynamic + disabled: false + - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-bulk-import + disabled: false + - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-global-header + disabled: false + # Enable tech-radar plugin. + - package: ./dynamic-plugins/dist/backstage-community-plugin-tech-radar + disabled: false + - package: ./dynamic-plugins/dist/backstage-community-plugin-tech-radar-backend-dynamic + disabled: false + - package: ./dynamic-plugins/dist/backstage-community-plugin-rbac + disabled: false + pluginConfig: + dynamicPlugins: + frontend: + backstage-community.plugin-rbac: + translationResources: + - importName: rbacTranslations + ref: rbacTranslationRef + module: Alpha + appIcons: + - name: rbacIcon + importName: RbacIcon + dynamicRoutes: + - path: /rbac + importName: RbacPage + menuItem: + icon: rbacIcon + text: RBAC + textKey: menuItem.rbac + menuItems: + rbac: + parent: default.admin + icon: rbacIcon + - package: ./dynamic-plugins/dist/backstage-community-plugin-analytics-provider-segment + disabled: true + #Enable Scorecard plugin. + - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-scorecard:bs_1.45.3__2.3.5!red-hat-developer-hub-backstage-plugin-scorecard + disabled: false + pluginConfig: + dynamicPlugins: + frontend: + red-hat-developer-hub.backstage-plugin-scorecard: + entityTabs: + - path: "/scorecard" + title: Scorecard + mountPoint: entity.page.scorecard + mountPoints: + - mountPoint: entity.page.scorecard/cards + importName: EntityScorecardContent + config: + layout: + gridColumn: 1 / -1 + - mountPoint: home.page/cards + importName: ScorecardHomepageCard + config: + id: "scorecard-jira.open_issues" + title: "Jira open blocking tickets" + props: { metricId: "jira.open_issues" } + - mountPoint: home.page/cards + importName: ScorecardHomepageCard + config: + id: "scorecard-github.open_prs" + title: "GitHub open PRs" + props: { metricId: "github.open_prs" } + - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-scorecard-backend:bs_1.45.3__2.3.5!red-hat-developer-hub-backstage-plugin-scorecard-backend + disabled: false + - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-scorecard-backend-module-github:bs_1.45.3__2.3.5!red-hat-developer-hub-backstage-plugin-scorecard-backend-module-github + disabled: false + - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-scorecard-backend-module-jira:bs_1.45.3__2.3.5!red-hat-developer-hub-backstage-plugin-scorecard-backend-module-jira + pluginConfig: + jira: + baseUrl: https://redhat-team-f703ynt3.atlassian.net + token: ${JIRA_TOKEN} + product: cloud + disabled: false + - disabled: false + package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-dynamic-home-page:bs_1.45.3__1.10.3!red-hat-developer-hub-backstage-plugin-dynamic-home-page + pluginConfig: + dynamicPlugins: + frontend: + red-hat-developer-hub.backstage-plugin-dynamic-home-page: + dynamicRoutes: + - path: / + importName: DynamicCustomizableHomePage + - disabled: true + package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-dynamic-home-page + + # Enable orchestrator plugins - Official release + - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-orchestrator:bs_1.45.3__5.1.0!red-hat-developer-hub-backstage-plugin-orchestrator" + disabled: false + pluginConfig: + dynamicPlugins: + frontend: + red-hat-developer-hub.backstage-plugin-orchestrator: + appIcons: + - importName: OrchestratorIcon + name: orchestratorIcon + dynamicRoutes: + - importName: OrchestratorPage + menuItem: + icon: orchestratorIcon + text: Orchestrator + textKey: menuItem.orchestrator + path: /orchestrator + entityTabs: + - path: /workflows + title: Workflows + titleKey: catalog.entityPage.workflows.title + mountPoint: entity.page.workflows + mountPoints: + - mountPoint: entity.page.workflows/cards + importName: OrchestratorCatalogTab + config: + layout: + gridColumn: "1 / -1" + if: + anyOf: + - IsOrchestratorCatalogTabAvailable + - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-orchestrator-backend:bs_1.45.3__8.3.0!red-hat-developer-hub-backstage-plugin-orchestrator-backend" + disabled: false + pluginConfig: + orchestrator: + dataIndexService: + url: http://sonataflow-platform-data-index-service + + - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-scaffolder-backend-module-orchestrator:bs_1.45.3__1.3.1!red-hat-developer-hub-backstage-plugin-scaffolder-backend-module-orchestrator" + disabled: false + pluginConfig: + orchestrator: + dataIndexService: + url: http://sonataflow-platform-data-index-service + + - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-orchestrator-form-widgets:bs_1.45.3__1.2.0!red-hat-developer-hub-backstage-plugin-orchestrator-form-widgets" + disabled: false + pluginConfig: + dynamicPlugins: + frontend: + red-hat-developer-hub.backstage-plugin-orchestrator-form-widgets: {} diff --git a/.ci/pipelines/resources/config_map/dynamic-plugins-showcase.yaml b/.ci/pipelines/resources/config_map/dynamic-plugins-showcase.yaml new file mode 100644 index 0000000000..ffac72c34a --- /dev/null +++ b/.ci/pipelines/resources/config_map/dynamic-plugins-showcase.yaml @@ -0,0 +1,334 @@ +includes: + - dynamic-plugins.default.yaml +plugins: + # Enforce new quick start configuration for now but normally this should not be required. + # FIXME: remove this again. + - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-quickstart + disabled: false + pluginConfig: + app: + quickstart: + - title: Set up authentication + titleKey: steps.setupAuthentication.title + icon: Admin + description: Set up secure login credentials to protect your account from unauthorized access. + descriptionKey: steps.setupAuthentication.description + cta: + text: Learn more + textKey: steps.setupAuthentication.ctaTitle + link: https://docs.redhat.com/en/documentation/red_hat_developer_hub/latest/html/authentication_in_red_hat_developer_hub/ + - title: Configure RBAC + titleKey: steps.configureRbac.title + icon: Rbac + description: + Assign roles and permissions to control who can view, create, or edit resources, ensuring secure and + efficient collaboration. + descriptionKey: steps.configureRbac.description + cta: + text: Manage access + textKey: steps.configureRbac.ctaTitle + link: /rbac + - title: Configure Git + titleKey: steps.configureGit.title + icon: Git + description: + Connect your Git providers, such as GitHub to manage code, automate workflows, and integrate with platform + features. + descriptionKey: steps.configureGit.description + cta: + text: Learn more + textKey: steps.configureGit.ctaTitle + link: https://docs.redhat.com/en/documentation/red_hat_developer_hub/latest/html/integrating_red_hat_developer_hub_with_github/ + - title: Manage plugins + titleKey: steps.managePlugins.title + icon: Plugins + description: Browse and install extensions to add features, connect with external tools, and customize your experience. + descriptionKey: steps.managePlugins.description + cta: + text: Explore plugins + textKey: steps.managePlugins.ctaTitle + link: /extensions + - title: Import application + roles: + - developer + icon: Import + description: + Import your existing code and services into the catalog to organize and access them through your developer + portal. + cta: + text: Import + link: /bulk-import/repositories + - title: Learn about the Catalog + roles: + - developer + icon: Catalog + description: Discover all software components, services, and APIs, and view their owners and documentation. + cta: + text: View Catalog + link: /catalog + - title: Explore Self-service templates + roles: + - developer + icon: SelfService + description: Use our self-service templates to quickly set up new projects, services, or documentation. + cta: + text: Explore templates + link: /create + - title: Find all Learning Paths + roles: + - developer + icon: Learning + description: + Integrate tailored e-learning into your workflows with Learning Paths to accelerate onboarding, close + skill gaps, and promote best practices. + cta: + text: View Learning Paths + link: /learning-paths + dynamicPlugins: + frontend: + red-hat-developer-hub.backstage-plugin-quickstart: + translationResources: + - importName: quickstartTranslations + module: Alpha + ref: quickstartTranslationRef + mountPoints: + - mountPoint: application/provider + importName: QuickstartDrawerProvider + - mountPoint: application/internal/drawer-state + importName: QuickstartDrawerStateExposer + - mountPoint: application/internal/drawer-content + importName: QuickstartDrawerContent + config: + id: quickstart + - mountPoint: global.header/help + importName: QuickstartButton + config: + priority: 100 + - package: ./dynamic-plugins/dist/backstage-plugin-scaffolder-backend-module-github-dynamic + disabled: false + - package: ./dynamic-plugins/dist/backstage-plugin-catalog-backend-module-github-dynamic + disabled: false + - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-application-provider-test:bs_1.45.3__0.6.0!red-hat-developer-hub-backstage-plugin-application-provider-test + pluginConfig: + dynamicPlugins: + frontend: + red-hat-developer-hub.backstage-plugin-application-provider-test: + dynamicRoutes: + - path: /application-provider-test-page + importName: TestPage + mountPoints: + - mountPoint: application/provider + importName: TestProviderOne + - mountPoint: application/provider + importName: TestProviderTwo + - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-application-listener-test:bs_1.45.3__0.6.0!red-hat-developer-hub-backstage-plugin-application-listener-test + pluginConfig: + dynamicPlugins: + frontend: + red-hat-developer-hub.backstage-plugin-application-listener-test: + mountPoints: + - mountPoint: application/listener + importName: LocationListener + - package: ./dynamic-plugins/dist/backstage-plugin-catalog-backend-module-github-org-dynamic + disabled: false + pluginConfig: + catalog: + providers: + githubOrg: + id: production + githubUrl: ${GITHUB_URL} + orgs: + - ${GITHUB_ORG} + - ${GITHUB_ORG_2} + schedule: + frequency: + hours: 24 + initialDelay: + seconds: 15 + timeout: + minutes: 15 + - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-github-issues:bs_1.45.3__0.16.0!backstage-community-plugin-github-issues + disabled: false + - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/roadiehq-backstage-plugin-github-pull-requests:bs_1.45.3__3.6.2!roadiehq-backstage-plugin-github-pull-requests + disabled: false + - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-github-actions:bs_1.45.3__0.18.0!backstage-community-plugin-github-actions + disabled: false + - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-quay-backend:bs_1.45.3__1.10.1!backstage-community-plugin-quay-backend + disabled: false + pluginConfig: + quay: + apiUrl: https://quay.io + - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-quay:bs_1.45.3__1.28.1!backstage-community-plugin-quay + disabled: false + pluginConfig: + dynamicPlugins: + frontend: + backstage-community.plugin-quay: + mountPoints: + - mountPoint: entity.page.image-registry/cards + importName: QuayPage + config: + layout: + gridColumn: 1 / -1 + if: + anyOf: + - isQuayAvailable + - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-scaffolder-backend-module-quay:bs_1.45.3__2.14.0!backstage-community-plugin-scaffolder-backend-module-quay + disabled: false + - package: ./dynamic-plugins/dist/backstage-community-plugin-catalog-backend-module-keycloak-dynamic + disabled: false + - package: ./dynamic-plugins/dist/backstage-community-plugin-tekton + disabled: false + - package: ./dynamic-plugins/dist/backstage-plugin-kubernetes + disabled: false + - package: ./dynamic-plugins/dist/backstage-plugin-kubernetes-backend-dynamic + disabled: false + pluginConfig: + kubernetes: + clusterLocatorMethods: + - clusters: + - authProvider: serviceAccount + name: "my-cluster" + serviceAccountToken: ${K8S_CLUSTER_TOKEN_ENCODED} + url: ${K8S_CLUSTER_API_SERVER_URL} + type: config + customResources: + # Add for tekton + - apiVersion: "v1" + group: "tekton.dev" + plural: "pipelines" + - apiVersion: v1 + group: tekton.dev + plural: pipelineruns + - apiVersion: v1 + group: tekton.dev + plural: taskruns + # Add for topology plugin + - apiVersion: "v1" + group: "route.openshift.io" + plural: "routes" + serviceLocatorMethod: + type: multiTenant + # Enable bulk import plugins. + - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-bulk-import-backend-dynamic + disabled: false + - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-bulk-import + disabled: false + - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-global-header + disabled: false + # Enable an extra header test plugin + - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-global-header-test:bs_1.45.3__0.7.0!red-hat-developer-hub-backstage-plugin-global-header-test + pluginConfig: + dynamicPlugins: + frontend: + red-hat-developer-hub.backstage-plugin-global-header-test: + mountPoints: + - mountPoint: application/header + importName: TestHeader + config: + position: above-main-content + - mountPoint: global.header/component + importName: TestButton + config: + priority: 95 + # Enable notifications plugins. + - package: ./dynamic-plugins/dist/backstage-plugin-notifications + disabled: false + - package: ./dynamic-plugins/dist/backstage-plugin-notifications-backend-dynamic + disabled: false + - package: ./dynamic-plugins/dist/backstage-plugin-signals-backend-dynamic + disabled: false + - package: ./dynamic-plugins/dist/backstage-plugin-signals + disabled: false + # Enable tech-radar plugins. + - package: ./dynamic-plugins/dist/backstage-community-plugin-tech-radar + disabled: false + - package: ./dynamic-plugins/dist/backstage-community-plugin-tech-radar-backend-dynamic + disabled: false + - package: ./dynamic-plugins/dist/backstage-plugin-techdocs-module-addons-contrib + disabled: false + pluginConfig: + dynamicPlugins: + frontend: + backstage.plugin-techdocs-module-addons-contrib: + techdocsAddons: + - importName: ReportIssue + - package: ./dynamic-plugins/dist/backstage-community-plugin-acr + disabled: false + - package: ./dynamic-plugins/dist/backstage-community-plugin-scaffolder-backend-module-kubernetes-dynamic + disabled: false + - package: ./dynamic-plugins/dist/roadiehq-scaffolder-backend-module-http-request-dynamic + disabled: false + - package: ./dynamic-plugins/dist/backstage-community-plugin-catalog-backend-module-scaffolder-relation-processor-dynamic + disabled: false + - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/immobiliarelabs-backstage-plugin-gitlab-backend:bs_1.45.3__6.13.0!immobiliarelabs-backstage-plugin-gitlab-backend + disabled: false + - package: ./dynamic-plugins/dist/backstage-plugin-catalog-backend-module-gitlab-dynamic + disabled: false + - package: ./dynamic-plugins/dist/backstage-community-plugin-topology + disabled: false + - package: "@pataknight/backstage-plugin-rhdh-qe-theme@0.5.5" + disabled: false + integrity: sha512-srTnFDYn3Ett6z33bX4nL2NQY8wqux8TkpgBQNsE8S73nMfsor/wAdmVgHL+xW7pxQ09DT4YTdaG3GkH+cyyNQ== + - package: "@backstage-community/plugin-todo@0.2.42" + disabled: false + integrity: sha512-agmfwxHkZPy0zaXzjMKY9Us9l7J2og+z7p2lDWQBmlJ1KZRo6OBQdnlG1mTEryfEEl/bx5Ko+f1PhFj2/BmiIQ== + - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-catalog-backend-module-extensions-dynamic + disabled: false + - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-extensions-backend-dynamic + disabled: false + - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-extensions + disabled: false + - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-global-floating-action-button + disabled: false + # Enable orchestrator plugins + - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-orchestrator:bs_1.45.3__5.1.0!red-hat-developer-hub-backstage-plugin-orchestrator" + disabled: false + pluginConfig: + dynamicPlugins: + frontend: + red-hat-developer-hub.backstage-plugin-orchestrator: + appIcons: + - importName: OrchestratorIcon + name: orchestratorIcon + dynamicRoutes: + - importName: OrchestratorPage + menuItem: + icon: orchestratorIcon + text: Orchestrator + textKey: menuItem.orchestrator + path: /orchestrator + entityTabs: + - path: /workflows + title: Workflows + titleKey: catalog.entityPage.workflows.title + mountPoint: entity.page.workflows + mountPoints: + - mountPoint: entity.page.workflows/cards + importName: OrchestratorCatalogTab + config: + layout: + gridColumn: "1 / -1" + if: + anyOf: + - IsOrchestratorCatalogTabAvailable + - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-orchestrator-backend:bs_1.45.3__8.3.0!red-hat-developer-hub-backstage-plugin-orchestrator-backend" + disabled: false + pluginConfig: + orchestrator: + dataIndexService: + url: http://sonataflow-platform-data-index-service + + - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-scaffolder-backend-module-orchestrator:bs_1.45.3__1.3.1!red-hat-developer-hub-backstage-plugin-scaffolder-backend-module-orchestrator" + disabled: false + pluginConfig: + orchestrator: + dataIndexService: + url: http://sonataflow-platform-data-index-service + + - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-orchestrator-form-widgets:bs_1.45.3__1.2.0!red-hat-developer-hub-backstage-plugin-orchestrator-form-widgets" + disabled: false + pluginConfig: + dynamicPlugins: + frontend: + red-hat-developer-hub.backstage-plugin-orchestrator-form-widgets: {} \ No newline at end of file diff --git a/.ci/pipelines/utils.sh b/.ci/pipelines/utils.sh index 9d07fe9194..35146fdd9d 100755 --- a/.ci/pipelines/utils.sh +++ b/.ci/pipelines/utils.sh @@ -305,6 +305,13 @@ apply_yaml_files() { common::create_configmap_from_file "dynamic-plugins-config" "$project" \ "dynamic-plugins-config.yaml" "$dir/resources/config_map/dynamic-plugins-config.yaml" + local plugin_config="dynamic-plugins-showcase" + if [[ "${project}" == *rbac* ]]; then + plugin_config="$plugin_config-rbac" + fi + common::create_configmap_from_file "$plugin_config" "$project" \ + "dynamic-plugins.yaml" "$dir/resources/config_map/$plugin_config.yaml" + if [[ "$JOB_NAME" == *operator* ]] && [[ "${project}" == *rbac* ]]; then common::create_configmap_from_files "rbac-policy" "$project" \ "rbac-policy.csv=$dir/resources/config_map/rbac-policy.csv" \ @@ -621,6 +628,7 @@ base_deployment_osd_gcp() { cd "${DIR}" local rhdh_base_url="https://${RELEASE_NAME}-developer-hub-${NAME_SPACE}.${K8S_CLUSTER_ROUTER_BASE}" + config::merge_plugin_configs "merge" "${DIR}/resources/config_map/${SHOWCASE_DYNAMIC_PLUGINS_FILE_NAME}" "${DIR}/resources/config_map/${SHOWCASE_DYNAMIC_PLUGINS_OSD_GCP_DIFF_FILE_NAME}" "${DIR}/resources/config_map/${SHOWCASE_DYNAMIC_PLUGINS_FILE_NAME}" apply_yaml_files "${DIR}" "${NAME_SPACE}" "${rhdh_base_url}" # Merge base values with OSD-GCP diff file @@ -648,6 +656,7 @@ rbac_deployment_osd_gcp() { # Initiate rbac instance deployment. local rbac_rhdh_base_url="https://${RELEASE_NAME_RBAC}-developer-hub-${NAME_SPACE_RBAC}.${K8S_CLUSTER_ROUTER_BASE}" + config::merge_plugin_configs "merge" "${DIR}/resources/config_map/${SHOWCASE_RBAC_DYNAMIC_PLUGINS_FILE_NAME}" "${DIR}/resources/config_map/${SHOWCASE_RBAC_DYNAMIC_PLUGINS_OSD_GCP_DIFF_FILE_NAME}" "${DIR}/resources/config_map/${SHOWCASE_RBAC_DYNAMIC_PLUGINS_FILE_NAME}" apply_yaml_files "${DIR}" "${NAME_SPACE_RBAC}" "${rbac_rhdh_base_url}" # Merge RBAC values with OSD-GCP diff file @@ -755,8 +764,8 @@ initiate_sanity_plugin_checks_deployment() { namespace::configure "${name_space_sanity_plugins_check}" helm::uninstall "${name_space_sanity_plugins_check}" "${release_name}" deploy_redis_cache "${name_space_sanity_plugins_check}" + config::merge_plugin_configs "overwrite" "${DIR}/resources/config_map/${SHOWCASE_DYNAMIC_PLUGINS_FILE_NAME}" "${DIR}/resources/config_map/${SHOWCASE_DYNAMIC_PLUGINS_SANITY_DIFF_FILE_NAME}" "${DIR}/resources/config_map/${SHOWCASE_DYNAMIC_PLUGINS_FILE_NAME}" apply_yaml_files "${DIR}" "${name_space_sanity_plugins_check}" "${sanity_plugins_url}" - helm::merge_values "overwrite" "${DIR}/value_files/${HELM_CHART_VALUE_FILE_NAME}" "${DIR}/value_files/${HELM_CHART_SANITY_PLUGINS_DIFF_VALUE_FILE_NAME}" "/tmp/${HELM_CHART_SANITY_PLUGINS_MERGED_VALUE_FILE_NAME}" mkdir -p "${ARTIFACT_DIR}/${name_space_sanity_plugins_check}" rsync -a "/tmp/${HELM_CHART_SANITY_PLUGINS_MERGED_VALUE_FILE_NAME}" "${ARTIFACT_DIR}/${name_space_sanity_plugins_check}/" || true # Save the final value-file into the artifacts directory. # shellcheck disable=SC2046 diff --git a/.ci/pipelines/value_files/diff-values_showcase-rbac_OSD-GCP.yaml b/.ci/pipelines/value_files/diff-values_showcase-rbac_OSD-GCP.yaml index b4643fbd95..814484d200 100644 --- a/.ci/pipelines/value_files/diff-values_showcase-rbac_OSD-GCP.yaml +++ b/.ci/pipelines/value_files/diff-values_showcase-rbac_OSD-GCP.yaml @@ -5,16 +5,3 @@ # Disable orchestrator for OSD-GCP due to infrastructure limitations orchestrator: null - -global: - dynamic: - plugins: - # Disable orchestrator plugins for OSD-GCP - - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-orchestrator:bs_1.45.3__5.1.0!red-hat-developer-hub-backstage-plugin-orchestrator" - disabled: true - - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-orchestrator-backend:bs_1.45.3__8.3.0!red-hat-developer-hub-backstage-plugin-orchestrator-backend" - disabled: true - - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-scaffolder-backend-module-orchestrator:bs_1.45.3__1.3.1!red-hat-developer-hub-backstage-plugin-scaffolder-backend-module-orchestrator" - disabled: true - - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-orchestrator-form-widgets:bs_1.45.3__1.2.0!red-hat-developer-hub-backstage-plugin-orchestrator-form-widgets" - disabled: true diff --git a/.ci/pipelines/value_files/diff-values_showcase_AKS.yaml b/.ci/pipelines/value_files/diff-values_showcase_AKS.yaml index 94be21fb9b..425a9cdf39 100644 --- a/.ci/pipelines/value_files/diff-values_showcase_AKS.yaml +++ b/.ci/pipelines/value_files/diff-values_showcase_AKS.yaml @@ -4,20 +4,6 @@ # The only exception is global.dynamic.plugins, that gets merged with the base file. route: enabled: false -global: - dynamic: - plugins: - - package: ./dynamic-plugins/dist/backstage-community-plugin-catalog-backend-module-scaffolder-relation-processor-dynamic - disabled: false - # Disable orchestrator plugins for AKS - - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-orchestrator:bs_1.45.3__5.1.0!red-hat-developer-hub-backstage-plugin-orchestrator" - disabled: true - - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-orchestrator-backend:bs_1.45.3__8.3.0!red-hat-developer-hub-backstage-plugin-orchestrator-backend" - disabled: true - - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-scaffolder-backend-module-orchestrator:bs_1.45.3__1.3.1!red-hat-developer-hub-backstage-plugin-scaffolder-backend-module-orchestrator" - disabled: true - - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-orchestrator-form-widgets:bs_1.45.3__1.2.0!red-hat-developer-hub-backstage-plugin-orchestrator-form-widgets" - disabled: true upstream: backstage: extraEnvVarsSecrets: diff --git a/.ci/pipelines/value_files/diff-values_showcase_EKS.yaml b/.ci/pipelines/value_files/diff-values_showcase_EKS.yaml index b6f0176da0..c10664f555 100644 --- a/.ci/pipelines/value_files/diff-values_showcase_EKS.yaml +++ b/.ci/pipelines/value_files/diff-values_showcase_EKS.yaml @@ -7,19 +7,6 @@ route: enabled: false global: host: $EKS_INSTANCE_DOMAIN_NAME - dynamic: - plugins: - - package: ./dynamic-plugins/dist/backstage-community-plugin-catalog-backend-module-scaffolder-relation-processor-dynamic - disabled: false - # Disable orchestrator plugins for EKS - - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-orchestrator:bs_1.45.3__5.1.0!red-hat-developer-hub-backstage-plugin-orchestrator" - disabled: true - - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-orchestrator-backend:bs_1.45.3__8.3.0!red-hat-developer-hub-backstage-plugin-orchestrator-backend" - disabled: true - - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-scaffolder-backend-module-orchestrator:bs_1.45.3__1.3.1!red-hat-developer-hub-backstage-plugin-scaffolder-backend-module-orchestrator" - disabled: true - - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-orchestrator-form-widgets:bs_1.45.3__1.2.0!red-hat-developer-hub-backstage-plugin-orchestrator-form-widgets" - disabled: true upstream: backstage: extraEnvVarsSecrets: diff --git a/.ci/pipelines/value_files/diff-values_showcase_GKE.yaml b/.ci/pipelines/value_files/diff-values_showcase_GKE.yaml index baa40ab066..cc099d5401 100644 --- a/.ci/pipelines/value_files/diff-values_showcase_GKE.yaml +++ b/.ci/pipelines/value_files/diff-values_showcase_GKE.yaml @@ -4,59 +4,6 @@ # The only exception is global.dynamic.plugins, that gets merged with the base file. route: enabled: false -global: - dynamic: - plugins: - # Disable plugins to save disk space on GKE - # These plugins correspond to tests that are ignored in showcase-k8s project - # See e2e-tests/playwright.config.ts lines 109-125 - - # Tekton - test ignored - # Test file: e2e-tests/playwright/e2e/plugins/tekton/tekton.spec.ts - - package: ./dynamic-plugins/dist/backstage-community-plugin-tekton - disabled: true - - # OCM - test ignored - # Test file: e2e-tests/playwright/e2e/plugins/ocm.spec.ts (currently doesn't exist) - - package: ./dynamic-plugins/dist/backstage-community-plugin-ocm-backend-dynamic - disabled: true - - package: ./dynamic-plugins/dist/backstage-community-plugin-ocm - disabled: true - - # Dynamic Home Page - test ignored - # Test file: e2e-tests/playwright/e2e/dynamic-home-page-customization.spec.ts - - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-dynamic-home-page - disabled: true - - # Scorecard - test ignored - # Test file: e2e-tests/playwright/e2e/plugins/scorecard/scorecard.spec.ts - - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-scorecard:pr_1499__0.1.0!red-hat-developer-hub-backstage-plugin-scorecard - disabled: true - - # Adoption Insights - large plugin (~300MB) causing disk space issues - # This plugin IS tested on showcase-k8s normally, but disabled on GKE to save disk space - # Test skipped on GKE: e2e-tests/playwright/e2e/plugins/adoption-insights/adoption-insights.spec.ts - - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-adoption-insights - disabled: true - - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-adoption-insights-backend-dynamic - disabled: true - - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-analytics-module-adoption-insights-dynamic - disabled: true - - # Orchestrator - large OCI plugins causing disk space issues - # Tests skipped on GKE: e2e-tests/playwright/e2e/plugins/orchestrator/*.spec.ts - - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-orchestrator:bs_1.45.3__5.1.0!red-hat-developer-hub-backstage-plugin-orchestrator" - disabled: true - - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-orchestrator-backend:bs_1.45.3__8.3.0!red-hat-developer-hub-backstage-plugin-orchestrator-backend" - disabled: true - - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-scaffolder-backend-module-orchestrator:bs_1.45.3__1.3.1!red-hat-developer-hub-backstage-plugin-scaffolder-backend-module-orchestrator" - disabled: true - - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-orchestrator-form-widgets:bs_1.45.3__1.2.0!red-hat-developer-hub-backstage-plugin-orchestrator-form-widgets" - disabled: true - - # Scaffolder relation processor - keep enabled for K8s - - package: ./dynamic-plugins/dist/backstage-community-plugin-catalog-backend-module-scaffolder-relation-processor-dynamic - disabled: false upstream: backstage: extraEnvVarsSecrets: diff --git a/.ci/pipelines/value_files/diff-values_showcase_OSD-GCP.yaml b/.ci/pipelines/value_files/diff-values_showcase_OSD-GCP.yaml index 5138173af1..fb26e3296e 100644 --- a/.ci/pipelines/value_files/diff-values_showcase_OSD-GCP.yaml +++ b/.ci/pipelines/value_files/diff-values_showcase_OSD-GCP.yaml @@ -4,17 +4,4 @@ # The only exception is global.dynamic.plugins, that gets merged with the base file. # Disable orchestrator for OSD-GCP due to infrastructure limitations -orchestrator: null - -global: - dynamic: - plugins: - # Disable orchestrator plugins for OSD-GCP - - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-orchestrator:bs_1.45.3__5.1.0!red-hat-developer-hub-backstage-plugin-orchestrator" - disabled: true - - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-orchestrator-backend:bs_1.45.3__8.3.0!red-hat-developer-hub-backstage-plugin-orchestrator-backend" - disabled: true - - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-scaffolder-backend-module-orchestrator:bs_1.45.3__1.3.1!red-hat-developer-hub-backstage-plugin-scaffolder-backend-module-orchestrator" - disabled: true - - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-orchestrator-form-widgets:bs_1.45.3__1.2.0!red-hat-developer-hub-backstage-plugin-orchestrator-form-widgets" - disabled: true +orchestrator: null \ No newline at end of file diff --git a/.ci/pipelines/value_files/values_showcase-rbac.yaml b/.ci/pipelines/value_files/values_showcase-rbac.yaml index 1fdddbc982..e5501ae75e 100644 --- a/.ci/pipelines/value_files/values_showcase-rbac.yaml +++ b/.ci/pipelines/value_files/values_showcase-rbac.yaml @@ -1,365 +1,14 @@ global: + dynamic: + plugins: [] + includes: + - "dynamic-plugins.yaml" # use the latest catalog index catalogIndex: image: registry: quay.io repository: rhdh/plugin-catalog-index tag: "1.10" - dynamic: - # -- Array of YAML files listing dynamic plugins to include with those listed in the `plugins` field. - # Relative paths are resolved from the working directory of the initContainer that will install the plugins (`/opt/app-root/src`). - includes: - # -- List of dynamic plugins included inside the `rhdh-community/rhdh` container image, some of which are disabled by default. - # This file ONLY works with the `rhdh-community/rhdh` container image. - - "dynamic-plugins.default.yaml" - - # -- List of dynamic plugins, possibly overriding the plugins listed in `includes` files. - # Every item defines the plugin `package` as a [NPM package spec](https://docs.npmjs.com/cli/v10/using-npm/package-spec), - # an optional `pluginConfig` with plugin-specific backstage configuration, and an optional `disabled` flag to disable/enable a plugin - # listed in `includes` files. It also includes an `integrity` field that is used to verify the plugin package [integrity](https://w3c.github.io/webappsec-subresource-integrity/#integrity-metadata-description). - plugins: - # Enforce new quick start configuration for now but normally this should not be required. - # FIXME: remove this again. - - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-quickstart - disabled: false - pluginConfig: - app: - quickstart: - - title: Set up authentication - titleKey: steps.setupAuthentication.title - icon: Admin - description: Set up secure login credentials to protect your account from unauthorized access. - descriptionKey: steps.setupAuthentication.description - cta: - text: Learn more - textKey: steps.setupAuthentication.ctaTitle - link: https://docs.redhat.com/en/documentation/red_hat_developer_hub/latest/html/authentication_in_red_hat_developer_hub/ - - title: Configure RBAC - titleKey: steps.configureRbac.title - icon: Rbac - description: - Assign roles and permissions to control who can view, create, or edit resources, ensuring secure and - efficient collaboration. - descriptionKey: steps.configureRbac.description - cta: - text: Manage access - textKey: steps.configureRbac.ctaTitle - link: /rbac - - title: Configure Git - titleKey: steps.configureGit.title - icon: Git - description: - Connect your Git providers, such as GitHub to manage code, automate workflows, and integrate with platform - features. - descriptionKey: steps.configureGit.description - cta: - text: Learn more - textKey: steps.configureGit.ctaTitle - link: https://docs.redhat.com/en/documentation/red_hat_developer_hub/latest/html/integrating_red_hat_developer_hub_with_github/ - - title: Manage plugins - titleKey: steps.managePlugins.title - icon: Plugins - description: Browse and install extensions to add features, connect with external tools, and customize your experience. - descriptionKey: steps.managePlugins.description - cta: - text: Explore plugins - textKey: steps.managePlugins.ctaTitle - link: /extensions - - title: Import application - roles: - - developer - icon: Import - description: - Import your existing code and services into the catalog to organize and access them through your developer - portal. - cta: - text: Import - link: /bulk-import/repositories - - title: Learn about the Catalog - roles: - - developer - icon: Catalog - description: Discover all software components, services, and APIs, and view their owners and documentation. - cta: - text: View Catalog - link: /catalog - - title: Explore Self-service templates - roles: - - developer - icon: SelfService - description: Use our self-service templates to quickly set up new projects, services, or documentation. - cta: - text: Explore templates - link: /create - - title: Find all Learning Paths - roles: - - developer - icon: Learning - description: - Integrate tailored e-learning into your workflows with Learning Paths to accelerate onboarding, close - skill gaps, and promote best practices. - cta: - text: View Learning Paths - link: /learning-paths - dynamicPlugins: - frontend: - red-hat-developer-hub.backstage-plugin-quickstart: - translationResources: - - importName: quickstartTranslations - module: Alpha - ref: quickstartTranslationRef - mountPoints: - - mountPoint: application/provider - importName: QuickstartDrawerProvider - - mountPoint: application/internal/drawer-state - importName: QuickstartDrawerStateExposer - - mountPoint: application/internal/drawer-content - importName: QuickstartDrawerContent - config: - id: quickstart - - mountPoint: global.header/help - importName: QuickstartButton - config: - priority: 100 - - package: ./dynamic-plugins/dist/backstage-plugin-catalog-backend-module-github-dynamic - disabled: false - pluginConfig: - catalog: - providers: - github: - my-test-org: - organization: janus-qe - catalogPath: "/catalog-info.yaml" - schedule: - frequency: - hours: 24 - timeout: - minutes: 1 - initialDelay: - seconds: 15 - - package: ./dynamic-plugins/dist/backstage-plugin-catalog-backend-module-github-org-dynamic - disabled: false - pluginConfig: - catalog: - providers: - githubOrg: - id: production - githubUrl: ${GITHUB_URL} - orgs: - - ${GITHUB_ORG} - - ${GITHUB_ORG_2} - schedule: - frequency: - hours: 24 - initialDelay: - seconds: 15 - timeout: - minutes: 15 - - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-github-issues:bs_1.45.3__0.16.0!backstage-community-plugin-github-issues - disabled: false - - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/roadiehq-backstage-plugin-github-pull-requests:bs_1.45.3__3.6.2!roadiehq-backstage-plugin-github-pull-requests - disabled: false - - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-github-actions:bs_1.45.3__0.18.0!backstage-community-plugin-github-actions - disabled: false - - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-quay-backend:bs_1.45.3__1.10.1!backstage-community-plugin-quay-backend - disabled: false - pluginConfig: - quay: - apiUrl: https://quay.io - - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-quay:bs_1.45.3__1.28.1!backstage-community-plugin-quay - disabled: false - pluginConfig: - dynamicPlugins: - frontend: - backstage-community.plugin-quay: - mountPoints: - - mountPoint: entity.page.image-registry/cards - importName: QuayPage - config: - layout: - gridColumn: 1 / -1 - if: - anyOf: - - isQuayAvailable - - package: ./dynamic-plugins/dist/backstage-community-plugin-catalog-backend-module-keycloak-dynamic - disabled: false - - package: ./dynamic-plugins/dist/backstage-community-plugin-tekton - disabled: false - - package: ./dynamic-plugins/dist/backstage-community-plugin-topology - disabled: false - - package: ./dynamic-plugins/dist/backstage-plugin-kubernetes - disabled: false - - package: ./dynamic-plugins/dist/backstage-plugin-kubernetes-backend-dynamic - disabled: false - pluginConfig: - kubernetes: - clusterLocatorMethods: - - clusters: - - authProvider: serviceAccount - name: "my-cluster" - serviceAccountToken: ${K8S_CLUSTER_TOKEN_ENCODED} - url: ${K8S_CLUSTER_API_SERVER_URL} - skipTLSVerify: true - type: config - customResources: - # Add for tekton - - apiVersion: "v1beta1" - group: "tekton.dev" - plural: "pipelines" - - apiVersion: v1beta1 - group: tekton.dev - plural: pipelineruns - - apiVersion: v1beta1 - group: tekton.dev - plural: taskruns - # Add for topology plugin - - apiVersion: "v1" - group: "route.openshift.io" - plural: "routes" - serviceLocatorMethod: - type: multiTenant - # Enable Bulk import plugins. - - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-bulk-import-backend-dynamic - disabled: false - - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-bulk-import - disabled: false - - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-global-header - disabled: false - # Enable tech-radar plugin. - - package: ./dynamic-plugins/dist/backstage-community-plugin-tech-radar - disabled: false - - package: ./dynamic-plugins/dist/backstage-community-plugin-tech-radar-backend-dynamic - disabled: false - - package: ./dynamic-plugins/dist/backstage-community-plugin-rbac - disabled: false - pluginConfig: - dynamicPlugins: - frontend: - backstage-community.plugin-rbac: - translationResources: - - importName: rbacTranslations - ref: rbacTranslationRef - module: Alpha - appIcons: - - name: rbacIcon - importName: RbacIcon - dynamicRoutes: - - path: /rbac - importName: RbacPage - menuItem: - icon: rbacIcon - text: RBAC - textKey: menuItem.rbac - menuItems: - rbac: - parent: default.admin - icon: rbacIcon - - package: ./dynamic-plugins/dist/backstage-community-plugin-analytics-provider-segment - disabled: true - #Enable Scorecard plugin. - - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-scorecard:bs_1.45.3__2.3.5!red-hat-developer-hub-backstage-plugin-scorecard - disabled: false - pluginConfig: - dynamicPlugins: - frontend: - red-hat-developer-hub.backstage-plugin-scorecard: - entityTabs: - - path: "/scorecard" - title: Scorecard - mountPoint: entity.page.scorecard - mountPoints: - - mountPoint: entity.page.scorecard/cards - importName: EntityScorecardContent - config: - layout: - gridColumn: 1 / -1 - - mountPoint: home.page/cards - importName: ScorecardHomepageCard - config: - id: "scorecard-jira.open_issues" - title: "Jira open blocking tickets" - props: { metricId: "jira.open_issues" } - - mountPoint: home.page/cards - importName: ScorecardHomepageCard - config: - id: "scorecard-github.open_prs" - title: "GitHub open PRs" - props: { metricId: "github.open_prs" } - - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-scorecard-backend:bs_1.45.3__2.3.5!red-hat-developer-hub-backstage-plugin-scorecard-backend - disabled: false - - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-scorecard-backend-module-github:bs_1.45.3__2.3.5!red-hat-developer-hub-backstage-plugin-scorecard-backend-module-github - disabled: false - - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-scorecard-backend-module-jira:bs_1.45.3__2.3.5!red-hat-developer-hub-backstage-plugin-scorecard-backend-module-jira - pluginConfig: - jira: - baseUrl: https://redhat-team-f703ynt3.atlassian.net - token: ${JIRA_TOKEN} - product: cloud - disabled: false - - disabled: false - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-dynamic-home-page:bs_1.45.3__1.10.3!red-hat-developer-hub-backstage-plugin-dynamic-home-page - pluginConfig: - dynamicPlugins: - frontend: - red-hat-developer-hub.backstage-plugin-dynamic-home-page: - dynamicRoutes: - - path: / - importName: DynamicCustomizableHomePage - - disabled: true - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-dynamic-home-page - - # Enable orchestrator plugins - Official release - - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-orchestrator:bs_1.45.3__5.1.0!red-hat-developer-hub-backstage-plugin-orchestrator" - disabled: false - pluginConfig: - dynamicPlugins: - frontend: - red-hat-developer-hub.backstage-plugin-orchestrator: - appIcons: - - importName: OrchestratorIcon - name: orchestratorIcon - dynamicRoutes: - - importName: OrchestratorPage - menuItem: - icon: orchestratorIcon - text: Orchestrator - textKey: menuItem.orchestrator - path: /orchestrator - entityTabs: - - path: /workflows - title: Workflows - titleKey: catalog.entityPage.workflows.title - mountPoint: entity.page.workflows - mountPoints: - - mountPoint: entity.page.workflows/cards - importName: OrchestratorCatalogTab - config: - layout: - gridColumn: "1 / -1" - if: - anyOf: - - IsOrchestratorCatalogTabAvailable - - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-orchestrator-backend:bs_1.45.3__8.3.0!red-hat-developer-hub-backstage-plugin-orchestrator-backend" - disabled: false - pluginConfig: - orchestrator: - dataIndexService: - url: http://sonataflow-platform-data-index-service - - - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-scaffolder-backend-module-orchestrator:bs_1.45.3__1.3.1!red-hat-developer-hub-backstage-plugin-scaffolder-backend-module-orchestrator" - disabled: false - pluginConfig: - orchestrator: - dataIndexService: - url: http://sonataflow-platform-data-index-service - - - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-orchestrator-form-widgets:bs_1.45.3__1.2.0!red-hat-developer-hub-backstage-plugin-orchestrator-form-widgets" - disabled: false - pluginConfig: - dynamicPlugins: - frontend: - red-hat-developer-hub.backstage-plugin-orchestrator-form-widgets: {} - # -- Upstream Backstage [chart configuration](https://github.com/backstage/charts/blob/main/charts/backstage/values.yaml) # @default -- Use Openshift compatible settings upstream: @@ -519,6 +168,8 @@ upstream: extraAppConfig: - configMapRef: app-config-rhdh filename: app-config-rhdh.yaml + - configMapRef: dynamic-plugins-showcase-rbac + filename: dynamic-plugins.yaml extraEnvVarsSecrets: - rhdh-secrets - postgres-cred diff --git a/.ci/pipelines/value_files/values_showcase.yaml b/.ci/pipelines/value_files/values_showcase.yaml index d502bf1be7..26ae8c188c 100644 --- a/.ci/pipelines/value_files/values_showcase.yaml +++ b/.ci/pipelines/value_files/values_showcase.yaml @@ -1,355 +1,14 @@ global: + dynamic: + plugins: [] + includes: + - "dynamic-plugins.yaml" # use the latest catalog index catalogIndex: image: registry: quay.io repository: rhdh/plugin-catalog-index tag: "1.10" - dynamic: - # -- Array of YAML files listing dynamic plugins to include with those listed in the `plugins` field. - # Relative paths are resolved from the working directory of the initContainer that will install the plugins (`/opt/app-root/src`). - includes: - # -- List of dynamic plugins included inside the `rhdh-community/rhdh` container image, some of which are disabled by default. - # This file ONLY works with the `rhdh-community/rhdh` container image. - - "dynamic-plugins.default.yaml" - - # -- List of dynamic plugins, possibly overriding the plugins listed in `includes` files. - # Every item defines the plugin `package` as a [NPM package spec](https://docs.npmjs.com/cli/v10/using-npm/package-spec), - # an optional `pluginConfig` with plugin-specific backstage configuration, and an optional `disabled` flag to disable/enable a plugin - # listed in `includes` files. It also includes an `integrity` field that is used to verify the plugin package [integrity](https://w3c.github.io/webappsec-subresource-integrity/#integrity-metadata-description). - plugins: - # Enforce new quick start configuration for now but normally this should not be required. - # FIXME: remove this again. - - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-quickstart - disabled: false - pluginConfig: - app: - quickstart: - - title: Set up authentication - titleKey: steps.setupAuthentication.title - icon: Admin - description: Set up secure login credentials to protect your account from unauthorized access. - descriptionKey: steps.setupAuthentication.description - cta: - text: Learn more - textKey: steps.setupAuthentication.ctaTitle - link: https://docs.redhat.com/en/documentation/red_hat_developer_hub/latest/html/authentication_in_red_hat_developer_hub/ - - title: Configure RBAC - titleKey: steps.configureRbac.title - icon: Rbac - description: - Assign roles and permissions to control who can view, create, or edit resources, ensuring secure and - efficient collaboration. - descriptionKey: steps.configureRbac.description - cta: - text: Manage access - textKey: steps.configureRbac.ctaTitle - link: /rbac - - title: Configure Git - titleKey: steps.configureGit.title - icon: Git - description: - Connect your Git providers, such as GitHub to manage code, automate workflows, and integrate with platform - features. - descriptionKey: steps.configureGit.description - cta: - text: Learn more - textKey: steps.configureGit.ctaTitle - link: https://docs.redhat.com/en/documentation/red_hat_developer_hub/latest/html/integrating_red_hat_developer_hub_with_github/ - - title: Manage plugins - titleKey: steps.managePlugins.title - icon: Plugins - description: Browse and install extensions to add features, connect with external tools, and customize your experience. - descriptionKey: steps.managePlugins.description - cta: - text: Explore plugins - textKey: steps.managePlugins.ctaTitle - link: /extensions - - title: Import application - roles: - - developer - icon: Import - description: - Import your existing code and services into the catalog to organize and access them through your developer - portal. - cta: - text: Import - link: /bulk-import/repositories - - title: Learn about the Catalog - roles: - - developer - icon: Catalog - description: Discover all software components, services, and APIs, and view their owners and documentation. - cta: - text: View Catalog - link: /catalog - - title: Explore Self-service templates - roles: - - developer - icon: SelfService - description: Use our self-service templates to quickly set up new projects, services, or documentation. - cta: - text: Explore templates - link: /create - - title: Find all Learning Paths - roles: - - developer - icon: Learning - description: - Integrate tailored e-learning into your workflows with Learning Paths to accelerate onboarding, close - skill gaps, and promote best practices. - cta: - text: View Learning Paths - link: /learning-paths - dynamicPlugins: - frontend: - red-hat-developer-hub.backstage-plugin-quickstart: - translationResources: - - importName: quickstartTranslations - module: Alpha - ref: quickstartTranslationRef - mountPoints: - - mountPoint: application/provider - importName: QuickstartDrawerProvider - - mountPoint: application/internal/drawer-state - importName: QuickstartDrawerStateExposer - - mountPoint: application/internal/drawer-content - importName: QuickstartDrawerContent - config: - id: quickstart - - mountPoint: global.header/help - importName: QuickstartButton - config: - priority: 100 - - package: ./dynamic-plugins/dist/backstage-plugin-scaffolder-backend-module-github-dynamic - disabled: false - - package: ./dynamic-plugins/dist/backstage-plugin-catalog-backend-module-github-dynamic - disabled: false - - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-application-provider-test:bs_1.45.3__0.6.0!red-hat-developer-hub-backstage-plugin-application-provider-test - pluginConfig: - dynamicPlugins: - frontend: - red-hat-developer-hub.backstage-plugin-application-provider-test: - dynamicRoutes: - - path: /application-provider-test-page - importName: TestPage - mountPoints: - - mountPoint: application/provider - importName: TestProviderOne - - mountPoint: application/provider - importName: TestProviderTwo - - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-application-listener-test:bs_1.45.3__0.6.0!red-hat-developer-hub-backstage-plugin-application-listener-test - pluginConfig: - dynamicPlugins: - frontend: - red-hat-developer-hub.backstage-plugin-application-listener-test: - mountPoints: - - mountPoint: application/listener - importName: LocationListener - - package: ./dynamic-plugins/dist/backstage-plugin-catalog-backend-module-github-org-dynamic - disabled: false - pluginConfig: - catalog: - providers: - githubOrg: - id: production - githubUrl: ${GITHUB_URL} - orgs: - - ${GITHUB_ORG} - - ${GITHUB_ORG_2} - schedule: - frequency: - hours: 24 - initialDelay: - seconds: 15 - timeout: - minutes: 15 - - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-github-issues:bs_1.45.3__0.16.0!backstage-community-plugin-github-issues - disabled: false - - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/roadiehq-backstage-plugin-github-pull-requests:bs_1.45.3__3.6.2!roadiehq-backstage-plugin-github-pull-requests - disabled: false - - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-github-actions:bs_1.45.3__0.18.0!backstage-community-plugin-github-actions - disabled: false - - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-quay-backend:bs_1.45.3__1.10.1!backstage-community-plugin-quay-backend - disabled: false - pluginConfig: - quay: - apiUrl: https://quay.io - - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-quay:bs_1.45.3__1.28.1!backstage-community-plugin-quay - disabled: false - pluginConfig: - dynamicPlugins: - frontend: - backstage-community.plugin-quay: - mountPoints: - - mountPoint: entity.page.image-registry/cards - importName: QuayPage - config: - layout: - gridColumn: 1 / -1 - if: - anyOf: - - isQuayAvailable - - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-scaffolder-backend-module-quay:bs_1.45.3__2.14.0!backstage-community-plugin-scaffolder-backend-module-quay - disabled: false - - package: ./dynamic-plugins/dist/backstage-community-plugin-catalog-backend-module-keycloak-dynamic - disabled: false - - package: ./dynamic-plugins/dist/backstage-community-plugin-tekton - disabled: false - - package: ./dynamic-plugins/dist/backstage-plugin-kubernetes - disabled: false - - package: ./dynamic-plugins/dist/backstage-plugin-kubernetes-backend-dynamic - disabled: false - pluginConfig: - kubernetes: - clusterLocatorMethods: - - clusters: - - authProvider: serviceAccount - name: "my-cluster" - serviceAccountToken: ${K8S_CLUSTER_TOKEN_ENCODED} - url: ${K8S_CLUSTER_API_SERVER_URL} - type: config - customResources: - # Add for tekton - - apiVersion: "v1" - group: "tekton.dev" - plural: "pipelines" - - apiVersion: v1 - group: tekton.dev - plural: pipelineruns - - apiVersion: v1 - group: tekton.dev - plural: taskruns - # Add for topology plugin - - apiVersion: "v1" - group: "route.openshift.io" - plural: "routes" - serviceLocatorMethod: - type: multiTenant - # Enable bulk import plugins. - - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-bulk-import-backend-dynamic - disabled: false - - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-bulk-import - disabled: false - - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-global-header - disabled: false - # Enable an extra header test plugin - - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-global-header-test:bs_1.45.3__0.7.0!red-hat-developer-hub-backstage-plugin-global-header-test - pluginConfig: - dynamicPlugins: - frontend: - red-hat-developer-hub.backstage-plugin-global-header-test: - mountPoints: - - mountPoint: application/header - importName: TestHeader - config: - position: above-main-content - - mountPoint: global.header/component - importName: TestButton - config: - priority: 95 - # Enable notifications plugins. - - package: ./dynamic-plugins/dist/backstage-plugin-notifications - disabled: false - - package: ./dynamic-plugins/dist/backstage-plugin-notifications-backend-dynamic - disabled: false - - package: ./dynamic-plugins/dist/backstage-plugin-signals-backend-dynamic - disabled: false - - package: ./dynamic-plugins/dist/backstage-plugin-signals - disabled: false - # Enable tech-radar plugins. - - package: ./dynamic-plugins/dist/backstage-community-plugin-tech-radar - disabled: false - - package: ./dynamic-plugins/dist/backstage-community-plugin-tech-radar-backend-dynamic - disabled: false - - package: ./dynamic-plugins/dist/backstage-plugin-techdocs-module-addons-contrib - disabled: false - pluginConfig: - dynamicPlugins: - frontend: - backstage.plugin-techdocs-module-addons-contrib: - techdocsAddons: - - importName: ReportIssue - - package: ./dynamic-plugins/dist/backstage-community-plugin-acr - disabled: false - - package: ./dynamic-plugins/dist/backstage-community-plugin-scaffolder-backend-module-kubernetes-dynamic - disabled: false - - package: ./dynamic-plugins/dist/roadiehq-scaffolder-backend-module-http-request-dynamic - disabled: false - - package: ./dynamic-plugins/dist/backstage-community-plugin-catalog-backend-module-scaffolder-relation-processor-dynamic - disabled: false - - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/immobiliarelabs-backstage-plugin-gitlab-backend:bs_1.45.3__6.13.0!immobiliarelabs-backstage-plugin-gitlab-backend - disabled: false - - package: ./dynamic-plugins/dist/backstage-plugin-catalog-backend-module-gitlab-dynamic - disabled: false - - package: ./dynamic-plugins/dist/backstage-community-plugin-topology - disabled: false - - package: "@pataknight/backstage-plugin-rhdh-qe-theme@0.5.5" - disabled: false - integrity: sha512-srTnFDYn3Ett6z33bX4nL2NQY8wqux8TkpgBQNsE8S73nMfsor/wAdmVgHL+xW7pxQ09DT4YTdaG3GkH+cyyNQ== - - package: "@backstage-community/plugin-todo@0.2.42" - disabled: false - integrity: sha512-agmfwxHkZPy0zaXzjMKY9Us9l7J2og+z7p2lDWQBmlJ1KZRo6OBQdnlG1mTEryfEEl/bx5Ko+f1PhFj2/BmiIQ== - - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-catalog-backend-module-extensions-dynamic - disabled: false - - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-extensions-backend-dynamic - disabled: false - - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-extensions - disabled: false - - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-global-floating-action-button - disabled: false - # Enable orchestrator plugins - - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-orchestrator:bs_1.45.3__5.1.0!red-hat-developer-hub-backstage-plugin-orchestrator" - disabled: false - pluginConfig: - dynamicPlugins: - frontend: - red-hat-developer-hub.backstage-plugin-orchestrator: - appIcons: - - importName: OrchestratorIcon - name: orchestratorIcon - dynamicRoutes: - - importName: OrchestratorPage - menuItem: - icon: orchestratorIcon - text: Orchestrator - textKey: menuItem.orchestrator - path: /orchestrator - entityTabs: - - path: /workflows - title: Workflows - titleKey: catalog.entityPage.workflows.title - mountPoint: entity.page.workflows - mountPoints: - - mountPoint: entity.page.workflows/cards - importName: OrchestratorCatalogTab - config: - layout: - gridColumn: "1 / -1" - if: - anyOf: - - IsOrchestratorCatalogTabAvailable - - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-orchestrator-backend:bs_1.45.3__8.3.0!red-hat-developer-hub-backstage-plugin-orchestrator-backend" - disabled: false - pluginConfig: - orchestrator: - dataIndexService: - url: http://sonataflow-platform-data-index-service - - - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-scaffolder-backend-module-orchestrator:bs_1.45.3__1.3.1!red-hat-developer-hub-backstage-plugin-scaffolder-backend-module-orchestrator" - disabled: false - pluginConfig: - orchestrator: - dataIndexService: - url: http://sonataflow-platform-data-index-service - - - package: "oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-orchestrator-form-widgets:bs_1.45.3__1.2.0!red-hat-developer-hub-backstage-plugin-orchestrator-form-widgets" - disabled: false - pluginConfig: - dynamicPlugins: - frontend: - red-hat-developer-hub.backstage-plugin-orchestrator-form-widgets: {} - # -- Upstream Backstage [chart configuration](https://github.com/backstage/charts/blob/main/charts/backstage/values.yaml) upstream: nameOverride: developer-hub @@ -399,6 +58,8 @@ upstream: filename: dynamic-global-floating-action-button-config.yaml - configMapRef: dynamic-global-header-config filename: dynamic-global-header-config.yaml + - configMapRef: dynamic-plugins-showcase + filename: dynamic-plugins.yaml startupProbe: # This gives enough time upon container startup before the liveness and readiness probes are triggered. # Giving (120s = initialDelaySeconds + failureThreshold * periodSeconds) to account for the worst case scenario.