GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Docs/cert manager network policies by jyotshnayaparla-00 · Pull Request #7880 · feldera/feldera

Conversation

@jyotshnayaparla-00

@jyotshnayaparla-00 jyotshnayaparla-00 commented Nov 6, 2026

Copy link
Copy Markdown
Contributor

Document how to set up HTTPS with cert-manager and how to restrict traffic with NetworkPolicies.

  • https.md: a new cert-manager section creates the server certificate and the private CA. It uses the same setup we run on try. The OpenSSL steps remain for users who create the certificates manually.
  • network-policies.md (new): lists the traffic Feldera needs and gives example policies based on the ones on try. It also explains what to change for multihost pipelines, private endpoints, cloud credentials, and per-pipeline namespaces.
  • sidebars.js: adds the new page.

The docs build passes.

Tested on a local k3d cluster (k3s 1.33, which enforces NetworkPolicies) with cert-manager v1.21.3 and Feldera chart 0.378.0, with httpsSecretRef, caSecretRef, and mtls.enabled: true. The YAML came from the doc pages as written.

  • The cert-manager YAML issues all four certificates, Feldera starts with HTTPS and mTLS, and the curl --cacert example returns 200.
  • With the example policies, a pipeline starts and answers queries. A probe from the pipeline pod reaches the compiler, DNS, and the internet. The database, runner, API server, Kubernetes API, and node IP are blocked. Without the policies, the same probe reaches all of them.
  • Without the compiler rule, the pipeline cannot download its binary, so the test catches a broken policy.
  • compilerAutoscaling: with the base policies, the artifact server cannot reach Postgres. After adding it to the db policy and the compiler rule as the page describes, pipelines start. Removing it from the compiler rule breaks them again.
  • Per-pipeline namespace: the unchanged pipeline policy blocks the compiler. With the namespaceSelector from the page, the pipeline runs, and the probe gives the same result as in feldera.

Not tested: multihost pipelines and the link-local credential note.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
jyotshnayaparla-00 added 3 commits November 4, 2026 15:27
@jyotshnayaparla-00
docs: cert-manager setup for HTTPS, example NetworkPolicies
0d7af98
The HTTPS page only showed how to make certificates by hand with OpenSSL.
Most users run cert-manager, so add a cert-manager setup first: a
self-signed root with one branch for the wildcard server certificate and
one for the private CA. The OpenSSL steps stay as the manual option.

Add a NetworkPolicies page. The chart does not ship policies because the
right rules depend on the cluster (CNI, database, connectors, multihost),
so the page lists the traffic between components and gives an example to
start from.
@jyotshnayaparla-00
docs: cover more setups in the NetworkPolicy example
4847a77
Say that policies use the database pod port, that the compiler artifact
server also needs the db policy, and what to allow for private cloud
endpoints, link-local credential endpoints and per-pipeline namespaces.
@jyotshnayaparla-00
docs: say manually instead of by hand, add Oxford commas
c4c540c
@jyotshnayaparla-00 jyotshnayaparla-00 self-assigned this Nov 6, 2026
mythical-fred-oss[bot]
mythical-fred-oss Bot reviewed Nov 6, 2026
View reviewed changes
Comment thread docs.feldera.com/docs/get-started/enterprise/https.md Outdated

:::info

The Feldera components read the server certificate

@mythical-fred-oss mythical-fred-oss Bot Nov 6, 2026

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pitfall (medium): Further down, the mTLS Requirements say "The components read a renewed certificate without a restart." That line is about the chart-issued control-plane client certificate, but next to this box readers will take it as a contradiction. Please say in one of the two places which certificate each statement covers.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@jyotshnayaparla-00 jyotshnayaparla-00 Nov 6, 2026

Copy link
Copy Markdown
Contributor Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Both places now say which certificate they mean: the server certificate needs a restart, and the control plane client certificate from the chart doesn't.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
mythical-fred-oss[bot]
mythical-fred-oss Bot reviewed Nov 6, 2026
View reviewed changes
Comment thread docs.feldera.com/docs/get-started/enterprise/network-policies.md Outdated
- protocol: TCP
port: 80
egress:
# DNS. Namespace and pod selector are one peer, so both must match.

