claude-all-config 3.1.16 → 3.2.0
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/VERSION +1 -1
- package/claude-all +152 -39
- package/package.json +2 -2
- package/skills/standard-architecture/SKILL.md +191 -0
- package/skills/standard-architecture/scripts/deploy.sh +462 -0
- package/skills/standard-architecture/scripts/health-check.sh +467 -0
- package/skills/standard-architecture/templates/cloudflared.yml.template +167 -0
- package/skills/standard-architecture/templates/docker-compose.yml.template +160 -0
- package/skills/standard-architecture/templates/nginx.conf.template +275 -0
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
3.
|
|
1
|
+
3.2.0
|
package/claude-all
CHANGED
|
@@ -2768,58 +2768,171 @@ EOF
|
|
|
2768
2768
|
esac
|
|
2769
2769
|
;;
|
|
2770
2770
|
5)
|
|
2771
|
-
# Add Custom Model -
|
|
2771
|
+
# Add Custom Model - Pick provider first
|
|
2772
2772
|
echo ""
|
|
2773
|
-
echo -e "${BLUE}═══ ADD
|
|
2773
|
+
echo -e "${BLUE}═══ ADD MODEL ═══${NC}"
|
|
2774
2774
|
echo ""
|
|
2775
|
-
echo "
|
|
2776
|
-
echo "
|
|
2775
|
+
echo "Pilih provider untuk tambah model:"
|
|
2776
|
+
echo ""
|
|
2777
|
+
echo "1) 🇨🇳 ZhipuAI/GLM"
|
|
2778
|
+
echo "2) 🎵 MiniMax"
|
|
2779
|
+
echo "3) 🤖 Claude/Anthropic"
|
|
2780
|
+
echo "4) 🧠 Letta AI"
|
|
2777
2781
|
echo "0) Back"
|
|
2778
2782
|
echo ""
|
|
2779
|
-
read -p "Pilih: "
|
|
2780
|
-
|
|
2781
|
-
|
|
2782
|
-
|
|
2783
|
-
|
|
2784
|
-
echo
|
|
2785
|
-
|
|
2786
|
-
|
|
2783
|
+
read -p "Pilih provider: " prov_choice
|
|
2784
|
+
case $prov_choice in
|
|
2785
|
+
1)
|
|
2786
|
+
# Add to GLM
|
|
2787
|
+
GLM_CFG="$SCRIPT_DIR/models/glm/config.json"
|
|
2788
|
+
echo ""
|
|
2789
|
+
echo -e "${CYAN}Add New GLM Model${NC}"
|
|
2790
|
+
read -p "Model ID (e.g., glm-5): " new_id
|
|
2791
|
+
read -p "Model Name (e.g., GLM-5): " new_name
|
|
2792
|
+
read -p "Description: " new_desc
|
|
2793
|
+
if [[ -n "$new_id" && -n "$new_name" ]] && command -v jq &>/dev/null; then
|
|
2794
|
+
jq ".models += [{\"id\":\"$new_id\",\"name\":\"$new_name\",\"description\":\"$new_desc\"}]" "$GLM_CFG" > "${GLM_CFG}.tmp" && mv "${GLM_CFG}.tmp" "$GLM_CFG"
|
|
2795
|
+
echo -e "${GREEN}✓ Model '$new_name' added to GLM!${NC}"
|
|
2796
|
+
fi
|
|
2797
|
+
;;
|
|
2798
|
+
2)
|
|
2799
|
+
# Add to MiniMax
|
|
2800
|
+
MM_CFG="$SCRIPT_DIR/models/minimax/config.json"
|
|
2801
|
+
echo ""
|
|
2802
|
+
echo -e "${CYAN}Add New MiniMax Model${NC}"
|
|
2803
|
+
read -p "Model ID (e.g., speech-3.0): " new_id
|
|
2804
|
+
read -p "Model Name: " new_name
|
|
2805
|
+
read -p "Description: " new_desc
|
|
2806
|
+
if [[ -n "$new_id" && -n "$new_name" ]] && command -v jq &>/dev/null; then
|
|
2807
|
+
jq ".models += [{\"id\":\"$new_id\",\"name\":\"$new_name\",\"description\":\"$new_desc\"}]" "$MM_CFG" > "${MM_CFG}.tmp" && mv "${MM_CFG}.tmp" "$MM_CFG"
|
|
2808
|
+
echo -e "${GREEN}✓ Model '$new_name' added to MiniMax!${NC}"
|
|
2809
|
+
fi
|
|
2810
|
+
;;
|
|
2811
|
+
3)
|
|
2812
|
+
# Add to Claude
|
|
2813
|
+
CLAUDE_CFG="$SCRIPT_DIR/models/anthropic/config.json"
|
|
2814
|
+
if [[ ! -f "$CLAUDE_CFG" ]]; then
|
|
2815
|
+
mkdir -p "$(dirname "$CLAUDE_CFG")"
|
|
2816
|
+
echo '{"name":"Anthropic","models":[]}' > "$CLAUDE_CFG"
|
|
2817
|
+
fi
|
|
2818
|
+
echo ""
|
|
2819
|
+
echo -e "${CYAN}Add New Claude Model${NC}"
|
|
2820
|
+
read -p "Model ID (e.g., claude-4-opus): " new_id
|
|
2821
|
+
read -p "Model Name: " new_name
|
|
2822
|
+
read -p "Description: " new_desc
|
|
2823
|
+
if [[ -n "$new_id" && -n "$new_name" ]] && command -v jq &>/dev/null; then
|
|
2824
|
+
jq ".models += [{\"id\":\"$new_id\",\"name\":\"$new_name\",\"description\":\"$new_desc\"}]" "$CLAUDE_CFG" > "${CLAUDE_CFG}.tmp" && mv "${CLAUDE_CFG}.tmp" "$CLAUDE_CFG"
|
|
2825
|
+
echo -e "${GREEN}✓ Model '$new_name' added to Claude!${NC}"
|
|
2826
|
+
fi
|
|
2827
|
+
;;
|
|
2828
|
+
4)
|
|
2829
|
+
# Add to Letta
|
|
2830
|
+
LETTA_CFG="$SCRIPT_DIR/models/letta/config.json"
|
|
2831
|
+
echo ""
|
|
2832
|
+
echo -e "${CYAN}Add New Letta Model${NC}"
|
|
2833
|
+
read -p "Model ID: " new_id
|
|
2834
|
+
read -p "Model Name: " new_name
|
|
2835
|
+
read -p "Description: " new_desc
|
|
2836
|
+
if [[ -n "$new_id" && -n "$new_name" ]] && command -v jq &>/dev/null; then
|
|
2837
|
+
jq ".models += [{\"id\":\"$new_id\",\"name\":\"$new_name\",\"description\":\"$new_desc\"}]" "$LETTA_CFG" > "${LETTA_CFG}.tmp" && mv "${LETTA_CFG}.tmp" "$LETTA_CFG"
|
|
2838
|
+
echo -e "${GREEN}✓ Model '$new_name' added to Letta!${NC}"
|
|
2839
|
+
fi
|
|
2840
|
+
;;
|
|
2841
|
+
esac
|
|
2787
2842
|
;;
|
|
2788
2843
|
6)
|
|
2789
|
-
# Edit Existing Model
|
|
2844
|
+
# Edit Existing Model - Pick provider first
|
|
2790
2845
|
echo ""
|
|
2791
|
-
|
|
2792
|
-
|
|
2793
|
-
|
|
2794
|
-
|
|
2846
|
+
echo -e "${BLUE}═══ EDIT MODEL ═══${NC}"
|
|
2847
|
+
echo ""
|
|
2848
|
+
echo "Pilih provider:"
|
|
2849
|
+
echo ""
|
|
2850
|
+
echo "1) 🇨🇳 ZhipuAI/GLM"
|
|
2851
|
+
echo "2) 🎵 MiniMax"
|
|
2852
|
+
echo "3) 🤖 Claude/Anthropic"
|
|
2853
|
+
echo "4) 🧠 Letta AI"
|
|
2854
|
+
echo "0) Back"
|
|
2855
|
+
echo ""
|
|
2856
|
+
read -p "Pilih provider: " prov_choice
|
|
2857
|
+
|
|
2858
|
+
case $prov_choice in
|
|
2859
|
+
1) CFG_FILE="$SCRIPT_DIR/models/glm/config.json" ;;
|
|
2860
|
+
2) CFG_FILE="$SCRIPT_DIR/models/minimax/config.json" ;;
|
|
2861
|
+
3) CFG_FILE="$SCRIPT_DIR/models/anthropic/config.json" ;;
|
|
2862
|
+
4) CFG_FILE="$SCRIPT_DIR/models/letta/config.json" ;;
|
|
2863
|
+
*) CFG_FILE="" ;;
|
|
2864
|
+
esac
|
|
2865
|
+
|
|
2866
|
+
if [[ -n "$CFG_FILE" && -f "$CFG_FILE" ]] && command -v jq &>/dev/null; then
|
|
2867
|
+
echo ""
|
|
2868
|
+
echo -e "${CYAN}Models in config:${NC}"
|
|
2869
|
+
jq -r '.models[] | "\(.id) - \(.name)"' "$CFG_FILE" 2>/dev/null | nl -w2 -s") "
|
|
2870
|
+
echo ""
|
|
2871
|
+
read -p "Model number to edit: " edit_num
|
|
2872
|
+
idx=$((edit_num-1))
|
|
2873
|
+
current_id=$(jq -r ".models[$idx].id // empty" "$CFG_FILE")
|
|
2874
|
+
current_name=$(jq -r ".models[$idx].name // empty" "$CFG_FILE")
|
|
2875
|
+
current_desc=$(jq -r ".models[$idx].description // empty" "$CFG_FILE")
|
|
2876
|
+
if [[ -n "$current_id" ]]; then
|
|
2877
|
+
echo ""
|
|
2878
|
+
echo "Current: $current_id - $current_name"
|
|
2879
|
+
echo " Desc: $current_desc"
|
|
2880
|
+
echo ""
|
|
2881
|
+
read -p "New ID [$current_id]: " new_id
|
|
2882
|
+
read -p "New Name [$current_name]: " new_name
|
|
2883
|
+
read -p "New Description [$current_desc]: " new_desc
|
|
2884
|
+
new_id=${new_id:-$current_id}
|
|
2885
|
+
new_name=${new_name:-$current_name}
|
|
2886
|
+
new_desc=${new_desc:-$current_desc}
|
|
2887
|
+
jq ".models[$idx] = {\"id\":\"$new_id\",\"name\":\"$new_name\",\"description\":\"$new_desc\"}" "$CFG_FILE" > "${CFG_FILE}.tmp" && mv "${CFG_FILE}.tmp" "$CFG_FILE"
|
|
2888
|
+
echo -e "${GREEN}✓ Model updated!${NC}"
|
|
2889
|
+
else
|
|
2890
|
+
echo -e "${RED}Model not found${NC}"
|
|
2891
|
+
fi
|
|
2892
|
+
elif [[ -n "$CFG_FILE" ]]; then
|
|
2893
|
+
echo -e "${RED}Config file not found or jq not installed${NC}"
|
|
2795
2894
|
fi
|
|
2796
2895
|
;;
|
|
2797
2896
|
7)
|
|
2798
|
-
# List All Models
|
|
2897
|
+
# List All Models from all providers
|
|
2799
2898
|
echo ""
|
|
2800
|
-
|
|
2801
|
-
|
|
2802
|
-
|
|
2803
|
-
|
|
2899
|
+
echo -e "${BLUE}═══ ALL MODELS ═══${NC}"
|
|
2900
|
+
echo ""
|
|
2901
|
+
|
|
2902
|
+
# GLM Models
|
|
2903
|
+
GLM_CFG="$SCRIPT_DIR/models/glm/config.json"
|
|
2904
|
+
if [[ -f "$GLM_CFG" ]] && command -v jq &>/dev/null; then
|
|
2905
|
+
echo -e "${CYAN}🇨🇳 ZhipuAI/GLM:${NC}"
|
|
2906
|
+
jq -r '.models[] | " • \(.id) - \(.description)"' "$GLM_CFG" 2>/dev/null
|
|
2804
2907
|
echo ""
|
|
2805
|
-
|
|
2806
|
-
|
|
2807
|
-
|
|
2808
|
-
|
|
2809
|
-
|
|
2810
|
-
echo "
|
|
2811
|
-
|
|
2812
|
-
echo "
|
|
2813
|
-
|
|
2908
|
+
fi
|
|
2909
|
+
|
|
2910
|
+
# MiniMax Models
|
|
2911
|
+
MM_CFG="$SCRIPT_DIR/models/minimax/config.json"
|
|
2912
|
+
if [[ -f "$MM_CFG" ]] && command -v jq &>/dev/null; then
|
|
2913
|
+
echo -e "${CYAN}🎵 MiniMax:${NC}"
|
|
2914
|
+
jq -r '.models[]? | " • \(.id) - \(.description)"' "$MM_CFG" 2>/dev/null || echo " (no models configured)"
|
|
2915
|
+
echo ""
|
|
2916
|
+
fi
|
|
2917
|
+
|
|
2918
|
+
# Claude/Anthropic Models
|
|
2919
|
+
CLAUDE_CFG="$SCRIPT_DIR/models/anthropic/config.json"
|
|
2920
|
+
echo -e "${CYAN}🤖 Claude/Anthropic:${NC}"
|
|
2921
|
+
if [[ -f "$CLAUDE_CFG" ]] && command -v jq &>/dev/null; then
|
|
2922
|
+
jq -r '.models[]? | " • \(.id) - \(.description)"' "$CLAUDE_CFG" 2>/dev/null
|
|
2923
|
+
fi
|
|
2924
|
+
echo " • claude-sonnet-4-20250514 (Latest Sonnet)"
|
|
2925
|
+
echo " • claude-3-5-sonnet-20241022 (Sonnet 3.5)"
|
|
2926
|
+
echo " • claude-3-5-haiku-20241022 (Haiku - Fast)"
|
|
2927
|
+
echo " • claude-3-opus-20240229 (Opus - Best)"
|
|
2928
|
+
echo ""
|
|
2929
|
+
|
|
2930
|
+
# Letta Models
|
|
2931
|
+
LETTA_CFG="$SCRIPT_DIR/models/letta/config.json"
|
|
2932
|
+
if [[ -f "$LETTA_CFG" ]] && command -v jq &>/dev/null; then
|
|
2933
|
+
echo -e "${CYAN}🧠 Letta AI:${NC}"
|
|
2934
|
+
jq -r '.models[]? | " • \(.id) - \(.description)"' "$LETTA_CFG" 2>/dev/null || echo " (uses Claude/GPT via Letta API)"
|
|
2814
2935
|
echo ""
|
|
2815
|
-
echo -e "${CYAN}Custom Models:${NC}"
|
|
2816
|
-
if [[ -d "$HOME/.claude/models" ]]; then
|
|
2817
|
-
ls -1 "$HOME/.claude/models"/*.json 2>/dev/null | while read f; do
|
|
2818
|
-
echo " - $(basename "$f" .json)"
|
|
2819
|
-
done
|
|
2820
|
-
else
|
|
2821
|
-
echo " (none)"
|
|
2822
|
-
fi
|
|
2823
2936
|
fi
|
|
2824
2937
|
;;
|
|
2825
2938
|
8)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-all-config",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.2.0",
|
|
4
4
|
"description": "🤖 Universal AI CLI Config with Advanced Skills System - Quality Scoring, Scaffolding, Testing, Hooks & Multi-Agent Support (Claude Code, Cursor, Copilot, Gemini & 20+ More)",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"bin": {
|
|
@@ -120,7 +120,7 @@
|
|
|
120
120
|
"codex",
|
|
121
121
|
"trae"
|
|
122
122
|
],
|
|
123
|
-
"skillsCount":
|
|
123
|
+
"skillsCount": 61,
|
|
124
124
|
"agentsCount": 14,
|
|
125
125
|
"commandsCount": 3
|
|
126
126
|
},
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: standard-architecture
|
|
3
|
+
description: Automatically setup secure deployment architecture with Nginx + Unix Socket + Cloudflare Tunnel. Use when creating new applications, backends, APIs, or any web service. Triggers on "create app", "deploy service", "new backend", "setup architecture".
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Standard Security Architecture
|
|
7
|
+
|
|
8
|
+
Automatically deploys applications using the **most secure architecture pattern**:
|
|
9
|
+
- **Zero public ports** for backend services
|
|
10
|
+
- **Unix Domain Sockets** for inter-process communication
|
|
11
|
+
- **Nginx reverse proxy** for security and performance
|
|
12
|
+
- **Cloudflare Tunnel** for zero-trust network access
|
|
13
|
+
- **Docker isolation** with proper security boundaries
|
|
14
|
+
|
|
15
|
+
## When to Use
|
|
16
|
+
|
|
17
|
+
- Creating new web applications, APIs, or backend services
|
|
18
|
+
- Migrating existing services to secure architecture
|
|
19
|
+
- Setting up development/staging/production environments
|
|
20
|
+
- Any application requiring internet access
|
|
21
|
+
|
|
22
|
+
## Architecture Pattern
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
Internet → Cloudflare Edge → CF Tunnel → Nginx → Unix Socket → Docker App
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
**Security Benefits:**
|
|
29
|
+
- ✅ Zero network ports exposed to internet
|
|
30
|
+
- ✅ File-based permissions for socket access
|
|
31
|
+
- ✅ Nginx security layer (rate limiting, headers)
|
|
32
|
+
- ✅ Container isolation boundaries
|
|
33
|
+
- ✅ DDoS protection via Cloudflare
|
|
34
|
+
|
|
35
|
+
## Quick Start
|
|
36
|
+
|
|
37
|
+
The skill automatically:
|
|
38
|
+
1. **Generate Docker setup** with Unix socket support
|
|
39
|
+
2. **Create Nginx config** with security hardening
|
|
40
|
+
3. **Setup Cloudflare Tunnel** configuration
|
|
41
|
+
4. **Configure systemd services** for auto-restart
|
|
42
|
+
5. **Apply security policies** and file permissions
|
|
43
|
+
6. **Test deployment** end-to-end
|
|
44
|
+
|
|
45
|
+
## Implementation
|
|
46
|
+
|
|
47
|
+
### Application Requirements
|
|
48
|
+
- Must support Unix Domain Socket binding (most modern frameworks do)
|
|
49
|
+
- Should have health check endpoint
|
|
50
|
+
- Environment variable configuration
|
|
51
|
+
|
|
52
|
+
### Generated Files
|
|
53
|
+
```
|
|
54
|
+
project/
|
|
55
|
+
├── docker-compose.yml # Docker with Unix socket volume
|
|
56
|
+
├── nginx/
|
|
57
|
+
│ └── app.conf # Nginx reverse proxy config
|
|
58
|
+
├── cloudflared/
|
|
59
|
+
│ └── config.yml # CF tunnel configuration
|
|
60
|
+
├── systemd/
|
|
61
|
+
│ └── app.service # Auto-restart service
|
|
62
|
+
└── scripts/
|
|
63
|
+
├── deploy.sh # Full deployment script
|
|
64
|
+
└── health-check.sh # Service validation
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Nginx Security Features
|
|
68
|
+
- Rate limiting per IP
|
|
69
|
+
- Security headers (HSTS, CSP, etc)
|
|
70
|
+
- Request size limits
|
|
71
|
+
- Bad bot blocking
|
|
72
|
+
- SSL/TLS hardening
|
|
73
|
+
|
|
74
|
+
### Unix Socket Configuration
|
|
75
|
+
- Proper file permissions (660)
|
|
76
|
+
- Owner/group management
|
|
77
|
+
- Socket cleanup on restart
|
|
78
|
+
- Performance optimizations
|
|
79
|
+
|
|
80
|
+
## Usage Examples
|
|
81
|
+
|
|
82
|
+
### Backend API
|
|
83
|
+
```bash
|
|
84
|
+
./scripts/deploy.sh --type=api --port=8080 --domain=api.example.com
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Full-Stack App
|
|
88
|
+
```bash
|
|
89
|
+
./scripts/deploy.sh --type=webapp --frontend=3000 --backend=8080 --domain=app.example.com
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### Database Service
|
|
93
|
+
```bash
|
|
94
|
+
./scripts/deploy.sh --type=database --port=5432 --internal-only
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## Advanced Configuration
|
|
98
|
+
|
|
99
|
+
### Multi-Service Setup
|
|
100
|
+
Handle applications with multiple components (frontend, backend, workers) using unified socket directory and Nginx upstream configuration.
|
|
101
|
+
|
|
102
|
+
### Load Balancing
|
|
103
|
+
Configure multiple backend instances behind single Unix socket proxy for horizontal scaling.
|
|
104
|
+
|
|
105
|
+
### Monitoring Integration
|
|
106
|
+
Automatic setup of:
|
|
107
|
+
- Health check endpoints
|
|
108
|
+
- Prometheus metrics exposure
|
|
109
|
+
- Log aggregation configuration
|
|
110
|
+
- Alert manager integration
|
|
111
|
+
|
|
112
|
+
## Security Hardening
|
|
113
|
+
|
|
114
|
+
### File System
|
|
115
|
+
- Unix socket permissions: `660` (owner + group only)
|
|
116
|
+
- Service user isolation
|
|
117
|
+
- Read-only container filesystem where possible
|
|
118
|
+
- Volume mount restrictions
|
|
119
|
+
|
|
120
|
+
### Network
|
|
121
|
+
- Container network isolation (`network_mode: none` for pure socket communication)
|
|
122
|
+
- Firewall rules via iptables
|
|
123
|
+
- CrowdSec integration for threat detection
|
|
124
|
+
|
|
125
|
+
### Process
|
|
126
|
+
- Non-root container execution
|
|
127
|
+
- Resource limits (CPU, memory)
|
|
128
|
+
- Capability dropping
|
|
129
|
+
- Systemd service isolation
|
|
130
|
+
|
|
131
|
+
## Troubleshooting
|
|
132
|
+
|
|
133
|
+
### Common Issues
|
|
134
|
+
- **Socket permission denied**: Check file ownership and permissions
|
|
135
|
+
- **Connection refused**: Verify socket file exists and service is running
|
|
136
|
+
- **502 Bad Gateway**: Check socket path in Nginx config matches application
|
|
137
|
+
- **CF Tunnel not connecting**: Verify tunnel token and domain DNS
|
|
138
|
+
|
|
139
|
+
### Debug Commands
|
|
140
|
+
```bash
|
|
141
|
+
# Check socket file
|
|
142
|
+
ls -la /var/run/sockets/
|
|
143
|
+
|
|
144
|
+
# Test socket connectivity
|
|
145
|
+
curl --unix-socket /var/run/sockets/app.sock http://localhost/health
|
|
146
|
+
|
|
147
|
+
# Nginx config test
|
|
148
|
+
nginx -t
|
|
149
|
+
|
|
150
|
+
# Service status
|
|
151
|
+
systemctl status app
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
## Best Practices
|
|
155
|
+
|
|
156
|
+
### Development Workflow
|
|
157
|
+
1. Start with localhost development
|
|
158
|
+
2. Test Unix socket locally
|
|
159
|
+
3. Add Nginx layer
|
|
160
|
+
4. Configure CF tunnel
|
|
161
|
+
5. Deploy with monitoring
|
|
162
|
+
|
|
163
|
+
### Production Checklist
|
|
164
|
+
- [ ] Unix socket permissions verified
|
|
165
|
+
- [ ] Nginx security headers enabled
|
|
166
|
+
- [ ] CF tunnel authenticated
|
|
167
|
+
- [ ] Health checks responding
|
|
168
|
+
- [ ] Log rotation configured
|
|
169
|
+
- [ ] Backup strategy in place
|
|
170
|
+
- [ ] Monitoring alerts active
|
|
171
|
+
|
|
172
|
+
### Security Review
|
|
173
|
+
- [ ] No network ports in application containers
|
|
174
|
+
- [ ] Socket files protected (not world-readable)
|
|
175
|
+
- [ ] Nginx rate limiting configured
|
|
176
|
+
- [ ] CF WAF rules enabled
|
|
177
|
+
- [ ] Container runs as non-root
|
|
178
|
+
- [ ] Resource limits applied
|
|
179
|
+
|
|
180
|
+
## Integration with Existing Services
|
|
181
|
+
|
|
182
|
+
Works seamlessly with:
|
|
183
|
+
- **Databases**: PostgreSQL, Redis, MongoDB via Unix sockets
|
|
184
|
+
- **Message Queues**: RabbitMQ, Apache Kafka
|
|
185
|
+
- **Monitoring**: Prometheus, Grafana, ELK stack
|
|
186
|
+
- **CI/CD**: GitHub Actions, GitLab CI, Jenkins
|
|
187
|
+
- **Container Orchestration**: Docker Swarm, basic Kubernetes
|
|
188
|
+
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
**Note:** This pattern provides maximum security with minimal complexity. Every new application should follow this architecture unless specific requirements dictate otherwise.
|