Skip to content

v0.0.43

Compare
Choose a tag to compare
@nichtverstehen nichtverstehen released this 23 Jun 13:24
· 3673 commits to main since this release

Changelog

  • b722671 .github: Bump actions/download-artifact from 2 to 3 (#213)
  • b505853 .github: Bump actions/upload-artifact from 2 to 3 (#214)
  • 78fc93c .github: Bump docker/login-action from 1 to 2 (#343)
  • 6bde28e A more verbose error when domains defs are inconsistent (#598)
  • fccb506 Add a prompt for single letter command (showing logs) (#317)
  • 9c1db0f Add ability to configure incluster k8s client (#534)
  • d5b609b Add ability to emit structured deploy output.
  • 152be8b Add comments to some internal files and rephrase some identifiers for consistency.
  • b4cb87d Add debug command to find config location.
  • af1ec2c Add hidden flag to skip codegen
  • 03ed086 Add hidden flag to verify compute graph caching
  • 995beba Add minio extension as a localstack alternative for providing S3 buckets (#469)
  • abde1fc Add missing Short strings for commands
  • a0eb8d3 Add the transcoder to the nodejs testserver (#574)
  • fdc6d31 Aggregate codegen errors and emit on flush (#485)
  • a838ccf Avoid inserting ANSI reset sequence (ESC[0m) when NoColors style is chosen (piped output).
  • f9bf7a6 Avoiding node_modules when parsing protos. Closes #377.
  • c122872 Bootstrap envoy with a template fed as a configmap (#565)
  • 50e2eac Bootstrapping new modules: Always add a dependency on foundation repo. (#385)
  • 1629e98 Buf: adding a forked protobuf-ts to the image. (#631)
  • 26250a5 CLI: supporting specifying the language in the "protogen" command. Closes #423 (#426)
  • 8a466c9 Canonicalize images from buildkit. This is required for stable digests.
  • c35d650 Clean up obsolete deployments in dev environments (#411)
  • 28292cc Codegen: making "PrepareGrpcBackendDep" return the name of the service without "Client" suffix as the actual class/struct name may be language-specific. (#558)
  • 65ec545 Continously with custom error handling (#488)
  • d46b867 Controller implementing the xDS control plane (#563)
  • faf8e81 Dev UI: removing the env selector. Closes #645
  • ac08317 Dev UI: removing the stack selector and the search box. Closes #644.
  • f27327e Direct log output to Stderr instead of Stdout.
  • 88d1b69 Direct lsp log to stderr.
  • 76c9e78 Do not timebox pod resolution. k8s client rate limiter can slow down our requests.
  • 216c7a7 Don't cancel oneshot on container failures. We still want to fetch logs.
  • 649f894 Don't re-announce pods that got already deleted (as "removed") (#449)
  • 3f9afa0 Enable multiple servers to depend on postgres.
  • 3376e33 Ensure that reflection picks up fn errors
  • e343025 Envoy gateway works e2e for nodeJS and Go (#595)
  • b32a949 Envoy: shared memory conflict prevention (#622)
  • 143600a Expand fnerrors.New to also support fmt strings (#516)
  • 4c88e69 Export IsStandardImportPath for lsp package to use.
  • 1f748d6 Fall back to incluster AWS config if available and none is configured.
  • 5dfebd0 Fill in description and homepage for Homebrew releases.
  • 0e61383 Fix .gitignore.
  • 6fe5d2a Fix codegenerror aggregation (#632)
  • 494600a Fix console's InputMode eraseing Stdout's output (#410)
  • f277489 Fix console's cursor state (#412)
  • 6515a86 Fix default implementation for Go service.
  • 974d4b6 Fix formatting.
  • a0e18b0 Fix head.
  • 847adc5 Fix idle line missing (#422)
  • ddcfe04 Fix lint.
  • ad9fbe5 Fix race condition or accessing LogActions flag (#413)
  • 9670f2c Fixes enable --parallel_work by default #655
  • d8bed19 Fixing a typo in CONTRIBUTING.md
  • b8e903c Fixing continuous_test (#626)
  • 05415f7 Fixing running "yarn" for Web: these nodes are not configured to work with Yarn3 so using Yarn1 for now.
  • c915c44 Fn tidy.
  • 207a4b8 Formatting "fn-workspace.cue" with "fn tidy".
  • 006947c Formatting devworkflow/web with the workspace settings.
  • dd899ac Gateway envoy controller: robust SIGTERM/SIGINT handling (#594)
  • 1635227 Go codegen: using the shared "PrepareGrpcBackendDep" function. (#460)
  • c8edd0c Graceful prepare when rancher k3d nodes or the registry are stopped (#512)
  • 8ee0aa3 Guard CodegenMultiError.Error
  • 45e98f6 Helpful descriptions for kubectl crd/get (#635)
  • 03be201 Idle label race condition fix. (#478)
  • ba879c4 Ignore context.Caneled errors for log streaming
  • 220f841 Ignore vscode debug binary
  • e9cd02a Improved fn error formatting (#397)
  • b8412a3 Increase the amoount of lines fetched from servers.
  • 3ef273b Initial implementation fn lsp command - an LSP language server for Fn files.
  • 4f1de14 Install the glooctl SDK (#521)
  • 17e6d0d Introduce --disable_command_bundle for fn lsp (#633)
  • df56e70 Introduce a new core extension which wraps critical scaffolding (#636)
  • 6b34548 Introduce envoy as an opaque server (#560)
  • 71c0299 Introduce fnpipelines to interact with GH (#591)
  • b4158a9 Introduce k8s controller to clean up stale testing namespaces (#360)
  • 907f77a Invalidating cached results for proto generation so the old gRPC codegen is not retrieved from the cache. (#589)
  • 6915742 Kill provisioning tools after 2 minutes
  • ef9f1e6 Limit the length of the generated role name (#535)
  • 04c1a9b Make ActionID strongly typed. (#438)
  • b7bb37b Make fn.generate return non-zero status code when it encounters generation errors.
  • ed1a2e2 Make fragment access nil safe
  • ff752bd Make minio use secrets as credentials. (#505)
  • 9e247e0 Make yarnRootStatefulGen.Handle throw an error.
  • 5e96b7c Migrating to Yarn 3.2.1
  • 8c1d677 Move proto serialization from before Publish() into observables. (#369)
  • 71ed123 Node.js tracing: making sure the fastify plugin is initialized after the main otel.
  • 1b98900 Node.js: adding a package.json dependency on the package where gRPC client is declared.
  • 48f5956 Node.js: adding a root dev dependency on "@types/toposort": needed by runtime.
  • 209f1d1 Node.js: adding a wrapper Server around the grpc server. This will allow to register HTTP handlers with the same "registrar" object. (#427)
  • 99ac3e4 Node.js: basic version of the async gRPC codegen. Streaming, call cancellation, etc., are not supported yet. (#559)
  • 7172270 Node.js: changing the protobuf generator to protobuf-ts. (#627)
  • 0eb6d5d Node.js: codegen formatting cleanups.
  • b74fd21 Node.js: copy the whole yarn root to the image when building, otherwise yarn install --immutable may fail.
  • b714d56 Node.js: creating the HTTP server lazily in the provider instead of on import. (#541)
  • 89d3ae5 Node.js: disable build scripts when running "yarn install" locally.
  • 6307b5d Node.js: download the Yarn binary to the SDK cache instead of committing it to the user repository. (#384)
  • da36c85 Node.js: explicitly listing workspaces in Yarn root. This prevents adding deps from Web packages and also solves the issue with recognizing the node.js runtime package as a workspace in the foundation repository. (#395)
  • f51a471 Node.js: exporting "@grpc/grpc-js" from "grpcgen" so the user doesn't… (#593)
  • c2f2e1d Node.js: generate tsconfig when building. This allows to selectively build only what needed, including in node_modules, which is important for a case of a yarn.lock shared across servers. This also allows to hide build-only compiling settings from the user. (#390)
  • 3e3a2f5 Node.js: hide yarn plugin in the fn cache. Closes #433 (#451)
  • 25d451d Node.js: hiding fn-managed dependencies within the "runtime" node. Updating the versions while I'm at it. Closes #235. Closes #424. (#492)
  • 73757d8 Node.js: integrating the promise-based API for gRPC to Foundation. (#507)
  • bc4d38d Node.js: iterating on the gRPC codegen. (#571)
  • 19a1215 Node.js: make the workspace foundation root a yarn root for all node.js nodes. This simplifies handling dependencies between these nodes. (#391)
  • 1538729 Node.js: making "wireService" async so the user can "await" for dependencies. (#526)
  • 3001a39 Node.js: making an fn module correspond to a NPM package, not a node. (#634)
  • 23ffe53 Node.js: making gRPC client factory name customizable as a preparation for a new gRPC codegen. Cleaning up InputType logic in the templates. (#572)
  • 0566639 Node.js: making sure all nodes have fn-managed required direct dependencies added to package.json.
  • a49d9b0 Node.js: making sure all nodes list their direct dependencies explicitly.
  • 8ee452f Node.js: making wireService async optionally.
  • b4dc190 Node.js: migrating to "tsc" 4.7.3 since 4.6.2 is crashing in some scenarios.
  • f0dd0c6 Node.js: moving "runtime" under "std". Closes #498
  • eb97bbd Node.js: moving ImportCollector to a separate package. To be re-used by the gRPC codegen.
  • 6bee9a1 Node.js: moving extensions to "std".
  • cc159f3 Node.js: moving generating package.json at Yarn roots from fn generate to fn tidy. Rationale: the root package.json now contains an explicit list of yarn workspaces, but code generation may be called for a specific server, in which case the root package.json is overwritten with a subset of yarn workspaces.
  • e01a857 Node.js: moving the grpc server to a separate extension so it can provide hooks for telemetry. (#549)
  • d3bccd8 Node.js: moving yarn root to the workspace root. This makes dependencies between nodes within the foundation repository easier to manage.
  • b9d1587 Node.js: only invoking transitive initializers from direct dependencies in servers.
  • 86e710c Node.js: preparing to switch to the "pnpm" linker. (#616)
  • 2d938d9 Node.js: providing extensions access to the instantiation path, similar to Go. (#639)
  • cbe668c Node.js: providing the http server as a dependency instead of it being hard-coded via "registrar". (#528)
  • a6e0915 Node.js: retaining user-defined dev dependencies at the root package.json. Dev dependencies can only be specified at the root, they seem to have no effect in workspace package.json files.
  • 6ad51d1 Node.js: reverting yarn.lock at root as it was breaking tests.
  • 0b94654 Node.js: running fn tidy after #549.
  • 38f8fea Node.js: service to service communication. (#376)
  • edfb8ce Node.js: support dependencies on other modules via "replace" statements in the workspace. Depending on the "runtime" package via "fn:" protocol. (#489)
  • a42301d Node.js: supporting HTTP handlers. Closes #434 (#437)
  • 0aebaa7 Node.js: supporting Promise<> as a provided type. (#527)
  • fd89523 Node.js: supporting async initializers. (#540)
  • 4d223d6 Node.js: supporting external nodes. (#354)
  • 472cc3c Node.js: supporting omitting package name from "availableIn" if the file is in the same package as the CUE definition.
  • 3c4769b Node.js: supporting tracing. (#536)
  • 6e44645 Node.js: switching to the pnpm linker. (#617)
  • 74e7348 Node.js: taking before/after initializer statements into account. Closes #431. (#537)
  • 9235a40 Node.js: temporarily removing a dependency on the input "Backend" proto for the gRPC extension. This proto imports the "options" proto from a parent directory, which is not supported in the node.js build yet. (#487)
  • c2ef5d2 Node.js: use user imports for server package.json, not all transitive dependencies.
  • ee6afe1 Node.js: using "fn:" protocol everywhere instead of referring via workspaces. (#587)
  • 4e32e4a Node.js: using a temporary file for fn.lock.json. (#615)
  • 15cfce3 Node.js: using symlinking for "fn:" protocol instead of copying the files. (#585)
  • 661734b Propagate CUE dep errors. Fixes #338
  • f59f1e4 Re-order writers to prevent corrupted .age files
  • b45059a Refresh console's prompt on (l)ogs keypress
  • ee4d04f Regression fix: generate exports on Server building. (#373)
  • 54340ee Release foundation to namespacelabs/repo/fn Homebrew Tap.
  • e544ba0 Remove obsolete hint. The command does not exist.
  • ba856bd Remove ubuntu 20 from testing matrix
  • 932f1ef Removing "end-of-file-fixer" from pre-commit config as it mangles .ts files, generated by the proto generator.
  • 583a8c8 Rename genGoProtosAtLoc to genProtosAtLoc as it handles all proto generation, not only Go.
  • ce1b880 Renaming GO_GRPC to GO. (#608)
  • d1b2fc2 Respect max logging levels in json logger (#625)
  • 235edbf Revert "Install the glooctl SDK" (#543)
  • 8e8ccc2 Revert "Revert "fn generate: topological sort (#342)" (#359)" (#361)
  • e21b917 Revert "fn generate: topological sort (#342)" (#359)
  • c451feb Revert buildkit log annotation It is duplicate now
  • 39d1098 Semver comparison fix (#619)
  • 0c8ab33 Set follow when streaming logs to logobserver (#533)
  • 090cc94 Shorten the prefix of the log messages to make it more human-readable (#452)
  • 16ef4c1 Skip console stdin reader if we are not in a terminal
  • bc7ead6 Skip e2e tests (#436)
  • 5e4dc6c Split CodegenMultiError into a thread-safe error collector and an immutable CodegenMultiError.
  • a15ff16 Standardizing TS formatting settings.
  • 707a90f Status subresource for the http grpc transcoder (#623)
  • d826c58 Support google.api.http annotations (#362)
  • c7f4f79 Suppress version error if no minimum API is set.
  • daa1650 Toggle logs (#372)
  • 627c8fe Topologically sort the filedescriptor set transcoded by Envoy (#605)
  • df43fb7 Tweak Goreleaser Homebrew settings to support private repos.
  • b31dfa0 UnwrapSink to get consolesink. (#471)
  • a18f566 Update api to reflect spec
  • 9f1ed135 Update goreleaser name fn->ns.
  • 49e133f Update help flag for --disable_command_bundle
  • 0e200ad Update the node ID flag and default
  • 83ef436 Updating fninfo prebuilt's sha256
  • f06fc65 Updating prebuilts.
  • 603445e Use SHA of prebuilts as tag, too, for ECR compatibility.
  • c4b29ba Use a strongly typed ActionID to record log sources. (#439)
  • 8a821c0 Use absolute paths for go modules internally in order to not depend on the $CWD.
  • 0224bb2 Use buldkit action's attachment to additionally print logs for errors (#389)
  • 24f9a6a Use multierr for CUE dep errors.
  • 5987150 Web UI: removing unused code. Making Stack and Ports blocks consistent.
  • 32a368e Web: migrating to Yarn 3.2 for consistency with Node.js
  • 0e1f678 Web: using the base "vite" path. ".bin" alias is not available with the "pnpm" linker. (#618)
  • 9b390ab Wire up fn command-history upload/download with the support service (#484)
  • b311c0a Wire up the controller scaffolding (#576)
  • f264d5b Wrap listener failures as a fnError
  • 75fed61 HttpGrpcTranscoder CRDs as envoy snapshots (#592)
  • 73c4f2c HttpGrpcTranscoder CustomResourceDefinition wired up with RBAC (#570)
  • f731acd fn unprepare (#640)
  • b91ad2c fnerrors.New and stack traces for all fn errors (#379)
  • 8ba7c45 add command to inject static devhost into pipelines.
  • 5911602 add flag to allow parallel execution of tests (#370)
  • 9192749 add flag to emit binary loc to a file.
  • be7c3a8 add names to executors for error attribution
  • f45d8fd allow multi-document yaml
  • a5332a3 artifacts/oci: only try to use gcp credentials for artifact writing on writes.
  • a3ef36a artifacts/oci: use default keychain when fetching images.
  • 8b12305 buf: embed the base image calculation.
  • c71f191 build/binary: added ability to build a layer out of files in the repo.
  • 6e22132 build/buildkit: add ability to pass secrets to buildkit via --buildkit_secrets.
  • dea96c6 build/buildkit: add buildkit plan deserialization to --explain.
  • 2a75aa7 build/buildkit: add more logging context from tools running within buildkit.
  • abb8bbc build/buildkit: add scope to buildkit actions so we know what we're building.
  • 662120e build/buildkit: clarify when canonicalization is running.
  • d4f651d build/buildkit: don't set targetName as a cache input, it prevents caching.
  • ef96c79 build/buildkit: introduce a simpler Canonical() which doesn't reset layer build time.
  • 17a533d build/buildkit: skip empty secret definitions.
  • e7ffaf3 build/buildkit: wire --buildkit_secrets flag.
  • 31ad367 buildkit: if progressui fails, wrap its error.
  • dc2111a cleaned up executor-based errors a bit.
  • 6627efb cli/cmd/source: add "yarn" subcommand to node.
  • 30aeffd cli/cmd: added fnservices robot-login.
  • fbc0777 cli/cmd: added hidden "fnservices" which allow us to invoke Map and Issue.
  • a5a159e cli/cmd: removed "source buf".
  • bd1bdeb cli/fncobra: added CmdWithEnv and CmdWithServer command helpers.
  • 8f822d4 cli/fncobra: have pprof listen on a dynamic port.
  • 1e86c84 cli/fncobra: was missing default env.
  • 490d527 cli: properly pass whether colors are used to error reporting.
  • 7f0f294 cmd/attach: rather than blocking forever, wait for cancelation (as Ctrl-C emits a cancelation).
  • 8261fae cmd/attach: refactor hydration args for re-use.
  • c1ff917 cmd/buildbinary: when building a single image, only output the image url.
  • 61e886d cmd/debug-shell: set terminal in raw mode so input works as expected.
  • 1455f07 cmd/debug: changed printsealed to print computed deploy stack.
  • b83bd43 cmd/debugshell: add ability to start a debug shell from a foundation-based binary image.
  • 5eaf40d cmd/debugshell: use RunAttached instead of DebugShell().
  • 983784e cmd/deploy: add Environment to serialized plan, and don't require --env on deploy-plan.
  • 64f35bb cmd/deploy: added "deploy-plan" which deploys a previously serialized plan.
  • b0cb7bc cmd/deploy: added "fn attach" hint.
  • d57e60e cmd/deploy: added --serialize_to which outputs the plan that would be deployed.
  • c7dcc8c cmd/dev: automatically allocate sequential ports on multiple fn dev runs.
  • c763b9c cmd/dev: cleaned up cli ui header.
  • 5311341 cmd/dev: moved keyboard handling to devworkflow/keyboard.
  • a6979c5 cmd/dev: web ui was not listening on the listener that was created, and thus defaulted to port 80.
  • 089a35c cmd/eks: added hidden command with eks-related operations. Exposed "compute-irsa".
  • f014472 cmd/fn -> cmd/ns (#654)
  • 6f54d0a cmd/fn: add prebuilt version of fn.
  • 8e1e805 cmd/fn: added binary definition.
  • 81ce51f cmd/fncighauth: add prebuilt.
  • 7274cfe cmd/fncighauth: added command which generates access tokens for a gh app.
  • f06d24c cmd/fndev: moved fnservices to fndev.
  • 20f8291 cmd/fninfo: added binary definition, and prebuilt.
  • 445e560 cmd/fninfo: added tool which parses a workspace and outputs structured ci/cd information.
  • 0b7316c cmd/fnpipelines: merged all individual commands into fnpipelines.
  • 87380ef cmd/images: added "images unpack".
  • 5641e89 cmd/images: added --extract to images unpack.
  • 94503d7 cmd/images: download image for linux-like host platform.
  • f136189 cmd/login: added robot login variant.
  • 2939511 cmd/logs: fixed handling a case where the channel is closed.
  • ef2ce06 cmd/sdk: make zsh work (different prompt, and args).
  • b5d08b8 cmd/source/create: refactor to include a bit more information about framework types.
  • 6c2911c cmd/test: added --parallel_work which builds all tests, but executes them in sequence.
  • ee9600f cmd/tidy: re-load the workspace after updating it.
  • b564598 cmd/tidy: when resolving modules, don't re-resolved modules which are already pinned.
  • dfa32f1 code cleaning - simple basic renames (#305)
  • df357cc console/consolesink: add Scope style (rather than hardcode its use).
  • 7e44b43 console/tui: trim AskSecret's resulting value.
  • 742d4ee console: prefix warnings with "warning" and errors with "error".
  • 7263d86 console: remember recent log sources (#425)
  • 26328a3 consolidate service protos in single dir. fix codegen to support proto service deps (#473)
  • e6e6bea create echo service by default with sample impl
  • 099e0ee dependency: @grpc/grpc-js: bump to 1.5.8.
  • fb3280f devhost: added selector abstraction which allows matching by different selector types.
  • 450a732 devworkflow/web: moved to yarn3.
  • f567b4d devworkflow: cleaning up the use of stickies.
  • c5e3e80 devworkflow: fix regression in new clients not seeing first state.
  • a1c49d7 devworkflow: fixed a data race when closing the main observer channel.
  • 11560a1 devworkflow: fixed a situation where port forwarding would be stopped on a change to the graph.
  • f827606 devworkflow: more robust observer handling.
  • 7066e4c devworkflow: re-organized observer distributor to prevent sends on closed channels.
  • 5ae28ba devworkflow: refactor port forwarding to accept stack and focus.
  • 0431b96 devworkflow: remove zerolog instance (unused).
  • 650c2bd devworkflow: removed intermediate stack observer, clarifying sessions state management.
  • 58a5fc3 devworkflow: retain port forwarding state over multiple setWorkspace instances.
  • ac3f35c do not upgrade existing fn deps.
  • 2ec3b01 engine/ops/defs: made defs.Make generic.
  • 05eafd7 expose buildkit version in fninfo
  • 0f37593 fix a codegenerror bug from PR#510
  • c2f151f fix default tag computation (pass actual digest)
  • 8734d1d fix error comparisons to support wrapped errors
  • 9d2f8b7 fix fn tidy. Right now it removes foundation deps if no node depends on it.
  • 4bc8980 fix scope printing
  • 13316bf fix tool timeouts
  • e1dff87 fix typo with observedGeneration
  • 2a00421 fn generate - add to e2e tests (#358)
  • e696f50 fn generate: topological sort (#342)
  • ab9c897 fnerrors.WithLogs: Additionally print task's logs on error (#383)
  • 628bfca fninfo: print dependency version only (#584)
  • 12f6770 fork tailscale/util/multierr, so we keep a Go 1.17-compatible version.
  • 3c09cc2 frontend/cuefrontend: add ability to specify environments in Cue-based workspace.
  • 964c062 frontend/cuefrontend: added ability to specify sidecards as a map (name -> container).
  • 4c614f5 frontend/cuefrontend: also validate module api requirements when loading fn-workspace.cue.
  • d55739b frontend/invocation: changed injection points to be typed, to support arguments in the future.
  • 1b8569e frontend/invocation: changed injection points to be typed, to support arguments in the future.
  • ec618e1 full log visibility into envoy snapshot updates
  • 35dddcd gateway controller: disable default debug logging
  • b3580f3 generate build id in k8stools
  • 638c896 gh tests: use matrix (#476)
  • 91bbcac github/workflows: removed self-hosted mac (breaks too often).
  • a4a4bb7 go.mod: bump github.com/aws/aws-sdk-go-v2/config from 1.15.2 to 1.15.5 (#408)
  • c554e34 go.mod: bump github.com/aws/aws-sdk-go-v2/credentials (#403)
  • f2a88fd go.mod: bump github.com/aws/aws-sdk-go-v2/service/ecr (#407)
  • e1e0be5 go.mod: bump github.com/aws/aws-sdk-go-v2/service/s3 (#461)
  • 5c25be3 go.mod: bump github.com/docker/cli (#406)
  • 8f50f7a go.mod: bump github.com/jackc/pgconn from 1.11.0 to 1.12.1 (#465)
  • 9b1263a go.mod: bump github.com/maruel/panicparse/v2 from 2.2.1 to 2.2.2 (#399)
  • 2f9dd5e go.mod: bump github.com/moby/buildkit from 0.10.2 to 0.10.3 (#402)
  • 209792b go.mod: bump go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws (#419)
  • afb0112 go.mod: bump go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc (#415)
  • 62bfb43 go.mod: bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc (#405)
  • 34f85bc go.mod: bump tailscale.com from 1.22.2 to 1.24.2 (#400)
  • 8efba2a implement ability to set namespace for prov tools from devhost (#545)
  • 153eb26 internak/sdk/yarn: use unpack.Unpack.
  • 8b78965 internal/artifacts/oci: add digest to result of oci.resolve-image.
  • 7624c7b internal/artifacts/oci: fix regression in image write auth.
  • f62bfcb internal/artifacts/unpack: add unpack to local filesystem, w/ checksum checking.
  • e0aff71 internal/artifacts/unpack: ensure that single-file fs implements VisitFiles.
  • 6e8bbc9 internal/artifacts/unpack: remove unused WriteLocal (use Unpack instead).
  • c882340 internal/artifacts/unpack: use a typed Unpacked, instead of a string.
  • cc0baba internal/cli/cmd/lsp: switch from zerolog to our logger.
  • a8f8858 internal/cli/cmd: "use psql" now mounts secret as env, rather than reading it.
  • 73abfc1 internal/cli/cmd: added "deployment remove", which removes an environment's deployment resources.
  • 8998e55 internal/cli/cmd: added "deployment remove-all".
  • 12dbc6b internal/cli/cmd: added "use psql" command.
  • a8edfe0 internal/cli/cmd: added experimental "fn tools octant". (#503)
  • e15aee4 internal/cli/cmd: allow passing packages names in deploy, build and attach (w/ --use_package_names).
  • 8d7ef56 internal/cli/cmd: change secrets set to use tui.Ask().
  • 525059e internal/cli/cmd: register all common commands in RegisterCommands.
  • 1d80f56 internal/cli/cmd: removed "shutdown", it was confusing with hard to understand semantics.
  • bc27033 internal/cli/cmd: update use psql to show users a list when there are multiple databases.
  • cfdddad internal/cli/cmd: updated login to tui.Ask.
  • ba648a2 internal/cli/cmd: use tui.Ask in keys import.
  • 6511aea internal/cli/cmd: use tui.Select() to select which bundle to upload. (#506)
  • 7cc8ba9 internal/cli/fncobra: bump ulimit -n (number of files) to 4096 by default.
  • 94a798f internal/cli/fncobra: handle SetupThrottler errors, if any.
  • 8e7935e internal/cli: consolidate pprof registration.
  • ae98255 internal/console/consolesink: don't do line-matching if running non-interactively.
  • f38f024 internal/console/consolesink: don't hide/show the cursor in non-interactive mode.
  • 8ee6a4f internal/console/consolesink: simplified non-interactive path a bit.
  • e83def0 internal/console/consolesink: use a non-interactive version of the console sink in CI.
  • a093045 internal/console/termios: keep OTERM when setting raw mode, so \n handling is not modified.
  • 5c13772 internal/console/termios: propagate errors from restore (and ignore them for now).
  • 9b92319 internal/console/tui: introduced tui.Ask() and use it deployment remove.
  • ff6423b internal/console/tui: resize Ask()'s input based on window size.
  • 813004a internal/filewatcher: update go-filenotify, which fixes polling events not included absolute paths.
  • aa9a332 internal/fnerrors: exitError does not need a separate Err.
  • 460cf66 internal/fnerrors: remove special handling of cycle errors, as we should have fixed the problem.
  • 331e0fa internal/fnfs: changed VisitFiles to operate on ByteStream instead.
  • 2f01310 internal/frontend/cuefrontend: serialize all FillPath calls.
  • cd68ef2 internal/frontend: remove ability of specifying mounts in invocations.
  • 2ea227b internal/localexec: added RunInteractive method.
  • 8f09de6 internal/protos: added generic version of proto.Clone.
  • 585827d internal/sdk/buf: ensure that filedescproto merging does not clobber inputs.
  • 964013d internal/sdk/buf: grab an explicit reference to buf's output.
  • 9cbee18 internal/sdk/buf: run buf in buildkit.
  • 6caf42d internal/sdk/buf: use buildkit to invoke buf (as it more naturally operates on files in, and out).
  • 866893e internal/sdk/golang: memoize the sdk at the graph scope.
  • 0cd1bdf internal/sdk/golang: move to use unpack as well.
  • 65abdb9 internal/sdk/k3d: use unpack.Unpack.
  • 9bdcca6 internal/testing: added ability to run tests inside a vcluster (with --vcluster).
  • 515abb4 internal/testing: also handle ErrContainerFailed (in addition to ErrContainerExitStatus).
  • f20f50a internal/testing: output test logs of failed tests on --parallel.
  • dca2d46 internal/testing: retain timestamps in collected logs.
  • 7249a18 internal/testing: store the original stack, env, etc in the test results.
  • 0a74d67 internal/wscontents: changed snapshotContents to clarify that we only skip dirs.
  • 580b50d internal/wscontents: move fs event handling to console.Debug.
  • 1840970 kube-state-metrics: added.
  • 00efca9 languages/golang/buildkit: added ability to mount ~/.git-credentials in buildkit.
  • 97bbd7d languages/golang: do not generate go-grpc gateway sources.
  • 9a83f16 languages/golang: pinned 1.18 go build image.
  • 7ad9b00 languages/golang: support service definitions whose protos live outside the service's go package.
  • c907246 languages: added ability for language implementations to observe computed ingresses.
  • 300a988 make invocation errors distinguishable
  • cc1f1e4 mark more servers as testonly
  • 968945e minio pinning (#508)
  • 130dcfb minio under universe/storage/s3 (#495)
  • 1d189a9 moved a few zerolog calls to use console.Errors().
  • cc7020a networking/gateway: added readiness check to the gateway.
  • e2490f6 networking/gateway: annotate server for prometheus scraping.
  • 5261b32 nil support for BuildID.String()
  • d613732 no longer use karrick/godirwalk.
  • 0b0d20b nochangelock: remove memory leak from controller
  • 98ba51d postgres: Fix the description for kubedef.Delete
  • c42ab69 providers/aws/eks: allow configuring kubernetes with simply 'provider: "aws/eks"' and cluster name.
  • f38fabf providers/aws/eks: handle the case that we're not in an eks cluster.
  • 025a561 providers/aws/eks: use aws go client v2 to generate eks bearer tokens.
  • 0d3d999 providers/aws/registry: memoize ecr-get-auth-token.
  • 429b8fb providers/aws: separate the use-cases where AWS is required vs not.
  • 4b75800 providers/gcp/registry: made access token retrieval be do-scoped.
  • d99fae1 provision/config: Rehydrate now passes image auth, if any is available.
  • fa11c8e provision/configure: isolate API to only be usable in provisioning tools.
  • 1a74c72 provision/configure: make handling Compilables explicit.
  • ba0dbd2 provision/configure: move kill-switch to RunServer, which is used by all tools.
  • d0f6dc5 provision/configure: remove transitive dependencies on workspace/.
  • 3a322ef provision/deploy: added ability for tools to emit IngressFragmentPlans.
  • 0569bb8 provision/deploy: also build a config image for dev, so fn attach works in development.
  • 2120f7f provision/deploy: deploy config images to non-ephemeral environments.
  • 9b6679c provision/deploy: ensure that CRD definitions are applied before other invocations.
  • c48958d provision/deploy: fix a bug that was resetting the server dependency order.
  • 9e9108c provision/deploy: remove duplicate serialized invocation re-ordering.
  • 47ba9b1 provision/deploy: topologically sort the serialized invocations emitted by handlers. (#607)
  • 28c8fff provision/tool: add ability for provision tools to explicitly request injection of values.
  • bd3d4dd provision/tool: added ability to compile arguments to SerializedInvocations.
  • 5618285 provision/tool: added enable debug capabilities (--invocation_debug).
  • 642ca55 provision: add staging as a preconfigured environment that is prod-like.
  • 5f8d239 provision: allow servers to declare sidecars and init containers.
  • 186723e provision: allow servers to specify configure.with.
  • 16f8fab provision: introduce "ComputedConfig", and store them in the config image.
  • 408e69d rancher/k3s version bump (#519)
  • 4a69c85 reduced dependency on zerolog.
  • 06ec0d8 remove all references to zerolog.
  • d48e1fb remove deadcode.
  • 73403be remove more dead code
  • 1602549 remove some dead code (e.g. inputs.#Service).
  • 77fe97d removed more old-gateway code.
  • e3f83b8 resource mapping for stateful sets
  • a6a5123 rip out build ID, we should always infer the image tag from the digest (#653)
  • 06583f0 runtime/docker: carefully manage the lifecycle of the input and output goroutines.
  • a764db4 runtime/docker: explicitly return nil when we observe a zero exit code.
  • 4d42ee3 runtime/docker: guard against successful runs where i/o may fail post exit code 0.
  • e89855c runtime/docker: ignore conflicts when requesting that containers are removed.
  • c6df445 runtime/docker: invoke containers using the docker API, rather than the CLI. (#522)
  • 2e2400c runtime/docker: remove the need for the docker client (#524)
  • 075e83c runtime/endpointfwd: emit warnings when a port forward fails.
  • 0d8b2a0 runtime/ingress: fixed a bug where ingress rules were not being generated for all configured domains.
  • 8dea546 runtime/kubernetes/client: use GroupVersion instead.
  • edf05c9 runtime/kubernetes/helm: added helm client.
  • c6d7467 runtime/kubernetes/kubeops: added ability for Create to Update instead.
  • b29dfda runtime/kubernetes/kubeops: added ability to output kube api urls we call.
  • 8fefe16 runtime/kubernetes/kubeops: allow specifying a complete ResourceClass.
  • 8cf64c4 runtime/kubernetes/kubeops: call update if create fails, rather than getting beforehand.
  • 923081d runtime/kubernetes/kubeops: check if object exists before attempting to update it.
  • 33ccd36 runtime/kubernetes/kubeops: consistently set FieldManager.
  • 25c010e runtime/kubernetes/kubeops: create is a POST issued on the resource path.
  • 8599045 runtime/kubernetes/kubeops: handle core vs other type of GroupVersion.
  • 69ca3c4 runtime/kubernetes/kubeops: use metav1 parameter codec, to support CRD apply/create/etc.
  • a6d1210 runtime/kubernetes/kubeparser: added Single([]byte).
  • 954159b runtime/kubernetes/vcluster: add support to create vclusters.
  • 71a28f0 runtime/kubernetes: actually, don't need ability to fetch secrets.
  • 9cbbc54 runtime/kubernetes: add ability to parse CRDs, and apply CRDs.
  • 6d8dd75 runtime/kubernetes: added --kubernetes_use_node_platforms_in_production_builds.
  • 6b8a9c9 runtime/kubernetes: added a RBAC blueprint (and use it in std/networking/gateway).
  • 71bcb68 runtime/kubernetes: added ability to fetch eks bearer tokens without aws-iam-authenticator. (#550)
  • 2115cb4 runtime/kubernetes: allow configuration to set probes.
  • a1400be runtime/kubernetes: allow extensions to specify a podspec securitycontext.
  • ff55500 runtime/kubernetes: attempt to delete all namespaces, even if an error occurs with one.
  • 7d18dd8 runtime/kubernetes: cancelation path was missing error forwarding.
  • b8992ca runtime/kubernetes: disable service links (i.e. service name/adresses injected via environment).
  • c4a5f4e runtime/kubernetes: fetch systeminfo only when required, and not before.
  • 524db86 runtime/kubernetes: fix "send after close" in terminal size event propagation.
  • 36fca43 runtime/kubernetes: fixed a bug in pod deployment when the event channel was nil.
  • c063369 runtime/kubernetes: fixed data race in portforward (don't re-use transport).
  • 692b584 runtime/kubernetes: fixed the condition that checks if the namespace didn't exist.
  • c0a2f0c runtime/kubernetes: if authenticating against AWS, check first we have creds.
  • 09712bc runtime/kubernetes: implemented all create.UpdateIfExisting semantics.
  • f338505 runtime/kubernetes: moved all definitions to kubeops.
  • 2db0786 runtime/kubernetes: remove old -managed ingress resources that are no longer managed.
  • 284f995 runtime/kubernetes: remove old -managed ingress resources that are no longer managed.
  • dc19f90 runtime/kubernetes: remove runtime cache, and add client cache instead.
  • a89e675 runtime/kubernetes: removed kubeops dependency on runtime/kubernetes.
  • 1e859f4 runtime/kubernetes: removed the need to specify name/namespace in kubedef.Apply. (#586)
  • 630ec45 runtime/kubernetes: split namespace-bound calls from namespace-free.
  • 97a9ae0 runtime/kubernetes: split runtime into more specific files.
  • f384c63 runtime/kubernetes: use sidecar name (if available), as the actual container name.
  • 924c8b0 runtime/kubernetes: wait for a CRD to be fully installed before attempting to apply resources of its type.
  • a1fd792 runtime/kubernetes: when observing pods, always pick the most recent one.
  • 5842f28 runtime/rtypes: remove ability from provisioning specifying new mounts.
  • 554f2a6 runtime/tools: AllocateTTY is actually supported in the k8s integration as well.
  • 7ec9dbf runtime/tools: added experimental support to run tools on kubernetes.
  • cc52da9 runtime/tools: added tools-specific kubernetes configuration.
  • 0115422 runtime/tools: consolidate env type with runtime's.
  • 176ba42 runtime/tools: remove UseHostNetworking, it's unused, and Docker specific.
  • 3621c2e runtime/tools: remove dependency on localexec.
  • f9228a4 runtime: added --golang_use_internal_grpc_gateway, which adds the ability to disable the builtin gateway (#551)
  • c450d22 runtime: added AttachTerminal and RunAttached methods to Runtime interface.
  • 63fbed1 runtime: change ingress path to operate exclusively on serializable fragments.
  • d5a1618 runtime: consolidate all ingress OpMapAddress calls.
  • 6f039b0 runtime: fix a bug in ingress computation.
  • 548b3bc runtime: fix nil access of ServerNaming (and correctly pass Org on USER_SPECIFIED_TLS_MANAGED).
  • d5ed3d8 runtime: fixed regression in org-based dns name authentication.
  • 2813226 runtime: include a GrpcHttpTranscoding ServiceMetadata with the required FileDescriptorSet.
  • deec91b runtime: remove "FillEndpoints" -- no longer necessary.
  • 069d159 runtime: remove Go-specific gRPC gateway support.
  • 46cf1ee runtime: remove StreamLogsTo; FetchLogsTo now serves all purposes.
  • 00c0b50 runtime: support per-grpc method dispatching.
  • 4a99ba0 schema/binary: clarified build plans, and made llb-based builds nested.
  • f5a966b schema: Definition/DefinitionList --> Serialized{Invocation,Program}.
  • 9f83253 schema: added a few helper methods to handle ServiceMetadata.
  • 24c0fd5 schema: moved generic versions of schema helpers to schemahelper.
  • 30fcbe9 schema: moved testbundle to schema (as its part of the public api).
  • 4d75456 schema: servers marked with "testonly" are not deployed or built on commands without a target.
  • 2c1cb78 sdk/buf/protogen: run multiple codegen within a single invocation.
  • 5b7083f sdk/buf: inline image builds (preparing to use buildkit for execution).
  • dd77c14 set global git config for buildkit
  • fef4f08 skip runasuser for invoke tools
  • 3aa31a0 std/go/core: format init duration thresholds as durations, rather than numbers.
  • 5b7f33d std/go/grpc/metrics: add client-side metrics.
  • 0842c35 std/grpc/httptranscoding/test: disable TS side while it's broken.
  • d37740b std/grpc/httptranscoding/test: re-enable typescript side.
  • ab6032f std/grpc/httptranscoding: added go and nodejs grpc/http transcoding test.
  • 46a0ab5 std/grpc/httptranscoding: compute domain names, rather than defer them to fn.
  • a836a89 std/grpc/httptranscoding: compute domain names, rather than defer them to fn.
  • 28c93e8 std/grpc/httptranscoding: configure GrpcHttpTranscoder instances for annotated endpoints.
  • fa779cd std/grpc/httptranscoding: emit ingress fragments for transcoded services.
  • def0e44 std/grpc/httptranscoding: instruct the runtime to wait until the CRD is applied.
  • 6190f73 std/grpc/httptranscoding: introduce package which represents the http/grpc transcoding.
  • a57f5df std/grpc/httptranscoding: lookup grpc-http-transcoder service, to next setup the ingress.
  • 4e866b0 std/monitoring/tracing: emit schema-compatible resources.
  • 434a9a2 std/networking/gateway/server: add the controller sidecar (now that tests support multi-container pods).
  • 7c6e38b std/networking/gateway/server: expose Envoy's admin port.
  • 9d6f9cb std/networking/gateway/server: fixed a bug in template parsing from embedded data.
  • 27d2d15 std/networking/gateway/server: pass the correct CRD name when creating/updating.
  • 9e0d706 std/networking/gateway/server: pin envoy digest.
  • 02f82d2 std/networking/gateway/server: skip adding the CRD if it already exists.
  • c9f84b8 std/networking/gateway/server: use OpCreate for the CRD.
  • 12f0262 std/networking/gateway: CRDs are installed globally.
  • 0c7da0c std/networking/gateway: add "spec" block to HttpGrpcTranscoder CRD, to more closely follow other CRDs.
  • 88e61f7 std/networking/gateway: can now make use of create.UpdateIfExisting.
  • a5872ef std/networking/gateway: dynamically configure envoy (placeholder).
  • f7748ab std/networking/gateway: enable auto mapping of grpc services to http paths.
  • 913dd5e std/networking/gateway: export envoy http port as a service.
  • 6df4ef1 std/secrets/kubernetes: also change to bytestream-version VisitFiles.
  • 78fd53a std/secrets: added ability to mount a secret as an environment variable.
  • 3e049ae std/secrets: correctly handle optional secrets (#500)
  • 07601f1 std/secrets: include generated kubernetes secret name in map.textpb.
  • 313f44a std/types: introduce DeferredResource, and use it in std/secrets.
  • 3afacef std/web/http: added prepare hook which provides dynamically computed stack.
  • befc92a testing: added ability for tests to collect logs from all containers in a pod (i.e. sidecars and inits as well).
  • e9b8aa0 tests/prometheus/canscrape: get scraping url from InternalEndpoint.
  • 2530eb7 the non-console logger now uses the same "log action" rendering as the console sink.
  • 7e342b5 transcoder: better streaming print options
  • 8dd4579 turn on --parallel on fn test.
  • 7e9c896 universe/aws/client: support creating clients when there's no opentelemetry provider.
  • cedf8cf universe/aws/ecr: added.
  • 9405f07 universe/aws/ecr: attach irsa by default.
  • 55894ee universe/aws/ecr: specify resource=* in the iam policy.
  • 53b27b6 universe/aws/irsa: removed "details" bits, no longer used.
  • b165497 universe/aws/s3: if bucket already exists, dont error out EnsureBucketExists.
  • 3cdd46e universe/db/postgres: emit computed configurations for incluster database instances.
  • 7afe790 universe/db/postgres: include generated secret name in computed config.
  • d8f1bde universe/monitoring/honeycomb: temporarily make secrets optional.
  • 7a478b3 universe/storage/minio: disabled minio checking for updates.
  • eb651c7 universe/storage/s3: emit S3 policy to grant access to used buckets.
  • eefdb72 universe/storage/s3: verify that we have credentials before creating the s3 client.
  • c703d97 update grpc client to 1.46.0.
  • 1ac56ef update jaeger exporter to 1.7.0.
  • 22a4e7a update kubernetes client to 0.24.0.
  • eccf4dc update opentelemetry to 1.7.0.
  • 004bd04 update prebuilts with hosted amd64 build
  • 7b09d5a use consistent cli directory structure
  • 2e4d448 use sha as default tag during image pushing
  • 7351233 vcluster: wait for coredns to be available before deploying.
  • f35ec11 work in progress
  • 2997bf0 workspace/compute/bytestream --> internal/bytestream.
  • 1519a78 workspace/compute: GetDepValue --> MustGetDepValue for clarity.
  • 9e84cec workspace/compute: accept a computedigest(type) in precomputed.
  • 1b6a9dc workspace/compute: reduced default log level of cache loads.
  • 5856dfd workspace/dirs: added "files to exclude" in addition to dirs to exclude.
  • ed843aa workspace/tasks: action throttling is now done at the action level, instead of compute level.
  • a4addfa workspace/tasks: by default, only log done events in the json logger.
  • a8f7254 workspace/tasks: fix a bug where the throttler didn't apply to tasks.Return.
  • 2769013 workspace/tasks: remove well known map from Wait signature, no longer necessary.
  • 923a363 workspace: add actions for "loading a server" and "evaluating provisioning of a server".
  • 16bda07 workspace: add workspace definition to module sources.
  • bea8452 workspace: allow node import hooks, and use them to automatically depending on grpc/httptranscoding.
  • a1e32b5 workspace: check that all dependencies rely on a minimum api version we still support.
  • 6ee2e8d workspace: cleaning up some the list-related code.
  • 445e8b5 workspace: cue-based workspace file definition.
  • 3db2dfd workspace: ensure that the buf base image is always available for codegen.
  • b573052 workspace: invoke extend node during node parsing, so it's consistently applied.
  • cea6bc4 workspace: keep track of where we loaded the workspace definition from.
  • 0d9824e workspace: only load foundation/std/grpc/httptranscoding if the foundation version we depend on has it.