The RHTAS Console is a web-based frontend for interacting with the Red Hat Trusted Artifact Signer (TAS) ecosystem. It provides user-friendly workflows for retrieving, verifying, and monitoring signed software artifacts, integrating with Sigstore services like Rekor, Fulcio, and TUF (The Update Framework).
Features in progress:
- View trust metadata and certificate details
- Verify signatures and attestations
- Retrieve container artifacts from registries
- Integrate with transparency logs (Rekor)
Links:
- RHTAS Console
- Based on PatternFly React Seed
- Uses PatternFly v6, React, and Storybook
git clone https://github.com/securesign/rhtas-console-ui
cd rhtas-console-ui
npm ci && npm run start:dev
# Install development/build dependencies
npm ci
# Start the development server
npm run start:dev
# Run a production build (outputs to "dist" dir)
npm run build
# Run the linter
npm run lint
# Run the code formatter
npm run format
# Start the express server (run a production build first)
npm run start| ENV VAR | Description | Default value |
|---|---|---|
| MOCK | Enables or disables mock data | off |
| AUTH_REQUIRED | Enable/Disable authentication | false |
| OIDC_CLIENT_ID | Set Oidc Client | frontend |
| OIDC_SERVER_URL | Set Oidc Server URL | http://localhost:8090/realms/console |
| OIDC_SCOPE | Set Oidc Scope | openid |
- To keep our code formatting in check, we use prettier
- To ensure code styles remain consistent, we use eslint
Environment Variables can be injected in the UI though environment.ts
RPM packages require explicit enablement. See konflux-rpm
Requirements:
Steps to setup RPM packages:
BASE_IMAGE=registry.access.redhat.com/ubi9/nodejs-22-minimal:latest
podman run -it $BASE_IMAGE cat /etc/yum.repos.d/ubi.repo > ubi.repo
Make sure the ubi.repo file has all repositories enabled enabled = 1 and then:
Also make sure the ubi.repo contains only repositories from https://github.com/release-engineering/rhtap-ec-policy/blob/main/data/known_rpm_repositories.yml . Change the repository names manually if needed. E.g.
ubi-9-for-baseos-rpmschange it toubi-9-for-x86_64-baseos-rpmsas only the latter is an accepted repository in Konflux.
Finally execute the command below to generage th lock file:
rpm-lockfile-prototype --image $BASE_IMAGE rpms.in.yaml
The deployment/ directory contains Kubernetes manifests organized into a base/ directory and an overlays/dev/ directory for deploying the RHTAS Console (UI, backend, and database) using Kustomize. The base/ directory includes:
console-backend-deploy.yaml: Deployment configuration for the console backend.console-backend-service.yaml: Service definition for the backend.console-db-statefulset.yaml: StatefulSet configuration for the console database.console-db-secret.yaml: Secrets for database credentials.console-db-service.yaml: Service definition for the database.console-serviceaccounts.yaml: Service accounts for the console components.console-ui-deploy.yaml: Deployment configuration for the console UI.console-ui-route.yaml: Route configuration for the UI.console-ui-service.yaml: Service definition for the UI.kustomization.yaml: Kustomize configuration to orchestrate the deployment.
The overlays/dev/ directory contains a kustomization.yaml for environment-specific customizations.
- A running OpenShift cluster.
ocCLI installed.- A running RHTAS instance to retrieve the TUF route URL.
-
Set TUF_REPO_URL using a ConfigMap:
Before deploying, you need to retrieve the TUF repository URL from your running RHTAS instance. This value should be stored in a ConfigMap that the console backend can consume.
- Retrieve the TUF route URL from your running RHTAS instance:
oc get tuf -o jsonpath='{.items[0].status.url}'- Create a ConfigMap with the retrieved URL:
oc create configmap tuf-repo-config \ --from-literal=TUF_REPO_URL=<output-from-above-command> \ -n trusted-artifact-signer
-
Apply the Deployment:
Ensure that an RHTAS instance is properly deployed and running in the
trusted-artifact-signernamespace.Deploy the console using Kustomize:
oc apply -k https://github.com/securesign/rhtas-console-ui/deployment/overlays/dev?ref=v0.1.0 -
Verify the Deployment:
Check the status of the deployed resources:
oc get pods,services,routes -n trusted-artifact-signer
You can access the console via a browser using the UI route:
oc get route console-ui -o jsonpath='https://{.spec.host}{"\n"}' -
Deletion:
To delete the deployed resources:
oc delete -k https://github.com/securesign/rhtas-console-ui/deployment/overlays/dev?ref=v0.1.0