psm-buddy
Day-1 Tool for Aruba CX 10000, AMD Pensando PSM (Policy and Services Manager) and ELK ecosystem
10K+
It accelerates the journey to network (micro-) segmentation by creating network and security policy related objects.
PSM Buddy includes an intelligent compatibility checking system that:
If you're using the AMD Pensando ELK stack, add this service to your existing docker-compose.yml:
psm-buddy:
image: maxpower86/psm-buddy:latest
container_name: psm-buddy
ports:
- "5600:5600"
environment:
# Enable TLS (Optional)
- TLS_ENABLED=False
volumes:
# Persist application configuration files
- ${PWD}/psmbuddy/app-instance:/app/var/app-instance
# Persist snapshots and logs
- ${PWD}/psmbuddy/snapshot/logs:/var/log/pensando/snapshot
- ${PWD}/psmbuddy/snapshot:/app/snapshot
# Shared APPID file with Logstash
- ${PWD}/logstash/prot_port_to_app_mapping.yml:/app/var/app-instance/prot_port_to_app_mapping.yml
# TLS Certificate and Key (optional)
# - ${PWD}/psmbuddy/psm-buddy-cert.pem:/app/certs/cert.pem
# - ${PWD}/psmbuddy/psm-buddy-key.pem:/app/certs/key.pem
healthcheck:
test: ["CMD", "/usr/local/bin/healthcheck.sh"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
restart: unless-stopped
networks: ['elk-stack']
volumes:
psm-buddy-config:
driver: local
psm-buddy-logs:
driver: local
For a standalone PSM Buddy deployment, create a new docker-compose.yml:
name: psm-buddy
services:
psm-buddy:
image: maxpower86/psm-buddy:latest
container_name: psm-buddy
ports:
- "5600:5600"
environment:
- TLS_ENABLED=False
volumes:
# Persist application configuration files
- ${PWD}/psmbuddy/app-instance:/app/var/app-instance
# Persist snapshots and logs
- ${PWD}/psmbuddy/snapshot/logs:/var/log/pensando/snapshot
- ${PWD}/psmbuddy/snapshot:/app/snapshot
# TLS Certificate and Key (optional)
# - ${PWD}/psmbuddy/psm-buddy-cert.pem:/app/certs/cert.pem
# - ${PWD}/psmbuddy/psm-buddy-key.pem:/app/certs/key.pem
healthcheck:
test: ["CMD", "/usr/local/bin/healthcheck.sh"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
restart: unless-stopped
networks:
- psm-buddy-network
networks:
psm-buddy-network:
driver: bridge
volumes:
psm-buddy-config:
driver: local
psm-buddy-logs:
driver: local
Start the application:
docker compose up -d
Access PSM Buddy:
https://localhost:5600admin / Pensando0$| Variable | Description | Default |
|---|---|---|
TLS_ENABLED | Enable HTTPS | False |
TLS_CERT_PATH | Path to TLS certificate | certs/cert.pem |
TLS_KEY_PATH | Path to TLS private key | certs/key.pem |
| Variable | Description | Default |
|---|---|---|
ADMIN_USERNAME | Override default admin username | admin |
ADMIN_PASSWORD | Override default admin password | Pensando0$ |
Note: Most configuration (Elasticsearch, PSM, DNS servers, switch credentials) is managed through the web UI after login.
PSM Buddy requires the following network connectivity:
| Source | Destination | Port | Protocol | Purpose |
|---|---|---|---|---|
| PSM Buddy | Elasticsearch | 9200 | HTTPS/HTTP | Query network flow data |
| PSM Buddy | PSM Server | 443 | HTTPS | API calls for object creation |
| PSM Buddy | Aruba CX Switches | 443 | HTTPS | REST API for VRF/VLAN info |
| PSM Buddy | DNS Servers | 53 | UDP | Hostname resolution |
| PSM Buddy | Remote Backup Servers | 22 | SSH/SFTP | PSM snapshot transfers (optional) |
| Browser | PSM Buddy | 5600 | HTTPS/HTTP | Web UI access |
Ensure your firewall rules allow:
Configuration Persistence: /app/var/app-instance
Snapshots: /app/snapshot
Backup Logs: /var/log/pensando/snapshot
SSL Certificates: /app/certs
TLS_ENABLED=TruePort Mappings: /app/var/app-instance/prot_port_to_app_mapping.yml
"port_protocol": "Application Name"ADMIN_USERNAME and ADMIN_PASSWORDTLS_ENABLED=True with valid certificates
This project is licensed under the MIT License - see the LICENSE file for details.
Note: PSM Buddy is designed for network administrators working with Pensando infrastructure. Ensure you have proper network access and credentials for your Elasticsearch and PSM instances before deployment.
* AMD ELK Integration: When used with the AMD Pensando ELK stack, PSM Buddy automatically shares port mappings with Logstash and provides the creation of IP Collections and APPS based on the gathered telemetry information.
** Standalone Deployment: The standalone version provides all core functionality without the object creation based on the telemetry gathered by ELK.
Content type
Image
Digest
sha256:817212acf…
Size
194.6 MB
Last updated
8 months ago
docker pull maxpower86/psm-buddy