Skip to main content

signature

Overview

  • Namespace: signature
  • Purpose: Digital Signature Services - PRODUCTION
  • Age: ~4 years 168 days / ~3 years 284 days (active service)
  • Status: Partially Active - 1 active, 4 scaled to 0
  • Workloads: 5 deployments (1 active, 4 scaled to 0)
  • Environment: PRODUCTION - Digital signature management

Architecture

Digital signature platform with most services scaled down:

  • Signing App: Active signature service (1 replica)
  • API: Legacy API service (0 replicas)
  • Consumer: Test result consumer (0 replicas)
  • Flower: Celery monitoring (0 replicas)
  • Worker: Background worker (0 replicas)

Auto-Scaling Configuration

Not Applicable:

  • No HPA configured
  • Active service at fixed 1 replica
  • Inactive services at 0 replicas

Workload Categories

Active Service (1 deployment)

NameReplicasStatusPurpose
signing-app1/1RunningDigital signature service

Inactive Services (4 deployments - Scaled to 0)

NameReplicasStatusPurpose
api0/0InactiveLegacy API service
consumer-test-result0/0InactiveTest result consumer
flower0/0InactiveCelery monitoring
worker0/0InactiveBackground worker

Services

NameTypeCluster IPPortsPurpose
apiNodePort10.8.26.7180:30411Legacy API (inactive)
flowerNodePort10.8.28.7380:31133Celery monitoring (inactive)
signing-serviceClusterIP10.8.28.1680Digital signature service (active)

Access & Management

View all resources:

kubectl get all -n signature

Check active service:

# View signing-app pod
kubectl get pods -n signature | grep signing-app

# View logs
kubectl logs -f deployment/signing-app -n signature

# Check for errors
kubectl logs deployment/signing-app -n signature --tail=100 | grep -i "error"

Access signing service:

# Port forward
kubectl port-forward -n signature service/signing-service 8080:80
# Access: http://localhost:8080

Restart active service:

kubectl rollout restart deployment/signing-app -n signature

Scale inactive services (if needed):

# Scale API
kubectl scale deployment api --replicas=1 -n signature

# Scale worker
kubectl scale deployment worker --replicas=1 -n signature

# Scale consumer
kubectl scale deployment consumer-test-result --replicas=1 -n signature

Monitoring

Pod metrics:

kubectl top pods -n signature

# Check resource usage
kubectl describe pod -n signature | grep -A 5 "Requests\|Limits"

Events:

kubectl get events -n signature --sort-by='.lastTimestamp' | head -20

Data Flow (Active Service)

Internal Services

signing-service (ClusterIP:80)

signing-app pod

Digital Signature Processing

Document Signing

Signature Service Workflow

1. Active Service

  • signing-app (1 replica)
  • Digital signature generation
  • Document signing API
  • Internal access only (ClusterIP)
  • 107 days old (stable)

2. Inactive Components

  • api: Legacy NodePort API (scaled to 0)
  • worker: Celery background worker (scaled to 0)
  • consumer-test-result: Test result consumer (scaled to 0)
  • flower: Celery monitoring (scaled to 0)

3. Architecture Evolution

  • Older architecture had API + Worker + Consumer (4y168d)
  • Current active service: signing-app (3y284d)
  • Legacy components scaled down
  • Simplified to single signing service

Production Considerations

High Availability

Active Service:

  • signing-app: 1 replica (No HA)
  • Single point of failure
  • Pod restart = temporary unavailability

Inactive Services:

  • 4 deployments scaled to 0
  • Review if still needed

Recommendations

  1. High Availability (Optional):

    • Current: 1 replica (acceptable if not critical)
    • Consider 2 replicas if document signing is business-critical
    • Depends on signature service SLA requirements
  2. Cleanup Inactive Services:

    • 4 deployments scaled to 0 (80% of total)
    • Review each deployment:
      • If permanently unused → delete
      • If legacy → document and remove
    • Simplify namespace
  3. Monitoring:

    • Monitor signing-app pod health
    • Alert on pod failures
    • Track signature request success rates
    • Monitor API response times
  4. Backup Strategy:

    • Back up signature keys (critical)
    • Document signing workflows
    • Test key recovery procedures
    • Secure key storage
  5. Security:

    • Digital signatures are security-critical
    • Audit access to signing service
    • Rotate signing keys regularly
    • Monitor for unauthorized access
    • Review certificate management

Troubleshooting

Signing service not responding:

# Check pod status
kubectl get pods -n signature | grep signing-app

# Check logs
kubectl logs -f deployment/signing-app -n signature

# Check for errors
kubectl logs deployment/signing-app -n signature --tail=100 | grep -i "error\|fail"

# Test service
kubectl port-forward -n signature service/signing-service 8080:80
curl http://localhost:8080/health

# Restart pod
kubectl rollout restart deployment/signing-app -n signature

Check inactive services:

# List all deployments
kubectl get deployments -n signature

# Check scaled-to-0 deployments
kubectl get deployments -n signature | grep "0/0"

# Check deployment history
kubectl rollout history deployment/api -n signature

# Scale up if needed (testing)
kubectl scale deployment api --replicas=1 -n signature

Performance issues:

# Check resource usage
kubectl top pod -n signature

# Check pod events
kubectl describe pod -n signature

# Check resource limits
kubectl describe deployment signing-app -n signature | grep -A 10 "Limits\|Requests"

Performance Metrics

Current Scale

  • Active: 1 deployment (signing-app: 1 replica)
  • Inactive: 4 deployments (all scaled to 0)
  • Age: 3y284d (signing-app), 4y168d (legacy services)
  • Last Update: 107 days ago (signing-app)

Stability

  • signing-app: 107 days old (stable)
  • Restarts: Check with kubectl get pods -n signature
  • Legacy Services: All inactive (4y+ old)
  • Architecture: Simplified to single signing service

Architecture Notes

  • Digital Signatures: Security-critical service
  • Simplified: Single active service (signing-app)
  • Legacy Components: 4 services scaled to 0 (cleanup candidate)
  • Internal Access: ClusterIP service only
  • No HA: Single replica
  • Stable: 107 days without updates
  • Cleanup Needed: 80% of deployments inactive