Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add kind-loadbalancer #929

Merged

Conversation

SchahinRohani
Copy link
Contributor

@SchahinRohani SchahinRohani commented May 24, 2024

Description

Provide an envoy loadbalancer container to access the local kind cluster. The loadbalancer adds the ability to reach the local kind cluster trough localhost, so that it is possible to work with a mac on the nativelink cluster.

Docker on Mac uses a aarch64 linux vm unter the hood, so the builds in the cluster can now be tested on that architecture.

Users can now query the loadbalancer instead of the gateway.

The loadbalancer has the following endpoints:

localhost:8080 -> hubble-ui
localhost:8081 -> tekton-dashboard
localhost:8082/eventlistener -> nativelink-eventlistener

Type of change

Please delete options that aren't relevant.

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to
    not work as expected)
  • This change requires a documentation update

How Has This Been Tested?

Please also list any relevant details for your test configuration

aarch64-darwin

Checklist

  • Updated documentation if needed
  • Tests added/amended
  • bazel test //... passes locally
  • PR is contained in a single commit, using git amend see some docs

This change is Reviewable

@CLAassistant
Copy link

CLAassistant commented May 24, 2024

CLA assistant check
All committers have signed the CLA.

@SchahinRohani
Copy link
Contributor Author

@aaronmondal Can you check this on linux?

Copy link
Member

@aaronmondal aaronmondal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewable status: 0 of 1 LGTMs obtained, and pending CI: Remote / large-ubuntu-22.04, and 1 discussions need to be resolved


native-cli/components/loadbalancer.go line 240 at r1 (raw file):

				&docker.ContainerMountArgs{
					Source: pulumi.String(absolutePath),
					Target: pulumi.String("/etc/envoy/envoy.yaml"),

I'm getting this:

[2024-05-24 02:39:47.817][1][critical][main] [source/server/server.cc:112] error initializing configuration '/etc/envoy/envoy.yaml': unable to read file: /etc/envoy/envoy.yaml
[2024-05-24 02:39:47.817][1][info][main] [source/server/server.cc:855] exiting unable to read file: /etc/envoy/envoy.yaml

It looks like the envoy.yaml doesn't make it into the kind-loadbalancer container.

@SchahinRohani SchahinRohani force-pushed the feature/kind-loadbalancer branch 4 times, most recently from 65bc2fa to f64b218 Compare May 25, 2024 02:15
@SchahinRohani
Copy link
Contributor Author

native-cli/components/loadbalancer.go line 240 at r1 (raw file):

Previously, aaronmondal (Aaron Siddhartha Mondal) wrote…

I'm getting this:

[2024-05-24 02:39:47.817][1][critical][main] [source/server/server.cc:112] error initializing configuration '/etc/envoy/envoy.yaml': unable to read file: /etc/envoy/envoy.yaml
[2024-05-24 02:39:47.817][1][info][main] [source/server/server.cc:855] exiting unable to read file: /etc/envoy/envoy.yaml

It looks like the envoy.yaml doesn't make it into the kind-loadbalancer container.

Fixed. The file permissions of the created envoy config werent allowing to read the file in the container.

Copy link
Member

@aaronmondal aaronmondal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed 10 of 14 files at r1, 9 of 9 files at r2, all commit messages.
Reviewable status: 0 of 1 LGTMs obtained, and 22 discussions need to be resolved


native-cli/clusters/config.yaml line 5 at r2 (raw file):

apiVersion: kind.x-k8s.io/v1alpha4
networking:
  # the default CNI will not be installed

nit

Suggestion:

# Don't install the default CNI.

native-cli/clusters/localcluster.go line 87 at r2 (raw file):

	Nodes                   []Node     `yaml:"nodes"`
	ContainerdConfigPatches []string   `yaml:"containerdConfigPatches"`
}

Can we make this work in the same way that the envoy templating works? I.e. have the kind config.yaml a kind-config.template.yaml and use a simila approach as for envoy.template.yaml.


native-cli/clusters/localcluster.go line 101 at r2 (raw file):

	var config ClusterConfig

	config.get()

Does config := ClusterConfig.get() work?

Code quote:

	var config ClusterConfig

	config.get()

native-cli/clusters/localcluster.go line 103 at r2 (raw file):

	config.get()

	gitRoot := gitSrcRoot()

You can inline this.


native-cli/clusters/localcluster.go line 114 at r2 (raw file):

				},
			)
			if runtime.GOOS == "linux" {

Let's add a "TODO(username): Implement nix caching for MacOS." to make it clear that this doesn't work yet.


native-cli/components/loadbalancer.go line 89 at r2 (raw file):

		waitGroup.Add(1)
		// Assign the function to a variable and then invoke it in the go statement
		checkAndAddGateway := func(name string) {

nit: You can remove this variable and instead do:

go func(name string) {
...
}(name)

Code quote:

checkAndAddGateway :=

native-cli/components/loadbalancer.go line 121 at r2 (raw file):

}

func addGatewayIfNeeded(

Missing docstring.


native-cli/components/loadbalancer.go line 166 at r2 (raw file):

	return true
}

Since this is only used once, inline the function.

Code quote:

func allGatewaysFound(requiredGateways map[string]bool) bool {
	for _, found := range requiredGateways {
		if !found {
			return false
		}
	}

	return true
}

native-cli/components/loadbalancer.go line 168 at r2 (raw file):

}

func getHomeDir() (string, error) {

This function is unnecessary because the way to call it would look like this:

home, err := getHomeDir()
if err != nil {
  return "", fmt.Errorf("xxxxxx"),
}

That's equivalent to how this function looks like, so we might as well just write this code out directly.


native-cli/components/loadbalancer.go line 177 at r2 (raw file):

}

func buildKubeConfig(kubeconfig *string) (*rest.Config, error) {

Same as above.


native-cli/components/loadbalancer.go line 186 at r2 (raw file):

}

func createGatewayClientset(

Same as above.


native-cli/components/loadbalancer.go line 313 at r2 (raw file):

	}

	requiredGateways := map[string]bool{

You can inline this variable.


native-cli/components/loadbalancer.go line 315 at r2 (raw file):

	requiredGateways := map[string]bool{
		"scheduler-gateway": false,
		"cache-gateway":     false,

At the moment the loadbalancer doesn't yet require (or expose) the scheduler and cache gateways. Let's comment these two out and put a TODO that we want them enabled.

Code quote:

		"scheduler-gateway": false,
		"cache-gateway":     false,

native-cli/components/loadbalancer.go line 337 at r2 (raw file):

	}

	ports := prepareDockerContainerPorts(component.Ports)

Inline this variable and call the function dockerContainerPorts.


native-cli/components/nativelink-routes.go line 22 at r2 (raw file):

var nativeLinkRoutesYaml string

// Install sets up the Gateways for the NativeLink deployment.

The comments in this file need to be updated.


native-cli/components/embedded/envoy_template.yaml line 16 at r2 (raw file):

                stat_prefix: ingress_http
                upgrade_configs:
                  - upgrade_type: websocket

I don't think we're making use of websockets at the moment.


native-cli/components/embedded/envoy_template.yaml line 26 at r2 (raw file):

                        - match: { prefix: "/eventlistener" }
                          route: { cluster: el-gateway }
                        # TODO(SchahinRohani) working grpc proxy

nit

Suggestion:

Make gRPC proxying work.

native-cli/components/embedded/envoy_template.yaml line 31 at r2 (raw file):

                        # - match: { prefix: "/scheduler" }
                        #   route: { cluster: scheduler-gateway }
                        {{- else if eq $port.InternalPort 80 }}

Can we move these ports to go so that we have them all in the same place?

I'm thinking something like ... if eq $port.InternalPort HubblePort and then set HubblePort in Go. Same for the others.


native-cli/components/embedded/envoy_template.yaml line 41 at r2 (raw file):

                  # - name: envoy.filters.http.grpc_http1_bridge
                  #   typed_config:
                  #     "@type": type.googleapis.com/envoy.extensions.filters.http.grpc_http1_bridge.v3.Config

Let's remove this since we already have the todo above.


native-cli/components/embedded/nativelink-gateways.yaml line 16 at r2 (raw file):

      allowedRoutes:
        namespaces:
          from: All

This allows routes from all namespaces to attach to the gateways. Can we make this an exact matching? There might be some issues with cilium, but ideally we'd only allow namespaces whose routes we actually expect.


native-cli/components/embedded/nativelink-routes.yaml line 2 at r2 (raw file):

# TODO(aaronmondal): There should just be a single gateway. But that's currently
#                    bugged: https://github.com/cilium/cilium/issues/29099

Misplaced coment


native-cli/components/embedded/nativelink-routes.yaml line 3 at r2 (raw file):

# TODO(aaronmondal): There should just be a single gateway. But that's currently
#                    bugged: https://github.com/cilium/cilium/issues/29099
# ---

The --- mark the beginning of the yaml file and shouldn't be commented out.

Suggestion:

---

@SchahinRohani SchahinRohani force-pushed the feature/kind-loadbalancer branch 3 times, most recently from b4b1264 to 633b496 Compare May 27, 2024 04:58
Copy link
Contributor Author

@SchahinRohani SchahinRohani left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewable status: 0 of 1 LGTMs obtained, and pending CI: Analyze (javascript-typescript), Analyze (python), Bazel Dev / ubuntu-22.04, Cargo Dev / macos-13, Cargo Dev / ubuntu-22.04, Installation / macos-13, Installation / macos-14, Local / ubuntu-22.04, Publish image, Publish nativelink-worker-lre-cc, Remote / large-ubuntu-22.04, asan / ubuntu-22.04, docker-compose-compiles-nativelink (20.04), docker-compose-compiles-nativelink (22.04), integration-tests (20.04), integration-tests (22.04), macos-13, ubuntu-20.04 / stable, ubuntu-22.04, ubuntu-22.04 / stable, windows-2022 / stable, and 19 discussions need to be resolved


native-cli/clusters/localcluster.go line 87 at r2 (raw file):

Previously, aaronmondal (Aaron Siddhartha Mondal) wrote…

Can we make this work in the same way that the envoy templating works? I.e. have the kind config.yaml a kind-config.template.yaml and use a simila approach as for envoy.template.yaml.

Done.


native-cli/clusters/localcluster.go line 101 at r2 (raw file):

Previously, aaronmondal (Aaron Siddhartha Mondal) wrote…

Does config := ClusterConfig.get() work?

Done.


native-cli/clusters/localcluster.go line 103 at r2 (raw file):

Previously, aaronmondal (Aaron Siddhartha Mondal) wrote…

You can inline this.

Done.


native-cli/clusters/localcluster.go line 114 at r2 (raw file):

Previously, aaronmondal (Aaron Siddhartha Mondal) wrote…

Let's add a "TODO(username): Implement nix caching for MacOS." to make it clear that this doesn't work yet.

Done.


native-cli/components/loadbalancer.go line 121 at r2 (raw file):

Previously, aaronmondal (Aaron Siddhartha Mondal) wrote…

Missing docstring.

Done.


native-cli/components/loadbalancer.go line 166 at r2 (raw file):

Previously, aaronmondal (Aaron Siddhartha Mondal) wrote…

Since this is only used once, inline the function.

Done.


native-cli/components/loadbalancer.go line 168 at r2 (raw file):

Previously, aaronmondal (Aaron Siddhartha Mondal) wrote…

This function is unnecessary because the way to call it would look like this:

home, err := getHomeDir()
if err != nil {
  return "", fmt.Errorf("xxxxxx"),
}

That's equivalent to how this function looks like, so we might as well just write this code out directly.

Done.


native-cli/components/loadbalancer.go line 177 at r2 (raw file):

Previously, aaronmondal (Aaron Siddhartha Mondal) wrote…

Same as above.

Done.


native-cli/components/loadbalancer.go line 186 at r2 (raw file):

Previously, aaronmondal (Aaron Siddhartha Mondal) wrote…

Same as above.

Done.


native-cli/components/loadbalancer.go line 313 at r2 (raw file):

Previously, aaronmondal (Aaron Siddhartha Mondal) wrote…

You can inline this variable.

Done.


native-cli/components/loadbalancer.go line 315 at r2 (raw file):

Previously, aaronmondal (Aaron Siddhartha Mondal) wrote…

At the moment the loadbalancer doesn't yet require (or expose) the scheduler and cache gateways. Let's comment these two out and put a TODO that we want them enabled.

Lets keep them to ensure that we have all gateway ips in place.


native-cli/components/loadbalancer.go line 337 at r2 (raw file):

Previously, aaronmondal (Aaron Siddhartha Mondal) wrote…

Inline this variable and call the function dockerContainerPorts.

Done.


native-cli/components/nativelink-routes.go line 22 at r2 (raw file):

Previously, aaronmondal (Aaron Siddhartha Mondal) wrote…

The comments in this file need to be updated.

Done.


native-cli/components/embedded/nativelink-gateways.yaml line 16 at r2 (raw file):

Previously, aaronmondal (Aaron Siddhartha Mondal) wrote…

This allows routes from all namespaces to attach to the gateways. Can we make this an exact matching? There might be some issues with cilium, but ideally we'd only allow namespaces whose routes we actually expect.

Done.


native-cli/components/embedded/nativelink-routes.yaml line 2 at r2 (raw file):

Previously, aaronmondal (Aaron Siddhartha Mondal) wrote…

Misplaced coment

Done.


native-cli/components/embedded/nativelink-routes.yaml line 3 at r2 (raw file):

Previously, aaronmondal (Aaron Siddhartha Mondal) wrote…

The --- mark the beginning of the yaml file and shouldn't be commented out.

Done.


native-cli/components/embedded/envoy_template.yaml line 16 at r2 (raw file):

Previously, aaronmondal (Aaron Siddhartha Mondal) wrote…

I don't think we're making use of websockets at the moment.

Done.


native-cli/components/embedded/envoy_template.yaml line 31 at r2 (raw file):

Previously, aaronmondal (Aaron Siddhartha Mondal) wrote…

Can we move these ports to go so that we have them all in the same place?

I'm thinking something like ... if eq $port.InternalPort HubblePort and then set HubblePort in Go. Same for the others.

Done.


native-cli/components/embedded/envoy_template.yaml line 41 at r2 (raw file):

Previously, aaronmondal (Aaron Siddhartha Mondal) wrote…

Let's remove this since we already have the todo above.

Done.

Copy link
Member

@aaronmondal aaronmondal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One minor nit to merge Route into RouteConfig, otherwise looks good! Great work!

:lgtm:

Reviewed 9 of 9 files at r3, all commit messages.
Reviewable status: 1 of 1 LGTMs obtained, and 4 discussions need to be resolved


native-cli/components/loadbalancer.go line 39 at r3 (raw file):

	Cluster       string
	PrefixRewrite string
}

nit: It looks like we can move the Cluster and PrefixRewrite fields directly into the RouteConfig.

Code quote:

type Route struct {
	Cluster       string
	PrefixRewrite string
}

native-cli/components/embedded/nativelink-gateways.yaml line 50 at r3 (raw file):

      allowedRoutes:
        namespaces:
          from: Same

nit: This can be removed since Same is the default.


native-cli/components/embedded/nativelink-gateways.yaml line 65 at r3 (raw file):

      allowedRoutes:
        namespaces:
          from: Same

nit: ditto


native-cli/programs/local.go line 133 at r3 (raw file):

					Cluster: "hubble-gateway",
				},
			},

When the Route is changed as above these become:

Suggestion:

			{
				Prefix: "/",
                Cluster: "hubble-gateway",
			},

Provide an envoy loadbalancer container to access the local kind cluster.
The loadbalancer adds the ability to reach the local kind cluster trough localhost,
so that it is possible to work with a mac on the nativelink cluster.

Docker on Mac uses a aarch64 linux vm unter the hood, so the builds in the cluster
can now be tested on that architecture.

Users can now query the loadbalancer instead of the gateway.

The loadbalancer has the following endpoints:

localhost:8080                  -> hubble-ui
localhost:8081                  -> tekton-dashboard
localhost:8082/eventlistener    -> nativelink-eventlistener
Copy link
Contributor Author

@SchahinRohani SchahinRohani left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewable status: 1 of 1 LGTMs obtained, and pending CI: Analyze (javascript-typescript), Analyze (python), Bazel Dev / ubuntu-22.04, Cargo Dev / ubuntu-22.04, Installation / macos-13, Installation / macos-14, Installation / ubuntu-22.04, Local / ubuntu-22.04, Publish image, Publish nativelink-worker-lre-cc, Remote / large-ubuntu-22.04, asan / ubuntu-22.04, docker-compose-compiles-nativelink (20.04), docker-compose-compiles-nativelink (22.04), integration-tests (20.04), integration-tests (22.04), macos-13, pre-commit-checks, ubuntu-20.04 / stable, ubuntu-22.04, ubuntu-22.04 / stable, vale, windows-2022 / stable, and 1 discussions need to be resolved


