# 🚫 Deferred Services List

## Overview

The following cloud services and platforms have been **deferred/tabled** for now. All recommendations have been updated to use self-hosted or alternative solutions.

## Deferred Services

### Version Control & CI/CD
- ❌ **GitHub** (Actions, OAuth, Packages, etc.)
- ❌ **GitLab.com** (CI/CD, SaaS)
- ✅ **GitLab Self-Hosted** - Alternative option
- ✅ **Jenkins** - Alternative option
- ✅ **Drone CI** - Alternative option

### Cloud Providers
- ❌ **AWS Services**
  - S3 (Object Storage)
  - CloudFront (CDN)
  - KMS (Key Management)
  - Secrets Manager
  - EKS (Kubernetes)
  - EC2, Lambda, etc.

- ❌ **Azure Services**
  - Blob Storage
  - Key Vault
  - AKS (Kubernetes)
  - Azure AD (OAuth - deferred, but generic OAuth2 still recommended)
  - Functions, etc.

- ❌ **Google Cloud Services**
  - GCS (Google Cloud Storage)
  - GKE (Kubernetes)
  - Cloud KMS
  - etc.

- ❌ **Other Cloud Providers**
  - IBM Cloud
  - Oracle Cloud (OCI)
  - Alibaba Cloud
  - etc.

### Monitoring & Observability (SaaS)
- ❌ **Datadog** (SaaS)
- ❌ **New Relic** (SaaS)
- ❌ **Sentry** (SaaS)
- ❌ **Rollbar** (SaaS)
- ❌ **Pingdom** (SaaS)
- ❌ **UptimeRobot** (SaaS)
- ❌ **PagerDuty** (SaaS)
- ❌ **Opsgenie** (SaaS)

## ✅ Approved Services

### Cloudflare (Exception)
- ✅ **Cloudflare CDN** - Recommended
- ✅ **Cloudflare Pages** - For static hosting
- ✅ **Cloudflare Workers** - For edge computing
- ✅ **Cloudflare R2** - S3-compatible object storage
- ✅ **Cloudflare Health Checks** - For uptime monitoring
- ✅ **Cloudflare Analytics** - For web analytics

### Self-Hosted Alternatives

#### CI/CD
- ✅ Jenkins
- ✅ GitLab Self-Hosted
- ✅ Drone CI
- ✅ Buildkite (self-hosted agents)

#### Object Storage
- ✅ MinIO (S3-compatible)
- ✅ Ceph
- ✅ Cloudflare R2

#### Key Management
- ✅ HashiCorp Vault
- ✅ Self-hosted KMS solutions

#### Monitoring
- ✅ Prometheus (metrics)
- ✅ Grafana (visualization)
- ✅ ELK Stack (Elasticsearch, Logstash, Kibana)
- ✅ Loki (log aggregation)
- ✅ Jaeger (tracing)
- ✅ Uptime Kuma (uptime monitoring)

#### Error Tracking
- ✅ Sentry (self-hosted)
- ✅ GlitchTip (open-source Sentry alternative)

#### Alerting
- ✅ AlertManager (Prometheus)
- ✅ Grafana Alerting
- ✅ Self-hosted notification systems

## Migration Notes

When implementing features that would normally use deferred services:

1. **Check for self-hosted alternatives first**
2. **Consider Cloudflare if applicable**
3. **Use open-source solutions when possible**
4. **Document the chosen alternative**

## Examples

### Instead of GitHub Actions:
```yaml
# Use Jenkins or GitLab Self-Hosted
# Jenkinsfile or .gitlab-ci.yml
```

### Instead of AWS S3:
```typescript
// Use MinIO or Cloudflare R2
import { S3Client } from '@aws-sdk/client-s3';
const client = new S3Client({
  endpoint: 'https://minio.example.com', // or Cloudflare R2
  // ...
});
```

### Instead of Datadog:
```yaml
# Use Prometheus + Grafana
# prometheus.yml
scrape_configs:
  - job_name: 'orchestration-portal'
    static_configs:
      - targets: ['localhost:5000']
```

## Questions?

If you need to use a deferred service for a specific reason, please:
1. Document the justification
2. Consider security implications
3. Evaluate self-hosted alternatives first
4. Get approval before implementation

---

**Last Updated**: 2024-11-19
**Status**: Active

