Skip to content

Conversation

@jmgilman
Copy link
Collaborator

@jmgilman jmgilman commented Jan 5, 2026

Summary

This PR makes devcontainers the primary and default method for running Headjack instances, with base container images as a fallback option.

Key Changes

  • Rename --base to --image: Clearer semantics that this bypasses devcontainer detection
  • Make default.base_image optional: Defaults to empty instead of the base image
  • Add devcontainer CLI warning: Always warns if the devcontainer CLI is not found in PATH
  • Error on missing configuration: If no devcontainer.json exists and no image is configured, provide clear error with guidance
  • Remove hjk recreate command: Users should use hjk rm + hjk run instead
  • Update documentation: All docs now reflect devcontainer-first approach

New Behavior

When running hjk run:

  1. If --image is specified, use that image (bypasses devcontainer)
  2. If devcontainer.json exists in the repo, use devcontainer mode automatically
  3. If default.base_image is configured, use that as fallback
  4. Otherwise, error with guidance on how to configure

Breaking Changes

  • --base flag renamed to --image
  • hjk recreate command removed (use hjk rm && hjk run instead)
  • default.base_image now defaults to empty (previously defaulted to ghcr.io/gilmanlab/headjack:base)

Test plan

  • just check passes (fmt, lint, test)
  • Manual testing of devcontainer detection
  • Manual testing of --image flag
  • Manual testing of error when no devcontainer or image configured

🤖 Generated with Claude Code

jmgilman and others added 2 commits January 4, 2026 15:22
Current behavior:
Three container image variants were published: base, systemd (with init
system), and dind (with Docker-in-Docker). The systemd and dind variants
added complexity to CI/CD, release management, and documentation.

New behavior:
Only the base image variant is published. Removed:
- images/systemd/ and images/dind/ directories
- CI workflow matrix entries for systemd/dind
- Release-please configuration for systemd/dind components
- Docker Bake targets for systemd/dind
- Documentation references to systemd/dind variants

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Current behavior:
Base container images were the default, with devcontainer support as an
optional add-on. The --base flag and default.base_image config were the
primary way to specify container environments.

New behavior:
Devcontainers are now the primary and default method. When running hjk run:
1. If --image is specified, use that image (bypasses devcontainer)
2. If devcontainer.json exists, use devcontainer mode automatically
3. If default.base_image is configured, use that as fallback
4. Otherwise, error with guidance on configuration options

Key changes:
- Rename --base flag to --image (clearer semantics)
- Make default.base_image optional (defaults to empty)
- Add warning when devcontainer CLI is not found
- Error when no devcontainer.json and no image configured
- Remove hjk recreate command (use hjk rm + hjk run instead)
- Update all documentation to reflect devcontainer-first approach

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@cloudflare-workers-and-pages
Copy link

cloudflare-workers-and-pages bot commented Jan 5, 2026

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
headjack 5d315b9 Commit Preview URL

Branch Preview URL
Jan 05 2026, 01:11 AM

jmgilman and others added 2 commits January 4, 2026 17:07
Current behavior:
Integration tests included a test for the hjk recreate command.

New behavior:
The recreate command test is removed since the command was deleted.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@jmgilman jmgilman merged commit 8f8accf into master Jan 5, 2026
4 checks passed
@jmgilman jmgilman deleted the refactor/remove-systemd-dind-images branch January 5, 2026 01:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants