namespacelabs / foundation Goto Github PK
View Code? Open in Web Editor NEWOpen-source Kubernetes application platform that powers Namespace's developer-optimized compute platform.
Home Page: https://namespace.so/docs
License: Apache License 2.0
Open-source Kubernetes application platform that powers Namespace's developer-optimized compute platform.
Home Page: https://namespace.so/docs
License: Apache License 2.0
At the moment we lookup the per-semantic version (e.g. "1.18") latest version, but that's problematic as it may yield non-reproducibility. I.e. an unknown bug in Go 1.18.1 may surface in a user's codebase which wasn't present with Go 1.18, and they won't have control what version is used.
We could either pin versions at the server level, or continue to use the workspace configuration as a lock file.
% fn deploy api/server
Failed:
failed to resolve ingress:
{
"path": "/",
"kind": "grpc-gateway",
"owner": "namespacelabs.dev/ea-example/api/server",
"service": "grpc-gateway-1088nk7bp49rpynz6hqshk6epx"
}: ingress definition without port
if no service sets exportServicesAsHttp
and the server does not depend on
"namespacelabs.dev/foundation/std/go/grpc/gateway",
this will allow performing deployment updates atomically. if the new config is wrong, the new deployment will fail to scale up, and thus the old deployment won't scale down. And because the previous configmap has not been modified, the previous deployment can continue running.
This introduces a trade-off in that deployments are potentially no longer zero-action (unless the naming scheme is content based).
We already know what to do, let's not make the user to extra work (running "fn login" themselves).
This means that errors don't get to users as quickly as they should.
to clearly signal they shouldn't be modified
And we don't tell users about it, and it also doesn't fail. It just hangs forever because there's no node to schedule to.
I moved std/server/tracing
to std/monitoring/tracing
and that yielded code changes in std/testdata/gogrpcserver
. That's unexpected, when the server doesn't directly depend on it. Ideally all changes should have happened within std/go/grpc
as that's where the direct dependency lies.
Including WEB
$ go install github.com/bradfitz/shotizam@latest
$ nix-shell -p sqlite
shotizam --sqlite ~/go/bin/fn
sqlite> .width 80
sqlite> .mode column
sqlite> select func, sum(size) from bin where func <> '' group by 1 order by 2 desc limit 40;
Func sum(size)
-------------------------------------------------------------------------------- ---------
k8s.io/api/core/v1.init 114444
go.opentelemetry.io/otel/semconv/v1%2e7%2e0.init 74031
github.com/jhump/protoreflect/desc/protoparse.(*protoParserImpl).Parse 54220
golang.org/x/tools/internal/imports.init 37032
k8s.io/api/core/v1.(*PodSpec).Unmarshal 33570
github.com/googleapis/gnostic/openapiv2.NewSchema 32402
k8s.io/api/extensions/v1beta1.init 28147
k8s.io/api/core/v1.(*VolumeSource).Unmarshal 27305
github.com/googleapis/gnostic/openapiv2.(*Schema).ToRawInfo 26873
github.com/googleapis/gnostic/openapiv2.NewFormDataParameterSubSchema 26384
github.com/googleapis/gnostic/openapiv2.NewQueryParameterSubSchema 26369
github.com/googleapis/gnostic/openapiv2.NewPathParameterSubSchema 26122
github.com/googleapis/gnostic/openapiv2.NewHeaderParameterSubSchema 25432
unicode.init 23988
github.com/googleapis/gnostic/openapiv2.NewHeader 22656
go/types.(*Checker).builtin 21813
github.com/googleapis/gnostic/openapiv2.NewPrimitivesItems 20943
k8s.io/api/core/v1.(*PersistentVolumeSource).Unmarshal 20795
k8s.io/apimachinery/pkg/apis/meta/v1.init 20722
cuelang.org/go/internal/core/adt.BinOp 20349
golang.org/x/net/html.inBodyIM 20064
k8s.io/api/extensions/v1beta1.(*PodSecurityPolicySpec).Unmarshal 19686
k8s.io/api/policy/v1beta1.(*PodSecurityPolicySpec).Unmarshal 19681
github.com/googleapis/gnostic/openapiv2.(*FormDataParameterSubSchema).ToRawInfo 19515
github.com/googleapis/gnostic/openapiv2.(*QueryParameterSubSchema).ToRawInfo 19513
k8s.io/api/core/v1.(*EphemeralContainerCommon).Unmarshal 19369
k8s.io/api/core/v1.(*Container).Unmarshal 19354
github.com/googleapis/gnostic/openapiv2.(*PathParameterSubSchema).ToRawInfo 19317
github.com/miekg/dns.init 19039
net/http.init 18767
github.com/googleapis/gnostic/openapiv2.(*HeaderParameterSubSchema).ToRawInfo 18639
k8s.io/api/apps/v1beta2.init 18607
cuelang.org/go/cue.Value.Expr 18206
k8s.io/api/core/v1.(*ServiceSpec).Unmarshal 17919
k8s.io/api/apps/v1.init 17755
github.com/googleapis/gnostic/openapiv2.NewOperation 17745
cuelang.org/go/internal/core/convert.convertRec 17561
namespacelabs.dev/foundation/runtime/kubernetes.boundEnv.prepareServerDeployment 17484
k8s.io/apimachinery/pkg/apis/meta/v1.(*ObjectMeta).Unmarshal 17416
go/types.(*Checker).stmt 17220
gRPC and Kubernetes have "services" with different meanings. The user always needs to keep in mind the difference, for example in this service definition:
service: fn.#Service & {
exportService: $proto.services.MyService
}
first two "service"s mean aFoundation service, the other three mean a gRPC service.
// Changing the graph is fairly heavy-weight at this point, as it will lead to
// a rebuild of all packages (although they'll likely hit the cache), as well
// as a full re-deployment, re-port forward, etc. Ideally this would be more
// incremental by having narrower dependencies. E.g. single server would have
// a single build, single deployment, etc. And changes to siblings servers
// would only impact themselves, not all servers.
It reports an error but continues to build something:
fn dev api/server
Failed:
No registry configured in the environment "dev".
Run `fn prepare --env=dev` to set it up.
fn dev web ui running at: http://0.0.0.0:4002
[+] 3.2s 146/149 actions completed (3 waiting)
buildkit.build-image (3.2s)
=> (buildkit) Image: docker.io/library/node:16.13-alpine@sha256:2f50f4a428f8b5280817c (1.8s)
=> (buildkit) resolve docker.io/library/node:16.13-alpine@sha256:2f50f4a428f8b5280817 (1.8s)
https://github.com/namespacelabs/universe/tree/main/db/postgres/opaque only supports a single endpoint for now.
We should support proper isolation for dev/prod
We may need to serialize the body though.
$ cd std/monitoring/prometheus/tool
$ go build .
$ shotizam --sqlite ./tool
SQLite version 3.36.0 2021-06-18 18:36:39
Enter ".help" for usage hints.
sqlite> .width 80
sqlite> .mode column
sqlite> select func, sum(size) from bin where func <> '' group by 1 order by 2 desc limit 40;
Func sum(size)
-------------------------------------------------------------------------------- ---------
k8s.io/api/core/v1.init 114444
go.opentelemetry.io/otel/semconv/v1%2e7%2e0.init 74031
k8s.io/api/core/v1.(*PodSpec).Unmarshal 33570
github.com/googleapis/gnostic/openapiv2.NewSchema 32402
k8s.io/api/extensions/v1beta1.init 28147
k8s.io/api/core/v1.(*VolumeSource).Unmarshal 27305
github.com/googleapis/gnostic/openapiv2.(*Schema).ToRawInfo 26873
github.com/googleapis/gnostic/openapiv2.NewFormDataParameterSubSchema 26384
github.com/googleapis/gnostic/openapiv2.NewQueryParameterSubSchema 26369
github.com/googleapis/gnostic/openapiv2.NewPathParameterSubSchema 26122
github.com/googleapis/gnostic/openapiv2.NewHeaderParameterSubSchema 25432
unicode.init 23988
github.com/googleapis/gnostic/openapiv2.NewHeader 22656
github.com/googleapis/gnostic/openapiv2.NewPrimitivesItems 20943
k8s.io/api/core/v1.(*PersistentVolumeSource).Unmarshal 20795
k8s.io/apimachinery/pkg/apis/meta/v1.init 20722
cuelang.org/go/internal/core/adt.BinOp 20349
k8s.io/api/extensions/v1beta1.(*PodSecurityPolicySpec).Unmarshal 19686
k8s.io/api/policy/v1beta1.(*PodSecurityPolicySpec).Unmarshal 19681
github.com/googleapis/gnostic/openapiv2.(*FormDataParameterSubSchema).ToRawInfo 19515
github.com/googleapis/gnostic/openapiv2.(*QueryParameterSubSchema).ToRawInfo 19513
k8s.io/api/core/v1.(*EphemeralContainerCommon).Unmarshal 19369
k8s.io/api/core/v1.(*Container).Unmarshal 19354
github.com/googleapis/gnostic/openapiv2.(*PathParameterSubSchema).ToRawInfo 19317
github.com/miekg/dns.init 19039
net/http.init 18767
github.com/googleapis/gnostic/openapiv2.(*HeaderParameterSubSchema).ToRawInfo 18639
k8s.io/api/apps/v1beta2.init 18607
cuelang.org/go/cue.Value.Expr 18206
k8s.io/api/core/v1.(*ServiceSpec).Unmarshal 17919
k8s.io/api/apps/v1.init 17755
github.com/googleapis/gnostic/openapiv2.NewOperation 17745
cuelang.org/go/internal/core/convert.convertRec 17561
k8s.io/apimachinery/pkg/apis/meta/v1.(*ObjectMeta).Unmarshal 17416
github.com/pelletier/go-toml.(*Decoder).valueFromToml 16804
github.com/googleapis/gnostic/openapiv2.(*Header).ToRawInfo 16641
k8s.io/api/core/v1.(*LimitRangeItem).Unmarshal 16267
github.com/rs/zerolog.appendFieldList 15964
k8s.io/api/core/v1.(*PodSpec).MarshalToSizedBuffer 15750
github.com/googleapis/gnostic/openapiv2.(*PrimitivesItems).ToRawInfo 15365
sqlite> select what, sum(size) from bin group by 1;
What sum(size)
-------------------------------------------------------------------------------- ---------
TODO 21250385
fixedheader 1804360
funcdata 757704
funcname 2391177
pcdata0-regmap 918225
pcdata1-stackmap 514078
pcdata2-inltree 415211
pcfile 280382
pcln 1725919
pcsp 630537
text 16540688
sqlite> select pkg, sum(size) from bin where pkg <> '' group by 1 order by 2 desc limit 40;
Pkg sum(size)
-------------------------------------------------------------------------------- ---------
k8s.io/api/core/v1 2966669
github.com/googleapis/gnostic/openapiv2 776507
k8s.io/api/extensions/v1beta1 717679
k8s.io/apimachinery/pkg/apis/meta/v1 686677
runtime 626044
google.golang.org/protobuf/internal/impl 607948
github.com/gogo/protobuf/proto 543242
github.com/miekg/dns 472001
net/http 444679
k8s.io/api/apps/v1beta2 441845
k8s.io/api/apps/v1 394835
github.com/modern-go/reflect2 376543
github.com/json-iterator/go 363885
cuelang.org/go/internal/core/adt 308625
k8s.io/api/apps/v1beta1 304606
crypto/tls 297581
k8s.io/api/autoscaling/v2beta2 286246
k8s.io/api/autoscaling/v2 282855
k8s.io/api/networking/v1 274751
k8s.io/api/storage/v1beta1 270853
k8s.io/api/autoscaling/v1 269080
gopkg.in/yaml%2ev3 266964
k8s.io/api/policy/v1beta1 258417
net 256316
k8s.io/api/flowcontrol/v1alpha1 255593
k8s.io/api/flowcontrol/v1beta1 255076
k8s.io/api/flowcontrol/v1beta2 254244
k8s.io/api/autoscaling/v2beta1 246844
gopkg.in/yaml%2ev2 234381
k8s.io/api/storage/v1 228460
cuelang.org/go/cue 225177
github.com/pelletier/go-toml 223051
github.com/jhump/protoreflect/dynamic 216964
math/big 204866
k8s.io/api/authorization/v1beta1 201456
k8s.io/api/authorization/v1 196644
reflect 185571
google.golang.org/protobuf/internal/filedesc 184235
github.com/rs/zerolog 176777
k8s.io/api/rbac/v1beta1 172386
This was a system that had been previously fn prepare
d. Building all dependencies took ~100secs, and then deployment took 60sec+?
Servers deployed:
[✓] namespacelabs.dev/ea-example/api/server took 68.5s
[✓] namespacelabs.dev/foundation/std/monitoring/grafana/server took 7ms
[✓] namespacelabs.dev/foundation/std/monitoring/jaeger took 3.0s
[✓] namespacelabs.dev/universe/db/postgres/server took 20.0s
[✓] namespacelabs.dev/foundation/std/monitoring/prometheus/server took 3.0s
kubectl shows
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 2m38s default-scheduler Successfully assigned dev-ea-example-sdtan/api-backend-1088nk7bp49rpynz6hqshk6epx-7664868744-cgq9s to k3d-fn-server-0
Normal Pulling 2m37s kubelet Pulling image "k3d-registry.nslocal.dev:41000/namespacelabs.dev/universe/db/postgres/init@sha256:35e6cde1d537c5226b92b8ca03e76911cca5ae3d723b4233e5bd57a2a3b2aff3"
Normal Pulled 2m33s kubelet Successfully pulled image "k3d-registry.nslocal.dev:41000/namespacelabs.dev/universe/db/postgres/init@sha256:35e6cde1d537c5226b92b8ca03e76911cca5ae3d723b4233e5bd57a2a3b2aff3" in 4.422877377s
Warning BackOff 106s (x3 over 2m18s) kubelet Back-off restarting failed container
Normal Pulled 94s (x3 over 2m28s) kubelet Container image "k3d-registry.nslocal.dev:41000/namespacelabs.dev/universe/db/postgres/init@sha256:35e6cde1d537c5226b92b8ca03e76911cca5ae3d723b4233e5bd57a2a3b2aff3" already present on machine
Normal Created 93s (x4 over 2m32s) kubelet Created container init-init-postgres
Normal Started 93s (x4 over 2m31s) kubelet Started container init-init-postgres
Normal Pulling 92s kubelet Pulling image "k3d-registry.nslocal.dev:41000/namespacelabs.dev/ea-example/api/server@sha256:ad4d48e5f8c6556c5832e52c70629edaf2973b031d5728e47e39c888bd2481ac"
Normal Pulled 90s kubelet Successfully pulled image "k3d-registry.nslocal.dev:41000/namespacelabs.dev/ea-example/api/server@sha256:ad4d48e5f8c6556c5832e52c70629edaf2973b031d5728e47e39c888bd2481ac" in 1.844780084s
Normal Created 89s kubelet Created container api-backend
Normal Started 89s kubelet Started container api-backend
Also for postgres, it took a bit:
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 2m36s default-scheduler Successfully assigned dev-ea-example-sdtan/postgresql-422eajpp5jt8pjwfp2vrq5f0ce-0 to k3d-fn-server-0
Normal Pulling 2m35s kubelet Pulling image "index.docker.io/library/postgres:14.0"
Normal Pulled 2m17s kubelet Successfully pulled image "index.docker.io/library/postgres:14.0" in 17.960460966s
Normal Created 2m16s kubelet Created container postgresql
Normal Started 2m16s kubelet Started container postgresql
It seems it was all image pulling. May make sense to surface this time in fn
itself, by e.g. having fn upload the image to k8s.
Currently:
binary: {
name: "ns.tool"
from: go_package: "."
}
Ideally, we'd have something like:
binary: {
name: "ns.tool"
with: [
{ go_binary: "." },
{ data: "foobar/data.txt" }
]
}
With an optional short-form:
binary: {
name: "ns.tool"
with: { go_binary: "." }
}
Requires changes to node codegen
example
This is a broad topic, here is a list of things to tackle with priorities:
/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: info: can not modify /etc/nginx/conf.d/default.conf (read-only file system?)
/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
/docker-entrypoint.sh: Configuration complete; ready for start up
2022/03/04 17:05:32 [warn] 1#1: the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:2
nginx: [warn] the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:2
2022/03/04 17:05:32 [emerg] 1#1: mkdir() "/var/cache/nginx/client_temp" failed (30: Read-only file system)
nginx: [emerg] mkdir() "/var/cache/nginx/client_temp" failed (30: Read-only file system)
# Set up us-west-1 as the default
aws configure
# Create a cluster in eu-west-1
eksctl create cluster -n zerotwo -r eu-west-1
aws eks update-kubeconfig --region eu-west-1 --name zerotwo
# Prepare Foundation
fn prepare --env=prod [email protected] --aws_profile=default
# Try to deploy. It uses "us-west-1", not "eu-west-1"
fn deploy --env=prod web/server api/server --use_prebuilts=false
Failed:
failed to resolve prepare:
failed to resolve namespacelabs.dev/ea-example/web/server:config:
HEAD https://922014153962.dkr.ecr.us-west-1.amazonaws.com/v2/namespacelabs.dev/ea-example/web/server/manifests/sha256:890a8aa62eb2ddac102d7e806520e8959085c58e0da3f8a7629ce555b4a216b5: unexpected status code 401 Unauthorized (HEAD responses have no body, use GET for details)
Failed:
failed to resolve fs:
failed to resolve image:
failed to resolve web.vite.build:
failed to get status: rpc error: code = Unavailable desc = failed to receive server preface within timeout
should tell users when a new version is available
Without client-side routes we won’t see this, but at the moment only / is being served, so a refresh of a client-side route will fail.
Else we may end up with weird inconsistencies, like e.g. flags being set when they are not declared.
So the user can easily issue a gRPC request to a running server.
Copying a command that can potentially mutate something can be dangerous, options:
#
in the beginning, so accidental pasting it to the console wouldn't do anything.Access by the stable hostnames works.
This is specially true for as long as fn
embeds domain-specific orchestration (e.g. kubernetes), instead of it being built from the version pinned to the user's workspace.
fn dev web/server
yields
Services exported (port forwarded):
[✓] Jaeger/collector 127.0.0.1:46327 --> 14268 # namespacelabs.dev/foundation/std/monitoring/jaeger
[✓] Jaeger/frontend http://127.0.0.1:44581 # namespacelabs.dev/foundation/std/monitoring/jaeger
[✓] api-backend/grpc-gateway http://127.0.0.1:41069 # namespacelabs.dev/ea-example/api/server
[✓] postgresql/postgres 127.0.0.1:37265 --> 5432 # namespacelabs.dev/universe/db/postgres/server
[✓] Prometheus/prometheus http://127.0.0.1:45213 # namespacelabs.dev/foundation/std/monitoring/prometheus/server
[✓] todos grpcurl -plaintext 127.0.0.1:37097 # namespacelabs.dev/ea-example/api/todos
[✓] trends grpcurl -plaintext 127.0.0.1:39899 # namespacelabs.dev/ea-example/api/trends
[✓] Grafana/web http://127.0.0.1:43515 # namespacelabs.dev/foundation/std/monitoring/grafana/server
[✓] web-server/http http://127.0.0.1:33107 # namespacelabs.dev/ea-example/web/server
Ingress endpoints forwarded to your workstation:
[✓] http://web-server.dev.nslocal.host:40080
[✓] http://grpc-gateway-1088nk7bp49rpynz6hqshk6epx.dev.nslocal.host:40080
[✓] grpcurl -plaintext todos-grpc.dev.nslocal.host:40080 # not currently working, see namespacelabs/legacy-foundation#341
When it comes to web/http, what's setup for the user is really the ingress addresses. web-server/http
is even in bold, which may seem to indicate it's important, but it's not. It's an implementation detail and users shouldn't be using this port forward.
Some of the services above are also internal and not really relevant.
So am inclined to hide them by default (perhaps with an option to port forward all ports), the outcome would be:
Services exported to your workstation (port forwarded):
[✓] Jaeger/frontend http://127.0.0.1:44581 # namespacelabs.dev/foundation/std/monitoring/jaeger
[✓] postgresql/postgres 127.0.0.1:37265 --> 5432 # namespacelabs.dev/universe/db/postgres/server
[✓] Prometheus/prometheus http://127.0.0.1:45213 # namespacelabs.dev/foundation/std/monitoring/prometheus/server
[✓] todos grpcurl -plaintext 127.0.0.1:37097 # namespacelabs.dev/ea-example/api/todos
[✓] trends grpcurl -plaintext 127.0.0.1:39899 # namespacelabs.dev/ea-example/api/trends
[✓] Grafana/web http://127.0.0.1:43515 # namespacelabs.dev/foundation/std/monitoring/grafana/server
Ingress endpoints forwarded to your workstation:
[✓] http://web-server.dev.nslocal.host:40080
[✓] http://grpc-gateway-1088nk7bp49rpynz6hqshk6epx.dev.nslocal.host:40080
[✓] grpcurl -plaintext todos-grpc.dev.nslocal.host:40080 # not currently working, see namespacelabs/legacy-foundation#341
Should also add a human label to services or make them more self-explanatory, e.g. "prometheus/frontend" vs "prometheus/prometheus".
setting the correct context and namespace can become annoying
I.e. push a precomputed input we have a digest on, instead of letting buildkit slurp the filesystem.
This would yield full visibility into reproducibility of buildkit invocations, without having to move all orchestration to buildkit itself.
I did give this a first try, by implementing a filesync provider that implements the "local" provider. But buildkit's client tries to be too clever and does client-side parsing of all ops (!) to look for Source ops, and if there's a local one without a "local dir" marked, it bails out.
from buildkit's client/solve.go:
if src := op.GetSource(); src != nil {
if strings.HasPrefix(src.Identifier, "local://") {
name := strings.TrimPrefix(src.Identifier, "local://")
d, ok := localDirs[name]
if !ok {
return nil, errors.Errorf("local directory %s not enabled", name)
}
dirs = append(dirs, filesync.SyncedDir{Name: name, Dir: d, Map: resetUIDAndGID})
}
}
The super simple filesync implementation to read from a fs.FS: https://gist.github.com/hugosantos/2e495a966d1ad7bfdb7b230e415dbbf6
Add
fmt.Fprintf(os.Stderr, "Foo string: Grafana tool runs")
to std/monitoring/grafana/tool/main.go
run ea-example % fn deploy api/server --use_prebuilts=false --log_actions
output
Mar 7 10:37:20.524 UTC namespacelabs.dev/ea-example/api/server package.parse took=2ms
Mar 7 10:37:20.526 UTC namespacelabs.dev/foundation/std/go/grpc/gateway package.parse took=466us
Mar 7 10:37:20.526 UTC namespacelabs.dev/foundation/std/go/grpc/gateway package.load took=543us
Mar 7 10:37:20.527 UTC namespacelabs.dev/foundation/std/go/grpc package.parse took=1ms
Mar 7 10:37:20.527 UTC namespacelabs.dev/ea-example/api/summer package.parse took=1ms
Mar 7 10:37:20.528 UTC namespacelabs.dev/ea-example/api/summer package.load took=2ms
Mar 7 10:37:20.528 UTC namespacelabs.dev/foundation/std/go/core package.parse took=794us
Mar 7 10:37:20.529 UTC namespacelabs.dev/foundation/std/go/core package.load took=1ms
Mar 7 10:37:20.529 UTC namespacelabs.dev/foundation/std/go/grpc/metrics package.parse took=332us
Mar 7 10:37:20.529 UTC namespacelabs.dev/ea-example/api/todos package.parse took=4ms
Mar 7 10:37:20.529 UTC namespacelabs.dev/foundation/std/go/grpc/interceptors package.parse took=444us
Mar 7 10:37:20.530 UTC namespacelabs.dev/foundation/std/go/grpc/interceptors package.load took=663us
Mar 7 10:37:20.532 UTC namespacelabs.dev/foundation/std/monitoring/prometheus/server package.parse took=324us
Mar 7 10:37:20.532 UTC namespacelabs.dev/foundation/std/monitoring/prometheus/server package.load took=461us
Mar 7 10:37:20.532 UTC namespacelabs.dev/universe/db/postgres/server package.parse took=339us
Mar 7 10:37:20.532 UTC namespacelabs.dev/foundation/std/monitoring/prometheus/tool package.parse took=171us
Mar 7 10:37:20.532 UTC namespacelabs.dev/foundation/std/monitoring/prometheus/tool package.load took=249us
Mar 7 10:37:20.532 UTC namespacelabs.dev/foundation/std/monitoring/prometheus package.parse took=2ms
Mar 7 10:37:20.532 UTC namespacelabs.dev/universe/db/postgres/server/creds/tool package.parse took=205us
Mar 7 10:37:20.533 UTC namespacelabs.dev/universe/db/postgres/server/creds/tool package.load took=243us
Mar 7 10:37:20.533 UTC namespacelabs.dev/universe/db/postgres/server/creds package.parse took=570us
Mar 7 10:37:20.533 UTC namespacelabs.dev/foundation/std/monitoring/grafana/server package.parse took=262us
Mar 7 10:37:20.533 UTC namespacelabs.dev/foundation/std/monitoring/grafana/server package.load took=377us
Mar 7 10:37:20.533 UTC namespacelabs.dev/foundation/std/monitoring/grafana/tool package.parse took=430us
Mar 7 10:37:20.533 UTC namespacelabs.dev/foundation/std/monitoring/grafana/tool package.load took=496us
Mar 7 10:37:20.533 UTC namespacelabs.dev/foundation/std/monitoring/grafana package.parse took=1ms
Mar 7 10:37:20.533 UTC namespacelabs.dev/foundation/std/monitoring/grafana package.load took=1ms
Mar 7 10:37:20.533 UTC namespacelabs.dev/foundation/std/monitoring/prometheus package.load took=3ms
Mar 7 10:37:20.534 UTC namespacelabs.dev/universe/db/postgres/creds package.parse took=884us
Mar 7 10:37:20.534 UTC namespacelabs.dev/foundation/std/go/grpc/metrics package.load took=4ms
Mar 7 10:37:20.534 UTC namespacelabs.dev/foundation/std/monitoring/jaeger package.parse took=418us
Mar 7 10:37:20.535 UTC namespacelabs.dev/foundation/std/monitoring/jaeger package.load took=548us
Mar 7 10:37:20.535 UTC namespacelabs.dev/foundation/std/server/tracing package.parse took=971us
Mar 7 10:37:20.535 UTC namespacelabs.dev/foundation/std/server/tracing package.load took=1ms
Mar 7 10:37:20.535 UTC namespacelabs.dev/foundation/std/go/grpc package.load took=10ms
Mar 7 10:37:20.536 UTC namespacelabs.dev/foundation/std/secrets/kubernetes package.parse took=445us
Mar 7 10:37:20.536 UTC namespacelabs.dev/foundation/std/secrets/kubernetes package.load took=547us
Mar 7 10:37:20.536 UTC namespacelabs.dev/foundation/std/secrets package.parse took=2ms
Mar 7 10:37:20.536 UTC namespacelabs.dev/foundation/std/secrets package.load took=2ms
Mar 7 10:37:20.537 UTC namespacelabs.dev/universe/db/postgres/creds package.load took=4ms
Mar 7 10:37:20.537 UTC namespacelabs.dev/universe/db/postgres/server/creds package.load took=5ms
Mar 7 10:37:20.537 UTC namespacelabs.dev/universe/db/postgres/server package.load took=5ms
Mar 7 10:37:20.537 UTC namespacelabs.dev/universe/db/postgres/incluster/tool package.parse took=127us
Mar 7 10:37:20.537 UTC namespacelabs.dev/universe/db/postgres/incluster/tool package.load took=214us
Mar 7 10:37:20.537 UTC namespacelabs.dev/universe/db/postgres/incluster package.parse took=8ms
Mar 7 10:37:20.538 UTC namespacelabs.dev/universe/db/postgres/tool package.parse took=160us
Mar 7 10:37:20.539 UTC namespacelabs.dev/universe/db/postgres/tool package.load took=195us
Mar 7 10:37:20.539 UTC namespacelabs.dev/universe/db/postgres/init package.parse took=138us
Mar 7 10:37:20.539 UTC namespacelabs.dev/universe/db/postgres/init package.load took=171us
Mar 7 10:37:20.539 UTC namespacelabs.dev/universe/db/postgres package.parse took=779us
Mar 7 10:37:20.539 UTC namespacelabs.dev/universe/db/postgres package.load took=837us
Mar 7 10:37:20.539 UTC namespacelabs.dev/universe/db/postgres/incluster package.load took=9ms
Mar 7 10:37:20.540 UTC namespacelabs.dev/ea-example/api/todos package.load took=14ms
Mar 7 10:37:20.540 UTC namespacelabs.dev/ea-example/api/server package.load took=17ms
Mar 7 10:37:20.540 UTC namespacelabs.dev/foundation/std/runtime/kubernetes package.parse took=300us
Mar 7 10:37:20.540 UTC namespacelabs.dev/foundation/std/runtime/kubernetes package.load took=400us
Mar 7 10:37:20.541 UTC namespacelabs.dev/foundation/std/runtime/kubernetes package.eval.provisioning took=66us
Mar 7 10:37:20.541 UTC namespacelabs.dev/universe/db/postgres/creds package.eval.provisioning took=96us
Mar 7 10:37:20.541 UTC namespacelabs.dev/universe/db/postgres package.eval.provisioning took=150us
Mar 7 10:37:20.541 UTC namespacelabs.dev/foundation/std/go/grpc/interceptors package.eval.provisioning took=136us
Mar 7 10:37:20.541 UTC namespacelabs.dev/foundation/std/go/grpc package.eval.provisioning took=151us
Mar 7 10:37:20.541 UTC namespacelabs.dev/foundation/std/go/grpc/gateway package.eval.provisioning took=164us
Mar 7 10:37:20.541 UTC namespacelabs.dev/universe/db/postgres/incluster package.eval.provisioning took=194us
Mar 7 10:37:20.541 UTC namespacelabs.dev/ea-example/api/todos package.eval.provisioning took=187us
Mar 7 10:37:20.541 UTC namespacelabs.dev/foundation/std/go/grpc/metrics package.eval.provisioning took=220us
Mar 7 10:37:20.541 UTC namespacelabs.dev/ea-example/api/summer package.eval.provisioning took=235us
Mar 7 10:37:20.541 UTC namespacelabs.dev/foundation/std/monitoring/grafana package.eval.provisioning took=366us
Mar 7 10:37:20.541 UTC namespacelabs.dev/foundation/std/go/core package.eval.provisioning took=387us
Mar 7 10:37:20.541 UTC namespacelabs.dev/foundation/std/server/tracing package.eval.provisioning took=517us
Mar 7 10:37:20.541 UTC namespacelabs.dev/foundation/std/monitoring/prometheus package.eval.provisioning took=578us
Mar 7 10:37:20.541 UTC namespacelabs.dev/universe/db/postgres/creds package.eval.provisioning took=193us
Mar 7 10:37:20.541 UTC namespacelabs.dev/foundation/std/runtime/kubernetes package.eval.provisioning took=236us
Mar 7 10:37:20.542 UTC namespacelabs.dev/universe/db/postgres/server/creds package.eval.provisioning took=544us
Mar 7 10:37:20.542 UTC namespacelabs.dev/foundation/std/runtime/kubernetes package.eval.provisioning took=629us
Mar 7 10:37:20.542 UTC namespacelabs.dev/foundation/std/runtime/kubernetes package.eval.provisioning took=598us
Mar 7 10:37:20.542 UTC namespacelabs.dev/foundation/std/secrets package.eval.provisioning took=1ms
Mar 7 10:37:20.542 UTC namespacelabs.dev/foundation/std/monitoring/grafana/server stack.compute took=1ms
Mar 7 10:37:20.542 UTC namespacelabs.dev/foundation/std/runtime/kubernetes package.eval.provisioning took=311us
Mar 7 10:37:20.542 UTC namespacelabs.dev/foundation/std/monitoring/prometheus/server stack.compute took=981us
Mar 7 10:37:20.542 UTC namespacelabs.dev/foundation/std/monitoring/jaeger stack.compute took=1ms
Mar 7 10:37:20.543 UTC namespacelabs.dev/foundation/std/secrets package.eval.provisioning took=1ms
Mar 7 10:37:20.543 UTC namespacelabs.dev/universe/db/postgres/server stack.compute took=2ms
Mar 7 10:37:20.543 UTC namespacelabs.dev/ea-example/api/server stack.compute took=2ms
Mar 7 10:37:20.543 UTC namespacelabs.dev/ea-example/api/server graph.compute took=2ms
Mar 7 10:37:20.548 UTC module.contents.load absPath="/Users/niklas/NSL/ea-example" fs.stats={"FileCount":33} waited=91us took=4ms
Mar 7 10:37:20.552 UTC module.contents.observe waited=4ms took=3ms
Mar 7 10:37:20.557 UTC module.contents.load absPath="/Users/niklas/NSL/universe" fs.stats={"FileCount":51} waited=93us took=3ms
Mar 7 10:37:20.560 UTC module.contents.observe waited=3ms took=3ms
Mar 7 10:37:20.561 UTC namespacelabs.dev/ea-example/api/server namespacelabs.dev/foundation/std/monitoring/grafana/server namespacelabs.dev/foundation/std/monitoring/jaeger namespacelabs.dev/foundation/std/monitoring/prometheus/server namespacelabs.dev/universe/db/postgres/server server.provision took=17ms
Mar 7 10:37:20.561 UTC namespacelabs.dev/ea-example/api/server fn.deploy.prepare-server-image platforms=[{"architecture":"arm64","os":"linux","variant":"v8"}] took=453us
Mar 7 10:37:20.562 UTC deploy.compute-ingress waited=69us took=435us
Mar 7 10:37:20.574 UTC cache.load.pre (buildkit.build-image) inputs.digest="sha256:0f1b4d1e3fa75fc665a7ea5d519e9dcf1c252403f1ceabc1a6f6b0e9785e72be" cached=true took=11ms
Mar 7 10:37:20.574 UTC buildkit.build-image
Mar 7 10:37:20.575 UTC cache.load.pre (image.make-layer) label="grpcurl" inputs.digest="sha256:dc1f08b8575e7f7e8e1a1d80d3a55da6907ae42e11e0fff0d1f07747dd24111f" cached=true took=11ms
Mar 7 10:37:20.575 UTC image.make-layer label="grpcurl"
Mar 7 10:37:20.575 UTC cache.load.pre (image.fetch) platform="linux/arm64/v8" ref="docker.io/library/alpine:3.14@sha256:e1c082e3d3c45cccac829840a25941e679c25d438cc8412c2fa221cf1a824e6a" inputs.digest="sha256:da00ef64e0cd42a5bf1de21ac6f58dd763d2de07616d54ff629683e0c331d971" cached=true took=11ms
Mar 7 10:37:20.575 UTC image.fetch platform="linux/arm64/v8" ref="docker.io/library/alpine:3.14@sha256:e1c082e3d3c45cccac829840a25941e679c25d438cc8412c2fa221cf1a824e6a"
Mar 7 10:37:20.589 UTC cache.load.pre (artifacts.fsops.merge) inputs.digest="sha256:45d212eda838195e5a1806fda5ec6bfa386b0d2cfc97959b133538622ed3a291" cached=true took=3ms
Mar 7 10:37:20.589 UTC artifacts.fsops.merge
Mar 7 10:37:20.592 UTC namespacelabs.dev/ea-example/api/todos namespacelabs.dev/ea-example/api/summer namespacelabs.dev/ea-example/api/server workspace.codegen took=26ms
Mar 7 10:37:20.593 UTC module.contents.post-codegen waited=643us took=28ms
Mar 7 10:37:20.634 UTC module.contents.load absPath="/Users/niklas/NSL/foundation" fs.stats={"FileCount":532} waited=2ms took=65ms
Mar 7 10:37:20.677 UTC module.contents.observe waited=76ms took=35ms
Mar 7 10:37:23.068 UTC local.exec command="/Users/niklas/Library/Caches/fn/sdk/go/1.17.7/go/bin/go" args=["build","-v","-o=/Users/niklas/Library/Caches/fn/tmp/go/build1903818681/ns.tool","./std/monitoring/prometheus/tool"] took=2.4s
Mar 7 10:37:23.148 UTC local.exec command="/Users/niklas/Library/Caches/fn/sdk/go/1.17.7/go/bin/go" args=["build","-v","-o=/Users/niklas/Library/Caches/fn/tmp/go/build2365049923/setup-postgres","./db/postgres/tool"] took=2.6s
Mar 7 10:37:23.152 UTC local.exec command="/Users/niklas/Library/Caches/fn/sdk/go/1.17.7/go/bin/go" args=["build","-v","-o=/Users/niklas/Library/Caches/fn/tmp/go/build2407824066/setup-postgres-server","./db/postgres/server/creds/tool"] took=2.6s
Mar 7 10:37:23.348 UTC local.exec command="/Users/niklas/Library/Caches/fn/sdk/go/1.17.7/go/bin/go" args=["build","-v","-o=/Users/niklas/Library/Caches/fn/tmp/go/build2311021657/setup-incluster-postgres","./db/postgres/incluster/tool"] took=2.8s
Mar 7 10:37:23.397 UTC local.exec command="/Users/niklas/Library/Caches/fn/sdk/go/1.17.7/go/bin/go" args=["build","-v","-o=/Users/niklas/Library/Caches/fn/tmp/go/build369157224/ns.tool","./std/monitoring/grafana/tool"] took=2.7s
Mar 7 10:37:23.485 UTC local.exec command="/Users/niklas/Library/Caches/fn/sdk/go/1.17.7/go/bin/go" args=["build","-v","-o=/Users/niklas/Library/Caches/fn/tmp/go/build1229340339/init-postgres","./db/postgres/init"] took=2.9s
Mar 7 10:37:23.550 UTC go.build.binary binary="ns.tool" module_path="." source_path="std/monitoring/prometheus/tool" platform="linux/arm64/v8" waited=114ms took=2.9s
Mar 7 10:37:23.555 UTC cache.load.post (image.make-layer) label="binary" inputs.digest="sha256:eab23ffdf7ee427ef48ac744c2edbc6799d91ed481d14fc42b8861d3e586d894" cached=true took=4ms
Mar 7 10:37:23.555 UTC image.make-layer label="binary"
Mar 7 10:37:23.558 UTC cache.load.post (image.make) base="docker.io/library/alpine:3.14@sha256:e1c082e3d3c45cccac829840a25941e679c25d438cc8412c2fa221cf1a824e6a" len(layers)=1 inputs.digest="sha256:fdaa5a557ed7973f5785854473b12914cab01653dac1bee6091e622c6813aa3a" cached=true took=3ms
Mar 7 10:37:23.558 UTC image.make base="docker.io/library/alpine:3.14@sha256:e1c082e3d3c45cccac829840a25941e679c25d438cc8412c2fa221cf1a824e6a" len(layers)=1
Mar 7 10:37:23.558 UTC go.make-binary-image binary={"packageName":"namespacelabs.dev/foundation/std/monitoring/prometheus/tool","modulePath":".","module":"namespacelabs.dev/foundation","goVersion":"1.17","sourcePath":"std/monitoring/prometheus/tool","binaryName":"ns.tool","capabilities":null} waited=3.0s took=52us
Mar 7 10:37:23.559 UTC namespacelabs.dev/foundation/std/monitoring/prometheus/tool Binary namespacelabs.dev/foundation/std/monitoring/prometheus/tool [fn.build] waited=3.0s took=36us
Mar 7 10:37:23.562 UTC namespacelabs.dev/foundation/std/monitoring/prometheus cache.load.post (provision.invoke) inputs.digest="sha256:51a378902014b805d8aa3d158c6fe4570b98b3457208356ce0a3961a2ad8eab0" cached=false took=3ms
Mar 7 10:37:23.585 UTC go.build.binary binary="setup-postgres" module_path="." source_path="db/postgres/tool" platform="linux/arm64/v8" waited=649us took=3.0s
Mar 7 10:37:23.589 UTC cache.load.post (image.make-layer) label="binary" inputs.digest="sha256:79d96b82abdb546a30371aa02c5a9bf693618587db635c48ae191b733d327bec" cached=true took=3ms
Mar 7 10:37:23.589 UTC image.make-layer label="binary"
Mar 7 10:37:23.596 UTC cache.load.post (image.make) base="docker.io/library/alpine:3.14@sha256:e1c082e3d3c45cccac829840a25941e679c25d438cc8412c2fa221cf1a824e6a" len(layers)=1 inputs.digest="sha256:76d53215527c1fa8bbef9f1b5a5704c76446f2249da882ab50bbd6155bf402e4" cached=true took=7ms
Mar 7 10:37:23.596 UTC image.make base="docker.io/library/alpine:3.14@sha256:e1c082e3d3c45cccac829840a25941e679c25d438cc8412c2fa221cf1a824e6a" len(layers)=1
Mar 7 10:37:23.597 UTC go.make-binary-image binary={"packageName":"namespacelabs.dev/universe/db/postgres/tool","modulePath":".","module":"namespacelabs.dev/universe","goVersion":"1.17","sourcePath":"db/postgres/tool","binaryName":"setup-postgres","capabilities":null} waited=3.0s took=50us
Mar 7 10:37:23.597 UTC namespacelabs.dev/universe/db/postgres/tool Binary namespacelabs.dev/universe/db/postgres/tool [fn.build] waited=3.0s took=42us
Mar 7 10:37:23.600 UTC namespacelabs.dev/universe/db/postgres cache.load.post (provision.invoke) inputs.digest="sha256:43136f779dbe68bb21b37eaaab518a7f9876a174e42dfc137e075362a5043dd8" cached=false took=3ms
Mar 7 10:37:23.683 UTC go.build.binary binary="setup-postgres-server" module_path="." source_path="db/postgres/server/creds/tool" platform="linux/arm64/v8" waited=570us took=3.1s
Mar 7 10:37:23.694 UTC cache.load.post (image.make-layer) label="binary" inputs.digest="sha256:b104f4a93a1576aa7dde2e1dbc6e2bfe1299a73c985215bb06b524c7894f7cea" cached=true took=10ms
Mar 7 10:37:23.694 UTC image.make-layer label="binary"
Mar 7 10:37:23.697 UTC cache.load.post (image.make) base="docker.io/library/alpine:3.14@sha256:e1c082e3d3c45cccac829840a25941e679c25d438cc8412c2fa221cf1a824e6a" len(layers)=1 inputs.digest="sha256:7e07afeabd77db8ae40fb1128acfb840ee6cda19563bbfa8ab749d72a1023a8a" cached=true took=3ms
Mar 7 10:37:23.697 UTC image.make base="docker.io/library/alpine:3.14@sha256:e1c082e3d3c45cccac829840a25941e679c25d438cc8412c2fa221cf1a824e6a" len(layers)=1
Mar 7 10:37:23.698 UTC go.make-binary-image binary={"packageName":"namespacelabs.dev/universe/db/postgres/server/creds/tool","modulePath":".","module":"namespacelabs.dev/universe","goVersion":"1.17","sourcePath":"db/postgres/server/creds/tool","binaryName":"setup-postgres-server","capabilities":null} waited=3.1s took=45us
Mar 7 10:37:23.698 UTC namespacelabs.dev/universe/db/postgres/server/creds/tool Binary namespacelabs.dev/universe/db/postgres/server/creds/tool [fn.build] waited=3.1s took=35us
Mar 7 10:37:23.701 UTC namespacelabs.dev/universe/db/postgres/server/creds cache.load.post (provision.invoke) inputs.digest="sha256:ca9d84a9a81a3376c15cd5a0c6a0eb3732edcecb73d22b3c3b1efa3c1cdda68b" cached=false took=3ms
Mar 7 10:37:23.785 UTC docker.image-load ref="namespacelabs.dev/foundation/std/monitoring/prometheus/tool:local" digest="sha256:c6fc36512b4e65f87209c5f77dc0a628584ad12c73e52649eb1569f4dee10976" config="sha256:dd43f3be3ab0b1fd4ffba0148b77ae9ed9175c3a6e2287a2c505a9c61504ec78" took=222ms
Mar 7 10:37:23.791 UTC docker.image-load ref="namespacelabs.dev/universe/db/postgres/server/creds/tool:local" digest="sha256:1e3839957e395bc4bfbffe1bbf5a7ec8192d249e1be01a9b599b8183044665d2" config="sha256:d7b3ef54205ff47f739b1201814a92b69df52e1bb93dd73ba10aa2347060439d" took=88ms
Mar 7 10:37:23.791 UTC docker.image-load ref="namespacelabs.dev/universe/db/postgres/tool:local" digest="sha256:426d85414a147295dbc20b3350d8410e027271fd6150da37bbfdaf22290b4d57" config="sha256:2e7e0fc60ab086aa962ef53d51a4c296dcded6c03652cbb822998ce90b7b07aa" took=189ms
Mar 7 10:37:23.852 UTC go.build.binary binary="setup-incluster-postgres" module_path="." source_path="db/postgres/incluster/tool" platform="linux/arm64/v8" waited=679us took=3.3s
Mar 7 10:37:23.857 UTC cache.load.post (image.make-layer) label="binary" inputs.digest="sha256:9700df1f8317b520791dff6fcf884979add747940e080e520c94fee0d1b6488e" cached=true took=4ms
Mar 7 10:37:23.857 UTC image.make-layer label="binary"
Mar 7 10:37:23.860 UTC cache.load.post (image.make) base="docker.io/library/alpine:3.14@sha256:e1c082e3d3c45cccac829840a25941e679c25d438cc8412c2fa221cf1a824e6a" len(layers)=1 inputs.digest="sha256:ab6cab034774e157a040b5806de1043e970c384775fd79484152e4c8d1fdf010" cached=true took=3ms
Mar 7 10:37:23.860 UTC image.make base="docker.io/library/alpine:3.14@sha256:e1c082e3d3c45cccac829840a25941e679c25d438cc8412c2fa221cf1a824e6a" len(layers)=1
Mar 7 10:37:23.860 UTC go.make-binary-image binary={"packageName":"namespacelabs.dev/universe/db/postgres/incluster/tool","modulePath":".","module":"namespacelabs.dev/universe","goVersion":"1.17","sourcePath":"db/postgres/incluster/tool","binaryName":"setup-incluster-postgres","capabilities":null} waited=3.3s took=53us
Mar 7 10:37:23.861 UTC namespacelabs.dev/universe/db/postgres/incluster/tool Binary namespacelabs.dev/universe/db/postgres/incluster/tool [fn.build] waited=3.3s took=41us
Mar 7 10:37:23.864 UTC namespacelabs.dev/universe/db/postgres/incluster cache.load.post (provision.invoke) inputs.digest="sha256:3f1fbc60eeacb1f7f06641159e33bf671c01c2db4723b2171a5b90787fc55565" cached=false took=3ms
Mar 7 10:37:23.921 UTC docker.image-load ref="namespacelabs.dev/universe/db/postgres/incluster/tool:local" digest="sha256:eb57f83ad8580df7825360063b0933b4ef4f9e0d48bf648af5d2d103b9f6edb9" config="sha256:318819baf2527c4fe5c26acaaaeed3e832a49de735a3432e2f73887d2dd54bea" took=55ms
Mar 7 10:37:23.932 UTC local.exec command="/Users/niklas/Library/Caches/fn/sdk/go/1.17.7/go/bin/go" args=["build","-v","-o=/Users/niklas/Library/Caches/fn/tmp/go/build1478444987/server","./api/server"] took=3.3s
Mar 7 10:37:23.948 UTC go.build.binary binary="init-postgres" module_path="." source_path="db/postgres/init" platform="linux/arm64/v8" waited=613us took=3.4s
Mar 7 10:37:23.958 UTC cache.load.post (image.make-layer) label="binary" inputs.digest="sha256:b053a16f70c40af45ba847260e428443c8ed748afd4706b5a018f30c32bbee8b" cached=true took=10ms
Mar 7 10:37:23.958 UTC image.make-layer label="binary"
Mar 7 10:37:23.962 UTC cache.load.post (image.make) base="docker.io/library/alpine:3.14@sha256:e1c082e3d3c45cccac829840a25941e679c25d438cc8412c2fa221cf1a824e6a" len(layers)=1 inputs.digest="sha256:1c091ddfe0efa5022845e9ec7095cff214c34f0865ea3d5531b6d0284f169b19" cached=true took=3ms
Mar 7 10:37:23.962 UTC image.make base="docker.io/library/alpine:3.14@sha256:e1c082e3d3c45cccac829840a25941e679c25d438cc8412c2fa221cf1a824e6a" len(layers)=1
Mar 7 10:37:23.963 UTC go.make-binary-image binary={"packageName":"namespacelabs.dev/universe/db/postgres/init","modulePath":".","module":"namespacelabs.dev/universe","goVersion":"1.17","sourcePath":"db/postgres/init","binaryName":"init-postgres","capabilities":null} waited=3.4s took=5us
Mar 7 10:37:23.963 UTC namespacelabs.dev/universe/db/postgres/init Binary namespacelabs.dev/universe/db/postgres/init [fn.build] waited=3.4s took=6us
Mar 7 10:37:24.034 UTC go.build.binary binary="ns.tool" module_path="." source_path="std/monitoring/grafana/tool" platform="linux/arm64/v8" waited=112ms took=3.4s
Mar 7 10:37:24.038 UTC cache.load.post (image.make-layer) label="binary" inputs.digest="sha256:17efbc8aa51dbe2a4a54f0c2a865a044687efd9453e2583e8cf25727256a7a66" cached=true took=4ms
Mar 7 10:37:24.038 UTC image.make-layer label="binary"
Mar 7 10:37:24.042 UTC cache.load.post (image.make) base="docker.io/library/alpine:3.14@sha256:e1c082e3d3c45cccac829840a25941e679c25d438cc8412c2fa221cf1a824e6a" len(layers)=1 inputs.digest="sha256:c3457a14bacdd69b5994ca603bee82a55dfbdc192db0d15c3f52f9eeb4ddc7d4" cached=false took=3ms
Mar 7 10:37:24.052 UTC oci.write-image ref="k3d-registry.nslocal.dev:41000/namespacelabs.dev/universe/db/postgres/init:6987i9nej9h16" took=88ms
Mar 7 10:37:24.052 UTC image.publish publish="fn.publish.registry" tag="k3d-registry.nslocal.dev:41000/namespacelabs.dev/universe/db/postgres/init:6987i9nej9h16" waited=3.4s took=88ms
Mar 7 10:37:24.073 UTC local.exec command="/Users/niklas/Library/Caches/fn/sdk/go/1.17.7/go/bin/go" args=["build","-v","-o=/Users/niklas/Library/Caches/fn/tmp/go/build1076430038/ns.tool","./std/secrets/kubernetes"] took=3.4s
Mar 7 10:37:24.077 UTC local.exec command="/Users/niklas/Library/Caches/fn/sdk/go/1.17.7/go/bin/go" args=["build","-v","-o=/Users/niklas/Library/Caches/fn/tmp/go/build2930583674/ns.tool","./std/secrets/kubernetes"] took=3.4s
Mar 7 10:37:24.276 UTC image.make base="docker.io/library/alpine:3.14@sha256:e1c082e3d3c45cccac829840a25941e679c25d438cc8412c2fa221cf1a824e6a" len(layers)=1 waited=3.5s took=234ms
Mar 7 10:37:24.276 UTC go.make-binary-image binary={"packageName":"namespacelabs.dev/foundation/std/monitoring/grafana/tool","modulePath":".","module":"namespacelabs.dev/foundation","goVersion":"1.17","sourcePath":"std/monitoring/grafana/tool","binaryName":"ns.tool","capabilities":null} waited=3.7s took=51us
Mar 7 10:37:24.276 UTC namespacelabs.dev/foundation/std/monitoring/grafana/tool Binary namespacelabs.dev/foundation/std/monitoring/grafana/tool [fn.build] waited=3.7s took=265us
Mar 7 10:37:24.280 UTC namespacelabs.dev/foundation/std/monitoring/grafana cache.load.post (provision.invoke) inputs.digest="sha256:89c08b51879f7f0f1b94044c6ba3c7fbba2e08538770b06a3dbd8004156a3c54" cached=false took=3ms
Mar 7 10:37:24.282 UTC cache.store (image.make) base="docker.io/library/alpine:3.14@sha256:e1c082e3d3c45cccac829840a25941e679c25d438cc8412c2fa221cf1a824e6a" len(layers)=1 digests=[{"Algorithm":"sha256","Hex":"c3457a14bacdd69b5994ca603bee82a55dfbdc192db0d15c3f52f9eeb4ddc7d4"}] took=6ms
Mar 7 10:37:24.286 UTC docker.image-load ref="namespacelabs.dev/foundation/std/monitoring/grafana/tool:local" digest="sha256:a862c9a46165acb152e37f461f75085f01558c9e1cab1f7749852cf4d8803192" config="sha256:c135a338e047a8209ca5a3cd7845453599dd3d22894f3d2198c300420bf1127a" took=4ms
Mar 7 10:37:24.380 UTC go.build.binary binary="server" module_path="." source_path="api/server" platform="linux/arm64/v8" waited=30ms took=3.8s
Mar 7 10:37:24.384 UTC cache.load.post (image.make-layer) label="binary" inputs.digest="sha256:c4a424e9744e788ff56385621277fd0fb36fb668a03abed647f3fdd892887392" cached=true took=4ms
Mar 7 10:37:24.384 UTC image.make-layer label="binary"
Mar 7 10:37:24.388 UTC cache.load.post (image.make) base="(buildkit)" len(layers)=2 inputs.digest="sha256:f306b6e2307f09c4c10a8426fe19b498670e695e92dd7d0eb67d1c936b9ab86b" cached=true took=3ms
Mar 7 10:37:24.388 UTC image.make base="(buildkit)" len(layers)=2
Mar 7 10:37:24.388 UTC go.make-binary-image binary={"packageName":"namespacelabs.dev/ea-example/api/server","modulePath":".","module":"namespacelabs.dev/ea-example","goVersion":"1.17","sourcePath":"api/server","binaryName":"server","capabilities":["grpc","server"]} waited=3.8s took=11us
Mar 7 10:37:24.388 UTC namespacelabs.dev/ea-example/api/server Server namespacelabs.dev/ea-example/api/server [fn.build] waited=3.8s took=2us
Mar 7 10:37:24.450 UTC oci.write-image ref="k3d-registry.nslocal.dev:41000/namespacelabs.dev/ea-example/api/server:6987i9nej9h16" took=61ms
Mar 7 10:37:24.450 UTC image.publish publish="fn.publish.registry" tag="k3d-registry.nslocal.dev:41000/namespacelabs.dev/ea-example/api/server:6987i9nej9h16" waited=3.8s took=61ms
Mar 7 10:37:24.450 UTC server.build waited=3.9s took=28us
Mar 7 10:37:24.513 UTC docker.run args=["run","--rm","--pull=never","-i","-w","/","--net=none","sha256:dd43f3be3ab0b1fd4ffba0148b77ae9ed9175c3a6e2287a2c505a9c61504ec78","/ns.tool"] took=727ms
Mar 7 10:37:24.513 UTC container.execute command=["/ns.tool"] imageName="namespacelabs.dev/foundation/std/monitoring/prometheus/tool" digest="sha256:c6fc36512b4e65f87209c5f77dc0a628584ad12c73e52649eb1569f4dee10976" config="sha256:dd43f3be3ab0b1fd4ffba0148b77ae9ed9175c3a6e2287a2c505a9c61504ec78" args=null took=949ms
Mar 7 10:37:24.513 UTC namespacelabs.dev/foundation/std/monitoring/prometheus provision.invoke waited=3.0s took=951ms
Mar 7 10:37:24.520 UTC namespacelabs.dev/foundation/std/monitoring/prometheus cache.store (provision.invoke) digests=[{"Algorithm":"sha256","Hex":"51a378902014b805d8aa3d158c6fe4570b98b3457208356ce0a3961a2ad8eab0"}] took=6ms
Mar 7 10:37:24.528 UTC go.build.binary binary="ns.tool" module_path="." source_path="std/secrets/kubernetes" platform="linux/arm64/v8" waited=112ms took=3.9s
Mar 7 10:37:24.531 UTC docker.run args=["run","--rm","--pull=never","-i","-w","/","--net=none","sha256:d7b3ef54205ff47f739b1201814a92b69df52e1bb93dd73ba10aa2347060439d","/setup-postgres-server"] took=740ms
Mar 7 10:37:24.531 UTC container.execute command=["/setup-postgres-server"] imageName="namespacelabs.dev/universe/db/postgres/server/creds/tool" digest="sha256:1e3839957e395bc4bfbffe1bbf5a7ec8192d249e1be01a9b599b8183044665d2" config="sha256:d7b3ef54205ff47f739b1201814a92b69df52e1bb93dd73ba10aa2347060439d" args=null took=829ms
Mar 7 10:37:24.531 UTC namespacelabs.dev/universe/db/postgres/server/creds provision.invoke waited=3.1s took=830ms
Mar 7 10:37:24.532 UTC cache.load.post (image.make-layer) label="binary" inputs.digest="sha256:10a28f2f1186b36e2b5f7e8a7bf72c8c6a9fcb127ba10e51e9d8e2accc5ea73c" cached=true took=4ms
Mar 7 10:37:24.532 UTC image.make-layer label="binary"
Mar 7 10:37:24.536 UTC go.build.binary binary="ns.tool" module_path="." source_path="std/secrets/kubernetes" platform="linux/arm64/v8" waited=114ms took=3.9s
Mar 7 10:37:24.536 UTC cache.load.post (image.make) base="docker.io/library/alpine:3.14@sha256:e1c082e3d3c45cccac829840a25941e679c25d438cc8412c2fa221cf1a824e6a" len(layers)=1 inputs.digest="sha256:e5280420d3ff7faf175a6994b88203b8e30a59b625d32d4cf72398e7b319b36c" cached=true took=3ms
Mar 7 10:37:24.536 UTC image.make base="docker.io/library/alpine:3.14@sha256:e1c082e3d3c45cccac829840a25941e679c25d438cc8412c2fa221cf1a824e6a" len(layers)=1
Mar 7 10:37:24.536 UTC go.make-binary-image binary={"packageName":"namespacelabs.dev/foundation/std/secrets/kubernetes","modulePath":".","module":"namespacelabs.dev/foundation","goVersion":"1.17","sourcePath":"std/secrets/kubernetes","binaryName":"ns.tool","capabilities":null} waited=4.0s took=37us
Mar 7 10:37:24.536 UTC namespacelabs.dev/foundation/std/secrets/kubernetes Binary namespacelabs.dev/foundation/std/secrets/kubernetes [fn.build] waited=4.0s took=34us
Mar 7 10:37:24.537 UTC namespacelabs.dev/universe/db/postgres/server/creds cache.store (provision.invoke) digests=[{"Algorithm":"sha256","Hex":"ca9d84a9a81a3376c15cd5a0c6a0eb3732edcecb73d22b3c3b1efa3c1cdda68b"}] took=6ms
Mar 7 10:37:24.539 UTC docker.image-load ref="namespacelabs.dev/foundation/std/secrets/kubernetes:local" digest="sha256:28a7e7094ae68965309f8c9130e855cc1e40ada00d728fafc2ea516ce57e0e79" config="sha256:143e3399fe5e1e5b2b08d9e55b3c12cb70e6360e674ab0847fe3d37d60a6a175" took=2ms
Mar 7 10:37:24.542 UTC cache.load.post (image.make-layer) label="binary" inputs.digest="sha256:10a28f2f1186b36e2b5f7e8a7bf72c8c6a9fcb127ba10e51e9d8e2accc5ea73c" cached=true took=6ms
Mar 7 10:37:24.543 UTC image.make-layer label="binary"
Mar 7 10:37:24.548 UTC cache.load.post (image.make) base="docker.io/library/alpine:3.14@sha256:e1c082e3d3c45cccac829840a25941e679c25d438cc8412c2fa221cf1a824e6a" len(layers)=1 inputs.digest="sha256:e5280420d3ff7faf175a6994b88203b8e30a59b625d32d4cf72398e7b319b36c" cached=true took=3ms
Mar 7 10:37:24.548 UTC image.make base="docker.io/library/alpine:3.14@sha256:e1c082e3d3c45cccac829840a25941e679c25d438cc8412c2fa221cf1a824e6a" len(layers)=1
Mar 7 10:37:24.549 UTC go.make-binary-image binary={"packageName":"namespacelabs.dev/foundation/std/secrets/kubernetes","modulePath":".","module":"namespacelabs.dev/foundation","goVersion":"1.17","sourcePath":"std/secrets/kubernetes","binaryName":"ns.tool","capabilities":null} waited=4.0s took=15us
Mar 7 10:37:24.549 UTC namespacelabs.dev/foundation/std/secrets/kubernetes Binary namespacelabs.dev/foundation/std/secrets/kubernetes [fn.build] waited=4.0s took=3us
Mar 7 10:37:24.553 UTC docker.image-load ref="namespacelabs.dev/foundation/std/secrets/kubernetes:local" digest="sha256:28a7e7094ae68965309f8c9130e855cc1e40ada00d728fafc2ea516ce57e0e79" config="sha256:143e3399fe5e1e5b2b08d9e55b3c12cb70e6360e674ab0847fe3d37d60a6a175" took=2ms
Mar 7 10:37:24.556 UTC docker.run args=["run","--rm","--pull=never","-i","-w","/","--net=none","sha256:318819baf2527c4fe5c26acaaaeed3e832a49de735a3432e2f73887d2dd54bea","/setup-incluster-postgres"] took=635ms
Mar 7 10:37:24.556 UTC container.execute command=["/setup-incluster-postgres"] imageName="namespacelabs.dev/universe/db/postgres/incluster/tool" digest="sha256:eb57f83ad8580df7825360063b0933b4ef4f9e0d48bf648af5d2d103b9f6edb9" config="sha256:318819baf2527c4fe5c26acaaaeed3e832a49de735a3432e2f73887d2dd54bea" args=null took=690ms
Mar 7 10:37:24.557 UTC namespacelabs.dev/universe/db/postgres/incluster provision.invoke waited=3.3s took=693ms
Mar 7 10:37:24.564 UTC namespacelabs.dev/universe/db/postgres/incluster cache.store (provision.invoke) digests=[{"Algorithm":"sha256","Hex":"3f1fbc60eeacb1f7f06641159e33bf671c01c2db4723b2171a5b90787fc55565"}] took=6ms
Mar 7 10:37:24.585 UTC docker.run args=["run","--rm","--pull=never","-i","-w","/","--net=none","sha256:2e7e0fc60ab086aa962ef53d51a4c296dcded6c03652cbb822998ce90b7b07aa","/setup-postgres"] took=793ms
Mar 7 10:37:24.585 UTC container.execute command=["/setup-postgres"] imageName="namespacelabs.dev/universe/db/postgres/tool" digest="sha256:426d85414a147295dbc20b3350d8410e027271fd6150da37bbfdaf22290b4d57" config="sha256:2e7e0fc60ab086aa962ef53d51a4c296dcded6c03652cbb822998ce90b7b07aa" args=null took=983ms
Mar 7 10:37:24.585 UTC namespacelabs.dev/universe/db/postgres provision.invoke waited=3.0s took=984ms
Mar 7 10:37:24.591 UTC namespacelabs.dev/universe/db/postgres cache.store (provision.invoke) digests=[{"Algorithm":"sha256","Hex":"43136f779dbe68bb21b37eaaab518a7f9876a174e42dfc137e075362a5043dd8"}] took=5ms
Mar 7 10:37:24.780 UTC docker.run args=["run","--rm","--pull=never","-i","-w","/","--net=none","sha256:c135a338e047a8209ca5a3cd7845453599dd3d22894f3d2198c300420bf1127a","/ns.tool"] took=494ms
Mar 7 10:37:24.780 UTC container.execute command=["/ns.tool"] imageName="namespacelabs.dev/foundation/std/monitoring/grafana/tool" digest="sha256:a862c9a46165acb152e37f461f75085f01558c9e1cab1f7749852cf4d8803192" config="sha256:c135a338e047a8209ca5a3cd7845453599dd3d22894f3d2198c300420bf1127a" args=null took=499ms
Mar 7 10:37:24.781 UTC namespacelabs.dev/foundation/std/monitoring/grafana provision.invoke waited=3.7s took=500ms
Mar 7 10:37:24.786 UTC namespacelabs.dev/foundation/std/monitoring/grafana cache.store (provision.invoke) digests=[{"Algorithm":"sha256","Hex":"89c08b51879f7f0f1b94044c6ba3c7fbba2e08538770b06a3dbd8004156a3c54"}] took=5ms
Mar 7 10:37:24.976 UTC docker.run args=["run","--rm","--pull=never","-i","-w","/","--net=none","sha256:143e3399fe5e1e5b2b08d9e55b3c12cb70e6360e674ab0847fe3d37d60a6a175","/ns.tool"] took=437ms
Mar 7 10:37:24.976 UTC container.execute command=["/ns.tool"] imageName="namespacelabs.dev/foundation/std/secrets/kubernetes" digest="sha256:28a7e7094ae68965309f8c9130e855cc1e40ada00d728fafc2ea516ce57e0e79" config="sha256:143e3399fe5e1e5b2b08d9e55b3c12cb70e6360e674ab0847fe3d37d60a6a175" args=null took=439ms
Mar 7 10:37:24.976 UTC namespacelabs.dev/foundation/std/secrets provision.invoke waited=4.0s took=440ms
Mar 7 10:37:25.023 UTC docker.run args=["run","--rm","--pull=never","-i","-w","/","--net=none","sha256:143e3399fe5e1e5b2b08d9e55b3c12cb70e6360e674ab0847fe3d37d60a6a175","/ns.tool"] took=470ms
Mar 7 10:37:25.023 UTC container.execute command=["/ns.tool"] imageName="namespacelabs.dev/foundation/std/secrets/kubernetes" digest="sha256:28a7e7094ae68965309f8c9130e855cc1e40ada00d728fafc2ea516ce57e0e79" config="sha256:143e3399fe5e1e5b2b08d9e55b3c12cb70e6360e674ab0847fe3d37d60a6a175" args=null took=473ms
Mar 7 10:37:25.023 UTC namespacelabs.dev/foundation/std/secrets provision.invoke waited=4.0s took=474ms
Mar 7 10:37:25.023 UTC provision.invoke-handlers waited=4.5s took=38us
Mar 7 10:37:25.027 UTC namespacelabs.dev/ea-example/api/server namespacelabs.dev/foundation/std/monitoring/grafana/server namespacelabs.dev/foundation/std/monitoring/jaeger namespacelabs.dev/foundation/std/monitoring/prometheus/server namespacelabs.dev/universe/db/postgres/server server.provision waited=4.5s took=3ms
Mar 7 10:37:25.027 UTC deploy.make-graph waited=4.5s took=70us
Mar 7 10:37:25.034 UTC Namespace [kubernetes.apply] resource="namespaces" name="dev" namespace="" took=7ms
Mar 7 10:37:25.039 UTC Grafana ConfigMap [kubernetes.apply] resource="configmaps" name="grafana.foundation.namespacelabs.dev" namespace="dev" took=4ms
Mar 7 10:37:25.042 UTC Prometheus ClusterRole [kubernetes.apply] resource="clusterroles" name="fn:prometheus" namespace="" took=3ms
Mar 7 10:37:25.046 UTC Prometheus ClusterRoleBinding [kubernetes.apply] resource="clusterrolebindings" name="fn:prometheus" namespace="" took=3ms
Mar 7 10:37:25.050 UTC Prometheus ConfigMap [kubernetes.apply] resource="configmaps" name="prometheus.foundation.namespacelabs.dev" namespace="dev" took=3ms
Mar 7 10:37:25.053 UTC server secrets [kubernetes.apply] resource="secrets" name="1088nk7bp49rpynz6hqshk6epx.secrets.namespacelabs.dev" namespace="dev" took=3ms
Mar 7 10:37:25.057 UTC Postgres Init ConfigMap [kubernetes.apply] resource="configmaps" name="incluster.init.postgres.foundation.namespacelabs.dev" namespace="dev" took=3ms
Mar 7 10:37:25.061 UTC server secrets [kubernetes.apply] resource="secrets" name="422eajpp5jt8pjwfp2vrq5f0ce.secrets.namespacelabs.dev" namespace="dev" took=3ms
Mar 7 10:37:25.064 UTC namespacelabs.dev/ea-example/api/server Service Account [kubernetes.apply] resource="serviceaccounts" name="api-backend-1088nk7bp49rpynz6hqshk6epx" namespace="dev" took=3ms
Mar 7 10:37:25.072 UTC namespacelabs.dev/ea-example/api/server Server Deployment [kubernetes.apply] resource="deployments" name="api-backend-1088nk7bp49rpynz6hqshk6epx" namespace="dev" took=7ms
Mar 7 10:37:25.079 UTC namespacelabs.dev/ea-example/api/server Service grpc-api [kubernetes.apply] resource="services" name="grpc-api-1088nk7bp49rpynz6hqshk6epx" namespace="dev" took=6ms
Mar 7 10:37:25.086 UTC namespacelabs.dev/ea-example/api/server Service grpc-gateway [kubernetes.apply] resource="services" name="grpc-gateway-1088nk7bp49rpynz6hqshk6epx" namespace="dev" took=7ms
Mar 7 10:37:25.091 UTC namespacelabs.dev/ea-example/api/server Service summer [kubernetes.apply] resource="services" name="summer" namespace="dev" took=4ms
Mar 7 10:37:25.096 UTC namespacelabs.dev/ea-example/api/server Service todos [kubernetes.apply] resource="services" name="todos" namespace="dev" took=4ms
Mar 7 10:37:25.099 UTC namespacelabs.dev/foundation/std/monitoring/grafana/server Service Account [kubernetes.apply] resource="serviceaccounts" name="grafana-4dt58k5hmmwh5sq878msdwpn74" namespace="dev" took=3ms
Mar 7 10:37:25.104 UTC namespacelabs.dev/foundation/std/monitoring/grafana/server Server Deployment [kubernetes.apply] resource="deployments" name="grafana-4dt58k5hmmwh5sq878msdwpn74" namespace="dev" took=4ms
Mar 7 10:37:25.110 UTC namespacelabs.dev/foundation/std/monitoring/grafana/server Service web [kubernetes.apply] resource="services" name="web-4dt58k5hmmwh5sq878msdwpn74" namespace="dev" took=5ms
Mar 7 10:37:25.113 UTC namespacelabs.dev/foundation/std/monitoring/jaeger Service Account [kubernetes.apply] resource="serviceaccounts" name="jaeger-23crtq628x848gfajbfhv6btj8" namespace="dev" took=3ms
Mar 7 10:37:25.119 UTC namespacelabs.dev/foundation/std/monitoring/jaeger Server Deployment [kubernetes.apply] resource="deployments" name="jaeger-23crtq628x848gfajbfhv6btj8" namespace="dev" took=5ms
Mar 7 10:37:25.125 UTC namespacelabs.dev/foundation/std/monitoring/jaeger Service collector [kubernetes.apply] resource="services" name="collector-23crtq628x848gfajbfhv6btj8" namespace="dev" took=5ms
Mar 7 10:37:25.130 UTC namespacelabs.dev/foundation/std/monitoring/jaeger Service frontend [kubernetes.apply] resource="services" name="frontend-23crtq628x848gfajbfhv6btj8" namespace="dev" took=5ms
Mar 7 10:37:25.135 UTC namespacelabs.dev/foundation/std/monitoring/prometheus/server Service Account [kubernetes.apply] resource="serviceaccounts" name="prometheus-04ntvj9zen9ns6ha76mvfb9z4a" namespace="dev" took=4ms
Mar 7 10:37:25.140 UTC namespacelabs.dev/foundation/std/monitoring/prometheus/server Server Deployment [kubernetes.apply] resource="deployments" name="prometheus-04ntvj9zen9ns6ha76mvfb9z4a" namespace="dev" took=5ms
Mar 7 10:37:25.145 UTC namespacelabs.dev/foundation/std/monitoring/prometheus/server Service prometheus [kubernetes.apply] resource="services" name="prometheus-04ntvj9zen9ns6ha76mvfb9z4a" namespace="dev" took=4ms
Mar 7 10:37:25.149 UTC namespacelabs.dev/universe/db/postgres/server Service Account [kubernetes.apply] resource="serviceaccounts" name="postgresql-422eajpp5jt8pjwfp2vrq5f0ce" namespace="dev" took=3ms
Mar 7 10:37:25.154 UTC namespacelabs.dev/universe/db/postgres/server Server StatefulSet [kubernetes.apply] resource="statefulsets" name="postgresql-422eajpp5jt8pjwfp2vrq5f0ce" namespace="dev" took=5ms
Mar 7 10:37:25.162 UTC namespacelabs.dev/universe/db/postgres/server Service postgres [kubernetes.apply] resource="services" name="postgres-422eajpp5jt8pjwfp2vrq5f0ce" namespace="dev" took=7ms
Mar 7 10:37:25.213 UTC namespacelabs.dev/ea-example/api/server Ingress api-backend-grpc-gateway-1088nk7bp49rpynz6hqshk6epx [kubernetes.apply] resource="ingresses" name="api-backend-grpc-gateway-1088nk7bp49rpynz6hqshk6epx" namespace="dev" took=51ms
Mar 7 10:37:25.263 UTC namespacelabs.dev/ea-example/api/server Ingress grpc-api-1088nk7bp49rpynz6hqshk6epx [kubernetes.apply] resource="ingresses" name="grpc-api-1088nk7bp49rpynz6hqshk6epx" namespace="dev" took=49ms
Mar 7 10:37:25.318 UTC namespacelabs.dev/ea-example/api/server Ingress todos [kubernetes.apply] resource="ingresses" name="todos" namespace="dev" took=54ms
Mar 7 10:37:25.318 UTC namespacelabs.dev/ea-example/api/server namespacelabs.dev/foundation/std/monitoring/grafana/server namespacelabs.dev/foundation/std/monitoring/jaeger namespacelabs.dev/foundation/std/monitoring/prometheus/server namespacelabs.dev/universe/db/postgres/server server.deploy took=290ms
Mar 7 10:37:25.318 UTC namespacelabs.dev/ea-example/api/server server.start took=12us
Mar 7 10:37:25.318 UTC namespacelabs.dev/foundation/std/monitoring/prometheus/server server.start took=16us
Mar 7 10:37:25.318 UTC namespacelabs.dev/foundation/std/monitoring/grafana/server server.start took=8us
Mar 7 10:37:25.318 UTC namespacelabs.dev/foundation/std/monitoring/jaeger server.start took=12us
Mar 7 10:37:25.319 UTC go.build.cleanup took=855us
Mar 7 10:37:25.319 UTC go.build.cleanup took=454us
Mar 7 10:37:25.319 UTC go.build.cleanup took=382us
Mar 7 10:37:25.320 UTC go.build.cleanup took=514us
Mar 7 10:37:25.320 UTC go.build.cleanup took=447us
Mar 7 10:37:25.321 UTC go.build.cleanup took=698us
Server Deployment:
[✓] namespacelabs.dev/ea-example/api/server (no updated required)
[✓] namespacelabs.dev/foundation/std/monitoring/grafana/server (no updated required)
[✓] namespacelabs.dev/foundation/std/monitoring/jaeger (no updated required)
[✓] namespacelabs.dev/foundation/std/monitoring/prometheus/server (no updated required)
Mar 7 10:37:25.322 UTC go.build.cleanup took=928us
Mar 7 10:37:25.323 UTC go.build.cleanup took=724us
Mar 7 10:37:25.323 UTC go.build.cleanup took=703us
Mar 7 10:37:25.323 UTC fn deploy [fn.do] took=4.8s
You can inspect the logs of api-backend using `fn logs api/server --env=dev`.
nginx requires serving grpc over tls, for a backend protocol of grpc
to work.
If "workspace.ns.textproto" doesn't contain any dependencies:
module_name: "namespacelabs.dev/mypackage"
Then "fn generate" says use "fn tidy", but "fn tidy" does nothing:
> fn generate
failed to parse myservice: namespacelabs.dev/foundation/std/fn: missing entry in workspace.ns.textpb: run:
fn tidy
> fn tidy
failed to parse myservice: namespacelabs.dev/foundation/std/fn: missing entry in workspace.ns.textpb: run:
fn tidy
failed to parse myservice: namespacelabs.dev/foundation/std/fn: missing entry in workspace.ns.textpb: run:
fn tidy
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.