-
Notifications
You must be signed in to change notification settings - Fork 2.8k
[ZEPPELIN-6144] Add Helm chart for deploying Zeppelin on Kubernetes #4896
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
ChenYi015
wants to merge
18
commits into
apache:master
Choose a base branch
from
ChenYi015:feature/helm-chart
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+1,834
−0
Open
Changes from all commits
Commits
Show all changes
18 commits
Select commit
Hold shift + click to select a range
dc4a8e8
Add Helm chart for deploying Zeppelin on Kubernetes
ChenYi015 be34c5b
Update Helm chart README
ChenYi015 37d0ce9
Add support for configuring Zeppelin
ChenYi015 20ec7f3
Update
ChenYi015 df75a16
Remove zeppelin server gateway
ChenYi015 a88ac10
Remove dnsmasq
ChenYi015 e4bced5
Update license comments
ChenYi015 cee2547
Update zeppelin server deployment when configuration changes
ChenYi015 5bd0dfc
Mount conf files via subPath
ChenYi015 0fa9436
Update
ChenYi015 b6de489
Update
ChenYi015 43f5be8
Update
ChenYi015 bc85537
Add more options for configuring Spark executor pods
ChenYi015 a69de89
fix: interpreter envFrom does not work
ChenYi015 640d91b
feat: add support for configuring Spark pod labels and annotations
ChenYi015 0ce9d5e
Update helm chart README
ChenYi015 57bf578
Add pod deletecollection permission to interpreter role
ChenYi015 beea983
Add license
ChenYi015 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
# | ||
# Licensed to the Apache Software Foundation (ASF) under one or more | ||
# contributor license agreements. See the NOTICE file distributed with | ||
# this work for additional information regarding copyright ownership. | ||
# The ASF licenses this file to You under the Apache License, Version 2.0 | ||
# (the "License"); you may not use this file except in compliance with | ||
# the License. You may obtain a copy of the License at | ||
|
||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
|
||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
# | ||
|
||
# Patterns to ignore when building packages. | ||
# This supports shell glob matching, relative path matching, and | ||
# negation (prefixed with !). Only one pattern per line. | ||
.DS_Store | ||
# Common VCS dirs | ||
.git/ | ||
.gitignore | ||
.bzr/ | ||
.bzrignore | ||
.hg/ | ||
.hgignore | ||
.svn/ | ||
# Common backup files | ||
*.swp | ||
*.bak | ||
*.tmp | ||
*.orig | ||
*~ | ||
# Various IDEs | ||
.project | ||
.idea/ | ||
*.tmproj | ||
.vscode/ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
# | ||
# Licensed to the Apache Software Foundation (ASF) under one or more | ||
# contributor license agreements. See the NOTICE file distributed with | ||
# this work for additional information regarding copyright ownership. | ||
# The ASF licenses this file to You under the Apache License, Version 2.0 | ||
# (the "License"); you may not use this file except in compliance with | ||
# the License. You may obtain a copy of the License at | ||
|
||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
|
||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
# | ||
|
||
apiVersion: v2 | ||
|
||
name: zeppelin | ||
|
||
description: A Helm chart for deploying Apache Zeppelin on Kubernetes. | ||
|
||
type: application | ||
|
||
version: 0.1.0 | ||
|
||
appVersion: 0.11.2 | ||
|
||
maintainers: | ||
- name: ChenYi015 | ||
email: github@chenyicn.net |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,82 @@ | ||
# zeppelin | ||
|
||
   | ||
