Skip to content

Releases: theolujay/appa

v0.2.1

24 Jun 11:00

Choose a tag to compare

Changelog

style

  • Rebrand accent from purple (#7D56F4) to blue (#007fff) across CSS,
    Go CLI output, and Huh TUI prompts
  • Swap Inter/JetBrains Mono for Geist/Geist Mono
  • Add Appa bison favicon set (favicon_io) and nav logo
  • Replace pipeline text labels with brand SVGs
    (Docker, Railpack, Caddy, BuildKit DAG)
  • Add "Terminal-first, dashboard-included" section with dashboard card
  • Tighten copy across hero, diff cards, and pipeline

feat

  • Add --identity-file / -i flag to appa server init
  • Add per-project environment variable management
  • Add interactive prompts for server name input

refactor

  • Replace generic Cobra errors with styled output messages

docs

  • Add landing page and update Docker Secrets setup docs
  • Resolve Ansible lint issues

fix

  • Resolve Python venv not initializing in install script
  • Prevent GitHub Pages from attempting Jekyll builds

v0.2.0

23 Jun 17:13
6da837a

Choose a tag to compare

Changelog

Features

  • Project CRUD API with projects table and deploy-time auto-creation
  • appa project {logs,stop,restart,env} lifecycle commands with TUI log viewer
  • Docker Stack migration (Swarm mode, health checks, resource limits, rollbacks)
  • Spinner-based output with --verbose flag for setup/apply/deploy
  • --port flag on appa server set-host for custom API ports
  • CI build workflow pushing images to GHCR on push to main
  • Deploy secret prompts and instance config overhaul

Refactors

  • instanceserver rename across all commands, configs, and internals
  • Profile replaced with InstanceConfig/ProjectConfig and Kind
  • BaseAPIURLAPIBaseURL, added APIPort config field
  • Lint fixes and code cleanup

Fixes

  • Secure Cloudflare token in .env
  • Validated instance names
  • Surface Ansible stderr on failures
  • POSIX-compatible install script
  • Create unique supplementary groups in Ansible
  • Broken documentation table

Documentation

  • Simplified README with user guide
  • Architecture docs and general documentation updates

Chores

  • Reformat files
  • Update dependencies

v0.1.1

20 Jun 12:45

Choose a tag to compare

No functional changes. This release focuses on code quality and licensing:

Changed

  • Switched project license from MIT to Apache 2.0 (added NOTICE file with third-party attributions).
  • Refactored internal APIs across the CLI and pipeline packages: unexported and constants that were only used internally, reducing the public area.
  • Simplified error handling patterns throughout the codebase.
  • Consolidated pipeline status/logging/phase transition logic.
  • Introduced interfaces for data models to improve testability.
  • General performance improvements: reduced allocations, fixed receiver shadowing.

v0.1.0

05 Jun 17:00

Choose a tag to compare

Changelog

  • 533296c add ansible embed and update goreleaser
  • 1d5fe84 Merge pull request #6 from theolujay/infra/cli
  • c9a71bb fix: update install script URL to use the new domain
  • 9f4ef1f Merge pull request #5 from theolujay/infra/cli
  • 31ef74f remove symlinks for molecule
  • d6f01bd run tests in CI with uv
  • 2dc1185 update Python setup and dependency installation in Ansible tests
  • c44fd48 update ansible-lint config
  • d53a4a6 feat: add GoReleaser, install script, and clean up docs
  • 4b14429 Create CNAME
  • 5c7bf25 feat: add release workflow and propagate version to CLI and Ansible
  • 742ffa5 feat: add deploy-stack playbook and instance edit
  • 46f26ee docs: update
  • 594d40d feat(cli): add CLI and Ansible integration
  • 9d6f54e deploy/ansible: add molecule testing for all roles
  • f92b332 consolidate documentation into docs/
  • 0b9b307 deploy/ansible: add Ansible security hardening stack
  • b56436d automate migrations and suppress Caddy access logs from deploy output
  • 57a701b allow anonymous (guest) user access to deployments
  • 0474d7b fix: update database ports
  • eba51ee change db port
  • 5d67d77 keep future plans out of README
  • 9f1d476 update docs
  • 94d1cdb update system docs based on new idea iteration
  • 70cb7fd update docs
  • f7bc059 Parametrize Railpack version and update docs
  • 2d1968c Merge branch 'main' of github.com:theolujay/appa
  • 95ab31e overhaul project docs and pin deps
  • 44c54ed overhaul project docs and pin deps
  • fdaeaa0 refactor: add graceful shutdown to the hub goroutine docs: add comments for readability
  • 8971996 docs: add package-level comments
  • d2e75e9 Merge pull request #4 from theolujay/refactor/pipeline-phases
  • aaf8cfd fix: install buildctl, fix SQL args and build directory lifecycle
  • 2310e83 docs: update and add doc-comments across pipeline and data layers
  • 8a94bd7 refactor: replace Update with UpdateAndGet to eliminate extra DB round trips
  • 1def8e4 refactor: split pipeline build into Prepare and Build phases
  • fc72bc6 refactor: decompose pipeline build function
  • a28f297 Merge pull request #3 from theolujay/docs
  • 7e0bbe4 docs: update README and add environment template
  • 1286770 fix: resolve log streaming via websockets failing fix: update Docker base image to debian to resolve missing mise binary chore: add debug logging
  • 420f02a chore: optimize API build using multi-stage
  • d257078 Merge pull request #2 from theolujay/feat/users
  • ce4460c style: code formatting
  • 0e10c26 chore: update Caddy, improve authentication and add logging to WS
  • 3bd4eaa chore: add secureHeaders middleware
  • 2425f07 feat: add auth context, routing and additional related screens
  • 6c814ae feat: add authentication UI (login, register, activate)
  • e8ee5e1 feat: scope deployments to users and extract Caddy router - Add UserID to deployments and scope Create/Get/GetAll/Cancel by user - Protect deployment endpoints with requireActivatedUser middleware - Include user in authentication token response - Extract Router type from Pipeline for Caddy route management - Add RestoreRoutes for re-syncing routes on startup - Fix nil EnvVars dereference in ValidateDeployment - Switch background helper to wg.Go
  • 0dcb31d chore: update dependencies
  • dd17905 feat: add user auth and paginated deployments - Add user registration, activation, and authentication token endpoints - Add authentication middleware - Add context helpers for attaching users to request context - Add Users and Tokens models with DB operations - Add pagination, sorting, and status filtering for listing deployments - Rename handler methods to unexported camelCaseHandler convention - Rename deployment model methods (CreateDeployment → Create, etc.) - Add migrations: users table, tokens table, user_id on deployments - Add ON DELETE CASCADE on logs.deployment_id FK - Fix db-init.sh to create citext extension in the correct database
  • b17aff6 chore: more PostgreSQL setup and additional config improvements
  • ed62677 Merge pull request #1 from theolujay/refactor/codebase
  • 26c8f82 chore: update PostgreSQL setup
  • e2c80fa refactor: replace SQLite migrations with PostgreSQL's
  • 4c614bd refactor: migrate from SQLite to PostgreSQL and restructure data layer
  • 0dfc684 chore: rename cmd/server to cmd/api
  • 03a1576 chore: add header and log middleware, refactor db config
  • 752b21c refactor: re-organize server file structure
  • d4da470 docs: update image in README
  • 0acbbb0 docs: add README
  • 712f16b feat: implement subdomain-based routing and internal networking - Switch from path-based (/deploys/:id) to subdomain-based (:id.localhost) routing - Introduce appa_net Docker network for secure internal service communication - Remove host port mapping for deployments, routing via container names instead - Simplify Caddyfile and improve proxy header handling for deployments
  • 71c86fb fix: add HTTP timeout and improve deployment reliability - Add 10s timeout to Caddy admin API calls - Fix route matching by including host patterns - Disable container auto-remove for debugging - Simplify health check to use host.docker.internal
  • 9b1ac9d refactor: add deployment cancellation and improve database concurrency - Add context cancellation for running deployments - Enable SQLite WAL mode and busy timeout for concurrent reads - Refactor hub for better log streaming via WebSocket - Improve Caddy route injection error handling
  • ac05df1 feat(ui): add full dashboard for deployment management - New Dashboard with deployment list, deploy form, and log viewer - Add Toast notification system - Add drag-and-drop ZIP upload support - New styling with dark theme
  • 5500678 feat(pipeline): wire deployment flow with routing and container management
  • c9fea65 feat(pipeline): add runner flow with log streaming
  • b06cd67 feat(pipeline): wire Railpack build flow and log streaming
  • 58dac06 chore(internal): initial server setup with API handlers, WS support, and DB integration
  • 986b750 Initial commit