hasura / hasura/graphql-engine

Refactor kubernetes manifests location to expose kustomization.yaml file

Open
#8,580 0 comments 0 reactions 0 assignees View on GitHub
k/enhancement
Dominant language
TypeScript
Stars
32.1k
Forks
3k
PR merge metrics
PR metrics pending

Description

### Is your proposal related to a problem?

The existing installation proposal for kubernetes is quite rudimentary in that it requires various manual steps. This is error prone and hard to mantain

### Describe the solution you'd like
Given that manifest already exists in the repository, we can simply expose them by properly structuring the folder in a compatible format defined by Kustomize so it can load it remotely as a base resource.

Kustomize is a native k8s configuration management tool and it supports loading [remote configuration](https://github.com/kubernetes-sigs/kustomize/blob/master/examples/remoteBuild.md#remote-targets) including public github repositories, so we can easily expose kubernetes deployments through it.

```bash
▾ kubernetes/
▾ base/
deployment.yaml
svc.yaml
kustomization.yaml
README.md
```

With this users can simply create a kustomization file of their own and reference this like so:

```
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: default
resources:
- https://github.com/hasura/graphql-engine/install-manifests/kubernetes/base?ref=v2.7.0
```

Because it supports versioning, users can simply update to whatever latest tag the repository has built

### Describe alternatives you've considered
There's an issue that requests the creation of a helm chart for this project #8380 - This would certainly help solve for this issue.

### If the feature is approved, would you be willing to submit a PR?
Yes

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.