Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions docs/content/en/docs/12_contributing/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ Thank you for your interest in contributing to Porch!

- **[Documentation]({{% relref "docs-contribution" %}})** - Fix errors, clarify concepts, add examples, write guides
- **[Code]({{% relref "code-contribution" %}})** - Fix bugs, add features, improve performance, write tests
- [Development Environment]({{% relref "code-contribution/development-environment" %}}) - Kind cluster and debugging
- [Performance Tests]({{% relref "code-contribution/performance-tests" %}}) - Load and soak tests
- **Issues** - Report bugs or request features in [GitHub Issues](https://github.com/kptdev/porch/issues)
- **Community** - Answer questions and participate in discussions

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,11 @@ description: How to contribute to the Porch codebase

This guide explains how to set up your Git environment and contribute code to Porch.

Related guides:

- [Development Environment]({{% relref "development-environment" %}}) - Kind cluster, make targets, and debugging
- [Performance Tests]({{% relref "performance-tests" %}}) - Load and soak tests for package revision lifecycle latency

## Fork the Repository

Porch uses a fork-based workflow. This protects the upstream repository from accidental changes and ensures all modifications go through the pull request review process.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -306,6 +306,10 @@ make test-unit
make test-integration
```

### Performance Tests

Load and soak tests for package revision lifecycle latency live in `test/performance/`. See [Performance Tests]({{% relref "performance-tests" %}}) for make targets, flags, output files, and metrics. Deploy [local performance monitoring]({{% relref "/docs/6_configuration_and_deployments/deployments/local-performance-monitoring-deployment" %}}) before running tests with `-enable-prometheus=true`.

### Single Test Case

Run specific tests from the command line:
Expand Down

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ This section covers deploying Porch in various environments and configuring its
Start by selecting the appropriate deployment method for your environment:

- **[Local Development]({{% relref "deployments/local-dev-env-deployment" %}})** - Kind-based setup for development and testing
- **[Local Performance Monitoring]({{% relref "deployments/local-performance-monitoring-deployment" %}})** - Prometheus, Grafana, Grafana Alloy, Pyroscope and Jaeger for kind local clusters
- **[Catalog Deployment]({{% relref "deployments/catalog-deployment" %}})** - Production deployment with pre/post-deployment configuration planning

## 2. Configure Components (Optional)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,11 @@ Configure individual Porch components:
- [Function Runner]({{% relref "components/function-runner-config" %}}) - Function execution environment
- [Private Registries]({{% relref "components/function-runner-config/private-registries-config" %}}) - Container registry authentication

### OTEL Metrics & Tracing
### OTEL Metrics, Tracing, and Profiling

[OpenTelemetry]({{% relref "/docs/6_configuration_and_deployments/configurations/opentelemetry" %}}) - Tracing and metrics configuration
[OpenTelemetry]({{% relref "/docs/6_configuration_and_deployments/configurations/opentelemetry" %}}) - Tracing, metrics, and profiling configuration

[Local Performance Monitoring Deployment]({{% relref "/docs/6_configuration_and_deployments/deployments/local-performance-monitoring-deployment" %}}) - Local Prometheus, Grafana, Grafana Alloy, Jaeger and Pyroscope observability stack.

## Core Configuration Options

Expand All @@ -39,5 +41,6 @@ Configure Git repository synchronization with ConfigSync or other GitOps tools.
- Start with default CR cache for simplicity
- Configure private registries only if using private KRM functions in Function Runner
- Enable tracing in development environments for debugging
- Deploy [local performance monitoring]({{% relref "/docs/6_configuration_and_deployments/deployments/local-performance-monitoring-deployment" %}}) when measuring latency or running [performance tests]({{% relref "/docs/12_contributing/code-contribution/performance-tests" %}})
- Use cert-manager for production TLS certificate management
- Set appropriate resource limits for each component
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,4 @@ Manage the lifecycle of Repositories, PackageRevisions, PackageVariants, and Pac

### [Function Runner]({{% relref "function-runner-config" %}})
Executes KRM functions in isolated containers:
- [Private Registry Access]({{% relref "function-runner-config/private-registries-config" %}}) - Container registry authentication
- [Private Registry Access]({{% relref "function-runner-config/private-registries-config" %}}) - Container registry authentication
Original file line number Diff line number Diff line change
Expand Up @@ -198,4 +198,4 @@ spec:
For advanced configuration options:
- [Pod Templates]({{% relref "pod-templates" %}}) - Customize function pod specifications
- [Private Registries]({{% relref "private-registries-config" %}}) - Configure private registry access
{{% /alert %}}
{{% /alert %}}
Original file line number Diff line number Diff line change
Expand Up @@ -125,4 +125,4 @@ Both the PackageRevision and Repository webhooks run in the porch-controllers po

For webhook TLS certificate setup and management, see [Webhook Certificate Management](../porch-webhooks/cert-manager-webhooks.md).

For details on webhook validation rules, see [Webhook Validation Rules](../porch-webhooks/validation-rules.md).
For details on webhook validation rules, see [Webhook Validation Rules](../porch-webhooks/validation-rules.md).
Original file line number Diff line number Diff line change
Expand Up @@ -70,9 +70,9 @@ env:

For detailed Git repository authentication configuration, see [Git Authentication]({{% relref "git-authentication" %}}) subsection.

## Distributed Tracing
## Distributed Tracing, Metrics, and Profiling

For tracing and metrics configuration, see [OpenTelemetry Configuration]({{% relref "/docs/6_configuration_and_deployments/configurations/opentelemetry" %}}).
For tracing, metrics, and pprof configuration, see [OpenTelemetry Configuration]({{% relref "/docs/6_configuration_and_deployments/configurations/opentelemetry" %}}). For a local Prometheus, Grafana, Jaeger, Pyroscope, and Grafana Alloy stack, see [Local Performance Monitoring Deployment]({{% relref "/docs/6_configuration_and_deployments/deployments/local-performance-monitoring-deployment" %}}).

## Resource Limits

Expand Down Expand Up @@ -102,4 +102,4 @@ readinessProbe:
port: 8080
initialDelaySeconds: 5
periodSeconds: 5
```
```
Loading
Loading