wundergraph / cosmo

The open-source solution to building, maintaining, and collaborating on GraphQL Federation at Scale. The alternative to Apollo Studio and GraphOS.
https://cosmo-docs.wundergraph.com/
Apache License 2.0
673 stars 95 forks source link

helm recipe #1105

Closed sbilello closed 3 weeks ago

sbilello commented 3 weeks ago

Component(s)

helm

Component version

f8fa7c3e86636fdb031a624367cd0b8e86f63896

wgc version

n/a

controlplane version

n/a

router version

n/a

What happened?

❯ helm install cosmo oci://ghcr.io/wundergraph/cosmo/helm-charts/cosmo --version 0.8.0

Pulled: ghcr.io/wundergraph/cosmo/helm-charts/cosmo:0.8.0
Digest: sha256:be0db0c11935fc9f2a1c6d577e6ffc2611f75f9b64faba41294561c7cec8c821
coalesce.go:289: warning: destination for cosmo.router.global.helmTests is a table. Ignoring non-table value (false)
W0821 10:51:02.399468   12389 warnings.go:70] spec.template.spec.containers[0].env[7]: hides previous definition of "KEYCLOAK_DATABASE_PASSWORD", which may be dropped when using apply
Error: INSTALLATION FAILED: failed post-install: 1 error occurred:
    * timed out waiting for the condition```

I tried on 2 different Mac machines one behind a proxy and one without a proxy and I got the same results.

❯ minikube version minikube version: v1.33.1 commit: 5883c09216182566a63dff4c326a6fc9ed2982ff ❯ docker --version Docker version 27.1.1, build 6312585



### Environment information

## Environment
OS: (e.g., "Ubuntu 20.04")
Package Manager: pnpm, npm, yarn, etc
Compiler(if manually compiled): (e.g., "go 14.2")

### Router configuration

_No response_

### Router execution config

_No response_

### Log output

_No response_

### Additional context

_No response_
github-actions[bot] commented 3 weeks ago

WunderGraph commits fully to Open Source and we want to make sure that we can help you as fast as possible. The roadmap is driven by our customers and we have to prioritize issues that are important to them. You can influence the priority by becoming a customer. Please contact us here.

AndreasZeissner commented 3 weeks ago

Hi @sbilello, thanks for reporting, I will have a look.

Can you check if containers are starting inside your cluster?

sbilello commented 3 weeks ago
❯ minikube status
minikube
type: Control Plane
host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured

❯ docker ps
CONTAINER ID   IMAGE                                 COMMAND                  CREATED        STATUS                         PORTS                                                                                                                                  NAMES
665bfa816584   gcr.io/k8s-minikube/kicbase:v0.0.44   "/usr/local/bin/entr…"   14 hours ago   Up 40 minutes                  127.0.0.1:49753->22/tcp, 127.0.0.1:49754->2376/tcp, 127.0.0.1:49756->5000/tcp, 127.0.0.1:49757->8443/tcp, 127.0.0.1:49755->32443/tcp   minikube
17909620aaf3   585261a81173                          "/graphqlmetrics"        5 days ago     Restarting (1) 4 minutes ago                                                                                                                                          cosmo-dev-graphqlmetrics-1
4ea5d81ae8c3   cosmo-dev-otelcollector               "/otelcol --config /…"   5 days ago     Restarting (1) 4 minutes ago

I am available on discord too s3rg10

AndreasZeissner commented 3 weeks ago

Thanks for the logs, did you try using kapp to deploy?

The helm charts heavily rely on kapp when started in the default setup.

You might want to check these files for further reference:

Apart from that using make full-demo-up can also be used for local testing.

StarpTech commented 3 weeks ago

HI @sbilello, did you follow this example https://github.com/wundergraph/cosmo/tree/main/examples/full-cosmo-helm?

sbilello commented 3 weeks ago

Now, It is starting up in my private laptop by the way in my company laptop that works under a proxy. I tried to run just make under cosmo directory

! graphqlmetrics Warning   Get "https://ghcr.io/v2/": http: server gave HTTP response to HTTPS client                                                                   0.8s
[+] Building 1.2s (10/10) FINISHED                                                                                                                       docker:desktop-linux
 => [otelcollector internal] load build definition from Dockerfile                                                                                                       0.1s
 => => transferring dockerfile: 998B                                                                                                                                     0.0s
 => [graphqlmetrics internal] load build definition from Dockerfile                                                                                                      0.0s
 => => transferring dockerfile: 789B                                                                                                                                     0.0s
 => [cdn internal] load build definition from Dockerfile                                                                                                                 0.1s
 => => transferring dockerfile: 866B                                                                                                                                     0.0s
 => [keycloak internal] load build definition from Dockerfile                                                                                                            0.1s
 => => transferring dockerfile: 402B                                                                                                                                     0.0s
 => ERROR [graphqlmetrics internal] load metadata for gcr.io/distroless/base-debian12:latest                                                                             1.0s
 => CANCELED [otelcollector internal] load metadata for docker.io/library/golang:1.21                                                                                    1.1s
 => CANCELED [cdn internal] load metadata for docker.io/library/node:lts-slim                                                                                            1.1s
 => CANCELED [cdn internal] load metadata for docker.io/library/node:lts                                                                                                 1.1s
 => CANCELED [keycloak internal] load metadata for docker.io/bitnami/keycloak:25.0.2                                                                                     1.1s
 => CANCELED [keycloak internal] load metadata for docker.io/timbru31/java-node:11-jdk-18                                                                                1.1s
------
 > [graphqlmetrics internal] load metadata for gcr.io/distroless/base-debian12:latest:
------
failed to solve: gcr.io/distroless/base-debian12: failed to resolve source metadata for gcr.io/distroless/base-debian12:latest: unexpected status from HEAD request to https://gcr.io/v2/distroless/base-debian12/manifests/latest: 401 Unauthorized
make[1]: *** [dc-dev] Error 17
make: *** [dev-setup] Error 2
➜  cosmo git:(main) ✗

There are a bunch of places where the docker file performs curl and lookup I fixed some of them now it got stuck there

StarpTech commented 3 weeks ago

Those logs are very unusual. It feels to me like a local issue. I tried the example and it works for me. Could you check that you have latest docker, helm and minikube installed?

sbilello commented 3 weeks ago
➜  cosmo git:(main) ✗ make
go install github.com/bufbuild/buf/cmd/buf@v1.32.2
go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.34.2
go install connectrpc.com/connect/cmd/protoc-gen-connect-go@v1.16.2
go install github.com/amacneil/dbmate/v2@v2.6.0
go install honnef.co/go/tools/cmd/staticcheck@2023.1.7
go install github.com/yannh/kubeconform/cmd/kubeconform@v0.6.3
go install github.com/norwoodj/helm-docs/cmd/helm-docs@v1.11.3
go version
go version go1.23.0 darwin/arm64
pnpm -v
8.15.9
node -v
v22.6.0
docker -v
Docker version 27.1.2, build d01f264bcc
dbmate -v
dbmate version 2.6.0
pnpm install
Scope: all 12 workspace projects
Lockfile is up to date, resolution step is skipped
Already up to date
studio postinstall$ pnpm run copy-monaco
│ > studio@0.85.2 copy-monaco /Users/nsz933/Documents/repositories/cosmo/studio
│ > rm -rf public/monaco-editor && mkdir -p public/monaco-editor/min && cp -r node_modules/monaco-editor/min/vs public/monaco-editor/min
└─ Done in 1.4s
Done in 4.3s
pnpm generate

> wundergraph-cosmo@0.0.1 generate /Users/nsz933/Documents/repositories/cosmo
> pnpm buf generate --path proto/wg/cosmo/platform --path proto/wg/cosmo/notifications --path proto/wg/cosmo/common --path proto/wg/cosmo/node --template buf.ts.gen.yaml && pnpm -r run --filter './connect' build

> @wundergraph/cosmo-connect@0.79.1 build /Users/nsz933/Documents/repositories/cosmo/connect
> del dist && tsc

make generate-go
rm -rf router/gen && buf generate --path proto/wg/cosmo/node --path proto/wg/cosmo/common --path proto/wg/cosmo/graphqlmetrics --template buf.router.go.gen.yaml
rm -rf graphqlmetrics/gen && buf generate --path proto/wg/cosmo/graphqlmetrics --path proto/wg/cosmo/common --template buf.graphqlmetrics.go.gen.yaml
make infra-up
docker compose --file docker-compose.yml --profile dev up --remove-orphans --detach
WARN[0000] /Users/nsz933/Documents/repositories/cosmo/docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion
[+] Running 1/1
 ! graphqlmetrics Warning Get "https://ghcr.io/v2/": EOF                                                                                                                 0.7s
[+] Building 0.9s (10/10) FINISHED                                                                                                                       docker:desktop-linux
 => [otelcollector internal] load build definition from Dockerfile                                                                                                       0.0s
 => => transferring dockerfile: 998B                                                                                                                                     0.0s
 => [keycloak internal] load build definition from Dockerfile                                                                                                            0.0s
 => => transferring dockerfile: 402B                                                                                                                                     0.0s
 => [cdn internal] load build definition from Dockerfile                                                                                                                 0.0s
 => => transferring dockerfile: 866B                                                                                                                                     0.0s
 => [graphqlmetrics internal] load build definition from Dockerfile                                                                                                      0.0s
 => => transferring dockerfile: 789B                                                                                                                                     0.0s
 => CANCELED [otelcollector internal] load metadata for docker.io/library/golang:1.21                                                                                    0.8s
 => ERROR [graphqlmetrics internal] load metadata for gcr.io/distroless/base-debian12:latest                                                                             0.8s
 => CANCELED [keycloak internal] load metadata for docker.io/bitnami/keycloak:25.0.2                                                                                     0.8s
 => CANCELED [keycloak internal] load metadata for docker.io/timbru31/java-node:11-jdk-18                                                                                0.8s
 => CANCELED [cdn internal] load metadata for docker.io/library/node:lts-slim                                                                                            0.8s
 => CANCELED [cdn internal] load metadata for docker.io/library/node:lts                                                                                                 0.8s
------
 > [graphqlmetrics internal] load metadata for gcr.io/distroless/base-debian12:latest:
------
failed to solve: gcr.io/distroless/base-debian12: failed to resolve source metadata for gcr.io/distroless/base-debian12:latest: unexpected status from HEAD request to https://gcr.io/v2/distroless/base-debian12/manifests/latest: 403 Forbidden
make[1]: *** [dc-dev] Error 17
make: *** [dev-setup] Error 2
➜  cosmo git:(main) ✗
➜  cosmo git:(main) ✗ docker --version
Docker version 27.1.2, build d01f264bcc

@AndreasZeissner @StarpTech this machine is behind a proxy

sbilello commented 3 weeks ago

I solved the above problem by changing to the line 33 of the Dockerfile in the graphqlmetrics folder with the following FROM --platform=${BUILDPLATFORM} golang:1.21 AS builder2

Other open problems: Inside the otelcollector Dockerfile there is a curl that behind a proxy creates problem for the certificate SSL verification. I tried to perform the download of the binary and copy inside the docker image to bypass the problem. I am not sure if it is going to work because the build happens in parallel and now it is stuck on the graphqlmetrics Dockerfile when it performs RUN go mod download

I see that the GOPROXY variable is not honored and it tries to talk with the proxy.golang.org

 => ERROR [graphqlmetrics builder 13/16] RUN go mod download -x            2.1s
 => [cdn internal] load .dockerignore                                      0.0s
 => => transferring context: 236B                                          0.0s
 => [cdn builder  1/10] FROM docker.io/library/node:lts@sha256:d3c8ababe9  0.0s
 => => resolve docker.io/library/node:lts@sha256:d3c8ababe9566f9f3495d0d3  0.0s
 => [cdn internal] load build context                                      0.0s
 => [cdn stage-1 1/3] FROM docker.io/library/node:lts-slim@sha256:2d45856  0.0s
 => CACHED [cdn stage-1 2/3] WORKDIR /app                                  0.0s
------
 > [graphqlmetrics builder 13/16] RUN go mod download -x:
0.180 # get https://proxy.golang.org/github.com/davecgh/go-spew/@v/v1.1.1.mod
0.181 # get https://proxy.golang.org/github.com/amacneil/dbmate/v2/@v/v2.20.0.mod
0.181 # get https://proxy.golang.org/github.com/avast/retry-go/@v/v3.0.0+incompatible.mod
0.181 # get https://proxy.golang.org/connectrpc.com/connect/@v/v1.16.2.mod
0.181 # get https://proxy.golang.org/github.com/cespare/xxhash/v2/@v/v2.3.0.mod
0.181 # get https://proxy.golang.org/github.com/andybalholm/brotli/@v/v1.1.0.mod
0.181 # get https://proxy.golang.org/github.com/alitto/pond/@v/v1.9.1.mod
0.181 # get https://proxy.golang.org/github.com/%21click%21house/ch-go/@v/v0.62.0.mod
0.181 # get https://proxy.golang.org/github.com/%21click%21house/clickhouse-go/v2/@v/v2.27.2.mod
0.181 # get https://proxy.golang.org/github.com/beorn7/perks/@v/v1.0.1.mod
0.622 # get https://proxy.golang.org/github.com/avast/retry-go/@v/v3.0.0+incompatible.mod: Get "https://proxy.golang.org/github.com/avast/retry-go/@v/v3.0.0+incompatible.mod": EOF
0.622 # get https://proxy.golang.org/github.com/%21click%21house/ch-go/@v/v0.62.0.mod: Get "https://proxy.golang.org/github.com/%21click%21house/ch-go/@v/v0.62.0.mod": EOF
0.622 # get https://proxy.golang.org/github.com/gabriel-vasile/mimetype/@v/v1.4.5.mod
0.622 # get https://proxy.golang.org/github.com/go-faster/city/@v/v1.0.1.mod
0.623 # get https://proxy.golang.org/connectrpc.com/connect/@v/v1.16.2.mod: Get "https://proxy.golang.org/connectrpc.com/connect/@v/v1.16.2.mod": EOF
0.623 # get https://proxy.golang.org/github.com/go-faster/errors/@v/v0.7.1.mod
0.623 # get https://proxy.golang.org/github.com/beorn7/perks/@v/v1.0.1.mod: Get "https://proxy.golang.org/github.com/beorn7/perks/@v/v1.0.1.mod": EOF
0.623 # get https://proxy.golang.org/github.com/amacneil/dbmate/v2/@v/v2.20.0.mod: Get "https://proxy.golang.org/github.com/amacneil/dbmate/v2/@v/v2.20.0.mod": EOF
0.623 # get https://proxy.golang.org/github.com/andybalholm/brotli/@v/v1.1.0.mod: Get "https://proxy.golang.org/github.com/andybalholm/brotli/@v/v1.1.0.mod": EOF
0.623 # get https://proxy.golang.org/github.com/%21click%21house/clickhouse-go/v2/@v/v2.27.2.mod: Get "https://proxy.golang.org/github.com/%21click%21house/clickhouse-go/v2/@v/v2.27.2.mod": EOF
0.623 # get https://proxy.golang.org/github.com/go-logr/stdr/@v/v1.2.2.mod
0.623 # get https://proxy.golang.org/github.com/alitto/pond/@v/v1.9.1.mod: Get "https://proxy.golang.org/github.com/alitto/pond/@v/v1.9.1.mod": EOF
0.623 # get https://proxy.golang.org/github.com/go-playground/locales/@v/v0.14.1.mod
0.623 # get https://proxy.golang.org/github.com/go-playground/universal-translator/@v/v0.18.1.mod
0.623 # get https://proxy.golang.org/github.com/go-logr/logr/@v/v1.4.2.mod
0.623 # get https://proxy.golang.org/github.com/go-playground/validator/v10/@v/v10.22.0.mod
0.623 # get https://proxy.golang.org/github.com/cespare/xxhash/v2/@v/v2.3.0.mod: Get "https://proxy.golang.org/github.com/cespare/xxhash/v2/@v/v2.3.0.mod": EOF
0.623 # get https://proxy.golang.org/github.com/golang-jwt/jwt/v5/@v/v5.2.1.mod
0.737 # get https://proxy.golang.org/github.com/davecgh/go-spew/@v/v1.1.1.mod: Get "https://proxy.golang.org/github.com/davecgh/go-spew/@v/v1.1.1.mod": EOF
0.737 # get https://proxy.golang.org/github.com/google/uuid/@v/v1.6.0.mod
0.894 # get https://proxy.golang.org/github.com/go-faster/city/@v/v1.0.1.mod: Get "https://proxy.golang.org/github.com/go-faster/city/@v/v1.0.1.mod": EOF
0.894 # get https://proxy.golang.org/github.com/hashicorp/golang-lru/v2/@v/v2.0.7.mod
0.913 # get https://proxy.golang.org/github.com/go-logr/logr/@v/v1.4.2.mod: Get "https://proxy.golang.org/github.com/go-logr/logr/@v/v1.4.2.mod": EOF
0.913 # get https://proxy.golang.org/github.com/gabriel-vasile/mimetype/@v/v1.4.5.mod: Get "https://proxy.golang.org/github.com/gabriel-vasile/mimetype/@v/v1.4.5.mod": EOF
0.913 # get https://proxy.golang.org/github.com/joho/godotenv/@v/v1.5.1.mod
0.913 # get https://proxy.golang.org/github.com/kelseyhightower/envconfig/@v/v1.4.0.mod
0.913 # get https://proxy.golang.org/github.com/go-logr/stdr/@v/v1.2.2.mod: Get "https://proxy.golang.org/github.com/go-logr/stdr/@v/v1.2.2.mod": EOF
0.913 # get https://proxy.golang.org/github.com/go-faster/errors/@v/v0.7.1.mod: Get "https://proxy.golang.org/github.com/go-faster/errors/@v/v0.7.1.mod": EOF
0.913 # get https://proxy.golang.org/github.com/klauspost/compress/@v/v1.17.9.mod
0.913 # get https://proxy.golang.org/github.com/leodido/go-urn/@v/v1.4.0.mod
0.913 # get https://proxy.golang.org/github.com/golang-jwt/jwt/v5/@v/v5.2.1.mod: Get "https://proxy.golang.org/github.com/golang-jwt/jwt/v5/@v/v5.2.1.mod": EOF
0.913 # get https://proxy.golang.org/github.com/munnerz/goautoneg/@v/v0.0.0-20191010083416-a7dc8b61c822.mod
0.915 # get https://proxy.golang.org/github.com/go-playground/validator/v10/@v/v10.22.0.mod: Get "https://proxy.golang.org/github.com/go-playground/validator/v10/@v/v10.22.0.mod": EOF
0.915 # get https://proxy.golang.org/github.com/paulmach/orb/@v/v0.11.1.mod
0.919 # get https://proxy.golang.org/github.com/go-playground/universal-translator/@v/v0.18.1.mod: Get "https://proxy.golang.org/github.com/go-playground/universal-translator/@v/v0.18.1.mod": EOF
0.919 # get https://proxy.golang.org/github.com/phayes/freeport/@v/v0.0.0-20220201140144-74d24b5ae9f5.mod
0.920 # get https://proxy.golang.org/github.com/go-playground/locales/@v/v0.14.1.mod: Get "https://proxy.golang.org/github.com/go-playground/locales/@v/v0.14.1.mod": EOF
0.920 # get https://proxy.golang.org/github.com/pierrec/lz4/v4/@v/v4.1.21.mod
1.020 # get https://proxy.golang.org/github.com/google/uuid/@v/v1.6.0.mod: Get "https://proxy.golang.org/github.com/google/uuid/@v/v1.6.0.mod": EOF
1.020 # get https://proxy.golang.org/github.com/pkg/errors/@v/v0.9.1.mod
1.174 # get https://proxy.golang.org/github.com/hashicorp/golang-lru/v2/@v/v2.0.7.mod: Get "https://proxy.golang.org/github.com/hashicorp/golang-lru/v2/@v/v2.0.7.mod": EOF
1.174 # get https://proxy.golang.org/github.com/pmezard/go-difflib/@v/v1.0.0.mod
1.175 # get https://proxy.golang.org/github.com/pierrec/lz4/v4/@v/v4.1.21.mod: Get "https://proxy.golang.org/github.com/pierrec/lz4/v4/@v/v4.1.21.mod": EOF
1.175 # get https://proxy.golang.org/github.com/prometheus/client_golang/@v/v1.20.1.mod
1.179 # get https://proxy.golang.org/github.com/kelseyhightower/envconfig/@v/v1.4.0.mod: Get "https://proxy.golang.org/github.com/kelseyhightower/envconfig/@v/v1.4.0.mod": EOF
1.179 # get https://proxy.golang.org/github.com/prometheus/client_model/@v/v0.6.1.mod
1.184 # get https://proxy.golang.org/github.com/leodido/go-urn/@v/v1.4.0.mod: Get "https://proxy.golang.org/github.com/leodido/go-urn/@v/v1.4.0.mod": EOF
1.184 # get https://proxy.golang.org/github.com/prometheus/common/@v/v0.55.0.mod
1.203 # get https://proxy.golang.org/github.com/klauspost/compress/@v/v1.17.9.mod: Get "https://proxy.golang.org/github.com/klauspost/compress/@v/v1.17.9.mod": EOF
1.203 # get https://proxy.golang.org/github.com/prometheus/procfs/@v/v0.15.1.mod
1.203 # get https://proxy.golang.org/github.com/munnerz/goautoneg/@v/v0.0.0-20191010083416-a7dc8b61c822.mod: Get "https://proxy.golang.org/github.com/munnerz/goautoneg/@v/v0.0.0-20191010083416-a7dc8b61c822.mod": EOF
1.203 # get https://proxy.golang.org/github.com/rogpeppe/go-internal/@v/v1.12.0.mod
1.203 # get https://proxy.golang.org/github.com/phayes/freeport/@v/v0.0.0-20220201140144-74d24b5ae9f5.mod: Get "https://proxy.golang.org/github.com/phayes/freeport/@v/v0.0.0-20220201140144-74d24b5ae9f5.mod": EOF
1.203 # get https://proxy.golang.org/github.com/rs/xid/@v/v1.5.0.mod
1.204 # get https://proxy.golang.org/github.com/paulmach/orb/@v/v0.11.1.mod: Get "https://proxy.golang.org/github.com/paulmach/orb/@v/v0.11.1.mod": EOF
1.204 # get https://proxy.golang.org/github.com/segmentio/asm/@v/v1.2.0.mod
1.204 # get https://proxy.golang.org/github.com/joho/godotenv/@v/v1.5.1.mod: Get "https://proxy.golang.org/github.com/joho/godotenv/@v/v1.5.1.mod": EOF
1.204 # get https://proxy.golang.org/github.com/shopspring/decimal/@v/v1.4.0.mod
1.307 # get https://proxy.golang.org/github.com/pkg/errors/@v/v0.9.1.mod: Get "https://proxy.golang.org/github.com/pkg/errors/@v/v0.9.1.mod": EOF
1.307 # get https://proxy.golang.org/github.com/stretchr/testify/@v/v1.9.0.mod
1.444 # get https://proxy.golang.org/github.com/prometheus/client_golang/@v/v1.20.1.mod: Get "https://proxy.golang.org/github.com/prometheus/client_golang/@v/v1.20.1.mod": EOF
1.444 # get https://proxy.golang.org/go.opentelemetry.io/otel/@v/v1.28.0.mod
1.448 # get https://proxy.golang.org/github.com/pmezard/go-difflib/@v/v1.0.0.mod: Get "https://proxy.golang.org/github.com/pmezard/go-difflib/@v/v1.0.0.mod": EOF
1.448 # get https://proxy.golang.org/go.opentelemetry.io/otel/exporters/prometheus/@v/v0.50.0.mod
1.448 # get https://proxy.golang.org/github.com/prometheus/common/@v/v0.55.0.mod: Get "https://proxy.golang.org/github.com/prometheus/common/@v/v0.55.0.mod": EOF
1.448 # get https://proxy.golang.org/go.opentelemetry.io/otel/metric/@v/v1.28.0.mod
1.450 # get https://proxy.golang.org/github.com/prometheus/client_model/@v/v0.6.1.mod: Get "https://proxy.golang.org/github.com/prometheus/client_model/@v/v0.6.1.mod": EOF
1.450 # get https://proxy.golang.org/go.opentelemetry.io/otel/sdk/@v/v1.28.0.mod
1.475 # get https://proxy.golang.org/github.com/shopspring/decimal/@v/v1.4.0.mod: Get "https://proxy.golang.org/github.com/shopspring/decimal/@v/v1.4.0.mod": EOF
1.475 # get https://proxy.golang.org/go.opentelemetry.io/otel/sdk/metric/@v/v1.28.0.mod
1.494 # get https://proxy.golang.org/github.com/rs/xid/@v/v1.5.0.mod: Get "https://proxy.golang.org/github.com/rs/xid/@v/v1.5.0.mod": EOF
1.494 # get https://proxy.golang.org/go.opentelemetry.io/otel/trace/@v/v1.28.0.mod
1.494 # get https://proxy.golang.org/github.com/segmentio/asm/@v/v1.2.0.mod: Get "https://proxy.golang.org/github.com/segmentio/asm/@v/v1.2.0.mod": EOF
1.494 # get https://proxy.golang.org/go.uber.org/automaxprocs/@v/v1.5.3.mod
1.495 # get https://proxy.golang.org/github.com/prometheus/procfs/@v/v0.15.1.mod: Get "https://proxy.golang.org/github.com/prometheus/procfs/@v/v0.15.1.mod": EOF
1.495 # get https://proxy.golang.org/github.com/rogpeppe/go-internal/@v/v1.12.0.mod: Get "https://proxy.golang.org/github.com/rogpeppe/go-internal/@v/v1.12.0.mod": EOF
1.495 # get https://proxy.golang.org/go.uber.org/goleak/@v/v1.3.0.mod
1.495 # get https://proxy.golang.org/go.uber.org/multierr/@v/v1.11.0.mod
1.598 # get https://proxy.golang.org/github.com/stretchr/testify/@v/v1.9.0.mod: Get "https://proxy.golang.org/github.com/stretchr/testify/@v/v1.9.0.mod": EOF
1.598 # get https://proxy.golang.org/go.uber.org/zap/@v/v1.27.0.mod
1.728 # get https://proxy.golang.org/go.opentelemetry.io/otel/exporters/prometheus/@v/v0.50.0.mod: Get "https://proxy.golang.org/go.opentelemetry.io/otel/exporters/prometheus/@v/v0.50.0.mod": EOF
1.728 # get https://proxy.golang.org/go.withmatt.com/connect-brotli/@v/v0.4.0.mod
1.744 # get https://proxy.golang.org/go.opentelemetry.io/otel/sdk/@v/v1.28.0.mod: Get "https://proxy.golang.org/go.opentelemetry.io/otel/sdk/@v/v1.28.0.mod": EOF
1.744 # get https://proxy.golang.org/golang.org/x/crypto/@v/v0.26.0.mod
1.744 # get https://proxy.golang.org/go.opentelemetry.io/otel/metric/@v/v1.28.0.mod: Get "https://proxy.golang.org/go.opentelemetry.io/otel/metric/@v/v1.28.0.mod": EOF
1.744 # get https://proxy.golang.org/golang.org/x/net/@v/v0.28.0.mod
1.744 # get https://proxy.golang.org/go.opentelemetry.io/otel/@v/v1.28.0.mod: Get "https://proxy.golang.org/go.opentelemetry.io/otel/@v/v1.28.0.mod": EOF
1.744 # get https://proxy.golang.org/golang.org/x/sys/@v/v0.24.0.mod
1.757 # get https://proxy.golang.org/go.opentelemetry.io/otel/sdk/metric/@v/v1.28.0.mod: Get "https://proxy.golang.org/go.opentelemetry.io/otel/sdk/metric/@v/v1.28.0.mod": EOF
1.757 # get https://proxy.golang.org/golang.org/x/text/@v/v0.17.0.mod
1.770 # get https://proxy.golang.org/go.opentelemetry.io/otel/trace/@v/v1.28.0.mod: Get "https://proxy.golang.org/go.opentelemetry.io/otel/trace/@v/v1.28.0.mod": EOF
1.770 # get https://proxy.golang.org/google.golang.org/protobuf/@v/v1.34.2.mod
1.773 # get https://proxy.golang.org/go.uber.org/multierr/@v/v1.11.0.mod: Get "https://proxy.golang.org/go.uber.org/multierr/@v/v1.11.0.mod": EOF
1.773 # get https://proxy.golang.org/gopkg.in/yaml.v3/@v/v3.0.1.mod
1.778 # get https://proxy.golang.org/go.uber.org/automaxprocs/@v/v1.5.3.mod: Get "https://proxy.golang.org/go.uber.org/automaxprocs/@v/v1.5.3.mod": EOF
1.778 # get https://proxy.golang.org/go.uber.org/goleak/@v/v1.3.0.mod: Get "https://proxy.golang.org/go.uber.org/goleak/@v/v1.3.0.mod": EOF
1.876 # get https://proxy.golang.org/go.uber.org/zap/@v/v1.27.0.mod: Get "https://proxy.golang.org/go.uber.org/zap/@v/v1.27.0.mod": EOF
1.996 # get https://proxy.golang.org/go.withmatt.com/connect-brotli/@v/v0.4.0.mod: Get "https://proxy.golang.org/go.withmatt.com/connect-brotli/@v/v0.4.0.mod": EOF
2.012 # get https://proxy.golang.org/golang.org/x/text/@v/v0.17.0.mod: Get "https://proxy.golang.org/golang.org/x/text/@v/v0.17.0.mod": EOF
2.023 # get https://proxy.golang.org/golang.org/x/net/@v/v0.28.0.mod: Get "https://proxy.golang.org/golang.org/x/net/@v/v0.28.0.mod": EOF
2.025 # get https://proxy.golang.org/golang.org/x/crypto/@v/v0.26.0.mod: Get "https://proxy.golang.org/golang.org/x/crypto/@v/v0.26.0.mod": EOF
2.025 # get https://proxy.golang.org/golang.org/x/sys/@v/v0.24.0.mod: Get "https://proxy.golang.org/golang.org/x/sys/@v/v0.24.0.mod": EOF
2.026 # get https://proxy.golang.org/gopkg.in/yaml.v3/@v/v3.0.1.mod: Get "https://proxy.golang.org/gopkg.in/yaml.v3/@v/v3.0.1.mod": EOF
2.028 # get https://proxy.golang.org/google.golang.org/protobuf/@v/v1.34.2.mod: Get "https://proxy.golang.org/google.golang.org/protobuf/@v/v1.34.2.mod": EOF
2.028 go: connectrpc.com/connect@v1.16.2: Get "https://proxy.golang.org/connectrpc.com/connect/@v/v1.16.2.mod": EOF
------
failed to solve: process "/bin/sh -c go mod download -x" did not complete successfully: exit code: 1
make[1]: *** [dc-dev] Error 17
make: *** [dev-setup] Error 2
sbilello commented 3 weeks ago

These lines provides issue behind a proxy https://github.com/wundergraph/cosmo/blob/main/graphqlmetrics/Dockerfile#L15 https://github.com/wundergraph/cosmo/blob/main/otelcollector/Dockerfile#L9 https://github.com/wundergraph/cosmo/blob/main/keycloak/Dockerfile#L9

Is there a way to have such images self-contained?

sbilello commented 3 weeks ago

I found a workaround by publishing Docker images with the necessary dependencies from my ARM architecture laptop to Docker Hub, and then creating a modified docker-compose file.

I recommend making Docker images for different architectures readily available. This would significantly reduce troubleshooting time and help users avoid challenges related to proxy settings.

StarpTech commented 3 weeks ago

Hi @sbilello thanks for the report. We will take a look and ensure that the local experience is smooth across the board. I just recognized you run make in the root of the repository. This flow hasn't been tested behind proxies and is only used by developers of Cosmo. If you want to try out Cosmo, we recommend to use the final images. There is no need to built them in your example. We already building images for linux/amd64 and linux/arm64, example

StarpTech commented 3 weeks ago

@sbilello in https://github.com/wundergraph/cosmo/pull/1108 we improved the DX by falling back to remote images that are available in both architectures. This should avoid building them from scratch unless you have to.