@mythical-fred-oss mythical-fred-oss Bot Nov 6, 2026

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pitfall (medium): With NodeLocal DNSCache (common on GKE, and optional on EKS), pods resolve names through 169.254.20.10 on the node, not through the kube-dns pods. This rule doesn't match that traffic, and the ipBlock below excludes 169.254.0.0/16, so the pipeline can't resolve any names. Please add a bullet below that says to allow the node-local DNS address on port 53 in that case.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@jyotshnayaparla-00 jyotshnayaparla-00 Nov 6, 2026

Copy link
Copy Markdown
Contributor Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added a bullet for it. The address is usually 169.254.20.10, port 53, UDP and TCP.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
mythical-fred-oss[bot]
mythical-fred-oss Bot reviewed Nov 6, 2026
View reviewed changes
Comment thread docs.feldera.com/docs/get-started/enterprise/network-policies.md Outdated
port: 9000
```

- **Connectors in the cluster or the private network.** The example

@mythical-fred-oss mythical-fred-oss Bot Nov 6, 2026

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

missing (medium): Connectors aren't the only private-network dependency. Pipeline storage, checkpoint sync to in-cluster or VPC object storage (MinIO, S3 interface endpoints), and an in-cluster OTel collector are also blocked. Please widen this bullet to "systems that pipelines use" and list these.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@jyotshnayaparla-00 jyotshnayaparla-00 Nov 6, 2026

Copy link
Copy Markdown
Contributor Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Widened it to systems that pipelines use, and added object storage for checkpoint sync (MinIO, VPC endpoints). I left the OTel collector out. Pipelines don't export OTLP, and in our OTel setup the collector sends data to the API server, not to the pipeline.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
mythical-fred-oss[bot]
mythical-fred-oss Bot reviewed Nov 6, 2026
View reviewed changes
Comment thread docs.feldera.com/docs/get-started/enterprise/network-policies.md Outdated
## Check the policies

After you apply the policies, start a pipeline and check that it reaches
the running state. Then check one connector of each kind that you use.

@mythical-fred-oss mythical-fred-oss Bot Nov 6, 2026

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

missing (medium): This only checks that allowed traffic works. If the CNI doesn't enforce policies (see the note at the top), every check here still passes, so the user believes the pipelines are isolated when they aren't. Please add a negative check, for example from a pipeline pod:

kubectl exec -n feldera <pipeline-pod> -- timeout 3 bash -c '</dev/tcp/<release>-db/5431' && echo "NOT isolated"

This assumes the image has bash. Otherwise, use any TCP probe.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@jyotshnayaparla-00 jyotshnayaparla-00 Nov 6, 2026

Copy link
Copy Markdown
Contributor Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added it, but against the API server instead of the database. On k3d the db check said "isolated" even with the pipeline policy removed, because the db policy blocks that traffic on its own, so it doesn't test the pipeline policy. The API server check says "isolated" with the policy and "not isolated" without it. The pipeline image has bash and timeout.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@mythical-fred-oss

mythical-fred-oss Bot commented Nov 6, 2026

Copy link
Copy Markdown
Contributor

Review summary (docs only: cert-manager HTTPS setup and example NetworkPolicies)

Check Result
pre-commit run --files <changed files> pass (only trailing-whitespace applies)
All yaml blocks in both pages parse with PyYAML (11 docs, <release> substituted) pass
feldera-pr-checks gates (tests, docs, deps, unsafe, CI) n/a for docs; the manual k3d testing in the description is thorough
Commits the third commit ("say manually instead of by hand, add Oxford commas") is review fixup; squash it before merge
  • Not covered (medium): the multihost rules and the link-local credential exception are untested, as the description says. The multihost ports (8080/9000) and the claim that coordinator pods carry feldera.com/part-of: pipeline aren't verifiable from this repo, so please confirm them against the runner before merge, or mark the multihost bullet as untested.
  • Pitfall (low/medium): the ipBlock covers only IPv4. On dual-stack clusters, IPv6 egress from pipelines is blocked. One sentence would do.

Other points are inline. LGTM once those are addressed.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@jyotshnayaparla-00
docs: address review on cert-manager and NetworkPolicy pages
c0c63de
Say which certificate needs a restart after renewal, add NodeLocal
DNSCache and checkpoint sync storage to the policy notes, and add a
check that the policies block traffic.
mythical-fred-oss[bot]
mythical-fred-oss Bot reviewed Nov 6, 2026
View reviewed changes
Comment thread docs.feldera.com/docs/get-started/enterprise/network-policies.md
# link-local (instance metadata), multicast, and reserved addresses.
- to:
- ipBlock:
cidr: 0.0.0.0/0

@mythical-fred-oss mythical-fred-oss Bot Nov 6, 2026

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pitfall (medium): This rule assumes the pod, service, and node CIDRs are all RFC 1918. Two cases where that does not hold:

  • On clusters with non-RFC 1918 pod ranges (for example GKE privately used public IPs), 0.0.0.0/0 lets pipelines reach every pod, including Postgres and the API server.
  • A public Kubernetes API endpoint (EKS or GKE public access) is reachable through this rule.

Please add a bullet under "Change the example" saying to add the cluster pod and service CIDRs to except when they are not private.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
mythical-fred-oss[bot]
mythical-fred-oss Bot reviewed Nov 6, 2026
View reviewed changes
Comment thread docs.feldera.com/docs/get-started/enterprise/network-policies.md Outdated
server, which the `pipeline` policy blocks:

```
kubectl exec -n feldera <pipeline-pod> -- timeout 3 bash -c '</dev/tcp/<release>-api-server/8080' \