native-cli/programs/local.go line 133 at r3 (raw file):

Previously, aaronmondal (Aaron Siddhartha Mondal) wrote…

When the Route is changed as above these become:

Done.

Copy link
Member

@aaronmondal aaronmondal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:lgtm:

Reviewed 4 of 4 files at r4, all commit messages.
Reviewable status: 1 of 1 LGTMs obtained, and pending CI: Cargo Dev / macos-13

@aaronmondal aaronmondal merged commit c42fd0d into TraceMachina:main May 31, 2024
28 checks passed
nfarah86 pushed a commit to nfarah86/nativelink that referenced this pull request Jun 1, 2024
Provide an envoy loadbalancer container to access the local kind cluster.
The loadbalancer adds the ability to reach the local kind cluster trough localhost,
so that it is possible to work with a mac on the nativelink cluster.

Docker on Mac uses a aarch64 linux vm unter the hood, so the builds in the cluster
can now be tested on that architecture.

Users can now query the loadbalancer instead of the gateway.

The loadbalancer has the following endpoints:

localhost:8080                  -> hubble-ui
localhost:8081                  -> tekton-dashboard
localhost:8082/eventlistener    -> nativelink-eventlistener
MarcusSorealheis pushed a commit to nfarah86/nativelink that referenced this pull request Jun 1, 2024
author Nathan (Blaise) Bruer <github.blaise@allada.com> 1716060089 -0700
committer Marcus <marcuseagan@gmail.com> 1717216579 -0700
gpgsig -----BEGIN PGP SIGNATURE-----

 iQIzBAABCAAdFiEEpvESN9ZnVKKULFG/x/6q6dPSZF0FAmZapUMACgkQx/6q6dPS
 ZF2kPQ//ZYXhy26xNq5g2P6U7kf+dpcXok2rzntw9620kdNCLodCm7vceDvwa1mn
 JwVnXdGO7QcrLeSagHk6LewptncYq+hOc3ZA7wUtM3bSUTwPlwJue7zNVwpMSZHD
 9pdu9CDgVWh6h7oR+JoRcyHjJ7NTkSU41aLEtwaHbDWatmtX2Cy4iX0BNk55nWaK
 BtzzuLLgiWrpOXNLL4MWlRdxLbN2YjbxW+2S3Q5eg7SnlERKU+COLoaHYUrk8v9J
 qzK35H05wDiiXHQpnWky895G3DDo/NB1znVpyOf/3sPw+OwUvACoZjORIbeh7+0W
 J5NqfX1ngWTtu0dVT1tehguAplVrBCWGJgJcVs03egVlOVSL/WthdkjW/ZkMfEk5
 pUL9Gje8SyuyEMw3tUc8EV6owwLqqyvVsaO+baVZR5hAbxp/yDaT/fewic6OXa4X
 I58NE5a7w9b5Zsem5kW+yFD5GSa11sybrqffd+ofzPmmDvlVYmJ/CaQvTZ/lQpaA
 IIZLyPYcicC3v2I1+GA//QFPJsUlK0McW+MR7L6zlY395yvS6TTA3EoCBY5KrsYD
 inSfeY2IuMKjV81ihQWd56XiK289GKkvspUmjy84ytke0luqM7Xfpu3cii+gCwoq
 8B0dUCJOqEKg1AJUlM4VOS7vAwc1tJHHrEm05/opIycQxkwNnhs=
 =6j1C
 -----END PGP SIGNATURE-----

parent 0a33c83
author Nathan (Blaise) Bruer <github.blaise@allada.com> 1716060089 -0700
committer Marcus <marcuseagan@gmail.com> 1717216536 -0700
gpgsig -----BEGIN PGP SIGNATURE-----

 iQIzBAABCAAdFiEEpvESN9ZnVKKULFG/x/6q6dPSZF0FAmZapRgACgkQx/6q6dPS
 ZF1U1Q/9G9ZN2PkCUxBc+oTN1BjBbNB/52+xmi+Uao39vrGh2vPIOGYbjXPP36Vv
 NUQ5cckmlsoqC1VWWgJMts27Y6oSlP1JydRlgrXmhnNV/SjcAz6r2woP+3At58hk
 iZN0lqft7lZ1Viycq8bDDEDrT56BiGGbDqO0E3UMZncwp/4s5Cw8M+0DTapIz2PU
 UcxJk2goTlKwPIItlFBUF2dTPL+nxtI95rpIdaGRrP/pn7XaRuY72k5pGMVZHsS+
 OVQBmXqYrSh3nUim+YWagvbDrYJU6lksI4ZDN6cnVgdEsF0xEWguCy3g6tR0WVUQ
 Z5Y9BkedyWt7v1tK+B5cBQgoP2m34pY8TzLFbQTLkv7mrxLIwyNqkDLVJOCPcamk
 dJ+yf5lp54vUkeRnVaTcp9IMEjF0Vjteg3WHTKNK8ZsBs9DnNzb+7HyjDa6bYcau
 e0Y5HVPuC5kcTMK95yTkAabdj1qtBr8QpJ7CErqTRBgbxpcgldd3DTNndHv5/Yjz
 QH/zctjfJcISk/Y+KDTBhZRsNF1VGAzpwsT3KnFUdcTg48xMFC6IBI/YkYywg4Ra
 ZIv6O9h0V7FivbXF5J0KqawpW4lQa6mLDzNwm7ZNODVNb5TEGYu8jsYMzkxaKVPR
 ZGEtFuBOPGgLVYcIbuAFeANBERzhw5KUMe7MBSP2DG7r+50pqQI=
 =zuq5
 -----END PGP SIGNATURE-----

