Skip to content
This repository has been archived by the owner on May 23, 2024. It is now read-only.

Add helm charts #20

Merged
merged 8 commits into from
Apr 15, 2022
Merged

Add helm charts #20

merged 8 commits into from
Apr 15, 2022

Conversation

kolima
Copy link
Contributor

@kolima kolima commented Mar 14, 2022

No description provided.

@belopash
Copy link
Contributor

Hello, can you please update README.md with instructions on how user can run archives with helm?

@kolima
Copy link
Contributor Author

kolima commented Mar 17, 2022

Hello, can you please update README.md with instructions on how user can run archives with helm?

Done

@mo4islona
Copy link

mo4islona commented Mar 22, 2022

Hi there! Great job so far!

But I have some suggestion / requirements

  1. We should avoid duplicate typesBundle.json Could your just create symlinks? Will it works?
  2. Indexer should be a StatefullSet instead of Deployment, because only one concurrent indexer is allowed at any time
  3. There is a some bug with namespace
➜  chart git:(feature/helm) ✗ helm install squid -n bitfrost   --create-namespace .
NAME: squid
LAST DEPLOYED: Tue Mar 22 13:45:58 2022
NAMESPACE: bitfrost
STATUS: deployed
REVISION: 1
TEST SUITE: None

➜  chart git:(feature/helm) ✗ helm install squid2 -n bitfrost2   --create-namespace .
Error: INSTALLATION FAILED: rendered manifests contain a resource that already exists. Unable to continue with install: IngressClass "nginx" in namespace "" exists and cannot be imported into the current release: invalid ownership metadata; annotation validation error: key "meta.helm.sh/release-name" must equal "squid2": current value is "squid"; annotation validation error: key "meta.helm.sh/release-namespace" must equal "bitfrost2": current value is "bitfrost"

I guess we dont need a complete installation of https://kubernetes.github.io/ingress-nginx — only a ingress resource with configurable class appropriate to installed ingress controller in a cluster.

indexerGateway:
  ingress: 
    enabled: true
    ingressClassName: 'nginx'
  1. Could you make components optional like this?
db:
  enabled: false
  image: postgres:12
indexer:
  image: subsquid/hydra-indexer:5
  env: 
     name: POSTGRES_PASSWORD # env form secret should be also supported
     value: <<SECRET>>
  postgres: # posgres is installed outside this helm chart
     url: postgres
     user: postgres 
     port: 25432 # custom port
  redis: # redis is also installed outside this helm
     url: redis
     port: 25432 # custom port
     db: 0
redis:
  enabled: false     

Maybe is better to generate somehow these chart directories for each archive?

@kolima
Copy link
Contributor Author

kolima commented Mar 22, 2022

Hi there! Great job so far!

But I have some suggestion / requirements

  1. We should avoid duplicate typesBundle.json Could your just create symlinks? Will it works?
  2. Indexer should be a StatefullSet instead of Deployment, because only one concurrent indexer is allowed at any time
  3. There is a some bug with namespace
➜  chart git:(feature/helm) ✗ helm install squid -n bitfrost   --create-namespace .
NAME: squid
LAST DEPLOYED: Tue Mar 22 13:45:58 2022
NAMESPACE: bitfrost
STATUS: deployed
REVISION: 1
TEST SUITE: None

➜  chart git:(feature/helm) ✗ helm install squid2 -n bitfrost2   --create-namespace .
Error: INSTALLATION FAILED: rendered manifests contain a resource that already exists. Unable to continue with install: IngressClass "nginx" in namespace "" exists and cannot be imported into the current release: invalid ownership metadata; annotation validation error: key "meta.helm.sh/release-name" must equal "squid2": current value is "squid"; annotation validation error: key "meta.helm.sh/release-namespace" must equal "bitfrost2": current value is "bitfrost"

I guess we dont need to fully installation of https://kubernetes.github.io/ingress-nginx — only a ingress resource itself.

indexerGateway:
  ingress: 
    enabled: true
    ingressClassName: 'nginx'
  1. Could you make components optional like this?
db:
  enabled: false
  image: postgres:12
indexer:
  image: subsquid/hydra-indexer:5
  env: 
     name: POSTGRES_PASSWORD # env form secret should be also supported
     value: <<SECRET>>
  postgres: # posgres is installed outside this helm chart
     url: postgres
     user: postgres 
     port: 25432 # custom port
  redis: # redis is also installed outside this helm
     url: redis
     port: 25432 # custom port
     db: 0
redis:
  enabled: false     

Maybe is better to generate somehow these chart directories for each archive?

Good, I will check each item. We can try to create a global chart and subcharts, which will only contain values for different projects which we will use in the global chart, and we will not duplicate the core of chart

@kolima
Copy link
Contributor Author

kolima commented Mar 28, 2022

@belopash Done

@kolima
Copy link
Contributor Author

kolima commented Mar 29, 2022

@mo4islona Done

@RaekwonIII RaekwonIII merged commit cb192fc into subsquid:main Apr 15, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants