Service Catalog Reference
Overview
This document lists all service types available in the Fawkes platform catalog. Services are organized by category and managed through ArgoCD GitOps workflows.
Application Definitions Location: platform/apps/
CI/CD Services
| Service | Version | Description | ArgoCD Application | Status |
|---|---|---|---|---|
| Jenkins | 2.426+ | CI/CD automation server with Golden Path pipeline support. | jenkins-application.yaml |
✅ Active |
| ArgoCD | 2.9+ | GitOps continuous delivery for Kubernetes. | N/A (Bootstrap) | ✅ Active |
Key Features:
- Jenkins: JCasC configuration, Kubernetes agents, GitHub integration, DORA metrics collection.
- ArgoCD: Auto-sync, health status monitoring, rollback capabilities.
Developer Portal
| Service | Version | Description | ArgoCD Application | Status |
|---|---|---|---|---|
| Backstage | 1.21+ | Software catalog and developer portal with plugins. | backstage-application.yaml |
✅ Active |
| Eclipse Che | 7.80+ | Cloud-based IDE with Devfile support. | N/A | ✅ Active |
Backstage Plugins:
- Che Launcher: Launch Eclipse Che workspaces from Backstage.
- DevLake Dashboard: View DORA metrics within Backstage.
- Catalog: Service catalog with ownership and dependency tracking.
Eclipse Che Features:
- Devfile 2.2.2 support for workspace definitions.
- Golden Path starter projects (Python, AI/ML).
- Integrated debugging and testing.
Observability Services
| Service | Version | Description | ArgoCD Application | Status |
|---|---|---|---|---|
| Prometheus | 2.47+ | Metrics collection and time-series database. | N/A | ✅ Active |
| Grafana | 10.2+ | Visualization and analytics platform. | N/A | ✅ Active |
| OpenSearch | 2.11+ | Distributed search and analytics for centralized logging. | N/A | ✅ Active |
| Grafana Tempo | 2.3+ | Distributed tracing backend for OpenTelemetry traces. | tempo-application.yaml |
✅ Active |
| OpenTelemetry Collector | 0.89+ | Vendor-neutral telemetry data collection and export. | otel-collector-application.yaml |
✅ Active |
| Apache DevLake | 0.20+ | DORA metrics data platform. | devlake-application.yaml |
✅ Active |
Observability Stack Integration:
Application
│
├─> OpenTelemetry SDK (traces, metrics, logs)
│ │
│ ▼
│ OTel Collector
│ │
│ ├─> Tempo (traces)
│ ├─> Prometheus (metrics)
│ └─> OpenSearch (logs)
│ │
│ ▼
│ Grafana (unified visualization)
Security Services
| Service | Version | Description | ArgoCD Application | Status |
|---|---|---|---|---|
| Vault | 1.15+ | Secrets management and encryption. | N/A | ✅ Active |
| External Secrets Operator | 0.9+ | Sync secrets from Vault to Kubernetes Secrets. | external-secrets-operator-application.yaml |
✅ Active |
| Vault CSI Driver | 1.3+ | Mount Vault secrets as volumes in Pods. | vault-csi-driver-application.yaml |
✅ Active |
| SonarQube | 10.3+ | Static application security testing (SAST). | sonarqube-application.yaml |
✅ Active |
| Trivy | 0.47+ | Container image and filesystem vulnerability scanner. | N/A (Jenkins plugin) | ✅ Active |
| Kyverno | 1.11+ | Kubernetes-native policy engine. | kyverno-application.yaml |
✅ Active |
Security Workflow:
- Secrets Management: Vault stores credentials → External Secrets Operator syncs to K8s Secrets.
- SAST: SonarQube scans code during CI pipeline.
- Container Scanning: Trivy scans images during build and runtime.
- Policy Enforcement: Kyverno validates and mutates resources at admission time.
Collaboration Services
| Service | Version | Description | ArgoCD Application | Status |
|---|---|---|---|---|
| Mattermost | 9.2+ | Team collaboration and ChatOps platform. | N/A | 🚧 Planned |
| Focalboard | 7.11+ | Open-source project management. | focalboard-application.yaml |
✅ Active |
Use Cases:
- Mattermost: ChatOps commands, build notifications, incident response.
- Focalboard: Sprint planning, backlog management, roadmaps.
Data Services
| Service | Version | Description | ArgoCD Application | Status |
|---|---|---|---|---|
| PostgreSQL | 16+ | Relational database (via CloudNativePG operator). | postgresql-application.yaml |
✅ Active |
Supported PostgreSQL Clusters:
| Cluster Name | Purpose | Application |
|---|---|---|
db-backstage-cluster |
Backstage catalog database | Backstage |
db-sonarqube-cluster |
SonarQube analysis database | SonarQube |
db-focalboard-cluster |
Focalboard data storage | Focalboard |
CloudNativePG Features:
- Automated backups to S3/GCS/Azure Blob.
- High availability with streaming replication.
- Connection pooling with PgBouncer.
Networking Services
| Service | Version | Description | ArgoCD Application | Status |
|---|---|---|---|---|
| NGINX Ingress Controller | 1.9+ | HTTP/HTTPS load balancing and routing. | N/A | ✅ Active |
| Cert-Manager | 1.13+ | Automated TLS certificate management. | N/A | ✅ Active |
| External DNS | 0.14+ | Automated DNS record synchronization. | N/A | ✅ Active |
Ingress Workflow:
External Request
│
├─> DNS (managed by External DNS)
│ │
│ ▼
│ NGINX Ingress Controller
│ │
│ ├─> TLS Termination (Cert-Manager certificates)
│ │
│ ▼
│ Backend Service (e.g., Jenkins, Backstage)
Platform Operators
| Operator | Version | Description | ArgoCD Application | Status |
|---|---|---|---|---|
| CloudNativePG | 1.21+ | PostgreSQL operator for Kubernetes. | cloudnativepg-operator-application.yaml |
✅ Active |
| External Secrets | 0.9+ | External secret store integration. | external-secrets-operator-application.yaml |
✅ Active |
| Kyverno | 1.11+ | Policy engine operator. | kyverno-application.yaml |
✅ Active |
Service Types by Language/Framework
Supported Application Stacks
| Stack | Language | Framework | Golden Path Support | Devfile Available |
|---|---|---|---|---|
| Python Web | Python 3.11+ | FastAPI, Django, Flask | ✅ Yes | ✅ goldenpath-python.yaml |
| AI/ML | Python 3.11+ | TensorFlow, PyTorch, Jupyter | ✅ Yes | ✅ goldenpath-ai.yaml |
| Java Spring | Java 17+ | Spring Boot | 🚧 Planned | 🚧 Planned |
| Node.js | Node 20+ | Express, NestJS | 🚧 Planned | 🚧 Planned |
| Go | Go 1.21+ | Gin, Echo | 🚧 Planned | 🚧 Planned |
Service Deployment Patterns
Pattern 1: ArgoCD Application
For platform services managed via GitOps:
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: jenkins
namespace: fawkes
spec:
source:
repoURL: https://charts.jenkins.io
chart: jenkins
targetRevision: 5.0.0
destination:
server: https://kubernetes.default.svc
namespace: jenkins
Pattern 2: Helm Release
For services deployed via Helm:
helm upgrade --install jenkins jenkins/jenkins \
-f platform/apps/jenkins/values.yaml \
-n jenkins --create-namespace
Pattern 3: Kustomize
For services using Kustomize overlays:
kubectl apply -k platform/apps/backstage/overlays/dev
Adding a New Service to the Catalog
- Define ArgoCD Application: Create
platform/apps/<service>/<service>-application.yaml. - Add Helm Values: Create
platform/apps/<service>/values.yamlwith configuration. - Create Namespace: Update
platform/apps/namespaces.yaml. - Document Configuration: Add Helm values reference to
docs/reference/config/<service>-values.md. - Commit and Sync: ArgoCD auto-syncs from Git.
Service Status Legend
| Icon | Status | Description |
|---|---|---|
| ✅ | Active | Service is deployed and operational. |
| 🚧 | Planned | Service is in development or planned for future release. |
| ⚠️ | Deprecated | Service is deprecated and will be removed. |