parent 0a33c83
author Nathan (Blaise) Bruer <github.blaise@allada.com> 1716060089 -0700
committer Marcus <marcuseagan@gmail.com> 1717216503 -0700
gpgsig -----BEGIN PGP SIGNATURE-----

 iQIzBAABCAAdFiEEpvESN9ZnVKKULFG/x/6q6dPSZF0FAmZapPcACgkQx/6q6dPS
 ZF0xpQ/+ILuc9NSpJpS6BNw5IUyE4cQsquFZhKBTsX1l8/ZMkDZR6pKdO+gsUdKB
 DyA8OX8VspRAWNoxyiEfLRknwNtclr6XG1znX+WcyVjnaujcezau54dhoEAsImdn
 pgwfN/RpLh3ii1Z/MbpPlDzdDcYkOtDiqF2l4Cr2wQSs72o6qONUmCrycNdipyHa
 lED+VesZOZiZTEBOX56hMGQ/NVSPQ9hisIVjFq1J472v+opU5Ht0cu8KSCRA2lud
 2DCVwpnyjIcG9Bf/XlCMzw9lODbOTqehaGsmES6CSLngjzeojhiHqABc5qYQT6Ip
 umWgSV2/AQsNcMG69WB+uPPT1aBwT//XnBfUoSazhGvFQLn9A7oLPLarhZGUP8M1
 IND49L3OBpzbbdY3ipN9e22f4NcYg7irhy/dzLIHjtBd9CPlUTQTybmRz6KebJom
 6Ha/9CXKPcaW23NqsMNlCoWqSL+cIAEvYgEWcZrceOvkeEHppI6pSLMLyWHw9epF
 Odd3AX8EP18axCNe+GJlCOZlRFq9cNXAYuboa0HpHhBbMP7FiVuQhapR/iWTA1Pv
 2X+hjkWURzpwFz+R/ObTBMiI1YqrTHkD7fukb1ibELenCs8UeIznZ7ScV6YX72Ef
 rOoxoHMrDRbXsWpc3JG3TlEbYpdpiWN09sQQpktCwZtU/uh5JsQ=
 =DmRi
 -----END PGP SIGNATURE-----

