Repository navigation
Releases: sol-fab/sol
Releases · sol-fab/sol
Release list
Sol v0.1.0-alpha.7
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_ENVinjection 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_ENVis only asserted for services, and it is documented nowhere. Both are small; this ticket exists so aDONEticket 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 uptosol local up, and reservelocalas 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 --checkcan 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→DONEmove is blocked and has to be committed withSOL_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
localas a built-in execution mode: retire the staledevalias, 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 rollbackrestores. 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-packagesresolves 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_handleris still duplicated across all three primitives. by @loganbnielsen in #230 - FEAT-055: Wire the run log into the deploy path, so
sol upandsol deployproduce 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 releasesto list them. by @loganbnielsen in #232 - INFRA-013: The pinned Redpanda Helm chart
5.9.15is no longer in thecharts.redpanda.comindex — that repo now publishes only 25.3.x / 26.1.x / 26.2.x.helm upgrade --install redpanda redpanda/redpanda --version 5.9.15fails immediately withno chart version found for redpanda-5.9.15, sosol 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
localgroup for what it contains. by @loganbnielsen in #234 - BUG-025:
Sol_cli_deployment_state.deploy_state_configmap_namebuilds the deploy-state ConfigMap name as"sol-deploy-state-" ^ workspace. A workspace namedci_smoke,my_apporAcmecontains characters Kubernetes forbids in an object name (_, uppercase), sokubectl applyrejects the ConfigMap — andsave_deployed_groupswraps the apply inignore, 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
kubectlhappens to be pointing at. by @loganbnielsen in #236 - REFAC-088: is called by both
cmdandlocal_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
workloadof `{domain; name; primitive; image; config; secrets; schedule; by @loganbnielsen in #242 - TYPE_AUDIT-078: Keep
Deployment_id.ttyped 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 rollbackrestore 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_letterhandling tosol-worker/ by @loganbnielsen in #247 - FRIC-029:
sol logs/sol local logsLoki queries match no streams: the selector usesapp/namespace, but Sol's app-pushed logs carryservice/teamby @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 cloudproduce 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...
v0.1.0-alpha.6
Full Changelog: v0.1.0-alpha.4...v0.1.0-alpha.6
v0.1.0-alpha.4
Full Changelog: https://github.com/loganbnielsen/sun/commits/v0.1.0-alpha.4