Technical Resources & Installation Guides
Everything you need to deploy and operate Cloud Elevate products.
Persona Content Co-Pilot: A Comprehensive Guide
Overview
The Persona Content Co-Pilot combines a FastAPI backend, an interactive Streamlit frontend, and secure cookie-based authentication via leading OIDC providers (Keycloak, Ping Identity, Google). It streamlines persona-driven content creation for individuals and teams alike.
- Authenticate Seamlessly — Login via Keycloak, Ping Identity, or Google.
- Manage Dynamic Personas — Define tone, style, and vocabulary templates.
- Generate Diverse Content — Produce articles, tweets, and social posts.
- Track Content History — Complete audit of your generated outputs.
- Facilitate Team Collaboration — Share personas & content across groups.
- Easy Deployment — Docker-first with Kustomize manifests for Kubernetes.
Features
Modern Authentication
- Secure HttpOnly cookie sessions managed by the backend.
- Supports Keycloak, Ping Identity, and Google via OIDC.
- Just-In-Time user provisioning on first login.
User & Group Management
- View user details and group memberships.
- Granular content access controlled by group affiliation.
- Full CRUD on groups with owner-controlled membership.
Dynamic Persona Management
- Complete CRUD operations for personas.
- Personas scoped to groups for collaborative consistency.
AI-Powered Content Generation
- Secure backend integration with the OpenAI API.
- Client-side prompt augmentation with persona metadata.
Comprehensive Content History
- Review all generated content in the “Previously Generated” tab.
- Filter by user or group for efficient collaboration.
Robust Backend & Interactive Frontend
- FastAPI async backend with modular architecture and auto-migrations.
- Dark-themed Streamlit UI with hot-reloading and dynamic tables.
Containerised & Deployable
docker-compose.yml
for one-command local setup.- Multi-stage Dockerfiles for slim, secure images.
- Kustomize manifests + Helm chart for Kubernetes.
Technology Stack
- Backend: Python, FastAPI, SQLModel, Uvicorn
- Frontend: Streamlit,
streamlit-option-menu
- Database: PostgreSQL
- Auth: OIDC (Keycloak/Ping/Google) – HttpOnly Cookies
- AI: OpenAI API
- DevOps: Docker, Docker Compose, Helm, Kustomize
Project Structure
# abbreviated tree
.
├── backend/ # FastAPI source
├── frontend/ # Streamlit UI
├── kustomize/ # K8s manifests
├── docker-compose.yml
└── start.sh
Installation Guide
Prerequisites
- Docker & Docker Compose
- Git
- Poetry (if developing outside Docker)
1. Clone the Repository
git clone <your-repository-url>
cd <repository-name>
2. Configure Environment Variables
cp .env.template .env
# adjust .env with OPENAI_API_KEY and database creds
3. Install Dependencies (local dev)
poetry install
4. Run the Stack
./start.sh # convenience script
# or
docker-compose up -d --build
Kubernetes Deployment (Summary)
# deploy Keycloak via Helm
helm upgrade --install keycloak bitnami/keycloak -f kustomize/base/keycloak-values.yaml --namespace default
# deploy application
kustomize build kustomize/base --enable-helm | kubectl apply -f -
Future Enhancements
- Istio production overlay & cert-manager automation
- Helm chart packaging for simplified installs
- Structured, production-ready logging framework