[Breaking] Digest function now auto-detected from request (TraceMachina#899)

The digest function the client requested is now properly implemented
in the OriginContext. This allows us to inspect what digest-function
the client requested from anywhere in the code.

If you use `verify` store and use `hash_verification_function`,
simply change it to `"verify_hash": true`. We will now auto-detect
the hash function based on the request and if it is not set, we
use the `default_digest_hash_function` in the `global` config.

Update images for docs (TraceMachina#930)

Update Rust crate proc-macro2 to v1.0.84 (TraceMachina#916)

Refactor EvictingMap so it does not use DigestInfo (TraceMachina#932)

In prep to move to an abstract key instead of DigestInfo, this
change cleans up EvictingMap and removes dependencies on DigestInfo.

towards: TraceMachina#931

Update Rust crate mimalloc to v0.1.42 (TraceMachina#933)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

Update Rust crate parking_lot to v0.12.3 (TraceMachina#936)

Include UUID in ActionState (TraceMachina#927)

Changes the field used for identifying which action an ActionState
corresponds to include a uuid as well as the ActionInfoHashKey. All
existing functionality is kept the same by making use of the nested
ActionInfoHashKey contained within the Id. These changes will provide
the basis for all usage of Id in followup changes to the scheduler.
This breaks compatibility for forwarding an operation from one remote
execution system to another that does not use our operation name
format (ie: very unlikely, but possible).

Co-authored-by: Zach Birenbaum <zach@tracemachina.com>

Add Operation State Manager API (TraceMachina#937)

Introduces API to be implemented by new scheduler state backends.
WorkerStateManager is responsible for managing action updates sent to
and from workers. ClientStateManager is responsible any state related
to the clients client(s) requesting the action execution and can add
or filter operations based on a given criteria.
MatchingEnginerStateManager can filter, update, or remove actions.

Co-authored-by: Zach Birenbaum <zach@tracemachina.com>

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Update dependency protobuf to v26.0.bcr.1 (TraceMachina#887)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

Update Rust crate quote to v1.0.36 (TraceMachina#938)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

Update Rust crate redis to v0.25.4 (TraceMachina#944)

Update Rust crate syn to v2.0.66 (TraceMachina#946)

Bump flake and Bazel modules (TraceMachina#947)

Fixes TraceMachina#943

Bump trivially bumpable deps (TraceMachina#950)

Notably, this changes the S3 schema for multipart upload starts/stops.

Add kind-loadbalancer (TraceMachina#929)

Provide an envoy loadbalancer container to access the local kind cluster.
The loadbalancer adds the ability to reach the local kind cluster trough localhost,
so that it is possible to work with a mac on the nativelink cluster.

Docker on Mac uses a aarch64 linux vm unter the hood, so the builds in the cluster
can now be tested on that architecture.

Users can now query the loadbalancer instead of the gateway.

The loadbalancer has the following endpoints:

localhost:8080                  -> hubble-ui
localhost:8081                  -> tekton-dashboard
localhost:8082/eventlistener    -> nativelink-eventlistener

Fix pulumi ratelimiting build error (TraceMachina#953)

On MacOS the pulumi testsuite hit the ratelimiting on github.
Disable the pulumi tests with a patch on nixpkgs.

Commit 0eed759 didn't fix this issue.

Add drake toolchain configs (TraceMachina#942)

Register metrics on PropertyModifierScheduler (TraceMachina#954)

Fixes metrics being lost due to the underlying ActionScheduler not
having it's metrics passed through the PropertyModifierScheduler.
This should fix any scaling issues related to queued actions metrics
not being available.

Use single quotes for char (TraceMachina#955)

Nightly clippy reports a style issue when using double quotes around a
single char.

Increase pre-commit timeout in CI (TraceMachina#956)

The original setting of 5 minutes was a bit too flaky. Increase it to 10
minutes so that cache misses don't break the job.

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Update images for docs (TraceMachina#930)

Refactor EvictingMap so it does not use DigestInfo (TraceMachina#932)

In prep to move to an abstract key instead of DigestInfo, this
change cleans up EvictingMap and removes dependencies on DigestInfo.

towards: TraceMachina#931

Update Rust crate mimalloc to v0.1.42 (TraceMachina#933)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

Update Rust crate parking_lot to v0.12.3 (TraceMachina#936)

Include UUID in ActionState (TraceMachina#927)

Changes the field used for identifying which action an ActionState
corresponds to include a uuid as well as the ActionInfoHashKey. All
existing functionality is kept the same by making use of the nested
ActionInfoHashKey contained within the Id. These changes will provide
the basis for all usage of Id in followup changes to the scheduler.
This breaks compatibility for forwarding an operation from one remote
execution system to another that does not use our operation name
format (ie: very unlikely, but possible).

Co-authored-by: Zach Birenbaum <zach@tracemachina.com>

Add Operation State Manager API (TraceMachina#937)

Introduces API to be implemented by new scheduler state backends.
WorkerStateManager is responsible for managing action updates sent to
and from workers. ClientStateManager is responsible any state related
to the clients client(s) requesting the action execution and can add
or filter operations based on a given criteria.
MatchingEnginerStateManager can filter, update, or remove actions.

Co-authored-by: Zach Birenbaum <zach@tracemachina.com>

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Update Rust crate redis to v0.25.4 (TraceMachina#944)

Update Rust crate syn to v2.0.66 (TraceMachina#946)

Bump trivially bumpable deps (TraceMachina#950)

Notably, this changes the S3 schema for multipart upload starts/stops.

Add kind-loadbalancer (TraceMachina#929)

Provide an envoy loadbalancer container to access the local kind cluster.
The loadbalancer adds the ability to reach the local kind cluster trough localhost,
so that it is possible to work with a mac on the nativelink cluster.

Docker on Mac uses a aarch64 linux vm unter the hood, so the builds in the cluster
can now be tested on that architecture.

Users can now query the loadbalancer instead of the gateway.

The loadbalancer has the following endpoints:

localhost:8080                  -> hubble-ui
localhost:8081                  -> tekton-dashboard
localhost:8082/eventlistener    -> nativelink-eventlistener

Fix pulumi ratelimiting build error (TraceMachina#953)

On MacOS the pulumi testsuite hit the ratelimiting on github.
Disable the pulumi tests with a patch on nixpkgs.

Commit 0eed759 didn't fix this issue.

Add drake toolchain configs (TraceMachina#942)

Register metrics on PropertyModifierScheduler (TraceMachina#954)

Fixes metrics being lost due to the underlying ActionScheduler not
having it's metrics passed through the PropertyModifierScheduler.
This should fix any scaling issues related to queued actions metrics
not being available.

Use single quotes for char (TraceMachina#955)

Nightly clippy reports a style issue when using double quotes around a
single char.

Increase pre-commit timeout in CI (TraceMachina#956)

The original setting of 5 minutes was a bit too flaky. Increase it to 10
minutes so that cache misses don't break the job.
MarcusSorealheis pushed a commit to nfarah86/nativelink that referenced this pull request Jun 1, 2024
author Nathan (Blaise) Bruer <github.blaise@allada.com> 1716060089 -0700
committer Marcus <marcuseagan@gmail.com> 1717216579 -0700
gpgsig -----BEGIN PGP SIGNATURE-----

 iQIzBAABCAAdFiEEpvESN9ZnVKKULFG/x/6q6dPSZF0FAmZapUMACgkQx/6q6dPS
 ZF2kPQ//ZYXhy26xNq5g2P6U7kf+dpcXok2rzntw9620kdNCLodCm7vceDvwa1mn
 JwVnXdGO7QcrLeSagHk6LewptncYq+hOc3ZA7wUtM3bSUTwPlwJue7zNVwpMSZHD
 9pdu9CDgVWh6h7oR+JoRcyHjJ7NTkSU41aLEtwaHbDWatmtX2Cy4iX0BNk55nWaK
 BtzzuLLgiWrpOXNLL4MWlRdxLbN2YjbxW+2S3Q5eg7SnlERKU+COLoaHYUrk8v9J
 qzK35H05wDiiXHQpnWky895G3DDo/NB1znVpyOf/3sPw+OwUvACoZjORIbeh7+0W
 J5NqfX1ngWTtu0dVT1tehguAplVrBCWGJgJcVs03egVlOVSL/WthdkjW/ZkMfEk5
 pUL9Gje8SyuyEMw3tUc8EV6owwLqqyvVsaO+baVZR5hAbxp/yDaT/fewic6OXa4X
 I58NE5a7w9b5Zsem5kW+yFD5GSa11sybrqffd+ofzPmmDvlVYmJ/CaQvTZ/lQpaA
 IIZLyPYcicC3v2I1+GA//QFPJsUlK0McW+MR7L6zlY395yvS6TTA3EoCBY5KrsYD
 inSfeY2IuMKjV81ihQWd56XiK289GKkvspUmjy84ytke0luqM7Xfpu3cii+gCwoq
 8B0dUCJOqEKg1AJUlM4VOS7vAwc1tJHHrEm05/opIycQxkwNnhs=
 =6j1C
 -----END PGP SIGNATURE-----

parent 0a33c83
author Nathan (Blaise) Bruer <github.blaise@allada.com> 1716060089 -0700
committer Marcus <marcuseagan@gmail.com> 1717216536 -0700
gpgsig -----BEGIN PGP SIGNATURE-----

 iQIzBAABCAAdFiEEpvESN9ZnVKKULFG/x/6q6dPSZF0FAmZapRgACgkQx/6q6dPS
 ZF1U1Q/9G9ZN2PkCUxBc+oTN1BjBbNB/52+xmi+Uao39vrGh2vPIOGYbjXPP36Vv
 NUQ5cckmlsoqC1VWWgJMts27Y6oSlP1JydRlgrXmhnNV/SjcAz6r2woP+3At58hk
 iZN0lqft7lZ1Viycq8bDDEDrT56BiGGbDqO0E3UMZncwp/4s5Cw8M+0DTapIz2PU
 UcxJk2goTlKwPIItlFBUF2dTPL+nxtI95rpIdaGRrP/pn7XaRuY72k5pGMVZHsS+
 OVQBmXqYrSh3nUim+YWagvbDrYJU6lksI4ZDN6cnVgdEsF0xEWguCy3g6tR0WVUQ
 Z5Y9BkedyWt7v1tK+B5cBQgoP2m34pY8TzLFbQTLkv7mrxLIwyNqkDLVJOCPcamk
 dJ+yf5lp54vUkeRnVaTcp9IMEjF0Vjteg3WHTKNK8ZsBs9DnNzb+7HyjDa6bYcau
 e0Y5HVPuC5kcTMK95yTkAabdj1qtBr8QpJ7CErqTRBgbxpcgldd3DTNndHv5/Yjz
 QH/zctjfJcISk/Y+KDTBhZRsNF1VGAzpwsT3KnFUdcTg48xMFC6IBI/YkYywg4Ra
 ZIv6O9h0V7FivbXF5J0KqawpW4lQa6mLDzNwm7ZNODVNb5TEGYu8jsYMzkxaKVPR
 ZGEtFuBOPGgLVYcIbuAFeANBERzhw5KUMe7MBSP2DG7r+50pqQI=
 =zuq5
 -----END PGP SIGNATURE-----

parent 0a33c83
author Nathan (Blaise) Bruer <github.blaise@allada.com> 1716060089 -0700
committer Marcus <marcuseagan@gmail.com> 1717216503 -0700
gpgsig -----BEGIN PGP SIGNATURE-----

 iQIzBAABCAAdFiEEpvESN9ZnVKKULFG/x/6q6dPSZF0FAmZapPcACgkQx/6q6dPS
 ZF0xpQ/+ILuc9NSpJpS6BNw5IUyE4cQsquFZhKBTsX1l8/ZMkDZR6pKdO+gsUdKB
 DyA8OX8VspRAWNoxyiEfLRknwNtclr6XG1znX+WcyVjnaujcezau54dhoEAsImdn
 pgwfN/RpLh3ii1Z/MbpPlDzdDcYkOtDiqF2l4Cr2wQSs72o6qONUmCrycNdipyHa
 lED+VesZOZiZTEBOX56hMGQ/NVSPQ9hisIVjFq1J472v+opU5Ht0cu8KSCRA2lud
 2DCVwpnyjIcG9Bf/XlCMzw9lODbOTqehaGsmES6CSLngjzeojhiHqABc5qYQT6Ip
 umWgSV2/AQsNcMG69WB+uPPT1aBwT//XnBfUoSazhGvFQLn9A7oLPLarhZGUP8M1
 IND49L3OBpzbbdY3ipN9e22f4NcYg7irhy/dzLIHjtBd9CPlUTQTybmRz6KebJom
 6Ha/9CXKPcaW23NqsMNlCoWqSL+cIAEvYgEWcZrceOvkeEHppI6pSLMLyWHw9epF
 Odd3AX8EP18axCNe+GJlCOZlRFq9cNXAYuboa0HpHhBbMP7FiVuQhapR/iWTA1Pv
 2X+hjkWURzpwFz+R/ObTBMiI1YqrTHkD7fukb1ibELenCs8UeIznZ7ScV6YX72Ef
 rOoxoHMrDRbXsWpc3JG3TlEbYpdpiWN09sQQpktCwZtU/uh5JsQ=
 =DmRi
 -----END PGP SIGNATURE-----

[Breaking] Digest function now auto-detected from request (TraceMachina#899)

The digest function the client requested is now properly implemented
in the OriginContext. This allows us to inspect what digest-function
the client requested from anywhere in the code.

If you use `verify` store and use `hash_verification_function`,
simply change it to `"verify_hash": true`. We will now auto-detect
the hash function based on the request and if it is not set, we
use the `default_digest_hash_function` in the `global` config.

Update images for docs (TraceMachina#930)

Update Rust crate proc-macro2 to v1.0.84 (TraceMachina#916)

Refactor EvictingMap so it does not use DigestInfo (TraceMachina#932)

In prep to move to an abstract key instead of DigestInfo, this
change cleans up EvictingMap and removes dependencies on DigestInfo.

towards: TraceMachina#931

Update Rust crate mimalloc to v0.1.42 (TraceMachina#933)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

Update Rust crate parking_lot to v0.12.3 (TraceMachina#936)

Include UUID in ActionState (TraceMachina#927)

Changes the field used for identifying which action an ActionState
corresponds to include a uuid as well as the ActionInfoHashKey. All
existing functionality is kept the same by making use of the nested
ActionInfoHashKey contained within the Id. These changes will provide
the basis for all usage of Id in followup changes to the scheduler.
This breaks compatibility for forwarding an operation from one remote
execution system to another that does not use our operation name
format (ie: very unlikely, but possible).

Co-authored-by: Zach Birenbaum <zach@tracemachina.com>

Add Operation State Manager API (TraceMachina#937)

Introduces API to be implemented by new scheduler state backends.
WorkerStateManager is responsible for managing action updates sent to
and from workers. ClientStateManager is responsible any state related
to the clients client(s) requesting the action execution and can add
or filter operations based on a given criteria.
MatchingEnginerStateManager can filter, update, or remove actions.

Co-authored-by: Zach Birenbaum <zach@tracemachina.com>

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Update dependency protobuf to v26.0.bcr.1 (TraceMachina#887)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

Update Rust crate quote to v1.0.36 (TraceMachina#938)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

Update Rust crate redis to v0.25.4 (TraceMachina#944)

Update Rust crate syn to v2.0.66 (TraceMachina#946)

Bump flake and Bazel modules (TraceMachina#947)

Fixes TraceMachina#943

Bump trivially bumpable deps (TraceMachina#950)

Notably, this changes the S3 schema for multipart upload starts/stops.

Add kind-loadbalancer (TraceMachina#929)

Provide an envoy loadbalancer container to access the local kind cluster.
The loadbalancer adds the ability to reach the local kind cluster trough localhost,
so that it is possible to work with a mac on the nativelink cluster.

Docker on Mac uses a aarch64 linux vm unter the hood, so the builds in the cluster
can now be tested on that architecture.

Users can now query the loadbalancer instead of the gateway.

The loadbalancer has the following endpoints:

localhost:8080                  -> hubble-ui
localhost:8081                  -> tekton-dashboard
localhost:8082/eventlistener    -> nativelink-eventlistener

Fix pulumi ratelimiting build error (TraceMachina#953)

On MacOS the pulumi testsuite hit the ratelimiting on github.
Disable the pulumi tests with a patch on nixpkgs.

Commit 0eed759 didn't fix this issue.

Add drake toolchain configs (TraceMachina#942)

Register metrics on PropertyModifierScheduler (TraceMachina#954)

Fixes metrics being lost due to the underlying ActionScheduler not
having it's metrics passed through the PropertyModifierScheduler.
This should fix any scaling issues related to queued actions metrics
not being available.

Use single quotes for char (TraceMachina#955)

Nightly clippy reports a style issue when using double quotes around a
single char.

Increase pre-commit timeout in CI (TraceMachina#956)

The original setting of 5 minutes was a bit too flaky. Increase it to 10
minutes so that cache misses don't break the job.

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Update images for docs (TraceMachina#930)

Refactor EvictingMap so it does not use DigestInfo (TraceMachina#932)

In prep to move to an abstract key instead of DigestInfo, this
change cleans up EvictingMap and removes dependencies on DigestInfo.

towards: TraceMachina#931

Update Rust crate mimalloc to v0.1.42 (TraceMachina#933)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

Update Rust crate parking_lot to v0.12.3 (TraceMachina#936)

Include UUID in ActionState (TraceMachina#927)

Changes the field used for identifying which action an ActionState
corresponds to include a uuid as well as the ActionInfoHashKey. All
existing functionality is kept the same by making use of the nested
ActionInfoHashKey contained within the Id. These changes will provide
the basis for all usage of Id in followup changes to the scheduler.
This breaks compatibility for forwarding an operation from one remote
execution system to another that does not use our operation name
format (ie: very unlikely, but possible).

Co-authored-by: Zach Birenbaum <zach@tracemachina.com>

Add Operation State Manager API (TraceMachina#937)

Introduces API to be implemented by new scheduler state backends.
WorkerStateManager is responsible for managing action updates sent to
and from workers. ClientStateManager is responsible any state related
to the clients client(s) requesting the action execution and can add
or filter operations based on a given criteria.
MatchingEnginerStateManager can filter, update, or remove actions.

Co-authored-by: Zach Birenbaum <zach@tracemachina.com>

Unbreak docker-compose workflow (TraceMachina#940)

Fixes TraceMachina#939

Update Rust crate redis to v0.25.4 (TraceMachina#944)

Update Rust crate syn to v2.0.66 (TraceMachina#946)

Bump trivially bumpable deps (TraceMachina#950)

Notably, this changes the S3 schema for multipart upload starts/stops.

Add kind-loadbalancer (TraceMachina#929)

Provide an envoy loadbalancer container to access the local kind cluster.
The loadbalancer adds the ability to reach the local kind cluster trough localhost,
so that it is possible to work with a mac on the nativelink cluster.

Docker on Mac uses a aarch64 linux vm unter the hood, so the builds in the cluster
can now be tested on that architecture.

Users can now query the loadbalancer instead of the gateway.

The loadbalancer has the following endpoints:

localhost:8080                  -> hubble-ui
localhost:8081                  -> tekton-dashboard
localhost:8082/eventlistener    -> nativelink-eventlistener

Fix pulumi ratelimiting build error (TraceMachina#953)

On MacOS the pulumi testsuite hit the ratelimiting on github.
Disable the pulumi tests with a patch on nixpkgs.

Commit 0eed759 didn't fix this issue.

Add drake toolchain configs (TraceMachina#942)

Register metrics on PropertyModifierScheduler (TraceMachina#954)

Fixes metrics being lost due to the underlying ActionScheduler not
having it's metrics passed through the PropertyModifierScheduler.
This should fix any scaling issues related to queued actions metrics
not being available.

Use single quotes for char (TraceMachina#955)

Nightly clippy reports a style issue when using double quotes around a
single char.

Increase pre-commit timeout in CI (TraceMachina#956)

The original setting of 5 minutes was a bit too flaky. Increase it to 10
minutes so that cache misses don't break the job.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants