1.2. 사용자 정의 Red Hat Developer Hub 구성 프로비저닝
Red Hat Developer Hub를 구성하려면 Red Hat Developer Hub를 실행하기 전에 사용자 정의 Red Hat Developer Hub 구성 맵과 시크릿을 GKE(Google Kubernetes Engine)에 프로비저닝하십시오.
Red Hat OpenShift Container Platform에서는 이 단계를 건너뛰어 기본 구성 맵 및 시크릿을 사용하여 Developer Hub를 실행할 수 있습니다. 이 구성의 변경 사항은 Developer Hub를 다시 시작할 때 되돌릴 수 있습니다.
사전 요구 사항
- Kubernetes CLI('kubectl') 를 사용하면 개발자 권한이 있는 Developer Hub 인스턴스를 포함하는 Kubernetes 클러스터에 액세스할 수 있습니다.
프로세스
보안을 위해 구성 파일의 일반 텍스트 대신 OpenShift Container Platform 시크릿의 환경 변수 값으로 시크릿을 저장합니다.
KEY=value형식의 행당 하나의 시크릿을 사용하여secrets.txt파일의 모든 보안을 수집합니다.사용자 지정
app-config.yaml파일을 작성합니다. 이는 주요 Developer Hub 구성 파일입니다. Developer Hub 설치 프로그램이 업그레이드 중에 사용자 편집을 되돌리지 않도록 사용자 지정app-config.yaml파일이 필요합니다. 사용자 정의app-config.yaml파일이 비어 있으면 Developer Hub에서 기본값을 사용합니다.프로덕션 환경의 경우 다음 설정으로 시작합니다.
app-config.yamlapp: title: <Red Hat Developer Hub> branding: fullLogo: ${BASE64_EMBEDDED_FULL_LOGO} fullLogoWidth: 110px iconLogo: ${BASE64_EMBEDDED_ICON_LOGO} backend: cache: store: redis connection: ${REDIS_CONNECTION} techdocs: cache: ttl: 3600000 catalog: providers: <enter_your_provider_configuration> integrations: <enter_your_integrations_configuration> permission: enabled: true rbac: admin: users: - name: user:default/<your_policy_administrator_name> pluginsWithPermission: - catalog - scaffolder - permission대부분의 필드는 이전 단계에서 시크릿에서 정의한 환경 변수를 사용합니다.
apptitle- < Red Hat Developer Hub>와 같은 Developer Hub 인스턴스 표시 이름을 입력합니다.
브랜딩사용자 지정 로고를 설정합니다.
필요한 경우
fullLogoWidth필드의 값을 변경하여 브랜딩 로고의 너비를 사용자 지정합니다. 지원되는 단위는 integer, px, em, rem, percentage입니다.
backendcache- 플러그인 자산 캐시를 활성화합니다.
techdocscache- Techdocs 캐시를 활성화합니다.
catalogprovider- 카탈로그 공급자 구성을 입력합니다.
통합- 리포지토리 검색 구성을 입력합니다.
권한- 역할 기반 액세스 제어를 활성화합니다. 정책 관리자 이름을 입력합니다.
- 또한 사용자를 프로비저닝하고 외부 ID 공급자로 인증을 활성화합니다.
사용자 지정
dynamic-plugins.yaml파일을 작성하여 플러그인을 활성화합니다. 기본적으로 개발자 허브는 최소한의 플러그인 세트를 활성화하고 GitHub 리포지토리 검색 플러그인 및 RBAC(역할 기반 액세스 제어) 플러그인과 같은 구성 또는 시크릿이 필요한 플러그인을 비활성화합니다.GitHub 리포지토리 검색 및 RBAC 기능을 활성화합니다.
dynamic.plugins.yamlincludes: - dynamic-plugins.default.yaml plugins: - package: ./dynamic-plugins/dist/backstage-plugin-catalog-backend-module-github disabled: false - package: ./dynamic-plugins/dist/backstage-community-plugin-rbac disabled: false사용자 지정 구성 파일을 GKE 클러스터에 프로비저닝합니다.
개발자 허브 인스턴스를 포함하는 < my-rhdh-project > {namespace}를 생성합니다.
$ oc create namespace my-rhdh-projectapp-config.yaml및dynamic-plugins.yaml파일을 각각my-rhdh-app-config, < my-rhdh-project> 프로젝트의dynamic-plugins-rhdh구성 맵에 프로비저닝합니다.$ oc create configmap my-rhdh-app-config --from-file=app-config.yaml --namespace=my-rhdh-project $ oc create configmap dynamic-plugins-rhdh --from-file=dynamic-plugins.yaml --namespace=my-rhdh-project<my-rhdh- project> 프로젝트의
my-rhdh-secrets 시크릿에secrets.txt파일을 프로비저닝합니다.$ oc create secret generic my-rhdh-secrets --from-file=secrets.txt --namespace=my-rhdh-project