# Project patterns

The rest of the user guide explains what Flyte can do.
This section explains how we recommend you structure real projects.

These are opinionated guides. They represent patterns we've seen work well across many teams and production deployments. If you're starting a new project or scaling an existing one, start here.

### [Bring your own image (BYOI)](https://www.union.ai/docs/v2/union/user-guide/project-patterns/bring-your-own-image/page.md)

Two patterns for teams that own their Docker images and want Flyte for orchestration without handing over their build pipeline.

### [Monorepo with uv](https://www.union.ai/docs/v2/union/user-guide/project-patterns/monorepo-with-uv/page.md)

How to structure Flyte projects with uv, from single-package setups to multi-team monorepos with shared and independent lockfiles.

### [CI/CD deployments](https://www.union.ai/docs/v2/union/user-guide/project-patterns/cicd/page.md)

How to deploy a Flyte project from CI. Uses GitHub Actions as the reference, but the building blocks — API key, `flyte deploy`, commit-pinned versions — translate to any runner.

### [Resource management and multi-team scaling](https://www.union.ai/docs/v2/union/user-guide/project-patterns/resource-management/page.md)

Projects, domains, quotas, RBAC, and secrets — the primitives to set up before you have ten teams and a noisy-neighbor problem.

## Subpages

- [Bring your own image (BYOI)](https://www.union.ai/docs/v2/union/user-guide/project-patterns/bring-your-own-image/page.md)
  - The multi-team problem
  - Pattern 1: Pure BYOI
  - Dockerfiles
  - Build and push
  - Python code
  - Run and deploy
  - Pattern 2: Remote Builder
  - The base images
  - Adapting with `flyte.Image`
  - Task definitions
  - Entry point
  - Run and deploy
  - Decision matrix
- [Monorepo with uv](https://www.union.ai/docs/v2/union/user-guide/project-patterns/monorepo-with-uv/page.md)
  - The two layers
  - How the image gets built
  - `with_code_bundle()` — one image for dev and prod
  - `root_dir`
  - Monorepo patterns
  - Pattern A: Shared lockfile (recommended)
  - Pattern B: Independent packages
  - The full build path (production)
- [CI/CD deployments](https://www.union.ai/docs/v2/union/user-guide/project-patterns/cicd/page.md)
  - What CI needs to do
  - Authentication: API keys
  - Mint the key
  - Store the key as a CI secret
  - Key scope and rotation
  - Project configuration
  - `config.yaml`
  - The GitHub Actions workflow
  - Key flag choices
  - Splitting build from deploy
- [Resource management and multi-team scaling](https://www.union.ai/docs/v2/union/user-guide/project-patterns/resource-management/page.md)
  - Project-domain structure
  - One project per team or ML product
  - Domains are environments, not teams
  - Resource quotas
  - Set quotas per project-domain pair
  - Why quotas matter
  - Task-level resources
  - Declare resources on the task environment
  - Be explicit about ephemeral storage
  - RBAC and secrets
  - Roles vs policies
  - Scope secrets as narrowly as possible
  - Multi-team scaling patterns
  - Establish naming conventions early
  - Put shared utility tasks in a dedicated project
  - Use cluster assignment for multi-cluster deployments
  - Treat production as a managed service
  - What's coming next
  - Quick reference

---
**Source**: https://github.com/unionai/unionai-docs/blob/main/content/user-guide/project-patterns/_index.md
**HTML**: https://www.union.ai/docs/v2/union/user-guide/project-patterns/
