Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -186,3 +186,4 @@ deploy/helm/rag-values.yaml
deploy/helm/rag/Chart.lock
deploy/helm/values.yaml
deploy/helm/bootstrap-values.yaml
tenant/bootstrap/bootstrap-values.yaml
44 changes: 0 additions & 44 deletions deploy/helm/bootstrap/templates/applicationset-rag.yaml

This file was deleted.

4 changes: 2 additions & 2 deletions deploy/helm/rag/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ apiVersion: v2
name: rag
description: A Helm chart for Kubernetes
type: application
version: 0.2.36
appVersion: "0.2.36"
version: 0.2.37
appVersion: "0.2.37"

dependencies:
- name: pgvector
Expand Down
2 changes: 1 addition & 1 deletion deploy/helm/rag/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ replicaCount: 1
image:
repository: quay.io/rh-ai-quickstart/llamastack-dist-ui
pullPolicy: Always
tag: 0.2.36
tag: 0.2.37

service:
type: ClusterIP
Expand Down
59 changes: 59 additions & 0 deletions docs/RHDP_Onboarding.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# RHDP Onboarding

This document describes the intended repository layout for RHDP onboarding and how each bootstrap area fits into the GitOps flow for the RAG quickstart.

## Target Directory Structure

```text
tenant/
bootstrap/ # Helm chart to create Argo CD Application for the RAG quickstart
infra/
bootstrap/ # Helm chart to install required cluster operators/infrastructure
platform/
bootstrap/ # Helm chart to create platform CRs and OpenShift UI plugins
```

## 1) `tenant/bootstrap`

Purpose:
- Owns tenant-scoped onboarding for the quickstart.
- Creates an Argo CD `Application` object.
- That `Application` points to the RAG chart and drives deployment/sync of the quickstart application.

Typical responsibilities:
- Argo CD `Application` definition (repo URL, path, revision, destination namespace).
- Passing Helm values to the RAG chart.
- Optional tenant-related RBAC needed for reconciliation.

## 2) `infra/bootstrap`

Purpose:
- Owns cluster/operator prerequisites required by the quickstart.
- Installs platform services and operators needed before tenant app deployment.

Typical responsibilities:
- Operator subscriptions or chart-based operator installs.
- Shared infra dependencies (for example: data science operators, serving stack prerequisites, pipeline dependencies, etc.).
- Cluster-wide setup needed by multiple tenants.

## 3) `platform/bootstrap`

Purpose:
- Owns platform-level custom resources and UI integrations.
- Creates cluster/platform objects that are not tenant app manifests.

Typical responsibilities:
- Custom resources used by the platform layer.
- OpenShift console/UI plugins and related configuration.
- Platform controls and integrations shared across workloads.

## Recommended Flow

1. `infra/bootstrap` provisions required operators and cluster prerequisites.
2. `platform/bootstrap` applies platform-level CRs/plugins.
3. `tenant/bootstrap` creates the Argo CD `Application` that deploys the RAG quickstart for a tenant namespace.

This separation keeps ownership clear:
- Infra team manages prerequisites.
- Platform team manages shared platform objects and plugins.
- Tenant/app team manages quickstart app onboarding through GitOps `Application` objects.
3 changes: 3 additions & 0 deletions infra/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
## Infra

The `bootstrap` directory contains a Helm chart with the files used to deploy the operators required by this quickstart.
3 changes: 3 additions & 0 deletions platform/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
## Platform

The `bootstrap` directory contains a Helm chart with the files used to deploy cluster-wide resources and custom plugins for this quickstart.
3 changes: 3 additions & 0 deletions tenant/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
## Tenant

The `bootstrap` directory contains a Helm chart with the files used to deploy an Argo CD `Application` that deploys the RAG quickstart application.
File renamed without changes.
32 changes: 32 additions & 0 deletions tenant/bootstrap/templates/application-rag.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{{ if .Values.rag -}}
---
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: {{ .Values.tenant.name }}
namespace: {{ .Values.gitops.namespace }}
spec:
project: default
source:
repoURL: {{ .Values.rag.git.url }}
targetRevision: {{ .Values.rag.git.revision }}
path: {{ .Values.rag.git.path }}
helm:
values: |
{{ toYaml .Values.rag.values | nindent 12 }}
destination:
server: https://kubernetes.default.svc
namespace: '{{ .Values.rag.namespace }}'
syncPolicy:
automated:
prune: false
selfHeal: false
syncOptions:
- CreateNamespace=true
retry:
limit: 30
backoff:
duration: "5s"
factor: 2
maxDuration: "5m"
{{- end }}
15 changes: 10 additions & 5 deletions deploy/helm/bootstrap/values.yaml → tenant/bootstrap/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,23 @@
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.

user:
count: 1
prefix: user
deployer:
domain: "apps.cluster-guid.example.com"
apiUrl: "https://api.cluster-guid.example.com"
guid: "abcde"

guid: abcde
tenant:
name: "tenant-name"
user:
name: "user-name"
password: "user-password"

gitops:
namespace: openshift-gitops
applicationControllerServiceAccount: openshift-gitops-argocd-application-controller

rbac:
enabled: true
enabled: false
clusterRoleName: argocd-rag-bootstrap-manager

# Set to empty to NOT create workspaces
Expand Down
Loading