Repository navigation
release: 1.6.2 - #218
Merged
Merged
release: 1.6.2#218
Conversation
release: v1.6.1 back to develop
docs(gitflow): a release has a milestone with its issues (#198)
docs(gitflow): issue has assignee and next release milestone (#200)
Every publish wrote the whole event, payload included, at INFO: one line per message in production, with data that must not reach the logs. Log only that the message was published, at DEBUG, with the id and subject fields, as the Pub/Sub driver does.
…-log fix(publisher): NATS driver no longer logs the event payload (#209)
… level (#206) fx's lines went through a printer at boost.factory.fx.log.level, DEBUG by default, so 'Failed to start' was hidden too and a builder app with bad config exited 1 with no message: a pod restarting with no reason. NewApp now installs an fxevent logger that renders fx's console lines and writes every event carrying an error (failed provide/invoke/hook, start, stop, rollback) at ERROR, the rest at the fx level.
…evel fix(fx): errors that stop the app are logged at ERROR whatever the fx level (#206)
Two @config Options in packages that share a name (one boost package per publisher) collided: the type id was the package name plus the type, so both looked like *boost.Options and the graph refused to build. The id now qualifies every type with its import path, read from the file's imports. A hand-built entry without imports still resolves a qualifier when one package of the entries has that name, so callers that build entries themselves keep working. Provider keeps matching by name and is deprecated in favour of ProviderFor, which the builder now uses.
fix(inject): key types by import path (#202)
Run prepended boost.bootstrap.function.default only after checking the args against a root command that had no subcommands yet, so with the key empty a generated app (which wires the one adapter config chose) ran cobra with no command and printed the usage. Run now picks the named command, else the default key, else the only adapter, and fails with NotValid when there is nothing to run or the choice is ambiguous, so the boot exits non-zero instead of idling on a help text.
…dapter fix(bootstrap/function): run the only adapter without arguments (#203)
The nats, cloudevents_nats and Pub/Sub v1 helpers subscribed with context.Background() and blocked forever, so SIGTERM left the app waiting the whole fx stop timeout and exiting 1, and a message in a handler during a deploy was cut. Their commands now run Helper.Run with cmd.Context(): when it is done they take no new message, let the handler finish the one it holds with a context the stop does not cancel (NATS drains its subscriptions), and return. A NATS subject that cannot be subscribed fails Run instead of being logged, and Pub/Sub v1 gives a failed message back instead of retrying it while stopping. Start stays, deprecated.
…text fix(bootstrap/function): adapters stop on the run context (#204)
No Pub/Sub path worked from a builder app. On v2 the command started one goroutine per subscription and returned at once, so the function module took it as finished and shut the app down with exit code 0; a subscription that could not be received was only logged. On v1 the app did not boot: the adapter module asked for the v1 client through the factory module, which provides it only when boost.factory.gcp.pubsub.version is v1, and that key defaults to v2. Both helpers now Run on the command context like the NATS adapters: they block until it is done, let the handler finish the message it holds with a context the stop does not cancel, stop retrying, and return. A subscription that cannot be received stops the others and fails Run with an error naming it, so the boot fails instead of running without it. The v1 adapter module provides the v1 client through ClientModule, whatever the factory version.
fix(bootstrap/function): Pub/Sub adapters run in a builder app (#205)
@Inject(index=N, drivers=[a, b]) on a *publisher.Publisher parameter limits the generated publisher to the listed drivers plus noop. Consumers without drivers keep all of them. The builder example worker uses nats and pubsub and no longer links confluent-kafka-go.
feat(inject): generate only the publisher drivers the app uses (#207)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release v1.6.2: #202–#209 (PRs #210–#217).