diff --git a/charts/grpc-rest-proxy/.helmignore b/charts/grpc-rest-proxy/.helmignore new file mode 100644 index 0000000..0e8a0eb --- /dev/null +++ b/charts/grpc-rest-proxy/.helmignore @@ -0,0 +1,23 @@ +# 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/ diff --git a/charts/grpc-rest-proxy/Chart.yaml b/charts/grpc-rest-proxy/Chart.yaml new file mode 100644 index 0000000..a9364a3 --- /dev/null +++ b/charts/grpc-rest-proxy/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +name: grpc-rest-proxy +description: A Helm chart for Kubernetes + +# A chart can be either an 'application' or a 'library' chart. +# +# Application charts are a collection of templates that can be packaged into versioned archives +# to be deployed. +# +# Library charts provide useful utilities or functions for the chart developer. They're included as +# a dependency of application charts to inject those utilities and functions into the rendering +# pipeline. Library charts do not define any templates and therefore cannot be deployed. +type: application + +# This is the chart version. This version number should be incremented each time you make changes +# to the chart and its templates, including the app version. +# Versions are expected to follow Semantic Versioning (https://semver.org/) +version: 0.1.0 + +# This is the version number of the application being deployed. This version number should be +# incremented each time you make changes to the application. Versions are not expected to +# follow Semantic Versioning. They should reflect the version the application is using. +# It is recommended to use it with quotes. +appVersion: "1.16.0" diff --git a/charts/grpc-rest-proxy/README.md b/charts/grpc-rest-proxy/README.md new file mode 100644 index 0000000..4037110 --- /dev/null +++ b/charts/grpc-rest-proxy/README.md @@ -0,0 +1,103 @@ +# Helm chart for grpc-rest-propxy + +- It is recommended to run grpc-rest-proxy as sidecar proxy (see [../../README.md] for more info). +- Helm chart can be used to run grpc-rest-proxy as standalone Kubernetes depoloyment. + +## Example usage + +```bash +helm upgrade \ + --install \ + --namespace ${GRPC_REST_PROXY_NAMESPACE} \ + --set grpcRestProxy.grpcTargetAddr=${GRPC_REST_PROXY_TARGET_GRPC_SERVER_ADDR} \ + --image.repository=${GRPC_REST_PROXY_CONTAINER_REPOSITORY}/grpc-rest-proxy \ + --image.tag=latest \ + grpc-rest-proxy ./charts/grpc-rest-proxy +``` + +### Example usage with example-grpc-server + +#### 1. Prepare app containers + +Build and push containers for grpc-rest-proxy and example-grpc-server + +```bash +docker build -f cmd/examples/grpcserver/Dockerfile -t ${GRPC_REST_PROXY_CONTAINER_REPOSITORY}/example-grpc-server:latest . +docker build -f Dockerfile -t ${GRPC_REST_PROXY_CONTAINER_REPOSITORY}/grpc-rest-proxy:latest . + +docker push ${GRPC_REST_PROXY_CONTAINER_REPOSITORY}/example-grpc-server:latest +docker push ${GRPC_REST_PROXY_CONTAINER_REPOSITORY}/grpc-rest-proxy:latest +``` + +#### 2. Deploy example-grpc-server as standalone Kubernetes deployment + +Update `spec.template.spec.containers[0].image` with existing container repository + +```bash +kubectl apply -f - <