add make rename support, update README
This commit is contained in:
parent
c8e461729f
commit
b5b7ceb85a
@ -5,19 +5,19 @@ on:
|
|||||||
branches: ["main"]
|
branches: ["main"]
|
||||||
|
|
||||||
env:
|
env:
|
||||||
PACKAGE_NAME: go-http-server-with-otel
|
PACKAGE_NAME: go-server-with-otel
|
||||||
BINARY_PATH: bin
|
BINARY_PATH: bin
|
||||||
BINARY_NAME: go-http-server-with-otel
|
BINARY_NAME: go-server-with-otel
|
||||||
GO_MOD_PATH: gitea.libretechconsulting.com/rmcguire/go-http-server-with-otel
|
GO_MOD_PATH: gitea.libretechconsulting.com/rmcguire/go-server-with-otel
|
||||||
GO_GIT_HOST: gitea.libretechconsulting.com
|
GO_GIT_HOST: gitea.libretechconsulting.com
|
||||||
VER_PKG: gitea.libretechconsulting.com/rmcguire/go-app/pkg/config.Version
|
VER_PKG: gitea.libretechconsulting.com/rmcguire/go-app/pkg/config.Version
|
||||||
VERSION: ${{ github.ref_name }}
|
VERSION: ${{ github.ref_name }}
|
||||||
PLATFORMS: linux/amd64 linux/arm64 darwin/amd64 darwin/arm64
|
PLATFORMS: linux/amd64 linux/arm64 darwin/amd64 darwin/arm64
|
||||||
DOCKER_REGISTRY: gitea.libretechconsulting.com
|
DOCKER_REGISTRY: gitea.libretechconsulting.com
|
||||||
DOCKER_USER: rmcguire
|
DOCKER_USER: rmcguire
|
||||||
DOCKER_REPO: rmcguire/go-http-server-with-otel
|
DOCKER_REPO: rmcguire/go-server-with-otel
|
||||||
DOCKER_IMG: ${{ env.DOCKER_REGISTRY }}/${{ env.DOCKER_REPO }}
|
DOCKER_IMG: ${{ env.DOCKER_REGISTRY }}/${{ env.DOCKER_REPO }}
|
||||||
CHART_DIR: helm/go-http-server-with-otel
|
CHART_DIR: helm/
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
release:
|
release:
|
||||||
@ -103,7 +103,7 @@ jobs:
|
|||||||
base: ${{ github.ref }}
|
base: ${{ github.ref }}
|
||||||
filters: |
|
filters: |
|
||||||
chart:
|
chart:
|
||||||
- helm/go-http-server-with-otel/Chart.yaml
|
- helm/Chart.yaml
|
||||||
|
|
||||||
helm-release:
|
helm-release:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
9
Makefile
9
Makefile
@ -72,5 +72,12 @@ rename:
|
|||||||
echo "Aborted."; \
|
echo "Aborted."; \
|
||||||
exit 1; \
|
exit 1; \
|
||||||
fi
|
fi
|
||||||
@find . -type f \( -name '*.go' -o -name 'go.mod' -o -name 'go.sum' -o -name '*.proto' -o -name 'Makefile' \) -exec sed -i "s|$(GIT_REPO)|$(NAME)|g" {} +
|
@find . -type f -a \
|
||||||
|
\( -name '*.go' -o -name 'go.mod' \
|
||||||
|
-o -name 'go.sum' -o -name '*.proto' \
|
||||||
|
-o -name 'Makefile' \
|
||||||
|
-o -name '*.yml' -o -name '*.yaml' \
|
||||||
|
\) \
|
||||||
|
-not -path './.git' -not -path './.git/*' \
|
||||||
|
-exec sed -i "s|$(GIT_REPO)|$(NAME)|g" {} +
|
||||||
@echo "Project renamed to $(NAME)"
|
@echo "Project renamed to $(NAME)"
|
||||||
|
@ -17,4 +17,7 @@ use with postman, etc..
|
|||||||
1. Ensure you have yaml+json tags
|
1. Ensure you have yaml+json tags
|
||||||
1. The yaml-language-server lsp plugin for your favorite editor should
|
1. The yaml-language-server lsp plugin for your favorite editor should
|
||||||
pull in the schema using the comment in `config.yaml`
|
pull in the schema using the comment in `config.yaml`
|
||||||
|
1. Run `make proto` after updating proto changes, and add any
|
||||||
|
1. paths under proto/ as necessary
|
||||||
1. Implement your things
|
1. Implement your things
|
||||||
|
1. Update parameters in `.gitea/workflows/ci.yaml` for your app
|
||||||
|
@ -153,7 +153,7 @@ const file_demo_app_v1alpha1_app_proto_rawDesc = "" +
|
|||||||
"\x06source\x18\x03 \x01(\tR\x06source\x12\x1a\n" +
|
"\x06source\x18\x03 \x01(\tR\x06source\x12\x1a\n" +
|
||||||
"\blanguage\x18\x04 \x01(\tR\blanguage2z\n" +
|
"\blanguage\x18\x04 \x01(\tR\blanguage2z\n" +
|
||||||
"\x0eDemoAppService\x12h\n" +
|
"\x0eDemoAppService\x12h\n" +
|
||||||
"\aGetDemo\x12!.demo.app.v1alpha1.GetDemoRequest\x1a\".demo.app.v1alpha1.GetDemoResponse\"\x16\x82\xd3\xe4\x93\x02\x10\x12\x0e/v1alpha1/demoBSZQgitea.libretechconsulting.com/rmcguire/go-server-with-otel/api/v1alpha1/demob\x06proto3"
|
"\aGetDemo\x12!.demo.app.v1alpha1.GetDemoRequest\x1a\".demo.app.v1alpha1.GetDemoResponse\"\x16\x82\xd3\xe4\x93\x02\x10\x12\x0e/v1alpha1/demoBNZLgitea.libretechconsulting.com/rmcguire/go-server-with-otel/api/v1alpha1/demob\x06proto3"
|
||||||
|
|
||||||
var (
|
var (
|
||||||
file_demo_app_v1alpha1_app_proto_rawDescOnce sync.Once
|
file_demo_app_v1alpha1_app_proto_rawDescOnce sync.Once
|
||||||
|
1
go.sum
1
go.sum
@ -33,6 +33,7 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
|
|||||||
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||||
github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.3.1 h1:KcFzXwzM/kGhIRHvc8jdixfIJjVzuUJdnv+5xsPutog=
|
github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.3.1 h1:KcFzXwzM/kGhIRHvc8jdixfIJjVzuUJdnv+5xsPutog=
|
||||||
github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.3.1/go.mod h1:qOchhhIlmRcqk/O9uCo/puJlyo07YINaIqdZfZG3Jkc=
|
github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.3.1/go.mod h1:qOchhhIlmRcqk/O9uCo/puJlyo07YINaIqdZfZG3Jkc=
|
||||||
|
github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo=
|
||||||
github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3 h1:5ZPtiqj0JL5oKWmcsq4VMaAW5ukBEgSGXEN89zeH1Jo=
|
github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3 h1:5ZPtiqj0JL5oKWmcsq4VMaAW5ukBEgSGXEN89zeH1Jo=
|
||||||
github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3/go.mod h1:ndYquD05frm2vACXE1nsccT4oJzjhw2arTS2cpUD1PI=
|
github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3/go.mod h1:ndYquD05frm2vACXE1nsccT4oJzjhw2arTS2cpUD1PI=
|
||||||
github.com/iancoleman/orderedmap v0.3.0 h1:5cbR2grmZR/DiVt+VJopEhtVs9YGInGIxAoMJn+Ichc=
|
github.com/iancoleman/orderedmap v0.3.0 h1:5cbR2grmZR/DiVt+VJopEhtVs9YGInGIxAoMJn+Ichc=
|
||||||
|
2
helm/.gitignore
vendored
Normal file
2
helm/.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
charts/
|
||||||
|
Chart.lock
|
30
helm/Chart.yaml
Normal file
30
helm/Chart.yaml
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
apiVersion: v2
|
||||||
|
name: go-server-with-otel
|
||||||
|
description: Golang HTTP and GRPC server with OTEL
|
||||||
|
|
||||||
|
# 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: "v0.1.0"
|
||||||
|
|
||||||
|
dependencies:
|
||||||
|
- name: hull
|
||||||
|
repository: https://vidispine.github.io/hull
|
||||||
|
version: 1.32.2
|
||||||
|
|
643
helm/library-hull.yaml
Normal file
643
helm/library-hull.yaml
Normal file
@ -0,0 +1,643 @@
|
|||||||
|
################################
|
||||||
|
### values.yaml for HULL
|
||||||
|
### The basic pre-configuration takes place here.
|
||||||
|
###
|
||||||
|
### Do not change this file, use additional values.hull.yaml
|
||||||
|
### to overwrite the selected fields!
|
||||||
|
################################
|
||||||
|
|
||||||
|
###################################################
|
||||||
|
### CONFIG
|
||||||
|
config:
|
||||||
|
general:
|
||||||
|
rbac: true
|
||||||
|
fullnameOverride: ""
|
||||||
|
nameOverride: ""
|
||||||
|
namespaceOverride: ""
|
||||||
|
noObjectNamePrefixes: false
|
||||||
|
createImagePullSecretsFromRegistries: true
|
||||||
|
globalImageRegistryServer: ""
|
||||||
|
globalImageRegistryToFirstRegistrySecretServer: false
|
||||||
|
serialization:
|
||||||
|
configmap:
|
||||||
|
enabled: true
|
||||||
|
fileExtensions:
|
||||||
|
json: toPrettyJson
|
||||||
|
yml: toYaml
|
||||||
|
yaml: toYaml
|
||||||
|
secret:
|
||||||
|
enabled: true
|
||||||
|
fileExtensions:
|
||||||
|
json: toPrettyJson
|
||||||
|
yml: toYaml
|
||||||
|
yaml: toYaml
|
||||||
|
render:
|
||||||
|
passes: 3
|
||||||
|
emptyLabels: false
|
||||||
|
emptyAnnotations: false
|
||||||
|
emptyTemplateLabels: false
|
||||||
|
emptyTemplateAnnotations: false
|
||||||
|
emptyHullObjects: false
|
||||||
|
postRender:
|
||||||
|
globalStringReplacements:
|
||||||
|
instanceKey:
|
||||||
|
enabled: false
|
||||||
|
string: _HULL_OBJECT_TYPE_DEFAULT_
|
||||||
|
replacement: OBJECT_INSTANCE_KEY
|
||||||
|
instanceKeyResolved:
|
||||||
|
enabled: false
|
||||||
|
string: _HULL_OBJECT_TYPE_DEFAULT_
|
||||||
|
replacement: OBJECT_INSTANCE_KEY_RESOLVED
|
||||||
|
instanceName:
|
||||||
|
enabled: false
|
||||||
|
string: _HULL_OBJECT_TYPE_DEFAULT_
|
||||||
|
replacement: OBJECT_INSTANCE_NAME
|
||||||
|
errorChecks:
|
||||||
|
objectYamlValid: true
|
||||||
|
hullGetTransformationReferenceValid: true
|
||||||
|
containerImageValid: true
|
||||||
|
virtualFolderDataPathExists: true
|
||||||
|
virtualFolderDataInlineValid: false
|
||||||
|
debug:
|
||||||
|
renderBrokenHullGetTransformationReferences: false
|
||||||
|
renderNilWhenInlineIsNil: false
|
||||||
|
renderPathMissingWhenPathIsNonExistent: false
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
common:
|
||||||
|
'app.kubernetes.io/managed-by':
|
||||||
|
'app.kubernetes.io/version':
|
||||||
|
'app.kubernetes.io/part-of':
|
||||||
|
'app.kubernetes.io/name':
|
||||||
|
'app.kubernetes.io/instance':
|
||||||
|
'app.kubernetes.io/component':
|
||||||
|
'helm.sh/chart':
|
||||||
|
'vidispine.hull/version':
|
||||||
|
custom: {}
|
||||||
|
annotations:
|
||||||
|
hashes: false
|
||||||
|
custom: {}
|
||||||
|
data: {}
|
||||||
|
specific: {}
|
||||||
|
templates:
|
||||||
|
pod:
|
||||||
|
global: {}
|
||||||
|
container:
|
||||||
|
global: {}
|
||||||
|
###################################################
|
||||||
|
|
||||||
|
###################################################
|
||||||
|
### OBJECTS
|
||||||
|
objects:
|
||||||
|
|
||||||
|
# NAMESPACE
|
||||||
|
namespace:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
enabled: true
|
||||||
|
staticName: true
|
||||||
|
annotations: {}
|
||||||
|
labels: {}
|
||||||
|
###################################################
|
||||||
|
|
||||||
|
# CONFIGMAPS
|
||||||
|
configmap:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
enabled: true
|
||||||
|
annotations: {}
|
||||||
|
labels: {}
|
||||||
|
###################################################
|
||||||
|
|
||||||
|
# SECRETS
|
||||||
|
secret:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
enabled: true
|
||||||
|
annotations: {}
|
||||||
|
labels: {}
|
||||||
|
###################################################
|
||||||
|
|
||||||
|
# REGISTRIES
|
||||||
|
registry:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
enabled: true
|
||||||
|
annotations: {}
|
||||||
|
labels: {}
|
||||||
|
###################################################
|
||||||
|
|
||||||
|
# SERVICEACCOUNTS
|
||||||
|
serviceaccount:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
enabled: true
|
||||||
|
annotations: {}
|
||||||
|
labels: {}
|
||||||
|
default:
|
||||||
|
enabled: _HT?eq (dig "serviceAccountName" "" _HT*hull.config.templates.pod.global) ""
|
||||||
|
annotations: {}
|
||||||
|
labels: {}
|
||||||
|
###################################################
|
||||||
|
|
||||||
|
# ROLES
|
||||||
|
role:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
enabled: true
|
||||||
|
annotations: {}
|
||||||
|
labels: {}
|
||||||
|
rules:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
default:
|
||||||
|
enabled: _HT?eq (dig "serviceAccountName" "" _HT*hull.config.templates.pod.global) ""
|
||||||
|
rules: {}
|
||||||
|
###################################################
|
||||||
|
|
||||||
|
# ROLEBINDINGS
|
||||||
|
rolebinding:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
enabled: true
|
||||||
|
annotations: {}
|
||||||
|
labels: {}
|
||||||
|
default:
|
||||||
|
enabled: _HT?eq (dig "serviceAccountName" "" _HT*hull.config.templates.pod.global) ""
|
||||||
|
roleRef:
|
||||||
|
apiGroup: "rbac.authorization.k8s.io"
|
||||||
|
kind: "Role"
|
||||||
|
name: _HT^default
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: _HT^default
|
||||||
|
namespace: _HT**Release.Namespace
|
||||||
|
###################################################
|
||||||
|
|
||||||
|
# CLUSTERROLES
|
||||||
|
clusterrole:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
enabled: true
|
||||||
|
annotations: {}
|
||||||
|
labels: {}
|
||||||
|
rules:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
###################################################
|
||||||
|
|
||||||
|
# CLUSTERROLEBINDINGS
|
||||||
|
clusterrolebinding:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
enabled: true
|
||||||
|
annotations: {}
|
||||||
|
labels: {}
|
||||||
|
###################################################
|
||||||
|
|
||||||
|
# CUSTOMRESOURCEDEFINITIONS (deprecated with Helm3)
|
||||||
|
# customresourcedefinitions:
|
||||||
|
# _HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
# enabled: true
|
||||||
|
# annotations: {}
|
||||||
|
# labels: {}
|
||||||
|
###################################################
|
||||||
|
|
||||||
|
# CUSTOMRESOURCES
|
||||||
|
customresource:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
enabled: true
|
||||||
|
annotations: {}
|
||||||
|
labels: {}
|
||||||
|
###################################################
|
||||||
|
|
||||||
|
# PERSISTENTVOLUMECLAIMS
|
||||||
|
persistentvolumeclaim:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
enabled: true
|
||||||
|
annotations: {}
|
||||||
|
labels: {}
|
||||||
|
###################################################
|
||||||
|
|
||||||
|
# PERSISTENTVOLUMES
|
||||||
|
persistentvolume:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
enabled: true
|
||||||
|
annotations: {}
|
||||||
|
labels: {}
|
||||||
|
###################################################
|
||||||
|
|
||||||
|
# STORAGECLASSES
|
||||||
|
storageclass:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
enabled: true
|
||||||
|
annotations: {}
|
||||||
|
labels: {}
|
||||||
|
###################################################
|
||||||
|
|
||||||
|
# SERVICES
|
||||||
|
service:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
enabled: true
|
||||||
|
annotations: {}
|
||||||
|
labels: {}
|
||||||
|
ports:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
|
||||||
|
###################################################
|
||||||
|
|
||||||
|
# INGRESSES
|
||||||
|
ingress:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
enabled: true
|
||||||
|
annotations: {}
|
||||||
|
labels: {}
|
||||||
|
tls:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
rules:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
|
||||||
|
###################################################
|
||||||
|
|
||||||
|
# INGRESSCLASSES
|
||||||
|
ingressclass:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
enabled: true
|
||||||
|
annotations: {}
|
||||||
|
labels: {}
|
||||||
|
|
||||||
|
###################################################
|
||||||
|
|
||||||
|
# DEPLOYMENTS
|
||||||
|
deployment:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
enabled: true
|
||||||
|
annotations: {}
|
||||||
|
labels: {}
|
||||||
|
templateAnnotations: {}
|
||||||
|
templateLabels: {}
|
||||||
|
pod:
|
||||||
|
initContainers:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
env:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
envFrom:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
volumeMounts:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
containers:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
env:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
envFrom:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
volumeMounts:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
volumes:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
###################################################
|
||||||
|
|
||||||
|
# JOBS
|
||||||
|
job:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
enabled: true
|
||||||
|
annotations: {}
|
||||||
|
labels: {}
|
||||||
|
templateAnnotations: {}
|
||||||
|
templateLabels: {}
|
||||||
|
pod:
|
||||||
|
initContainers:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
env:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
envFrom:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
volumeMounts:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
containers:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
env:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
envFrom:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
volumeMounts:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
volumes:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
###################################################
|
||||||
|
|
||||||
|
# CRONJOBS
|
||||||
|
cronjob:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
enabled: true
|
||||||
|
annotations: {}
|
||||||
|
labels: {}
|
||||||
|
job:
|
||||||
|
templateAnnotations: {}
|
||||||
|
templateLabels: {}
|
||||||
|
pod:
|
||||||
|
initContainers:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
env:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
envFrom:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
volumeMounts:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
containers:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
env:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
envFrom:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
volumeMounts:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
volumes:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
###################################################
|
||||||
|
|
||||||
|
# DAEMONSETS
|
||||||
|
daemonset:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
enabled: true
|
||||||
|
annotations: {}
|
||||||
|
labels: {}
|
||||||
|
templateAnnotations: {}
|
||||||
|
templateLabels: {}
|
||||||
|
pod:
|
||||||
|
initContainers:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
env:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
envFrom:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
volumeMounts:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
containers:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
env:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
envFrom:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
volumeMounts:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
volumes:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
###################################################
|
||||||
|
|
||||||
|
# STATEFULSETS
|
||||||
|
statefulset:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
enabled: true
|
||||||
|
annotations: {}
|
||||||
|
labels: {}
|
||||||
|
templateAnnotations: {}
|
||||||
|
templateLabels: {}
|
||||||
|
pod:
|
||||||
|
initContainers:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
env:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
envFrom:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
volumeMounts:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
containers:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
env:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
envFrom:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
volumeMounts:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
volumes:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
###################################################
|
||||||
|
|
||||||
|
# SERVICEMONITORS
|
||||||
|
servicemonitor:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
enabled: true
|
||||||
|
annotations: {}
|
||||||
|
labels: {}
|
||||||
|
###################################################
|
||||||
|
|
||||||
|
# HORIZONTALPODAUTOSCALER
|
||||||
|
horizontalpodautoscaler:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
enabled: true
|
||||||
|
annotations: {}
|
||||||
|
labels: {}
|
||||||
|
###################################################
|
||||||
|
|
||||||
|
# PODDISRUPTIONBUDGET
|
||||||
|
poddisruptionbudget:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
enabled: true
|
||||||
|
annotations: {}
|
||||||
|
labels: {}
|
||||||
|
###################################################
|
||||||
|
|
||||||
|
# PRIORITYCLASS
|
||||||
|
priorityclass:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
enabled: true
|
||||||
|
annotations: {}
|
||||||
|
labels: {}
|
||||||
|
###################################################
|
||||||
|
|
||||||
|
# ENDPOINTS
|
||||||
|
endpoints:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
enabled: true
|
||||||
|
annotations: {}
|
||||||
|
labels: {}
|
||||||
|
###################################################
|
||||||
|
|
||||||
|
# ENDPOINTSLICE
|
||||||
|
endpointslice:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
enabled: true
|
||||||
|
annotations: {}
|
||||||
|
labels: {}
|
||||||
|
###################################################
|
||||||
|
|
||||||
|
# LIMITRANGE
|
||||||
|
limitrange:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
enabled: true
|
||||||
|
annotations: {}
|
||||||
|
labels: {}
|
||||||
|
###################################################
|
||||||
|
|
||||||
|
# MUTATINGWEBHOOKCONFIGURATION
|
||||||
|
mutatingwebhookconfiguration:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
enabled: true
|
||||||
|
annotations: {}
|
||||||
|
labels: {}
|
||||||
|
webhooks:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
###################################################
|
||||||
|
|
||||||
|
# VALIDATINGWEBHOOKCONFIGURATION
|
||||||
|
validatingwebhookconfiguration:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
enabled: true
|
||||||
|
annotations: {}
|
||||||
|
labels: {}
|
||||||
|
webhooks:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
###################################################
|
||||||
|
|
||||||
|
# RESOURCEQUOTA
|
||||||
|
resourcequota:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
enabled: true
|
||||||
|
annotations: {}
|
||||||
|
labels: {}
|
||||||
|
##################################################
|
||||||
|
|
||||||
|
# NETWORKPOLICY
|
||||||
|
networkpolicy:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
enabled: true
|
||||||
|
annotations: {}
|
||||||
|
labels: {}
|
||||||
|
##################################################
|
||||||
|
|
||||||
|
# GATEWAY API - BACKENDLBPOLICY
|
||||||
|
backendlbpolicy:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
enabled: true
|
||||||
|
annotations: {}
|
||||||
|
labels: {}
|
||||||
|
targetRefs:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
|
||||||
|
##################################################
|
||||||
|
|
||||||
|
# GATEWAY API - BACKENDTLSPOLICY
|
||||||
|
backendtlspolicy:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
enabled: true
|
||||||
|
annotations: {}
|
||||||
|
labels: {}
|
||||||
|
targetRefs:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
##################################################
|
||||||
|
|
||||||
|
# GATEWAY API - GATEWAYCLASS
|
||||||
|
gatewayclass:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
enabled: true
|
||||||
|
annotations: {}
|
||||||
|
labels: {}
|
||||||
|
##################################################
|
||||||
|
|
||||||
|
# GATEWAY API - GATEWAY
|
||||||
|
gateway:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
enabled: true
|
||||||
|
annotations: {}
|
||||||
|
labels: {}
|
||||||
|
addresses:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
listeners:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
tls:
|
||||||
|
certificateRefs:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
frontendValidation:
|
||||||
|
caCertificateRefs:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
allowedRoutes:
|
||||||
|
kinds:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
##################################################
|
||||||
|
|
||||||
|
# GATEWAY API - GRPCROUTE
|
||||||
|
grpcroute:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
enabled: true
|
||||||
|
annotations: {}
|
||||||
|
labels: {}
|
||||||
|
parentRefs:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
rules:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
matches:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
filters:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
backendRefs:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
filters:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
##################################################
|
||||||
|
|
||||||
|
# GATEWAY API - REFERENCEGRANT
|
||||||
|
referencegrant:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
enabled: true
|
||||||
|
annotations: {}
|
||||||
|
labels: {}
|
||||||
|
from:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
to:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
##################################################
|
||||||
|
|
||||||
|
# GATEWAY API - TCPROUTE
|
||||||
|
tcproute:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
enabled: true
|
||||||
|
annotations: {}
|
||||||
|
labels: {}
|
||||||
|
parentRefs:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
rules:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
backendRefs:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
##################################################
|
||||||
|
|
||||||
|
# GATEWAY API - TLSROUTE
|
||||||
|
tlsroute:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
enabled: true
|
||||||
|
annotations: {}
|
||||||
|
labels: {}
|
||||||
|
parentRefs:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
rules:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
backendRefs:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
##################################################
|
||||||
|
|
||||||
|
# GATEWAY API - UDPROUTE
|
||||||
|
udproute:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
enabled: true
|
||||||
|
annotations: {}
|
||||||
|
labels: {}
|
||||||
|
parentRefs:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
rules:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
backendRefs:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
##################################################
|
||||||
|
|
||||||
|
# GATEWAY API - HTTPROUTE
|
||||||
|
httproute:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
enabled: true
|
||||||
|
annotations: {}
|
||||||
|
labels: {}
|
||||||
|
parentRefs:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
rules:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
matches:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
filters:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
backendRefs:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_:
|
||||||
|
filters:
|
||||||
|
_HULL_OBJECT_TYPE_DEFAULT_: {}
|
||||||
|
##################################################
|
1
helm/templates/app.yaml
Normal file
1
helm/templates/app.yaml
Normal file
@ -0,0 +1 @@
|
|||||||
|
{{- include "hull.objects.prepare.all" (dict "HULL_ROOT_KEY" "hull" "ROOT_CONTEXT" $) }}
|
195
helm/values.yaml
Normal file
195
helm/values.yaml
Normal file
@ -0,0 +1,195 @@
|
|||||||
|
# yaml-language-server: $schema=https://raw.githubusercontent.com/vidispine/hull/refs/heads/main/hull/values.schema.json
|
||||||
|
hull:
|
||||||
|
config:
|
||||||
|
## go-server-with-otel custom settings (config.yaml)
|
||||||
|
appConfig:
|
||||||
|
# Custom app config
|
||||||
|
timezone: EST5EDT
|
||||||
|
opts:
|
||||||
|
factLang: en
|
||||||
|
factType: random
|
||||||
|
# go-app config
|
||||||
|
name: Demo go-app
|
||||||
|
logging:
|
||||||
|
format: json
|
||||||
|
level: debug
|
||||||
|
enabled: true
|
||||||
|
otel:
|
||||||
|
enabled: true
|
||||||
|
stdoutEnabled: false
|
||||||
|
http:
|
||||||
|
enabled: true
|
||||||
|
listen: :8080
|
||||||
|
logRequests: true
|
||||||
|
grpc:
|
||||||
|
enabled: true
|
||||||
|
enableReflection: true
|
||||||
|
listen: :8081
|
||||||
|
grpcGatewayPath: /api
|
||||||
|
enableGRPCGateway: true
|
||||||
|
enableInstrumentation: true
|
||||||
|
logRequests: true
|
||||||
|
## Chart settings
|
||||||
|
settings:
|
||||||
|
resources: {} # Applies to the app container
|
||||||
|
repo: gitea.libretechconsulting.com/rmcguire/go-server-with-otel
|
||||||
|
tag: _HT**Chart.AppVersion
|
||||||
|
|
||||||
|
httpPort: 8080 # Should match appConfig http.listen
|
||||||
|
grpcPort: 8081 # Should match appConfig grpc.listen
|
||||||
|
|
||||||
|
# Use this as a shortcut, or create your own hull.objects.httproute
|
||||||
|
httproute:
|
||||||
|
enabled: false
|
||||||
|
hostnames:
|
||||||
|
- app.mydomain.com
|
||||||
|
gatewayName: istio-ingressgateway
|
||||||
|
gatewayNamespace: istio-system
|
||||||
|
|
||||||
|
# Use this as a shortcut, or create your own hull.objects.grpcroute
|
||||||
|
grpcroute:
|
||||||
|
enabled: false
|
||||||
|
hostnames:
|
||||||
|
- app.mydomain.com
|
||||||
|
gatewayName: istio-ingressgateway
|
||||||
|
gatewayNamespace: istio-system
|
||||||
|
|
||||||
|
otelServiceName: go-server-with-otel
|
||||||
|
otelResourceAttributes: app=go-server-with-otel
|
||||||
|
otlpEndpoint: http://otel.otel.svc.cluster.local:4317 # Replace me
|
||||||
|
|
||||||
|
serviceType: ClusterIP
|
||||||
|
serviceLbIP: "" # Used if serviceTyps=LoadBalancer
|
||||||
|
|
||||||
|
general:
|
||||||
|
rbac: false
|
||||||
|
render:
|
||||||
|
passes: 2
|
||||||
|
# Applies to all objects
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
custom:
|
||||||
|
app: _HT**Release.Name
|
||||||
|
version: _HT**Chart.AppVersion
|
||||||
|
|
||||||
|
objects:
|
||||||
|
configmap:
|
||||||
|
config:
|
||||||
|
data:
|
||||||
|
config.yaml:
|
||||||
|
serialization: toYaml
|
||||||
|
inline: _HT*hull.config.appConfig
|
||||||
|
environment:
|
||||||
|
data:
|
||||||
|
OTEL_EXPORTER_OTLP_ENDPOINT:
|
||||||
|
serialization: none
|
||||||
|
inline: _HT*hull.config.settings.otlpEndpoint
|
||||||
|
OTEL_SERVICE_NAME:
|
||||||
|
serialization: none
|
||||||
|
inline: _HT*hull.config.settings.otelServiceName
|
||||||
|
OTEL_RESOURCE_ATTRIBUTES:
|
||||||
|
serialization: none
|
||||||
|
inline: _HT!
|
||||||
|
{{ printf "deployment.name=%s,%s" _HT**Release.Name _HT*hull.config.settings.otelResourceAttributes }}
|
||||||
|
serviceaccount:
|
||||||
|
default:
|
||||||
|
enabled: false
|
||||||
|
role:
|
||||||
|
default:
|
||||||
|
enabled: false
|
||||||
|
rolebinding:
|
||||||
|
default:
|
||||||
|
enabled: false
|
||||||
|
|
||||||
|
deployment:
|
||||||
|
main:
|
||||||
|
pod:
|
||||||
|
containers:
|
||||||
|
main:
|
||||||
|
image:
|
||||||
|
repository: _HT*hull.config.settings.repo
|
||||||
|
tag: _HT*hull.config.settings.tag
|
||||||
|
imagePullPolicy: Always
|
||||||
|
args:
|
||||||
|
- -config
|
||||||
|
- /app/config.yaml
|
||||||
|
ports:
|
||||||
|
http:
|
||||||
|
containerPort: _HT*hull.config.settings.httpPort
|
||||||
|
grpc:
|
||||||
|
containerPort: _HT*hull.config.settings.grpcPort
|
||||||
|
envFrom:
|
||||||
|
main:
|
||||||
|
configMapRef:
|
||||||
|
name: environment
|
||||||
|
resources: _HT*hull.config.settings.resources
|
||||||
|
readinessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: /health
|
||||||
|
port: 8080
|
||||||
|
scheme: HTTP
|
||||||
|
periodSeconds: 10
|
||||||
|
failureThreshold: 2
|
||||||
|
livenessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: /health
|
||||||
|
port: 8080
|
||||||
|
scheme: HTTP
|
||||||
|
periodSeconds: 10
|
||||||
|
failureThreshold: 2
|
||||||
|
volumeMounts:
|
||||||
|
config:
|
||||||
|
name: config
|
||||||
|
mountPath: /app/config.yaml
|
||||||
|
subPath: config.yaml
|
||||||
|
volumes:
|
||||||
|
environment:
|
||||||
|
configMap:
|
||||||
|
name: environment
|
||||||
|
config:
|
||||||
|
configMap:
|
||||||
|
name: config
|
||||||
|
|
||||||
|
service:
|
||||||
|
main:
|
||||||
|
type: _HT*hull.config.settings.serviceType
|
||||||
|
loadBalancerIP: _HT*hull.config.settings.serviceLbIP
|
||||||
|
ports:
|
||||||
|
http:
|
||||||
|
port: _HT*hull.config.settings.httpPort
|
||||||
|
targetPort: http
|
||||||
|
grpc:
|
||||||
|
port: _HT*hull.config.settings.grpcPort
|
||||||
|
targetPort: grpc
|
||||||
|
|
||||||
|
httproute:
|
||||||
|
main:
|
||||||
|
enabled: _HT*hull.config.settings.httproute.enabled
|
||||||
|
hostnames: _HT*hull.config.settings.httproute.hostnames
|
||||||
|
parentRefs:
|
||||||
|
- group: gateway.networking.k8s.io
|
||||||
|
kind: Gateway
|
||||||
|
name: _HT*hull.config.settings.httproute.gatewayName
|
||||||
|
namespace: _HT*hull.config.settings.httproute.gatewayNamespace
|
||||||
|
rules:
|
||||||
|
- backendRefs:
|
||||||
|
- group: ""
|
||||||
|
kind: Service
|
||||||
|
name: _HT^main
|
||||||
|
port: _HT*hull.config.settings.httpPort
|
||||||
|
|
||||||
|
grpcroute:
|
||||||
|
main:
|
||||||
|
enabled: _HT*hull.config.settings.grpcroute.enabled
|
||||||
|
hostnames: _HT*hull.config.settings.grpcroute.hostnames
|
||||||
|
parentRefs:
|
||||||
|
- group: gateway.networking.k8s.io
|
||||||
|
kind: Gateway
|
||||||
|
name: _HT*hull.config.settings.grpcroute.gatewayName
|
||||||
|
namespace: _HT*hull.config.settings.grpcroute.gatewayNamespace
|
||||||
|
rules:
|
||||||
|
- backendRefs:
|
||||||
|
- group: ""
|
||||||
|
kind: Service
|
||||||
|
name: _HT^main
|
||||||
|
port: _HT*hull.config.settings.grpcPort
|
Loading…
x
Reference in New Issue
Block a user