Repository navigation
fix: emit contract v4 and drop the committed chart - #243
Merged
Merged
Conversation
The release now assembles a thin chart from the emitted contract on scalo-service 2.14.3, so the hand-kept chart and the tests that pinned it to scalo's chart generator go. - scalo 2.14.3 and contract schema 4: a 60 s startup budget, h2c on the push port, a 1Gi GeoIP volume only while GeoIP is on, and the pod's resources, grace period and security. - Config::default() now gives transport kafka, the same as serde gives an empty file. The contract's default config carried an empty transport. - Config drops its keda block. Nothing in the loader acted on it and the chart never read it. A stored config that still carries one loads as before. - The secret env test checks every contract env name lands on the config key it spells, and its message no longer carries a value. - .hyperi-ci.yaml sets release.helm to contract emit on library 2.14.3 and drops build.type, which hyperi-ci no longer reads.
Config::load called dotenvy::dotenv(), which walks up every parent directory and loads the first .env it finds, so a loader started inside another project's tree took that project's settings and credentials. - The binary's load_config seeds scalo's cascade before Config::load, and the cascade reads ./.env and nothing above it, so the app's own call goes. - a_dotenv_in_a_parent_directory_is_not_loaded runs the binary from a directory with a .env only above it, and again with its own .env. - The insert bake-off bench reads the repo's .env by path, and dotenvy moves to dev-dependencies, since nothing in the binary calls it now. - /chart/ is gitignored, because --emit-helm writes ./chart by default.
|
Released in v1.18.47 -- https://github.com/hyperi-io/dfe-loader/releases/tag/v1.18.47 |
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.
From the next release the loader's chart is assembled from the contract it emits, on the scalo-service 2.14.3 library chart, so the committed chart and the tests pinning it to scalo's chart generator go.
geoip.enabledis true, plus resources (200m/256Mi requests, 1/512Mi limits), a 45 s grace period and the default security context.Config::default()givestransport: kafka, the same as serde gives an empty file. The contract's default config carried an empty transport.Configdrops itskedablock. Nothing in the loader acted on it and the chart never read it. A stored config that still carries one loads as before (keda_block_from_an_older_config_still_loads).every_declared_secret_env_var_reaches_the_configchecks each contract env name lands on the config key it spells. Its message carries the env var and group names only..hyperi-ci.yamlsetsrelease.helmtocontract: emiton library2.14.3and dropsbuild.type, which hyperi-ci no longer reads.docs/config-schema.*regenerated with the app's own subcommands. README anddocs/deployment/PUBLISHING.mdfollow.Config::loadno longer callsdotenvy::dotenv(), which walked up every parent directory and loaded the first.envit found. The binary'sload_configseeds scalo's cascade first, and that reads./.envonly.a_dotenv_in_a_parent_directory_is_not_loadedruns the binary to prove both halves, and failed against the old call. The bench reads the repo's.envby path anddotenvymoves to dev-dependencies./chart/is gitignored, since--emit-helmwrites./chartby default.The emitted contract validates against the library's v4 schema, and differs from dfe-infra's
scripts/tests/fixtures/contracts/dfe-loader.jsononly in emitted-only fields andwritable_paths[0].size. Rendered through dfe-weaveassemble()on the 2.14.3 library, the two give byte-identical manifests with empty values,config.transport=grpcandconfig.geoip.enabled=true.Done when this merges and the next release publishes a dfe-loader chart that renders the same as the fixture.