Skip to content

Instantly share code, notes, and snippets.

View rfay's full-sized avatar

Randy Fay rfay

View GitHub Profile
@rfay
rfay / report.md
Last active September 5, 2025 21:00
Try getting ddev add-ons with dependency get

DDEV Add-on Test Report

Date: Fri Sep 5 14:43:25 MDT 2025
Directory: /Users/rfay/workspace/d11
Git HEAD: 060a2d2d
Total Add-ons: 159

Results

| # | Add-on | GET | REMOVE | Clean | Notes |

@rfay
rfay / x.yaml
Last active August 26, 2025 17:40
Studying the problem on wsl-14,
The healthcheck says " "Output": "Traefik healthcheck failed: Detected 2 configuration error(s) in project" but it doesn't say what they are, which would be an improvement.
The log says
```
2025-08-26T11:11:26-06:00 ERR EntryPoint doesn't exist entryPointName=http-80 routerName=TestPkgDrupal11-web-80-http@file
2025-08-26T11:11:26-06:00 ERR No valid entryPoint for this router routerName=TestPkgDrupal11-web-80-http@file
2025-08-26T11:11:26-06:00 ERR EntryPoint doesn't exist entryPointName=http-443 routerName=TestPkgDrupal11-web-80-https@file
2025-08-26T11:11:26-06:00 ERR No valid entryPoint for this router routerName=TestPkgDrupal11-web-80-https@file
@rfay
rfay / traefik-tcp-sni-demo-summary.md
Created August 21, 2025 19:23
DDEV TCP Routing with SNI - Complete Technical Demo Summary

DDEV Traefik TCP Routing with SNI - Complete Demonstration and Analysis

Overview

This documents a complete demonstration of DDEV's Traefik router routing TCP traffic using SNI (Server Name Indication) based routing. We successfully demonstrated the concept using a simple NetCat listener, then explored MySQL limitations.

Successful NetCat Demonstration

Configuration Files

1. NetCat Listener Setup

@rfay
rfay / addon_analysis.txt
Created August 5, 2025 20:10
DDEV Add-on Ecosystem Analysis: yaml_read_files and Templating Usage Study
=== DDEV Add-on Ecosystem Analysis ===
Total repositories with topic:ddev-get: 145
=== Checking for advanced features usage ===
=== SUMMARY STATISTICS ===
Advanced Features Usage:
yaml_read_files: 0 add-ons
Go templating: 0 add-ons
@rfay
rfay / ddev_remote_config_refactoring.md
Created July 30, 2025 23:10
DDEV Remote Config Refactoring: Arbitrary JSONC Downloads + Comprehensive Testing

DDEV Remote Config Refactoring: Arbitrary JSONC Downloads + Comprehensive Testing

Overview

This refactoring transforms the DDEV remote config system from a single-purpose, hardcoded solution into a flexible, generic system capable of downloading arbitrary JSONC files from GitHub repositories. Most importantly, it adds the first comprehensive test coverage for the remote config system, which previously had zero tests.

Problem Statement

The original remote config system had several limitations:

  • Hardcoded: Could only download ddev/remote-config/remote-config.jsonc
@rfay
rfay / README.md
Created July 28, 2025 22:49
deb.sury.org Missing Packages Checker - Diagnostic tool for PHP package availability in Sury repository

deb.sury.org Missing Packages Checker

A bash script to systematically check for missing PHP packages in the Sury PHP repository for Debian distributions.

Purpose

This script helps identify missing PHP packages across different PHP versions and architectures in the Sury repository. It's particularly useful when experiencing package availability issues on newer Debian distributions.

Usage

@rfay
rfay / ddev-addon-improvements-proposal.md
Last active August 5, 2025 19:06
DDEV Add-on Ecosystem Improvements - Container Runtime Proposal (php)

DDEV Add-on Ecosystem Improvements

Problem Statement

DDEV's current add-on ecosystem has two key weaknesses:

  1. Complex install.yaml syntax - Advanced add-ons like ddev-platformsh result in unreadable and unmaintainable bash scripts mixed with Go templating
  2. Host dependency issues - install.yaml relies on locally installed tools (primarily bash), but bash capabilities vary across environments, leading to inconsistent success rates

Current Architecture Analysis

@rfay
rfay / ddev-go-addons-proposal.md
Last active July 25, 2025 22:12
DDEV Go-based Add-ons Implementation Proposal

DDEV Go-based Add-ons Implementation Proposal

Overview

This proposal outlines an approach to enable Go-based actions as an alternative technique for DDEV add-ons, while maintaining full support for existing bash-based actions. Both techniques will be equally supported, and add-on developers can choose the approach that best fits their needs. The solution uses Docker containers with Go runtime to build and execute Go source files on-demand, requiring only Docker (which DDEV already requires) on user machines.

Current DDEV Add-on System

DDEV add-ons currently use install.yaml with bash scripts:

@rfay
rfay / customizations.txt
Last active October 9, 2024 14:13
ddev debug test examples
======== Output file will be in /var/folders/_d/d66tr_cj5j1dq9gjr1rftddr0000gn/T/ddev-debug-test.txt ========
======== Existing project config ========
ddev installation alternate locations:
/usr/local/bin/ddev
/opt/homebrew/bin/ddev
/usr/local/bin/ddev
@rfay
rfay / ddevcontainer.json
Created September 30, 2024 22:21
devcontainer.json
{
"name": "DDEV Devcontainer setup",
"image": "mcr.microsoft.com/devcontainers/base:latest",
"workspaceFolder": "/var/www/html",
"settings": {
"terminal.integrated.cwd": "/var/www/html"
}
}