Skip to content

Releases: sol-fab/sol

Sol v0.1.0-alpha.7

Choose a tag to compare

@github-actions github-actions released this 04 Oct 15:28
f428442

Sol v0.1.0-alpha.7, from f4284422203d341e82cddf1f20b0bd43423499cc.

Migration runner: ghcr.io/loganbnielsen/sol-migration-runner@sha256:65f74feb5d2290e4e676bc292d971eaf9fc0188099169db7a82d1e93715aef4d

What's Changed

  • DEC-016: Decide how deployments are triggered, how environments are modelled, and how isolation between them is enforced. by @loganbnielsen in #209
  • FEAT-056: Expose DEC-016's resolved target environment to application code. by @loganbnielsen in #210
  • FEAT-057: Finish DEC-016's deploy-time isolation check after SOL_ENV injection lands. by @loganbnielsen in #211
  • REFAC-082: One traversal, two policies: share the directory walk between the workspace facts walker and target discovery, so the layout and the failure behaviour are each stated once. by @loganbnielsen in #212
  • FEAT-060: FEAT-056 is DONE, but two of its criteria are not: SOL_ENV is only asserted for services, and it is documented nowhere. Both are small; this ticket exists so a DONE ticket isn't standing on unverified or undocumented behaviour. by @loganbnielsen in #213
  • FEAT-059: Continued by: FEAT-063 (binding every operation to the destination). Related: DEC-016, FEAT-058, FEAT-061. by @loganbnielsen in #214
  • REFAC-083: Rename sol dev up to sol local up, and reserve local as a name no environment may use. by @loganbnielsen in #215
  • INFRA-012: # A prose mention on the Depends on: line becomes a dependency, and a cycle silently deadlocks the queue by @loganbnielsen in #216
  • INFRA-011: # The ticket body decides the PR title and the backlog summary, and the rule is written down nowhere by @loganbnielsen in #217
  • FEAT-062: Show a target as a target — provider, region, cluster, and whether Kubernetes is reachable — rather than as kubectl output. by @loganbnielsen in #218
  • INFRA-010: Stop tickets whose premise has gone stale from looking actionable. Nothing in this pipeline notices when the work a finding describes has already been done. by @loganbnielsen in #219
  • REFAC-084: Make a failed cluster probe carry its reason, so sol target show --check can say why a cluster could not be reached instead of only that it could not. by @loganbnielsen in #220
  • BUG-023: The pre-commit guardrail's ticket-move exception misfires whenever a ticket's completion notes are large relative to the file, so a legitimate READY_FOR_ENGINEERING → DONE move is blocked and has to be committed with SOL_SKIP_HOOKS=1. by @loganbnielsen in #221
  • DEC-019: Decide where the hosted platform lives, and what interface this repository must expose for it to exist. by @loganbnielsen in #222
  • REFAC-085: Related: REFAC-082, BUG-023. by @loganbnielsen in #223
  • FEAT-061: Deployment scope is a first-class concept, separate from the destination. by @loganbnielsen in #224
  • REFAC-086: Settle local as a built-in execution mode: retire the stale dev alias, close the destination hole the reservation leaves open, and align the naming around it. by @loganbnielsen in #225
  • FEAT-064: Strict scope resolution: one resolver over discovery, canonical names, and no positional selector. by @loganbnielsen in #226
  • DEC-018: Decide what a release is, where it is recorded, and what sol rollback restores. by @loganbnielsen in #227
  • FEAT-065: Propagate strict scope selection across the commands that operate on a subset of workloads. by @loganbnielsen in #228
  • INFRA-008: CI fails on unrelated pull requests when a third-party upstream tarball host is briefly unavailable, because pin-opam-packages resolves dependency sources from whatever each package's metadata points at — frequently not GitHub. by @loganbnielsen in #229
  • REFAC-081: Complete the self-pipe signal-handler extraction that REFAC-043 claimed but did not land: install_signal_handler is still duplicated across all three primitives. by @loganbnielsen in #230
  • FEAT-055: Wire the run log into the deploy path, so sol up and sol deploy produce a run ID and keep their diagnostics on disk instead of only in the terminal that ran them. by @loganbnielsen in #231
  • FEAT-067: Write the release record on every deploy, and add sol releases to list them. by @loganbnielsen in #232
  • INFRA-013: The pinned Redpanda Helm chart 5.9.15 is no longer in the charts.redpanda.com index — that repo now publishes only 25.3.x / 26.1.x / 26.2.x. helm upgrade --install redpanda redpanda/redpanda --version 5.9.15 fails immediately with no chart version found for redpanda-5.9.15, so sol local up (and the golden-path CI job it drives) cannot install a fresh substrate at all. Every PR's golden path fails on this regardless of what it changes. by @loganbnielsen in #235
  • REFAC-087: Name the file that implements the local group for what it contains. by @loganbnielsen in #234
  • BUG-025: Sol_cli_deployment_state.deploy_state_configmap_name builds the deploy-state ConfigMap name as "sol-deploy-state-" ^ workspace. A workspace named ci_smoke, my_app or Acme contains characters Kubernetes forbids in an object name (_, uppercase), so kubectl apply rejects the ConfigMap — and save_deployed_groups wraps the apply in ignore, so the rejection is silent. by @loganbnielsen in #233
  • FEAT-063: Bind every Kubernetes operation to the target's destination, so the cluster is chosen by the target rather than by whatever kubectl happens to be pointing at. by @loganbnielsen in #236
  • REFAC-088: is called by both cmd and local_cmd, and the substrate surface was moved to by @loganbnielsen in #237
  • REFAC-089: FEAT-063 did not create the argument-list problem; it crossed a threshold where interfaces that were already flat became hard to read. Group the inputs that genuinely belong together — and only those. by @loganbnielsen in #238
  • FEAT-069: Make one release identity span the deploy record and the observability data, so a release is the join key between a deploy and its telemetry. by @loganbnielsen in #239
  • FEAT-070: Model the deployment event as its own object, separate from the release it by @loganbnielsen in #240
  • FEAT-071: Make the deployment event mean one deploy attempt, and hold FEAT-069's by @loganbnielsen in #241
  • BUG-026: from a workload of `{domain; name; primitive; image; config; secrets; schedule; by @loganbnielsen in #242
  • TYPE_AUDIT-078: Keep Deployment_id.t typed one layer longer in the deploy-marker path. by @loganbnielsen in #243
  • Dogfood remediation: FRIC-015..028 (2026-09-13 run) by @loganbnielsen in #244
  • FEAT-066: Record every release immutably in the target's cluster, and make sol rollback restore a recorded boundary. by @loganbnielsen in #245
  • FEAT-072: The remaining DEC-018 rollback work, split out of FEAT-066 so slice 2 can land by @loganbnielsen in #246
  • FEAT-076: Add first-class Ack | Retry | Dead_letter handling to sol-worker / by @loganbnielsen in #247
  • FRIC-029: sol logs / sol local logs Loki queries match no streams: the selector uses app/namespace, but Sol's app-pushed logs carry service/team by @loganbnielsen in #248
  • BUG-027: Retry_topics' retry-topic consumer serializes all partitions through one fiber with a blocking sleep, and drops the message key on republish — both violate FEAT-076's own "a poison message does not block unrelated messages" acceptance criterion. by @loganbnielsen in #249
  • FEAT-068: Make sol cloud produce and consume target-scoped destinations, so an operator never has to think about kube-contexts. by @loganbnielsen in #250
  • INFRA-005: wire GCP durable-observability outputs into platform/infra/base (plumbing only) by @loganbnielsen in #252
  • FEAT-073: exact id only), FEAT-070 (deployment events, the provenance join key this by @loganbnielsen in #253
  • DEC-017: Decide where deploy/run diagnosis and runtime observability live, now that a deploy may be triggered by a push rather than by the user's terminal. by @loganbnielsen in #251
  • FEAT-075: Pin sol rollback's enforcement order with a test by @loganbnielsen in #254
  • FEAT-074: Reconcile the desired workload set: prune live Sol-owned workloads a release does not contain by @loganbnielsen...
Read more

v0.1.0-alpha.6

Choose a tag to compare

@github-actions github-actions released this 11 Jun 22:21

v0.1.0-alpha.4

Choose a tag to compare

@github-actions github-actions released this 11 Jun 17:58