Skip to content

Instantly share code, notes, and snippets.

View rkoster's full-sized avatar

Ruben Koster rkoster

  • Rabobank
  • Netherlands
View GitHub Profile
@rkoster
rkoster / README.md
Created June 15, 2026 12:54
Cloud Foundry Diego Download Cache Forensics - Trace cached droplet files back to CF apps

Cloud Foundry Diego Download Cache Forensics

Overview

When investigating suspicious files on Cloud Foundry Diego cells (compute nodes), you may encounter files in the download cache directory (/var/vcap/data/rep/shared/garden/download_cache/) with cryptic filenames like:

14a739ab8e326514832ea14273ca4410-1781206925504478185-56
@rkoster
rkoster / xfcc-uri-field-research.md
Created June 12, 2026 08:57
Research Note: XFCC URI= field and CF app cert identity

Research: Should gorouter Envoy XFCC format include URI= field?

Context: PR cloudfoundry/java-buildpack-client-certificate-mapper#16 adds support for the Envoy XFCC key-value format including a XFCC_URI_ATTRIBUTE. The gorouter change emits Hash=<sha256>;Subject="<DN>" — no URI=. Question: does it make sense to add it?

Answer: No — CF app certs don't have URI SANs

Diego's createCertificateTemplate (executor/depot/containerstore/credmanager.go) generates the app identity certificate:

return &amp;x509.Certificate{
@rkoster
rkoster / README.md
Last active June 1, 2026 12:44
PoC: DNS-based domain blocking in Cloud Foundry using BOSH DNS handlers

DNS-Based Domain Blocking in Cloud Foundry

A proof-of-concept demonstrating that Cloud Foundry's existing BOSH DNS handler system can be used to block domains — no code changes required.

How it works

CF apps on Noble stemcells resolve DNS via:

@rkoster
rkoster / rfc0055-acceptance-testing.md
Created May 6, 2026 09:24
RFC0055: App-to-App mTLS Routing — Acceptance Testing Guide
@rkoster
rkoster / README.md
Created April 22, 2026 14:07
Cloud Foundry XFCC Header Tester - Test X-Forwarded-Client-Cert format in CF mTLS environments

Cloud Foundry XFCC Header Tester

A simple Go application to test X-Forwarded-Client-Cert (XFCC) header format in Cloud Foundry environments with mTLS app-to-app routing.

Purpose

This tool verifies that GoRouter correctly implements the Envoy XFCC format when routing requests over mTLS domains. It checks whether the XFCC header contains:

  • Envoy format: Hash=<hash>;Subject="<subject>";URI=<uri>
  • Raw PEM certificate (bug): Cert="-----BEGIN CERTIFICATE-----\n..."
@rkoster
rkoster / api-design-alternatives.md
Last active April 14, 2026 11:35
RFC #1438: L7 Route Access Policies — API Design Alternatives (TOC 2026-04-14)

L7 Route Access Policies: API Design Alternatives

Context for TOC discussion (2026-04-14). The Identity-Aware Routing RFC introduces L7 route-level access policies ("access rules") that control which apps can reach a route through GoRouter using mTLS identity. This document compares two placement options for the external CRUD API that manages these access rules.

Background

Current Path-Based Routing on api.<system_domain>

Cloud Controller, the policy-server, and the routing-api are separate processes colocated on the api instance group. GoRouter routes requests to the correct backend using path-based prefix matching on api.<system_domain>. The current cf-deployment registers three overlapping prefixes:

@rkoster
rkoster / rfc-draft-domain-scoped-mtls-gorouter.md
Last active March 31, 2026 07:51
RFC: Domain-Scoped mTLS for GoRouter (with Access Policy API)

Meta

  • Name: Domain-Scoped mTLS for GoRouter
  • Start Date: 2026-02-16
  • Author(s): @rkoster, @beyhan, @maxmoehl
  • Status: Draft
  • RFC Pull Request: community#1438

Summary

@rkoster
rkoster / rfc-draft-domain-scoped-mtls-gorouter-v2.md
Created March 25, 2026 13:05
RFC: Domain-Scoped mTLS for GoRouter (Revised with Access Policy API)

Meta

  • Name: Domain-Scoped mTLS for GoRouter
  • Start Date: 2026-02-16
  • Author(s): @rkoster, @beyhan, @maxmoehl
  • Status: Draft
  • RFC Pull Request: community#1438

Summary

@rkoster
rkoster / README.md
Created March 20, 2026 11:14
Experiment: GoRouter route tags with shared routes (CF mTLS RFC)

Experiment: GoRouter Route Tags with Shared Routes

Context

Cloud Foundry's RFC for Domain-Scoped mTLS on GoRouter proposes scope-based authorization that uses GoRouter's existing route-emitter tags (organization_id, space_id) to enforce "same org/space" boundary checks at the domain level. This experiment verifies that the tags carry the correct information when routes are shared across spaces.

Question

When a route is shared from Space A to Space B (and both spaces have apps mapped to it), do the GoRouter route table tags reflect:

  • (a) The route owner's org/space (Space A for all endpoints), or
@rkoster
rkoster / README.md
Created March 11, 2026 14:10
Analysis: Why cf-deployment use-compiled-releases.yml is stuck on stemcell 1.423

Why use-compiled-releases.yml is Stuck on Stemcell 1.423

Summary

The operations/use-compiled-releases.yml file in cf-deployment references stemcell version 1.423 for all compiled releases, even though newer stemcells are available. This is due to how the CI pipeline is configured to only recompile all releases on major stemcell version bumps.

Root Cause

1. The update-stemcell-and-recompile-releases Job Only Triggers on Major Bumps