Popeye

Definition

Popeye is a command-line tool that scans Kubernetes clusters for potential issues, ensuring that resources are configured according to best practices. It analyzes various aspects of the cluster, such as pod configurations, service settings, and resource limits, to identify misconfigurations and suggest improvements. Popeye helps maintain a healthy Kubernetes environment by providing actionable insights into the cluster’s state.

Secure Settings Example

# Example of a secure Kubernetes Pod configuration
apiVersion: v1
kind: Pod
metadata:
  name: secure-pod
spec:
  containers:
  - name: secure-container
    image: nginx:latest
    securityContext:
      runAsNonRoot: true
      capabilities:
        drop:
        - ALL
    resources:
      limits:
        memory: "256Mi"
        cpu: "500m"
      requests:
        memory: "128Mi"
        cpu: "250m"

Insecure Settings Example

# Example of an insecure Kubernetes Pod configuration
apiVersion: v1
kind: Pod
metadata:
  name: insecure-pod
spec:
  containers:
  - name: insecure-container
    image: nginx:latest
    securityContext:
      runAsNonRoot: false
      capabilities:
        add:
        - NET_ADMIN
    resources:
      limits:
        memory: "1Gi"
        cpu: "1"
      requests:
        memory: "1Gi"
        cpu: "1"