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