Due to the way docker works in non-native platforms, It is
very hard to have a consistent experience across all platforms
as we can't just use the [docker bridge netwrok IP's in non-native
platforms](https://docs.docker.com/desktop/networking/). This means that
users have to search their Host IP, and use It
to get up and working [which we tried, but understand that it's not
a good UX](https://github.com/gitpod-io/website/pull/2349).
But users can use `127-0-0-1.nip.io` as the DOMAIN which resolves to
`127.0.0.1` and is available in all platforms as its `localhost`. This
works well and good for all user communication
but internal communication fails as `127-0-0-1.nip.io` for them
is something else.
So, This PR fixes that by adding new coredns
`gitpod.db` coredns config essentially asking to route all
`127-0-0-1.nip.io` to `proxy.default.svc.cluster.local`. [As k3s does
not yet support overriding coredns config in a sane-way](https://github.com/k3s-io/k3s/issues/462)
,We instead skip the default coredns by adding `coredns.yaml.skip` file,
and adding our own `custom-coredns.yaml` which is just plain
`coredns.yaml` that comes with `k3s`, added with gitpod config.
Signed-off-by: Tarun Pothulapati <tarun@gitpod.io>
Currently, It takes a while before Gitpod is ready even though
the status says `Gitpod is running` as its not checking for
readyness.
This PR updates the output to separate btw `starting` and `running`.
`Gitpod is running` message is showed only when we see that
the `gitpod-telemetry-init` job has run which happens when
all pods are ready.
Signed-off-by: Tarun Pothulapati <tarun@gitpod.io>
EKS clusters implement `LoadBalancer` type services with ELBs; when an
EKS cluster is destroyed via terraform these ELBs are not automatically
deleted. The continued presence of these ELBs will remain attached to
the associated subnets and prevent the subnets and VPC from being
destroyed.
This commit resolves the issue by explicitly deleting the `gitpod`
namespace (and pausing to allow the ELBs to be removed) before
continuing.
This PR updates the `entry-point.sh` to run a parallel step
that waits for the gitpod pods to be ready, and manually executes
the cronjob once its necessary.
This is necessary as our telemetry `cronjobs` are only ran
daily in the midnight, and we can't expect this schedule to work
for local previews as they are short lived.
example data that we get:
```
client.Track(&analytics.Track{
UserId: "334c379a-afee-4882-ba44-fbd7dfc0a8b0",
Event: "Installation telemetry",
Properties: map[string]interface{}{
"customerID": "",
"platform": "local-preview",
"totalInstances": 0,
"totalUsers": 0,
"totalWorkspaces": 0,
"version": "tar-preview-tel-init.4",
},
})
```
Signed-off-by: Tarun Pothulapati <tarun@gitpod.io>