Repository navigation
Releases: yunier-rojas/minipaas
Releases · yunier-rojas/minipaas
Release list
v0.3.0
Clean-architecture CLI, Hugo docs, PgQue example, leaner role
Summary
This PR restructures minipaas-cli into clean/hexagonal layers, replaces the
MkDocs site with a Hugo (Hextra) site, moves the example app to the PgQue queue
framework, and removes Docker API TLS from the Ansible role.
CLI (minipaas-cli/)
- Clean architecture. The
cmd/minipaasmonolith is split into:internal/core/entities(pure domain types:config.go,target.go,monitoring.go)internal/core/usecases(ports + interactors)internal/frameworks/*(adapters: caddy, compose, config, deploy, docker, files, logger, process, scaffold, shell)internal/runtime(dig composition root, one runtime per command)
- New commands:
deploy secret,deploy config(replacing top-levelsecret create/config create). - Remote targets:
code initgains--host(SSH),--local,--registry,--namespace;-c/--compose-fileis now optional. - Removals: the
certscommand and all Docker API TLS tooling. - Tooling:
qa/.import.yaml+make importsenforce layer boundaries;make qaruns gofmt and golangci-lint. - Dependencies: adopt
cockroachdb/errors,go.uber.org/dig,gopkg.in/yaml.v3; dropgoccy/go-yaml; Go 1.25. - Tests: new use-case and framework adapter tests; old monolith tests removed.
Docs (docs/)
- MkDocs/Material replaced by Hugo + Hextra (
docs/hugo.toml, baseURLhttps://yunier-rojas.github.io/minipaas/). - Content reorganized under
docs/content/with new getting-started, guides, reference and troubleshooting sections. qa/docs-links.pyvalidates internal links against the built site (wired into CI and release).make build-docsnow runshugo --source docs --gc --minify; newmake serve-docs.
Role (minipaas-role/)
- Docker API TLS removed:
docker_tls_dir,tasks/docker_conf_api.yml,tasks/docker_conf_normal.yml,files/daemon_api.json, and theinsecure-registriesentry. - Single
tasks/docker_conf.ymlinstallsfiles/daemon_common.json. - Manager-side default Caddyfile install removed from
swarm_managers.yml. tasks/firewall.ymlis now imported bytasks/main.yml.- Monitoring script source moved to
yunier-rojas/telegram-bash-system-monitoring;meta/main.ymlnamespace/author updated.
Example app (example-app/)
- Custom queues/streams SQL replaced by PgQue v0.2.0 (vendored
20250300_pgque.sql,20250304_pgque_queues.sql). - App rewritten on
pgque-py+psycopg3;server.py,queue_worker.py,stream_consumer.py,cleanup.pyupdated. - Dev registry removed (
compose.registry.yml); networks renamed tosample_*; images no longer prefixed withregistry:5000/. minipaas.yamlmigrated to the new schema;demo-script.shupdated to the new CLI syntax.
Removed
minipaas-sql/(customminipaas_queue_*/minipaas_stream_*framework).- MkDocs config/assets (
mkdocs.yml,docs/requirements.txt).
Breaking Changes
minipaas.yamluses the newcompose.files/docker.host/namespace/varsschema.--envis now a positional argument.certs,secret create, andconfig createcommands are removed (deploy secret/deploy configreplace the latter two).minipaas-sql/and its queue/stream functions are gone; use PgQue.- Docker API TLS is no longer configured by the role; remote access uses SSH (
DOCKER_HOST=ssh://...).
v0.2.0
Breaking Changes
- CLI: removed minipaas config delete/prune.
- CLI: removed minipaas secret delete/prune.
- CLI: renamed minipaas code expose to minipaas code route.
- Example app: removed prod/ and legacy infra/; use example-app/dev/compose.*.yml.
- Role: removed legacy tasks/templates (deploy.yml, swarm_ops.yml, paas-default-stack.yml.j2, baked-in Caddyfile).
What’s New
- Docs: new MkDocs site with “Start Here” index pages for minipaas-cli/, minipaas-role/, and minipaas-sql/ (mkdocs.yml, docs/).
- CLI: embedded Swarm assets (caddy, compose, registry, postgres) via assets_embed.go + tests.
- CLI: Docker helpers for build, config, and secret, each with unit tests.
- Example: dev-focused setup with compose.apps.yml, compose.caddy.yml, compose.postgres.yml, compose.registry.yml, compose.common.yml, and minipaas.yaml.
- Repository tooling: root Makefile, mk/docs.mk, mise.toml, and AGENTS.md.
Improvements
- CLI: updated deploy subcommands (build/canary/rollout/routing).
- CLI: added tests for compose/caddy/config generation and docker helpers.
- Role: simplified defaults and main tasks; removed outdated files.
- CI: updated CI and release workflows.
- Docs: added installation, usage, commands, workflows, configuration pages and docs/requirements.txt.
- Example: updated README, scripts, and API demo.
Removed
- CLI: config delete/prune and secret delete/prune; old Docker API shim.
- Example: prod/infra assets superseded by dev Compose files.
- Role: legacy tasks/templates and static Caddyfile.
Upgrade Guide
- Replace minipaas code expose with minipaas code route.
- Remove any use of minipaas config delete/prune and minipaas secret delete/prune.
- Update paths from example-app/prod/compose.minipaas.yaml to example-app/dev/compose.apps.yaml.
- Role playbooks: drop includes of removed tasks/templates; rely on updated defaults and tasks/main.yml.
Docs
- Start Here pages: docs/index.md, docs/cli/index.md, docs/role/index.md, docs/sql/index.md.
- Build locally: make build-docs (uses docs/requirements.txt).