tech-hub-skills 1.5.1 → 1.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/LICENSE +21 -21
- package/.claude/README.md +291 -291
- package/.claude/bin/cli.js +266 -266
- package/.claude/bin/copilot.js +182 -182
- package/.claude/bin/postinstall.js +42 -42
- package/.claude/commands/README.md +336 -336
- package/.claude/commands/ai-engineer.md +104 -104
- package/.claude/commands/aws.md +143 -143
- package/.claude/commands/azure.md +149 -149
- package/.claude/commands/backend-developer.md +108 -108
- package/.claude/commands/code-review.md +399 -399
- package/.claude/commands/compliance-automation.md +747 -747
- package/.claude/commands/compliance-officer.md +108 -108
- package/.claude/commands/data-engineer.md +113 -113
- package/.claude/commands/data-governance.md +102 -102
- package/.claude/commands/data-scientist.md +123 -123
- package/.claude/commands/database-admin.md +109 -109
- package/.claude/commands/devops.md +160 -160
- package/.claude/commands/docker.md +160 -160
- package/.claude/commands/enterprise-dashboard.md +613 -613
- package/.claude/commands/finops.md +184 -184
- package/.claude/commands/frontend-developer.md +108 -108
- package/.claude/commands/gcp.md +143 -143
- package/.claude/commands/ml-engineer.md +115 -115
- package/.claude/commands/mlops.md +187 -187
- package/.claude/commands/network-engineer.md +109 -109
- package/.claude/commands/optimization-advisor.md +329 -329
- package/.claude/commands/orchestrator.md +623 -623
- package/.claude/commands/platform-engineer.md +102 -102
- package/.claude/commands/process-automation.md +226 -226
- package/.claude/commands/process-changelog.md +184 -184
- package/.claude/commands/process-documentation.md +484 -484
- package/.claude/commands/process-kanban.md +324 -324
- package/.claude/commands/process-versioning.md +214 -214
- package/.claude/commands/product-designer.md +104 -104
- package/.claude/commands/project-starter.md +443 -443
- package/.claude/commands/qa-engineer.md +109 -109
- package/.claude/commands/security-architect.md +135 -135
- package/.claude/commands/sre.md +109 -109
- package/.claude/commands/system-design.md +126 -126
- package/.claude/commands/technical-writer.md +101 -101
- package/.claude/package.json +46 -46
- package/.claude/roles/ai-engineer/skills/01-prompt-engineering/README.md +252 -252
- package/.claude/roles/ai-engineer/skills/01-prompt-engineering/prompt_ab_tester.py +356 -356
- package/.claude/roles/ai-engineer/skills/01-prompt-engineering/prompt_template_manager.py +274 -274
- package/.claude/roles/ai-engineer/skills/01-prompt-engineering/token_cost_estimator.py +324 -324
- package/.claude/roles/ai-engineer/skills/02-rag-pipeline/README.md +448 -448
- package/.claude/roles/ai-engineer/skills/02-rag-pipeline/document_chunker.py +336 -336
- package/.claude/roles/ai-engineer/skills/02-rag-pipeline/rag_pipeline.sql +213 -213
- package/.claude/roles/ai-engineer/skills/03-agent-orchestration/README.md +599 -599
- package/.claude/roles/ai-engineer/skills/04-llm-guardrails/README.md +735 -735
- package/.claude/roles/ai-engineer/skills/05-vector-embeddings/README.md +711 -711
- package/.claude/roles/ai-engineer/skills/06-llm-evaluation/README.md +777 -777
- package/.claude/roles/azure/skills/01-infrastructure-fundamentals/README.md +264 -264
- package/.claude/roles/azure/skills/02-data-factory/README.md +264 -264
- package/.claude/roles/azure/skills/03-synapse-analytics/README.md +264 -264
- package/.claude/roles/azure/skills/04-databricks/README.md +264 -264
- package/.claude/roles/azure/skills/05-functions/README.md +264 -264
- package/.claude/roles/azure/skills/06-kubernetes-service/README.md +264 -264
- package/.claude/roles/azure/skills/07-openai-service/README.md +264 -264
- package/.claude/roles/azure/skills/08-machine-learning/README.md +264 -264
- package/.claude/roles/azure/skills/09-storage-adls/README.md +264 -264
- package/.claude/roles/azure/skills/10-networking/README.md +264 -264
- package/.claude/roles/azure/skills/11-sql-cosmos/README.md +264 -264
- package/.claude/roles/azure/skills/12-event-hubs/README.md +264 -264
- package/.claude/roles/code-review/skills/01-automated-code-review/README.md +394 -394
- package/.claude/roles/code-review/skills/02-pr-review-workflow/README.md +427 -427
- package/.claude/roles/code-review/skills/03-code-quality-gates/README.md +518 -518
- package/.claude/roles/code-review/skills/04-reviewer-assignment/README.md +504 -504
- package/.claude/roles/code-review/skills/05-review-analytics/README.md +540 -540
- package/.claude/roles/data-engineer/skills/01-lakehouse-architecture/README.md +550 -550
- package/.claude/roles/data-engineer/skills/01-lakehouse-architecture/bronze_ingestion.py +337 -337
- package/.claude/roles/data-engineer/skills/01-lakehouse-architecture/medallion_queries.sql +300 -300
- package/.claude/roles/data-engineer/skills/02-etl-pipeline/README.md +580 -580
- package/.claude/roles/data-engineer/skills/03-data-quality/README.md +579 -579
- package/.claude/roles/data-engineer/skills/04-streaming-pipelines/README.md +608 -608
- package/.claude/roles/data-engineer/skills/05-performance-optimization/README.md +547 -547
- package/.claude/roles/data-governance/skills/01-data-catalog/README.md +112 -112
- package/.claude/roles/data-governance/skills/02-data-lineage/README.md +129 -129
- package/.claude/roles/data-governance/skills/03-data-quality-framework/README.md +182 -182
- package/.claude/roles/data-governance/skills/04-access-control/README.md +39 -39
- package/.claude/roles/data-governance/skills/05-master-data-management/README.md +40 -40
- package/.claude/roles/data-governance/skills/06-compliance-privacy/README.md +46 -46
- package/.claude/roles/data-scientist/skills/01-eda-automation/README.md +230 -230
- package/.claude/roles/data-scientist/skills/01-eda-automation/eda_generator.py +446 -446
- package/.claude/roles/data-scientist/skills/02-statistical-modeling/README.md +264 -264
- package/.claude/roles/data-scientist/skills/03-feature-engineering/README.md +264 -264
- package/.claude/roles/data-scientist/skills/04-predictive-modeling/README.md +264 -264
- package/.claude/roles/data-scientist/skills/05-customer-analytics/README.md +264 -264
- package/.claude/roles/data-scientist/skills/06-campaign-analysis/README.md +264 -264
- package/.claude/roles/data-scientist/skills/07-experimentation/README.md +264 -264
- package/.claude/roles/data-scientist/skills/08-data-visualization/README.md +264 -264
- package/.claude/roles/devops/skills/01-cicd-pipeline/README.md +264 -264
- package/.claude/roles/devops/skills/02-container-orchestration/README.md +264 -264
- package/.claude/roles/devops/skills/03-infrastructure-as-code/README.md +264 -264
- package/.claude/roles/devops/skills/04-gitops/README.md +264 -264
- package/.claude/roles/devops/skills/05-environment-management/README.md +264 -264
- package/.claude/roles/devops/skills/06-automated-testing/README.md +264 -264
- package/.claude/roles/devops/skills/07-release-management/README.md +264 -264
- package/.claude/roles/devops/skills/08-monitoring-alerting/README.md +264 -264
- package/.claude/roles/devops/skills/09-devsecops/README.md +265 -265
- package/.claude/roles/finops/skills/01-cost-visibility/README.md +264 -264
- package/.claude/roles/finops/skills/02-resource-tagging/README.md +264 -264
- package/.claude/roles/finops/skills/03-budget-management/README.md +264 -264
- package/.claude/roles/finops/skills/04-reserved-instances/README.md +264 -264
- package/.claude/roles/finops/skills/05-spot-optimization/README.md +264 -264
- package/.claude/roles/finops/skills/06-storage-tiering/README.md +264 -264
- package/.claude/roles/finops/skills/07-compute-rightsizing/README.md +264 -264
- package/.claude/roles/finops/skills/08-chargeback/README.md +264 -264
- package/.claude/roles/ml-engineer/skills/01-mlops-pipeline/README.md +566 -566
- package/.claude/roles/ml-engineer/skills/02-feature-engineering/README.md +655 -655
- package/.claude/roles/ml-engineer/skills/03-model-training/README.md +704 -704
- package/.claude/roles/ml-engineer/skills/04-model-serving/README.md +845 -845
- package/.claude/roles/ml-engineer/skills/05-model-monitoring/README.md +874 -874
- package/.claude/roles/mlops/skills/01-ml-pipeline-orchestration/README.md +264 -264
- package/.claude/roles/mlops/skills/02-experiment-tracking/README.md +264 -264
- package/.claude/roles/mlops/skills/03-model-registry/README.md +264 -264
- package/.claude/roles/mlops/skills/04-feature-store/README.md +264 -264
- package/.claude/roles/mlops/skills/05-model-deployment/README.md +264 -264
- package/.claude/roles/mlops/skills/06-model-observability/README.md +264 -264
- package/.claude/roles/mlops/skills/07-data-versioning/README.md +264 -264
- package/.claude/roles/mlops/skills/08-ab-testing/README.md +264 -264
- package/.claude/roles/mlops/skills/09-automated-retraining/README.md +264 -264
- package/.claude/roles/platform-engineer/skills/01-internal-developer-platform/README.md +153 -153
- package/.claude/roles/platform-engineer/skills/02-self-service-infrastructure/README.md +57 -57
- package/.claude/roles/platform-engineer/skills/03-slo-sli-management/README.md +59 -59
- package/.claude/roles/platform-engineer/skills/04-developer-experience/README.md +57 -57
- package/.claude/roles/platform-engineer/skills/05-incident-management/README.md +73 -73
- package/.claude/roles/platform-engineer/skills/06-capacity-management/README.md +59 -59
- package/.claude/roles/product-designer/skills/01-requirements-discovery/README.md +407 -407
- package/.claude/roles/product-designer/skills/02-user-research/README.md +382 -382
- package/.claude/roles/product-designer/skills/03-brainstorming-ideation/README.md +437 -437
- package/.claude/roles/product-designer/skills/04-ux-design/README.md +496 -496
- package/.claude/roles/product-designer/skills/05-product-market-fit/README.md +376 -376
- package/.claude/roles/product-designer/skills/06-stakeholder-management/README.md +412 -412
- package/.claude/roles/security-architect/skills/01-pii-detection/README.md +319 -319
- package/.claude/roles/security-architect/skills/02-threat-modeling/README.md +264 -264
- package/.claude/roles/security-architect/skills/03-infrastructure-security/README.md +264 -264
- package/.claude/roles/security-architect/skills/04-iam/README.md +264 -264
- package/.claude/roles/security-architect/skills/05-application-security/README.md +264 -264
- package/.claude/roles/security-architect/skills/06-secrets-management/README.md +264 -264
- package/.claude/roles/security-architect/skills/07-security-monitoring/README.md +264 -264
- package/.claude/roles/system-design/skills/01-architecture-patterns/README.md +337 -337
- package/.claude/roles/system-design/skills/02-requirements-engineering/README.md +264 -264
- package/.claude/roles/system-design/skills/03-scalability/README.md +264 -264
- package/.claude/roles/system-design/skills/04-high-availability/README.md +264 -264
- package/.claude/roles/system-design/skills/05-cost-optimization-design/README.md +264 -264
- package/.claude/roles/system-design/skills/06-api-design/README.md +264 -264
- package/.claude/roles/system-design/skills/07-observability-architecture/README.md +264 -264
- package/.claude/roles/system-design/skills/08-process-automation/PROCESS_TEMPLATE.md +336 -336
- package/.claude/roles/system-design/skills/08-process-automation/README.md +521 -521
- package/.claude/roles/system-design/skills/08-process-automation/ai_prompt_generator.py +744 -744
- package/.claude/roles/system-design/skills/08-process-automation/automation_recommender.py +688 -688
- package/.claude/roles/system-design/skills/08-process-automation/plan_generator.py +679 -679
- package/.claude/roles/system-design/skills/08-process-automation/process_analyzer.py +528 -528
- package/.claude/roles/system-design/skills/08-process-automation/process_parser.py +684 -684
- package/.claude/roles/system-design/skills/08-process-automation/role_matcher.py +615 -615
- package/.claude/skills/README.md +336 -336
- package/.claude/skills/ai-engineer.md +104 -104
- package/.claude/skills/aws.md +143 -143
- package/.claude/skills/azure.md +149 -149
- package/.claude/skills/backend-developer.md +108 -108
- package/.claude/skills/code-review.md +399 -399
- package/.claude/skills/compliance-automation.md +747 -747
- package/.claude/skills/compliance-officer.md +108 -108
- package/.claude/skills/data-engineer.md +113 -113
- package/.claude/skills/data-governance.md +102 -102
- package/.claude/skills/data-scientist.md +123 -123
- package/.claude/skills/database-admin.md +109 -109
- package/.claude/skills/devops.md +160 -160
- package/.claude/skills/docker.md +160 -160
- package/.claude/skills/enterprise-dashboard.md +613 -613
- package/.claude/skills/finops.md +184 -184
- package/.claude/skills/frontend-developer.md +108 -108
- package/.claude/skills/gcp.md +143 -143
- package/.claude/skills/ml-engineer.md +115 -115
- package/.claude/skills/mlops.md +187 -187
- package/.claude/skills/network-engineer.md +109 -109
- package/.claude/skills/optimization-advisor.md +329 -329
- package/.claude/skills/orchestrator.md +623 -623
- package/.claude/skills/platform-engineer.md +102 -102
- package/.claude/skills/process-automation.md +226 -226
- package/.claude/skills/process-changelog.md +184 -184
- package/.claude/skills/process-documentation.md +484 -484
- package/.claude/skills/process-kanban.md +324 -324
- package/.claude/skills/process-versioning.md +214 -214
- package/.claude/skills/product-designer.md +104 -104
- package/.claude/skills/project-starter.md +443 -443
- package/.claude/skills/qa-engineer.md +109 -109
- package/.claude/skills/security-architect.md +135 -135
- package/.claude/skills/sre.md +109 -109
- package/.claude/skills/system-design.md +126 -126
- package/.claude/skills/technical-writer.md +101 -101
- package/.gitattributes +2 -2
- package/GITHUB_COPILOT.md +106 -106
- package/README.md +192 -184
- package/package.json +16 -8
|
@@ -1,73 +1,73 @@
|
|
|
1
|
-
# pe-05: Incident Management
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
|
|
5
|
-
On-call management, incident response procedures, postmortem templates, runbook automation, and alert routing.
|
|
6
|
-
|
|
7
|
-
## Key Capabilities
|
|
8
|
-
|
|
9
|
-
- **On-Call Management**: Rotation schedules
|
|
10
|
-
- **Incident Response**: Clear escalation procedures
|
|
11
|
-
- **Postmortem Templates**: Blameless retrospectives
|
|
12
|
-
- **Runbook Automation**: Auto-remediation
|
|
13
|
-
- **Alert Routing**: Intelligent alert distribution
|
|
14
|
-
|
|
15
|
-
## Implementation
|
|
16
|
-
|
|
17
|
-
```yaml
|
|
18
|
-
# PagerDuty incident response
|
|
19
|
-
services:
|
|
20
|
-
- name: customer-api
|
|
21
|
-
escalation_policy: platform-team
|
|
22
|
-
alert_grouping: intelligent
|
|
23
|
-
incident_urgency_rule:
|
|
24
|
-
type: constant
|
|
25
|
-
urgency: high
|
|
26
|
-
|
|
27
|
-
# Runbook automation
|
|
28
|
-
runbooks:
|
|
29
|
-
- name: high-memory-usage
|
|
30
|
-
trigger: memory_usage > 90%
|
|
31
|
-
actions:
|
|
32
|
-
- restart_pod
|
|
33
|
-
- scale_replicas: 2
|
|
34
|
-
- notify_oncall
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
```python
|
|
38
|
-
# Postmortem template generator
|
|
39
|
-
def create_postmortem(incident_id):
|
|
40
|
-
"""Generate postmortem document"""
|
|
41
|
-
incident = get_incident(incident_id)
|
|
42
|
-
|
|
43
|
-
template = f"""
|
|
44
|
-
# Incident Postmortem: {incident.title}
|
|
45
|
-
|
|
46
|
-
## Incident Summary
|
|
47
|
-
- **Date**: {incident.date}
|
|
48
|
-
- **Duration**: {incident.duration}
|
|
49
|
-
- **Severity**: {incident.severity}
|
|
50
|
-
- **Responders**: {incident.responders}
|
|
51
|
-
|
|
52
|
-
## Timeline
|
|
53
|
-
{incident.timeline}
|
|
54
|
-
|
|
55
|
-
## Root Cause
|
|
56
|
-
[To be filled]
|
|
57
|
-
|
|
58
|
-
## Resolution
|
|
59
|
-
{incident.resolution}
|
|
60
|
-
|
|
61
|
-
## Action Items
|
|
62
|
-
- [ ] TODO 1
|
|
63
|
-
- [ ] TODO 2
|
|
64
|
-
|
|
65
|
-
## Lessons Learned
|
|
66
|
-
[To be filled]
|
|
67
|
-
"""
|
|
68
|
-
return template
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
## Integration
|
|
72
|
-
|
|
73
|
-
**Connects with:** pe-03 (SLO), do-08 (Monitoring), pe-01 (IDP)
|
|
1
|
+
# pe-05: Incident Management
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
On-call management, incident response procedures, postmortem templates, runbook automation, and alert routing.
|
|
6
|
+
|
|
7
|
+
## Key Capabilities
|
|
8
|
+
|
|
9
|
+
- **On-Call Management**: Rotation schedules
|
|
10
|
+
- **Incident Response**: Clear escalation procedures
|
|
11
|
+
- **Postmortem Templates**: Blameless retrospectives
|
|
12
|
+
- **Runbook Automation**: Auto-remediation
|
|
13
|
+
- **Alert Routing**: Intelligent alert distribution
|
|
14
|
+
|
|
15
|
+
## Implementation
|
|
16
|
+
|
|
17
|
+
```yaml
|
|
18
|
+
# PagerDuty incident response
|
|
19
|
+
services:
|
|
20
|
+
- name: customer-api
|
|
21
|
+
escalation_policy: platform-team
|
|
22
|
+
alert_grouping: intelligent
|
|
23
|
+
incident_urgency_rule:
|
|
24
|
+
type: constant
|
|
25
|
+
urgency: high
|
|
26
|
+
|
|
27
|
+
# Runbook automation
|
|
28
|
+
runbooks:
|
|
29
|
+
- name: high-memory-usage
|
|
30
|
+
trigger: memory_usage > 90%
|
|
31
|
+
actions:
|
|
32
|
+
- restart_pod
|
|
33
|
+
- scale_replicas: 2
|
|
34
|
+
- notify_oncall
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
```python
|
|
38
|
+
# Postmortem template generator
|
|
39
|
+
def create_postmortem(incident_id):
|
|
40
|
+
"""Generate postmortem document"""
|
|
41
|
+
incident = get_incident(incident_id)
|
|
42
|
+
|
|
43
|
+
template = f"""
|
|
44
|
+
# Incident Postmortem: {incident.title}
|
|
45
|
+
|
|
46
|
+
## Incident Summary
|
|
47
|
+
- **Date**: {incident.date}
|
|
48
|
+
- **Duration**: {incident.duration}
|
|
49
|
+
- **Severity**: {incident.severity}
|
|
50
|
+
- **Responders**: {incident.responders}
|
|
51
|
+
|
|
52
|
+
## Timeline
|
|
53
|
+
{incident.timeline}
|
|
54
|
+
|
|
55
|
+
## Root Cause
|
|
56
|
+
[To be filled]
|
|
57
|
+
|
|
58
|
+
## Resolution
|
|
59
|
+
{incident.resolution}
|
|
60
|
+
|
|
61
|
+
## Action Items
|
|
62
|
+
- [ ] TODO 1
|
|
63
|
+
- [ ] TODO 2
|
|
64
|
+
|
|
65
|
+
## Lessons Learned
|
|
66
|
+
[To be filled]
|
|
67
|
+
"""
|
|
68
|
+
return template
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Integration
|
|
72
|
+
|
|
73
|
+
**Connects with:** pe-03 (SLO), do-08 (Monitoring), pe-01 (IDP)
|
|
@@ -1,59 +1,59 @@
|
|
|
1
|
-
# pe-06: Capacity Management
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
|
|
5
|
-
Capacity planning, resource forecasting, cluster autoscaling, cost-capacity optimization, and quota management.
|
|
6
|
-
|
|
7
|
-
## Key Capabilities
|
|
8
|
-
|
|
9
|
-
- **Capacity Planning**: Forecast resource needs
|
|
10
|
-
- **Resource Forecasting**: Predict growth trends
|
|
11
|
-
- **Cluster Autoscaling**: Auto-scale infrastructure
|
|
12
|
-
- **Cost-Capacity Optimization**: Balance cost vs. capacity
|
|
13
|
-
- **Quota Management**: Team-level quotas
|
|
14
|
-
|
|
15
|
-
## Implementation
|
|
16
|
-
|
|
17
|
-
```python
|
|
18
|
-
# Capacity forecasting
|
|
19
|
-
import pandas as pd
|
|
20
|
-
from sklearn.linear_model import LinearRegression
|
|
21
|
-
|
|
22
|
-
def forecast_capacity(historical_usage_df, days_ahead=90):
|
|
23
|
-
"""Forecast future resource needs"""
|
|
24
|
-
df = historical_usage_df.copy()
|
|
25
|
-
df['days'] = (df['date'] - df['date'].min()).dt.days
|
|
26
|
-
|
|
27
|
-
model = LinearRegression()
|
|
28
|
-
model.fit(df[['days']], df['cpu_cores'])
|
|
29
|
-
|
|
30
|
-
future_days = df['days'].max() + days_ahead
|
|
31
|
-
forecast = model.predict([[future_days]])
|
|
32
|
-
|
|
33
|
-
return {
|
|
34
|
-
'current_usage': df['cpu_cores'].iloc[-1],
|
|
35
|
-
'forecasted_usage': forecast[0],
|
|
36
|
-
'growth_rate': model.coef_[0],
|
|
37
|
-
'recommendation': 'scale_up' if forecast[0] > df['cpu_cores'].max() else 'maintain'
|
|
38
|
-
}
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
```yaml
|
|
42
|
-
# Cluster autoscaler config
|
|
43
|
-
apiVersion: autoscaling/v1
|
|
44
|
-
kind: HorizontalPodAutoscaler
|
|
45
|
-
metadata:
|
|
46
|
-
name: customer-api-hpa
|
|
47
|
-
spec:
|
|
48
|
-
scaleTargetRef:
|
|
49
|
-
apiVersion: apps/v1
|
|
50
|
-
kind: Deployment
|
|
51
|
-
name: customer-api
|
|
52
|
-
minReplicas: 2
|
|
53
|
-
maxReplicas: 10
|
|
54
|
-
targetCPUUtilizationPercentage: 70
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
## Integration
|
|
58
|
-
|
|
59
|
-
**Connects with:** fo-01 (Cost Visibility), do-02 (Kubernetes), pe-03 (SLO)
|
|
1
|
+
# pe-06: Capacity Management
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Capacity planning, resource forecasting, cluster autoscaling, cost-capacity optimization, and quota management.
|
|
6
|
+
|
|
7
|
+
## Key Capabilities
|
|
8
|
+
|
|
9
|
+
- **Capacity Planning**: Forecast resource needs
|
|
10
|
+
- **Resource Forecasting**: Predict growth trends
|
|
11
|
+
- **Cluster Autoscaling**: Auto-scale infrastructure
|
|
12
|
+
- **Cost-Capacity Optimization**: Balance cost vs. capacity
|
|
13
|
+
- **Quota Management**: Team-level quotas
|
|
14
|
+
|
|
15
|
+
## Implementation
|
|
16
|
+
|
|
17
|
+
```python
|
|
18
|
+
# Capacity forecasting
|
|
19
|
+
import pandas as pd
|
|
20
|
+
from sklearn.linear_model import LinearRegression
|
|
21
|
+
|
|
22
|
+
def forecast_capacity(historical_usage_df, days_ahead=90):
|
|
23
|
+
"""Forecast future resource needs"""
|
|
24
|
+
df = historical_usage_df.copy()
|
|
25
|
+
df['days'] = (df['date'] - df['date'].min()).dt.days
|
|
26
|
+
|
|
27
|
+
model = LinearRegression()
|
|
28
|
+
model.fit(df[['days']], df['cpu_cores'])
|
|
29
|
+
|
|
30
|
+
future_days = df['days'].max() + days_ahead
|
|
31
|
+
forecast = model.predict([[future_days]])
|
|
32
|
+
|
|
33
|
+
return {
|
|
34
|
+
'current_usage': df['cpu_cores'].iloc[-1],
|
|
35
|
+
'forecasted_usage': forecast[0],
|
|
36
|
+
'growth_rate': model.coef_[0],
|
|
37
|
+
'recommendation': 'scale_up' if forecast[0] > df['cpu_cores'].max() else 'maintain'
|
|
38
|
+
}
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
```yaml
|
|
42
|
+
# Cluster autoscaler config
|
|
43
|
+
apiVersion: autoscaling/v1
|
|
44
|
+
kind: HorizontalPodAutoscaler
|
|
45
|
+
metadata:
|
|
46
|
+
name: customer-api-hpa
|
|
47
|
+
spec:
|
|
48
|
+
scaleTargetRef:
|
|
49
|
+
apiVersion: apps/v1
|
|
50
|
+
kind: Deployment
|
|
51
|
+
name: customer-api
|
|
52
|
+
minReplicas: 2
|
|
53
|
+
maxReplicas: 10
|
|
54
|
+
targetCPUUtilizationPercentage: 70
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Integration
|
|
58
|
+
|
|
59
|
+
**Connects with:** fo-01 (Cost Visibility), do-02 (Kubernetes), pe-03 (SLO)
|