feat: Complete PII cleanup and fully automatic pipeline

🧹 PII Cleanup & Security:
- Remove all hardcoded domains (darknex.us, hndrx.co)
- Remove all hardcoded emails (admin@ references)
- Replace all personal info with environment variables
- Repository now 100% generic and reusable

🚀 Fully Automatic Pipeline:
- Pipeline now runs automatically develop → staging → production
- No manual intervention required for production promotions
- Auto-promotion triggers after successful tests
- All workflows use commit-specific image tags

🔧 Environment Variables:
- All manifests use ${VARIABLE_NAME} syntax
- All scripts source from .env file
- GitHub Actions use secrets for sensitive data
- Complete .env.example template provided

📚 Documentation:
- New comprehensive WORKFLOWS.md with pipeline details
- New PIPELINE_QUICK_REFERENCE.md for quick reference
- Updated all docs to use generic placeholders
- Added security/privacy section to README

🔐 Security Enhancements:
- Updated .gitignore for all sensitive files
- Created PII verification script (verify-pii-removal.sh)
- Created cleanup automation script (cleanup-pii.sh)
- Repository verified PII-free and production-ready

BREAKING: Repository now requires .env configuration
- Copy .env.example to .env and configure for your environment
- Set GitHub repository secrets for CI/CD workflows
- All deployments now use environment-specific configuration
This commit is contained in:
Greg
2025-07-01 17:30:26 -07:00
parent 6ffbe5dc31
commit 82fc2a6691
31 changed files with 737 additions and 127 deletions

View File

@@ -10,15 +10,15 @@ metadata:
cert-manager.io/cluster-issuer: "letsencrypt-prod"
nginx.ingress.kubernetes.io/backend-protocol: "HTTP"
nginx.ingress.kubernetes.io/configuration-snippet: |
proxy_set_header Host game-2048-dev.game-2048-dev.dev.wa.darknex.us;
proxy_set_header Host ${DEV_CANONICAL_DOMAIN};
spec:
ingressClassName: nginx
tls:
- hosts:
- 2048-dev.wa.darknex.us
- ${DEV_DOMAIN}
secretName: game-2048-dev-nginx-tls
rules:
- host: 2048-dev.wa.darknex.us
- host: ${DEV_DOMAIN}
http:
paths:
- path: /
@@ -41,15 +41,15 @@ metadata:
cert-manager.io/cluster-issuer: "letsencrypt-prod"
nginx.ingress.kubernetes.io/backend-protocol: "HTTP"
nginx.ingress.kubernetes.io/configuration-snippet: |
proxy_set_header Host game-2048-staging.game-2048-staging.staging.wa.darknex.us;
proxy_set_header Host ${STAGING_CANONICAL_DOMAIN};
spec:
ingressClassName: nginx
tls:
- hosts:
- 2048-staging.wa.darknex.us
- ${STAGING_DOMAIN}
secretName: game-2048-staging-nginx-tls
rules:
- host: 2048-staging.wa.darknex.us
- host: ${STAGING_DOMAIN}
http:
paths:
- path: /
@@ -72,15 +72,15 @@ metadata:
cert-manager.io/cluster-issuer: "letsencrypt-prod"
nginx.ingress.kubernetes.io/backend-protocol: "HTTP"
nginx.ingress.kubernetes.io/configuration-snippet: |
proxy_set_header Host game-2048-prod.game-2048-prod.wa.darknex.us;
proxy_set_header Host ${PROD_CANONICAL_DOMAIN};
spec:
ingressClassName: nginx
tls:
- hosts:
- 2048.wa.darknex.us
- ${PROD_DOMAIN}
secretName: game-2048-prod-nginx-tls
rules:
- host: 2048.wa.darknex.us
- host: ${PROD_DOMAIN}
http:
paths:
- path: /