@mythical-fred-oss mythical-fred-oss Bot Nov 6, 2026

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pitfall (medium): || echo "isolated" reports success on any failure: a wrong pod name, kubectl exec denied by RBAC, no bash/timeout in the image, or a DNS failure. A misconfigured check then looks like isolation. Suggest adding a positive control first, the same command against <release>-compiler-server:8085, which must succeed, so isolated really means the policy blocked the connection.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@mythical-fred-oss

mythical-fred-oss Bot commented Nov 6, 2026

Copy link
Copy Markdown
Contributor

Review (docs-only PR: cert-manager HTTPS setup + example NetworkPolicies)

Check Result
Manual testing described ✅ thorough k3d run (cert-manager, mTLS, policy allow/deny probes, per-pipeline namespace, compilerAutoscaling)
Tests / flaky / SQL types / unsafe / deps / CI N/A (docs only)
Cross-links and anchors (#using-cert-manager, #client-certificates, #configure-kubernetes, checkpoint-sync.md), sidebar entry ✅ resolve
Docs build not re-run here; author reports it passes
  • missing (low-medium): cert-manager step 4 says "add mtls.enabled: true", but the YAML block below it leaves that key out. Add it as a commented line so copy-paste matches the text.
  • commit hygiene (medium, gate): docs: say manually instead of by hand, add Oxford commas and docs: address review on ... are fixup commits. Squash them into the first two before merge (linear history).
  • The two inline comments (non-RFC 1918 CIDRs / public API endpoint, and the false-positive isolated check) are the main content issues. Otherwise LGTM.
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

jyotshnayaparla-00 added 2 commits November 6, 2026 13:28
@jyotshnayaparla-00
docs: copy the HTTPS certificate into per-pipeline namespaces
edd1882
With a private CA, pipelines mount tls.crt of the server certificate
secret to verify the control plane. In another namespace the secret does
not exist, so the pod never starts.
@jyotshnayaparla-00
docs: add network policy checks and notes from review
0098b3b
gz
gz reviewed Nov 7, 2026
View reviewed changes
Comment thread docs.feldera.com/docs/get-started/enterprise/https.md Outdated

We recommend [cert-manager](https://cert-manager.io) to issue and renew
these certificates, see [Using cert-manager](#using-cert-manager). The
sections after it describe how to create them manually with OpenSSL.

@gz gz Nov 7, 2026

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we can drop the section that describe how to create them with OpenSSL

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@jyotshnayaparla-00 jyotshnayaparla-00 Nov 9, 2026

Copy link
Copy Markdown
Contributor Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dropped.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread docs.feldera.com/docs/get-started/enterprise/https.md Outdated
(`feldera-https-config`) when they start. A renewed certificate takes
effect after the next restart of the components, which must happen
before the old certificate expires: within `renewBefore`, 30 days in the
example above. A Feldera upgrade restarts them. This applies only to

@gz gz Nov 7, 2026

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we validate what happens with cert expiration in a cluster (bring up, make sure cert expires) and give concrete steps on what needs to be done

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@jyotshnayaparla-00 jyotshnayaparla-00 Nov 9, 2026

Copy link
Copy Markdown
Contributor Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tested it on k3d. I gave the server certificate a 1-hour lifetime and let it expire without restarting anything:

  • external clients get certificate has expired
  • pipelines that are already running keep running
  • a pipeline that starts can't download its binary and goes to Unavailable

A kubectl rollout restart of the API server, runner and compiler fixes it, then stop and start any stuck pipeline. These steps are now in "Renew the server certificate". Also, cluster_healthz stayed green the whole time, so it doesn't catch this.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread docs.feldera.com/docs/get-started/enterprise/https.md Outdated

:::

This section and the next one create the certificates manually. Skip

@gz gz Nov 7, 2026

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can drop this

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@jyotshnayaparla-00 jyotshnayaparla-00 Nov 9, 2026

Copy link
Copy Markdown
Contributor Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dropped.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread docs.feldera.com/docs/get-started/enterprise/network-policies.md Outdated
| Pipeline | Pipeline | 8080, 9000 | Only multihost pipelines: coordinator and data exchange between hosts |
| Pipeline | DNS (`kube-dns` in `kube-system`) | 53 (UDP and TCP) | Name resolution |
| Pipeline | Systems that connectors use | depends on the connector | Kafka, object storage, databases, and other connector endpoints |
| API server, compiler server, Kubernetes runner | Postgres | 5432 | Control plane database |

@gz gz Nov 7, 2026

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| API server, compiler server, Kubernetes runner | Postgres | 5432 | Control plane database |
| API server, compiler server, Kubernetes runner | Postgres | 5432 (configurable) | Control plane database |

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@jyotshnayaparla-00 jyotshnayaparla-00 Nov 9, 2026

Copy link
Copy Markdown
Contributor Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Applied.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread docs.feldera.com/docs/get-started/enterprise/network-policies.md Outdated
| Pipeline | Systems that connectors use | depends on the connector | Kafka, object storage, databases, and other connector endpoints |
| API server, compiler server, Kubernetes runner | Postgres | 5432 | Control plane database |

NetworkPolicies match the port of the pod, not of the Service. The

@gz gz Nov 7, 2026

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

clarify that this is in case someone uses postgres pod from ourhelm chart which is uncommon

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@gz gz Nov 7, 2026

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can probably move this down a bit

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@jyotshnayaparla-00 jyotshnayaparla-00 Nov 9, 2026

Copy link
Copy Markdown
Contributor Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Moved it under the example and said it only applies to the Postgres pod from the chart.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread docs.feldera.com/docs/get-started/enterprise/network-policies.md Outdated
[checkpoint sync](../../pipelines/checkpoint-sync.md), such as MinIO.
This also applies to cloud endpoints with private addresses, such as
AWS interface VPC endpoints.
- **Pod, Service, or node addresses that are not private.** The `ipBlock`

@gz gz Nov 7, 2026

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

drop this

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

jyotshnayaparla-00 reacted with thumbs up emoji
All reactions
  • 👍 1 reaction
Comment thread docs.feldera.com/docs/get-started/enterprise/network-policies.md Outdated
port: 5432
```

Change the example to fit your deployment:

@gz gz Nov 7, 2026

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Change the example to fit your deployment:
Fitting the policies to your deployment:

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@jyotshnayaparla-00 jyotshnayaparla-00 Nov 9, 2026

Copy link
Copy Markdown
Contributor Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

applied.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread docs.feldera.com/docs/get-started/enterprise/network-policies.md Outdated
ports:
- protocol: TCP
port: 8085
# Connectors: the public internet, without private, shared, loopback,

@gz gz Nov 7, 2026

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

# Connectors: the public internet, without private, shared, loopback,
# link-local (instance metadata), multicast, and reserved addresses.

I think this is a bad defualt here (allow public internet access) for most users.
You probably want to not add anything here as a default and refer to the section below to customize what the pipeline can reach

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@jyotshnayaparla-00 jyotshnayaparla-00 Nov 9, 2026

Copy link
Copy Markdown
Contributor Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed for pipelines. The API server and the runner still allow public addresses on port 443, because they call the license server (cloud1.feldera.com) and NetworkPolicies can't match a host name. This explains and says to allow only the proxy if they use one.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread docs.feldera.com/docs/get-started/enterprise/network-policies.md Outdated
the rules that select control plane pods.
- **External database.** If the control plane uses an external Postgres
database, leave out the `db` policy.
- **Default deny.** Some clusters deny all traffic to a pod that no policy

@gz gz Nov 7, 2026

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would add a recommendation that they configure it e.g., VPC CNI in strict mode

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

jyotshnayaparla-00 reacted with thumbs up emoji
All reactions
  • 👍 1 reaction

@gz gz Nov 7, 2026

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the examples should be structured for default deny

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread docs.feldera.com/docs/get-started/enterprise/network-policies.md
control plane pod, and the `feldera.com/part-of: pipeline` label that the
runner puts on each pipeline pod.

```yaml

@gz gz Nov 7, 2026

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

whta about the control plane pods? should we cover them too?

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@gz gz Nov 7, 2026

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lets do the most restrictive variant for control and data plane in terms of example policy

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@jyotshnayaparla-00 jyotshnayaparla-00 Nov 9, 2026

Copy link
Copy Markdown
Contributor Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, every component has its own policy now.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@gz
gz requested a review from anandbraman November 7, 2026 01:27
jyotshnayaparla-00 added 3 commits November 9, 2026 13:42
@jyotshnayaparla-00
docs: default deny NetworkPolicies, drop OpenSSL steps
783f35c
NetworkPolicies: the example is now default deny for the whole
namespace, with one policy per component that allows only the traffic
Feldera needs, including multihost. Pipelines get no internet access by
default; the connectors bullet says how to add it. Tested on k3d: a
pipeline compiles and runs, a 2-host pipeline runs, cluster health is
green, and removing the host rules or the compiler's Kubernetes API
rule breaks it.

HTTPS: drop the OpenSSL sections and keep a short list of certificate
requirements. Replace the renewal note with tested steps: what fails
when the server certificate expires and how to recover.
@jyotshnayaparla-00
docs: allow the API server to reach the compiler for SQL validation
5a63eba
POST /v0/validate_program goes from the API server to the compiler.
Without this rule it fails with CompilerUnavailable, which the
pipeline test did not catch.
@jyotshnayaparla-00
docs: compiler autoscaling under default deny
c7ccf97
Tested on k3d: with only the selector change, binary uploads from the
compiler to the artifact server are blocked and the compile never
finishes. The hook Job also needs the Kubernetes API; a pod with its
label cannot reach it under default deny.
@jyotshnayaparla-00
jyotshnayaparla-00 requested review from anandbraman and removed request for anandbraman November 9, 2026 20:32

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@gz gz gz left review comments
@mythical-fred-oss mythical-fred-oss[bot] mythical-fred-oss[bot] left review comments
@anandbraman anandbraman Awaiting requested review from anandbraman

At least 1 approving review is required to merge this pull request.

Uh oh!

There was an error while loading. Please reload this page.

Assignees

@jyotshnayaparla-00 jyotshnayaparla-00

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

2 participants

@jyotshnayaparla-00 @gz
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.