- Introduced Aggregator.sol for Chainlink-compatible oracle functionality, including round-based updates and access control. - Added OracleWithCCIP.sol to extend Aggregator with CCIP cross-chain messaging capabilities. - Created .gitmodules to include OpenZeppelin contracts as a submodule. - Developed a comprehensive deployment guide in NEXT_STEPS_COMPLETE_GUIDE.md for Phase 2 and smart contract deployment. - Implemented Vite configuration for the orchestration portal, supporting both Vue and React frameworks. - Added server-side logic for the Multi-Cloud Orchestration Portal, including API endpoints for environment management and monitoring. - Created scripts for resource import and usage validation across non-US regions. - Added tests for CCIP error handling and integration to ensure robust functionality. - Included various new files and directories for the orchestration portal and deployment scripts.
3.3 KiB
3.3 KiB
🚫 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:
- Check for self-hosted alternatives first
- Consider Cloudflare if applicable
- Use open-source solutions when possible
- Document the chosen alternative
Examples
Instead of GitHub Actions:
# Use Jenkins or GitLab Self-Hosted
# Jenkinsfile or .gitlab-ci.yml
Instead of AWS S3:
// 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:
# 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:
- Document the justification
- Consider security implications
- Evaluate self-hosted alternatives first
- Get approval before implementation
Last Updated: 2024-11-19 Status: Active