|
||
A Helm chart for deploying Apache Zeppelin on Kubernetes. | ||
|
||
## Values | ||
|
||
| Key | Type | Default | Description | | ||
|-----|------|---------|-------------| | ||
| nameOverride | string | `""` | String to partially override release name. | | ||
| fullnameOverride | string | `""` | String to fully override release name. | | ||
| global.image.registry | string | `"docker.io"` | Global image registry. | | ||
| global.image.pullPolicy | string | `"IfNotPresent"` | Global image pull policy. | | ||
| global.image.pullSecrets | list | `[]` | Global image pull secrets for private image registry. | | ||
| server.image.registry | string | If not set, `global.image.registry` will be used. | Zeppelin server image registry. | | ||
| server.image.repository | string | `"apache/zeppelin"` | Zeppelin server image repository. | | ||
| server.image.tag | string | If not set, the chart appVersion will be used. | Zeppelin image tag. | | ||
| server.image.pullPolicy | string | `"IfNotPresent"` | Zeppelin server image pull policy. | | ||
| server.image.pullSecrets | list | `[]` | Zeppelin server image pull secrets for private image registry. | | ||
| server.conf | object | `{}` | Zeppelin configurations. For detailed information, please refer: https://zeppelin.apache.org/docs/latest/setup/operation/configuration.html. | | ||
| server.labels | object | `{}` | Extra labels for Zeppelin server pods. | | ||
| server.annotations | object | `{}` | Extra annotations for Zeppelin server pods. | | ||
| server.volumes | list | `[]` | Volumes for Zeppelin server pods. | | ||
| server.nodeSelector | object | `{}` | Node selector for Zeppelin server pods. | | ||
| server.affinity | object | `{}` | Affinity for Zeppelin server pods. | | ||
| server.tolerations | list | `[]` | List of node taints to tolerate for Zeppelin server pods. | | ||
| server.priorityClassName | string | `""` | Priority class for Zeppelin server pods. | | ||
| server.podSecurityContext | object | `{}` | Security context for Zeppelin server pods. | | ||
| server.env | list | `[{"name":"ZEPPELIN_HOME","value":"/opt/zeppelin"},{"name":"SPARK_HOME","value":"/opt/spark"},{"name":"SERVICE_DOMAIN","value":"local.zeppelin-project.org:8080"},{"name":"ZEPPELIN_PORT","value":"8080"},{"name":"ZEPPELIN_SERVER_RPC_PORTRANGE","value":"12320:12320"},{"name":"ZEPPELIN_K8S_TEMPLATE_DIR","value":"/opt/zeppelin/k8s"}]` | Environment variables for Zeppelin server containers. | | ||
| server.envFrom | list | `[]` | Environment variable sources for Zeppelin server containers. | | ||
| server.volumeMounts | list | `[]` | Volume mounts for Zeppelin server containers. | | ||
| server.resources | object | `{}` | Resource requests and limits for Zeppelin server containers. | | ||
| server.securityContext | object | `{"runAsGroup":0,"runAsNonRoot":true,"runAsUser":1000}` | Security context for Zeppelin server containers. | | ||
| server.serviceAccount.create | bool | `true` | Specifies whether a service account should be created for the Zeppelin server. | | ||
| server.serviceAccount.name | string | `""` | Optional name for the Zeppelin server service account. | | ||
| server.serviceAccount.annotations | object | `{}` | Extra annotations for the Zeppelin server service account. | | ||
| server.service.type | string | `"ClusterIP"` | Service type for Zeppelin server. | | ||
| server.service.port | int | `8080` | Service port for Zeppelin server. | | ||
| server.ingress.enable | bool | `false` | Enable ingress for Zeppelin server. | | ||
| server.ingress.className | string | `""` | Ingress class name for Zeppelin server ingress. | | ||
| server.ingress.annotations | object | `{}` | Annotations for the Zeppelin server ingress. | | ||
| server.ingress.hosts | list | `[{"host":"local.zeppelin-project.org","paths":[{"path":"/","pathType":"ImplementationSpecific"}]}]` | Hosts for Zeppelin server ingress. | | ||
| server.ingress.tls | list | `[]` | TLS configuration for Zeppelin server ingress. | | ||
| interpreter.image.registry | string | If not set, `global.image.registry` will be used. | Zeppelin interpreter image registry. | | ||
| interpreter.image.repository | string | `"apache/zeppelin-interpreter"` | Zeppelin interpreter image repository. | | ||
| interpreter.image.tag | string | If not set, the chart appVersion will be used. | Zeppelin interpreter image tag. | | ||
| interpreter.image.pullPolicy | string | `"IfNotPresent"` | Zeppelin interpreter image pull policy. | | ||
| interpreter.image.pullSecrets | list | `[]` | Zeppelin interpreter image pull secrets for private image registry. | | ||
| interpreter.spark.image.registry | string | If not set, `global.image.registry` will be used. | Spark image registry. | | ||
| interpreter.spark.image.repository | string | `"spark"` | Spark image repository. | | ||
| interpreter.spark.image.tag | string | `"3.5.3"` | Spark image tag. | | ||
| interpreter.spark.conf | object | `{"spark.kubernetes.driver.podTemplateFile":"file:///opt/spark/conf/driver-pod-template.yaml","spark.kubernetes.executor.podTemplateFile":"file:///opt/spark/conf/executor-pod-template.yaml"}` | Spark configurations. | | ||
| interpreter.spark.labels | object | `{}` | Extra labels for Spark pods. | | ||
| interpreter.spark.annotations | object | `{}` | Extra annotations for Spark pods. | | ||
| interpreter.spark.volumes | list | `[]` | Volumes for Spark pods. | | ||
| interpreter.spark.env | list | `[]` | Environment variables for Spark containers. | | ||
| interpreter.spark.envFrom | list | `[]` | Environment variable sources for Spark containers. | | ||
| interpreter.spark.volumeMounts | list | `[]` | Volume mounts for Spark containers. | | ||
| interpreter.labels | object | `{}` | Extra labels for Zeppelin interpreter pods. | | ||
| interpreter.annotations | object | `{}` | Extra annotations for Zeppelin interpreter pods. | | ||
| interpreter.volumes | list | `[]` | Volumes for Zeppelin interpreter pods. | | ||
| interpreter.nodeSelector | object | `{}` | Node selector for Zeppelin interpreter pods. | | ||
| interpreter.affinity | object | `{}` | Affinity for Zeppelin interpreter pods. | | ||
| interpreter.tolerations | list | `[]` | List of node taints to tolerate for Zeppelin interpreter pods. | | ||
| interpreter.priorityClassName | string | `""` | Priority class for Zeppelin interpreter pods. | | ||
| interpreter.podSecurityContext | object | `{}` | Security context for Zeppelin interpreter pods. | | ||
| interpreter.env | list | `[{"name":"ZEPPELIN_HOME","value":"/opt/zeppelin"},{"name":"SPARK_HOME","value":"/opt/spark"},{"name":"SPARK_CONF_DIR","value":"/opt/spark/conf"}]` | Environment variables for Zeppelin interpreter containers. | | ||
| interpreter.envFrom | list | `[]` | Environment variable sources for Zeppelin interpreter containers. | | ||
| interpreter.volumeMounts | list | `[]` | Volume mounts for Zeppelin interpreter containers. | | ||
| interpreter.resources | object | `{}` | Resource requests and limits for Zeppelin interpreter containers. | | ||
| interpreter.securityContext | object | `{"runAsGroup":0,"runAsNonRoot":true,"runAsUser":1000}` | Security context for Zeppelin interpreter containers. | | ||
| interpreter.serviceAccount.serviceAccount | string | `nil` | | | ||
| interpreter.serviceAccount.create | bool | `true` | Specifies whether a service account should be created for the Zeppelin interpreter. | | ||
| interpreter.serviceAccount.name | string | `""` | Optional name for the Zeppelin interpreter service account. | | ||
| interpreter.serviceAccount.annotations | object | `{}` | Extra annotations for the Zeppelin interpreter service account. | | ||
|
||
## Maintainers | ||
|
||
| Name | Email | Url | | ||
| ---- | ------ | --- | | ||
| ChenYi015 | <github@chenyicn.net> | | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
{{- /* | ||
Licensed to the Apache Software Foundation (ASF) under one or more | ||
contributor license agreements. See the NOTICE file distributed with | ||
this work for additional information regarding copyright ownership. | ||
The ASF licenses this file to You under the Apache License, Version 2.0 | ||
(the "License"); you may not use this file except in compliance with | ||
the License. You may obtain a copy of the License at | ||
|
||
http://www.apache.org/licenses/LICENSE-2.0 | ||
|
||
Unless required by applicable law or agreed to in writing, software | ||
distributed under the License is distributed on an "AS IS" BASIS, | ||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
See the License for the specific language governing permissions and | ||
limitations under the License. | ||
*/ -}} | ||
|
||
{{ template "chart.header" . }} | ||
|
||
{{ template "chart.deprecationWarning" . }} | ||
|
||
{{ template "chart.badgesSection" . }} | ||
|
||
{{ template "chart.description" . }} | ||
|
||
{{ template "chart.homepageLine" . }} | ||
|
||
{{ template "chart.valuesSection" . }} | ||
|
||
{{ template "chart.maintainersSection" . }} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
<?xml version="1.0"?> | ||
<!-- | ||
Licensed to the Apache Software Foundation (ASF) under one | ||
or more contributor license agreements. See the NOTICE file | ||
distributed with this work for additional information | ||
regarding copyright ownership. The ASF licenses this file | ||
to you under the Apache License, Version 2.0 (the | ||
"License"); you may not use this file except in compliance | ||
with the License. You may obtain a copy of the License at | ||
|
||
http://www.apache.org/licenses/LICENSE-2.0 | ||
|
||
Unless required by applicable law or agreed to in writing, software | ||
distributed under the License is distributed on an "AS IS" BASIS, | ||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
See the License for the specific language governing permissions and | ||
limitations under the License. | ||
--> | ||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> | ||
<xsl:output method="html"/> | ||
<xsl:template match="configuration"> | ||
<html> | ||
<body> | ||
<table border="1"> | ||
<tr> | ||
<td>name</td> | ||
<td>value</td> | ||
<td>description</td> | ||
</tr> | ||
<xsl:for-each select="property"> | ||
<tr> | ||
<td><a name="{name}"><xsl:value-of select="name"/></a></td> | ||
<td><xsl:value-of select="value"/></td> | ||
<td><xsl:value-of select="description"/></td> | ||
</tr> | ||
</xsl:for-each> | ||
</table> | ||
</body> | ||
</html> | ||
</xsl:template> | ||
</xsl:stylesheet> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
# Licensed to the Apache Software Foundation (ASF) under one | ||
# or more contributor license agreements. See the NOTICE file | ||
# distributed with this work for additional information | ||
# regarding copyright ownership. The ASF licenses this file | ||
# to you under the Apache License, Version 2.0 (the | ||
# "License"); you may not use this file except in compliance | ||
# with the License. You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
# | ||
# | ||
# [name] [maven artifact] [description] | ||
|
||
alluxio org.apache.zeppelin:zeppelin-alluxio:0.11.2 Alluxio interpreter | ||
angular org.apache.zeppelin:zeppelin-angular:0.11.2 HTML and AngularJS view rendering | ||
bigquery org.apache.zeppelin:zeppelin-bigquery:0.11.2 BigQuery interpreter | ||
cassandra org.apache.zeppelin:zeppelin-cassandra:0.11.2 Cassandra interpreter | ||
elasticsearch org.apache.zeppelin:zeppelin-elasticsearch:0.11.2 Elasticsearch interpreter | ||
file org.apache.zeppelin:zeppelin-file:0.11.2 HDFS file interpreter | ||
flink org.apache.zeppelin:zeppelin-flink:0.11.2 Flink interpreter | ||
groovy org.apache.zeppelin:zeppelin-groovy:0.11.2 Groovy interpreter | ||
hbase org.apache.zeppelin:zeppelin-hbase:0.11.2 Hbase interpreter | ||
java org.apache.zeppelin:zeppelin-java:0.11.2 Java interpreter | ||
jdbc org.apache.zeppelin:zeppelin-jdbc:0.11.2 Jdbc interpreter | ||
livy org.apache.zeppelin:zeppelin-livy:0.11.2 Livy interpreter | ||
md org.apache.zeppelin:zeppelin-markdown:0.11.2 Markdown support | ||
neo4j org.apache.zeppelin:zeppelin-neo4j:0.11.2 Neo4j interpreter | ||
python org.apache.zeppelin:zeppelin-python:0.11.2 Python interpreter | ||
shell org.apache.zeppelin:zeppelin-shell:0.11.2 Shell command | ||
sparql org.apache.zeppelin:zeppelin-sparql:0.11.2 Sparql interpreter | ||
submarine org.apache.zeppelin:zeppelin-submarine:0.11.2 Submarine interpreter |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
# | ||
# Licensed to the Apache Software Foundation (ASF) under one or more | ||
# contributor license agreements. See the NOTICE file distributed with | ||
# this work for additional information regarding copyright ownership. | ||
# The ASF licenses this file to You under the Apache License, Version 2.0 | ||
# (the "License"); you may not use this file except in compliance with | ||
# the License. You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
# | ||
|
||
log4j.rootLogger = INFO, stdout, dailyfile | ||
|
||
log4j.appender.stdout = org.apache.log4j.ConsoleAppender | ||
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout | ||
log4j.appender.stdout.layout.ConversionPattern=%5p [%d] ({%t} %F[%M]:%L) - %m%n | ||
|
||
log4j.appender.dailyfile.DatePattern=.yyyy-MM-dd | ||
log4j.appender.dailyfile = org.apache.log4j.DailyRollingFileAppender | ||
log4j.appender.dailyfile.File = ${zeppelin.log.file} | ||
log4j.appender.dailyfile.layout = org.apache.log4j.PatternLayout | ||
log4j.appender.dailyfile.layout.ConversionPattern=%5p [%d] ({%t} %F[%M]:%L) - %m%n |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
# | ||
# Licensed to the Apache Software Foundation (ASF) under one | ||
# or more contributor license agreements. See the NOTICE file | ||
# distributed with this work for additional information | ||
# regarding copyright ownership. The ASF licenses this file | ||
# to you under the Apache License, Version 2.0 (the | ||
# "License"); you may not use this file except in compliance | ||
# with the License. You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
# | ||
|
||
# This affects logging for both user code and Flink | ||
rootLogger.level = INFO | ||
rootLogger.appenderRef.file.ref = MainAppender | ||
|
||
# Uncomment this if you want to _only_ change Flink's logging | ||
#logger.flink.name = org.apache.flink | ||
#logger.flink.level = INFO | ||
|
||
# The following lines keep the log level of common libraries/connectors on | ||
# log level INFO. The root logger does not override this. You have to manually | ||
# change the log levels here. | ||
logger.akka.name = akka | ||
logger.akka.level = INFO | ||
logger.kafka.name= org.apache.kafka | ||
logger.kafka.level = INFO | ||
logger.hadoop.name = org.apache.hadoop | ||
logger.hadoop.level = INFO | ||
logger.zookeeper.name = org.apache.zookeeper | ||
logger.zookeeper.level = INFO | ||
|
||
# Log all infos in the given file | ||
appender.main.name = MainAppender | ||
appender.main.type = File | ||
appender.main.append = false | ||
appender.main.fileName = ${sys:zeppelin.log.file} | ||
appender.main.layout.type = PatternLayout | ||
appender.main.layout.pattern = %d{yyyy-MM-dd HH:mm:ss,SSS} %-5p %-60c %x - %m%n | ||
|
||
# Suppress the irrelevant (wrong) warnings from the Netty channel handler | ||
logger.netty.name = org.apache.flink.shaded.akka.org.jboss.netty.channel.DefaultChannelPipeline | ||
logger.netty.level = OFF |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For which functionality is this file required?