Skip to content

Instantly share code, notes, and snippets.

@shykes
shykes / 03-checks-api.md
Last active February 3, 2026 21:21
Dagger Design: Part 3 - Checks API
@shykes
shykes / 02-workspace-api.md
Last active February 3, 2026 21:21
Dagger Design: Part 2 - Workspace API
@shykes
shykes / 01-module-vs-workspace.md
Last active February 5, 2026 07:54
Dagger Design: Part 1 - Module vs. Workspace
@shykes
shykes / discord_summary.md
Last active February 2, 2026 20:13
Dagger Discord Executive Summary - Jan 30 - Feb 2, 2026

CI/CD Stack (Dagger Cloud)

flowchart TB
    API[GitHub API]
    DaggerCloud[Dagger Cloud]
    Dev[Developer Machine]
    DaggerLocal[Dagger Engine]
    Pipeline[Portable Pipeline Logic]

CI/CD Stack

flowchart TB
    API[GitHub API]
    CP[GitHub Actions Control Plane]
    Runner[GitHub Actions Runner]
    Compute[Compute Provider]
    Dev[Developer Machine]
 DaggerLocal[Dagger Engine]
@shykes
shykes / discord-github-weekly-brief.md
Last active January 29, 2026 21:57
Dagger Weekly Brief: Discord + GitHub Beat (Jan 22-29, 2026)

Dagger Weekly Brief: Discord + GitHub Beat

Week of Jan 22-29, 2026


Table of Contents

  1. TL;DR
  2. Customers
@shykes
shykes / dagger-parallel-execution-full-conversation.md
Created January 16, 2026 03:22
Full conversation: Collaborative Parallel Execution in Dagger - Design Discussion

Dagger Parallel Execution - Full Design Conversation

User

Help me plan a new "collaborative parallel execution" feature in dagger. The general idea:

  • Dagger functions can be annotated with a new directive @parallel (+parallel in Go etc) which indicates to the engine that this function can be executed in parallel
  • The dimensions of paralellism are controlled by arguments. Any argument to a parallel function that is a list, is interpreted by the engine as a dimension of parallelism. The contract is that when a client invokes a paralle function, the engine may split that "frontend" invocation into N "backend" invocations, with each invocation receiving a slice of the frontend list argument. The function implementor is responsible for guarranteeing correct behavior of the function regardless of the splitting.
  • Only return types that can be reliably merged in any order (I don't know the fancy terminology) is allowed. Example: Directory is allowed because you can always merge N directories together. Chan
@shykes
shykes / dagger-parallel-execution-design.md
Created January 16, 2026 03:20
Collaborative Parallel Execution in Dagger - Design Discussion

Collaborative Parallel Execution in Dagger

Summary

This document explores design options for a new parallel execution feature in Dagger, enabling functions to be automatically split and executed across multiple workers.


Problem Statement

@shykes
shykes / dagger-dependency-jam.cue
Created November 9, 2021 17:53
Looking for clean dependency API with Guillaume
registryURL: string
runRegistry: docker.#Run & {
args: ["registry", "-h", registryURL] // bla bla
// Wait for registry port to be available
hooks: post: waitRegistry: {
args: """
while true; do
curl -L -S "localhost:foo" && exit
sleep 1