Skip to content

v0.7.5 — Sprint 100: suporte nativo a macOS no setup.sh

Choose a tag to compare

@greencapk8s greencapk8s released this 11 Jul 23:14
· 53 commits to main since this release
49f4284

Sprint 100 — Suporte nativo a macOS no setup.sh + validação via GitHub Actions

Esta release traz suporte nativo real a macOS no instalador plug-and-play, além de workflows de CI que validam o setup.sh de ponta a ponta em Linux e macOS.

Destaques

  • Suporte nativo a macOS no setup.sh: install_docker/kubectl/minikube/helm ganham branch macOS via Homebrew (brew install colima docker kubectl minikube helm). Docker é provido por Colima headless — não Docker Desktop (GUI, inviável para o fluxo plug-and-play e CI). ensure_homebrew() auto-instala o Homebrew se ausente (NONINTERACTIVE=1). O mecanismo Linux (curl/apt) permanece inalterado. Raciocínio completo na ADR 0016.
  • Modo não-interativo por variáveis de ambiente: AUTO_INSTALL, PROFILE_CHOICE, NODES/CPUS/MEMORY, e CONFIRM no teardown.sh — estende o padrão já usado por GREENCAP_ENCRYPTION_KEY/DB_PASSWORD, necessário para automação em CI.
  • Novo workflow setup-script-validate.yml: matrix ubuntu-24.04 (fluxo completo: setup → reachability com retry → teardown) e macos-14 (INSTALL_ONLY=true — valida os instaladores Homebrew, sem provisionar cluster). docker-compose-validate.yml migrado de ubuntu-latest para ubuntu-24.04 (tags *-latest são realocadas pelo GitHub sem aviso).

Correções (descobertas em execuções reais de CI)

  • ${AUTO_INSTALL,,} (Bash 4+) quebrando no /bin/bash 3.2 do macOS → substituído por case portável.
  • sed -i sem -i.bak quebrando no BSD sed do macOS.
  • curl de reachability com 503 por corrida do ingress-nginx sincronizando a config → retry 10x/5s.
  • docker/Dockerfile baixava o Helm CLI fixo em linux-amd64, quebrando em build arm64 → fix via ARG TARGETARCH.

Nota de plataforma

Runners macos-* hospedados padrão do GitHub Actions não suportam virtualização aninhadacolima start nunca teria sucesso ali, independente do setup.sh. Por isso o job macOS da CI é INSTALL_ONLY. O suporte real a macOS para uso local do usuário permanece completo.


Changelog completo: v0.7.4...v0.7.5