chore(rebar): Pier_T_rebar 작업 폴더 초기 구성 및 외부 의존 파일 통합

- Code\rebar_pipeline, review_pipeline, pier-program을 정션에서 실제 폴더로 전환
- Code\rhino_mcp 및 CLAUDE_rhino배경.md 추가, .mcp.json은 PYTHONPATH로 새 위치 사용
- pier-program 내부 .git 제거(이력은 backup\pier-program_20261028.bundle에 보관)
- worktree 가이드 반영(CLAUDE.local.md, HANDOFF.md)
- D:\Rhino-MCP 경로 참조를 새 위치로 치환

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
ahnyongjooandClaude Sonnet 5.5 committed 2026-10-28 11:20:18 +09:00
commit 964a841de1
3978 files changed
+58013356

No files matched your search

@@ -0,0 +1,116 @@
# kube-prometheus-stack Helm Values — Auto-generated by hmcmkit
# helm install monitoring prometheus-community/kube-prometheus-stack -f values.yaml
prometheus:
prometheusSpec:
retention: 15d
resources:
requests: { cpu: "500m", memory: "1Gi" }
limits: { cpu: "1", memory: "2Gi" }
serviceMonitorSelector: {}
podMonitorSelector: {}
grafana:
enabled: true
adminPassword: "${GRAFANA_ADMIN_PASSWORD}"
dashboardProviders:
dashboardproviders.yaml:
apiVersion: 1
providers:
- name: default
folder: ''
type: file
options:
path: /var/lib/grafana/dashboards/default
datasources:
datasources.yaml:
apiVersion: 1
datasources:
- name: Prometheus
type: prometheus
url: http://monitoring-kube-prometheus-prometheus:9090
isDefault: true
- name: Loki
type: loki
url: http://loki:3100
- name: Tempo
type: tempo
url: http://tempo:3100
- name: Sentry
type: sentry
url: "${SENTRY_API_URL}"
jsonData:
orgSlug: "${SENTRY_ORG_SLUG}"
secureJsonData:
authToken: "${SENTRY_AUTH_TOKEN}"
# Pre-built dashboards
dashboards:
default:
service-health:
json: |
# Service Health Dashboard — Error Rate + Latency + Sentry Issues
# Auto-generated by hmcmkit enterprise
error-tracking:
json: |
# Error Tracking Dashboard — Sentry integration
# Panels: Unresolved issues, Error rate trend, Top errors, Affected users
alertmanager:
config:
route:
receiver: 'slack-notifications'
group_by: ['alertname', 'namespace']
group_wait: 30s
group_interval: 5m
repeat_interval: 4h
routes:
- match:
severity: critical
receiver: 'pagerduty-critical'
- match:
severity: warning
receiver: 'slack-notifications'
receivers:
- name: 'slack-notifications'
slack_configs:
- api_url: "${SLACK_WEBHOOK_URL}"
channel: '#error-alerts'
title: '[{{ .Status }}] {{ .CommonLabels.alertname }}'
text: '{{ .CommonAnnotations.description }}'
- name: 'pagerduty-critical'
pagerduty_configs:
- service_key: "${PAGERDUTY_SERVICE_KEY}"
severity: critical
- name: 'self-healing-webhook'
webhook_configs:
- url: "${SELF_HEALING_WEBHOOK_URL}"
send_resolved: true
# Custom PrometheusRules for Self-Healing triggers
additionalPrometheusRules:
- name: self-healing-rules
groups:
- name: error-detection
rules:
- alert: HighErrorRate
expr: rate(http_requests_total{status=~"5.."}[5m]) / rate(http_requests_total[5m]) > 0.01
for: 2m
labels:
severity: warning
annotations:
description: "Error rate > 1% for {{ $labels.service }} — Self-Healing candidate"
- alert: CriticalErrorRate
expr: rate(http_requests_total{status=~"5.."}[5m]) / rate(http_requests_total[5m]) > 0.05
for: 2m
labels:
severity: critical
annotations:
description: "Error rate > 5% for {{ $labels.service }} — Auto-Rollback triggered"
- alert: HighLatency
expr: histogram_quantile(0.95, rate(http_request_duration_seconds_bucket[5m])) > 0.5
for: 5m
labels:
severity: warning
annotations:
description: "P95 latency > 500ms for {{ $labels.service }}"
@@ -0,0 +1,27 @@
# Loki + Promtail Helm Values — Auto-generated by hmcmkit
# helm install loki grafana/loki-stack -f loki-stack.values.yaml
loki:
enabled: true
persistence:
enabled: true
size: 10Gi
config:
table_manager:
retention_deletes_enabled: true
retention_period: 168h # 7 days
promtail:
enabled: true
config:
clients:
- url: http://loki:3100/loki/api/v1/push
scrape_configs:
- job_name: kubernetes-pods
kubernetes_sd_configs:
- role: pod
relabel_configs:
- source_labels: [__meta_kubernetes_pod_label_app]
target_label: app
- source_labels: [__meta_kubernetes_namespace]
target_label: namespace
@@ -0,0 +1,86 @@
# OpenTelemetry Collector + Tempo — Auto-generated by hmcmkit
# Distributed tracing: App → OTel Collector → Tempo → Grafana
# OpenTelemetry Collector
# helm install otel open-telemetry/opentelemetry-collector -f otel-tempo.values.yaml
opentelemetry-collector:
mode: deployment
config:
receivers:
otlp:
protocols:
grpc: { endpoint: "0.0.0.0:4317" }
http: { endpoint: "0.0.0.0:4318" }
processors:
batch:
timeout: 5s
send_batch_size: 1024
exporters:
otlp:
endpoint: "tempo:4317"
tls: { insecure: true }
prometheus:
endpoint: "0.0.0.0:8889"
connectors:
spanmetrics:
histogram:
explicit:
buckets: [5ms, 10ms, 25ms, 50ms, 100ms, 250ms, 500ms, 1s, 2.5s]
dimensions:
- name: http.method
- name: http.status_code
- name: service.name
service:
pipelines:
traces:
receivers: [otlp]
processors: [batch]
exporters: [otlp]
traces/sentry:
receivers: [otlp]
processors: [batch]
exporters: [sentry]
metrics:
receivers: [otlp, spanmetrics]
processors: [batch]
exporters: [prometheus]
# Sentry Exporter — Forward error spans to Sentry for correlation
# Traces with error status → Sentry issue linkage
sentry-exporter:
dsn: "${SENTRY_DSN}"
environment: "${ENVIRONMENT}"
insecure: false
# Tempo (Trace Backend)
# helm install tempo grafana/tempo -f otel-tempo.values.yaml
tempo:
persistence:
enabled: true
size: 10Gi
config:
server:
http_listen_port: 3100
distributor:
receivers:
otlp:
protocols:
grpc: {}
storage:
trace:
backend: local
local:
path: /var/tempo/traces
# Blackbox Exporter (Uptime Monitoring)
# helm install blackbox prometheus-community/prometheus-blackbox-exporter
blackbox-exporter:
config:
modules:
http_2xx:
prober: http
timeout: 5s
http:
valid_http_versions: ["HTTP/1.1", "HTTP/2.0"]
valid_status_codes: [200, 301, 302]
follow_redirects: true