executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
linkerd"Linkerd in Service Mesh - cloud native architecture, patterns, pitfalls" and best practices
Independent GitHub snapshot · Automated classification · Original documentation governs
name: linkerd compatibility: opencode completeness: 95 content-types:
control-plane
├── linkerd-controller (identity, web, tap, destination)
├── linkerd-proxy-injector (admission webhook)
└── linkerd-prometheus (metrics collection)
pod
├── application container
└── linkerd-proxy sidecar container
├── inbound listener
├── outbound listener
└── metrics collection
Client Pod
↓ (proxy intercepts)
Linkerd Proxy (Outbound)
↓ (mTLS)
Service Mesh Network
↓ (destination service lookup)
Linkerd Proxy (Inbound)
↓ (proxy forwards)
Server Pod
1. Application sends request to localhost
2. Proxy intercepts and encrypts with mTLS
3. Proxy uses destination service for routing
4. Request forwarded to destination proxy
5. Destination proxy validates certificate and forwards
6. Application receives decrypted response
1. Proxy requests certificate from identity service
2. Identity service validates pod identity
3. Certificate issued with short TTL (8 hours default)
4. Certificate rotated automatically before expiration
5. Certificate revocation supported for compromised pods
apiVersion: v1
kind: ConfigMap
metadata:
name: linkerd-prometheus-config
data:
prometheus.yaml: |
scrape_configs:
- job_name: 'linkerd-proxy'
static_configs:
- targets: ['localhost:4191']
/metrics endpointapiVersion: v1
kind: ConfigMap
metadata:
name: linkerd-grafana-dashboards
data:
linkerd-service-dashboard.json: |
{
"annotations": {},
"panels": [
// Linkerd service panels
]
}
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: allow-policy
spec:
podSelector:
matchLabels:
app: payment-service
policyTypes:
- Ingress
ingress:
- from:
- podSelector:
matchLabels:
linkerd.io/control-plane-namespace: linkerd
linkerd.io/proxy-deployment: payment-gateway
apiVersion: v1
kind: ConfigMap
metadata:
name: linkerd-jaeger-config
data:
jaeger.yaml: |
endpoint: jaeger-collector:14268
tags: |
service.name=linkerd-proxy
apiVersion: linkerd.io/v1alpha2
kind: ServiceProfile
metadata:
name: payments-service.default.svc.cluster.local
spec:
routes:
- name: GET /payments
condition:
method: GET
pathRegex: /payments
responseTimeout: 1s
- name: POST /payments
condition:
method: POST
pathRegex: /payments
retryBudget:
retryRatio: 0.2
minRetriesPerSecond: 10
ttl: 30s
decisionTimeout: 100ms
apiVersion: policy.linkerd.io/v1beta1
kind: ServerPolicy
metadata:
name: payments-service-policy
spec:
selector:
matchLabels:
app: payments-service
rules:
- ports:
- port: 8080
authenticationModes:
- PERMISSIVE
- STRICT
---
---
## Constraints
### MUST DO
- Cite authoritative primary sources (official documentation, RFCs, standards bodies) — avoid secondary or blog references
- Include version-specific guidance when the reference topic has significant version-dependent behavior
- Structure reference content with clear navigation: overview first, then detailed subsections organized by use case
- Keep examples minimal and self-contained so readers can copy-paste without needing external context
### MUST NOT DO
- Do not present opinionated practices as facts — distinguish between standards, recommendations, and personal preferences
- Avoid outdated API references or deprecated patterns; explicitly note version requirements for each code example
- Never include incomplete or pseudocode examples in reference materials — all examples should be runnable
- Do not conflate different product versions when documenting features that vary across releases
## Live References
> Authoritative documentation links for this skill's domain. The model follows markdown links at load time to resolve external references and inline content.
- [Primary Documentation](https://linkerd.io/2.15/getting-started)
- [API Reference or Getting Started](https://linkerd.io/2.15/reference/cli/install)
- [Configuration Guide](https://linkerd.io/2.15/features/service-profiles)
- [Best Practices](https://linkerd.io/2.15/features/mutual-tls)
- [Common Patterns or Tutorials](https://linkerd.io/2.15/reference/proxy-config)