├── infra ├── ingress-nginx │ ├── changelog │ │ ├── .gitkeep │ │ ├── Changelog-4.7.2.md │ │ ├── Changelog-4.7.1.md │ │ ├── Changelog-4.6.1.md │ │ ├── Changelog-4.5.2.md │ │ └── Changelog-4.7.0.md │ ├── ci │ │ ├── controller-admission-tls-cert-manager-values.yaml │ │ ├── deployment-default-values.yaml │ │ ├── controller-custom-ingressclass-flags.yaml │ │ ├── deployment-nodeport-values.yaml │ │ ├── deployment-psp-values.yaml │ │ ├── deployment-webhook-values.yaml │ │ ├── daemonset-nodeport-values.yaml │ │ ├── deamonset-default-values.yaml │ │ ├── deamonset-webhook-values.yaml │ │ ├── daemonset-extra-modules.yaml │ │ ├── deployment-extra-modules.yaml │ │ ├── deployment-tcp-values.yaml │ │ ├── deployment-metrics-values.yaml │ │ ├── deployment-autoscaling-values.yaml │ │ ├── deployment-webhook-extraEnvs-values.yaml │ │ ├── deployment-webhook-and-psp-values.yaml │ │ ├── deamonset-metrics-values.yaml │ │ ├── deamonset-psp-values.yaml │ │ ├── deamonset-webhook-and-psp-values.yaml │ │ ├── deployment-customconfig-values.yaml │ │ ├── daemonset-tcp-values.yaml │ │ ├── deployment-tcp-udp-values.yaml │ │ ├── deployment-headers-values.yaml │ │ ├── daemonset-tcp-udp-values.yaml │ │ ├── daemonset-customconfig-values.yaml │ │ ├── daemonset-headers-values.yaml │ │ ├── deployment-extra-modules-default-container-sec-context.yaml │ │ ├── deployment-autoscaling-behavior-values.yaml │ │ ├── deployment-extra-modules-specific-container-sec-context.yaml │ │ ├── deployment-tcp-udp-portNamePrefix-values.yaml │ │ ├── daemonset-internal-lb-values.yaml │ │ ├── daemonset-tcp-udp-portNamePrefix-values.yaml │ │ ├── deployment-customnodeport-values.yaml │ │ ├── deployment-tcp-udp-configMapNamespace-values.yaml │ │ ├── deployment-podannotations-values.yaml │ │ ├── daemonset-customnodeport-values.yaml │ │ ├── daemonset-podannotations-values.yaml │ │ ├── daemonset-tcp-udp-configMapNamespace-values.yaml │ │ ├── deployment-internal-lb-values.yaml │ │ └── deployment-webhook-resources-values.yaml │ ├── OWNERS │ ├── .helmignore │ ├── changelog.md.gotmpl │ ├── templates │ │ ├── controller-secret.yaml │ │ ├── controller-configmap-addheaders.yaml │ │ ├── controller-configmap-proxyheaders.yaml │ │ ├── controller-webhooks-networkpolicy.yaml │ │ ├── controller-configmap-tcp.yaml │ │ ├── controller-configmap-udp.yaml │ │ ├── default-backend-serviceaccount.yaml │ │ ├── clusterrolebinding.yaml │ │ ├── controller-serviceaccount.yaml │ │ └── controller-rolebinding.yaml │ ├── config.yaml │ └── Chart.yaml ├── loki-stack │ ├── charts │ │ ├── promtail │ │ │ ├── ci │ │ │ │ ├── default-values.yaml │ │ │ │ ├── deployment-values.yaml │ │ │ │ └── autoscaled-deployment-values.yaml │ │ │ ├── templates │ │ │ │ ├── extra-manifests.yaml │ │ │ │ ├── configmap.yaml │ │ │ │ ├── podsecuritypolicy.yaml │ │ │ │ ├── clusterrole.yaml │ │ │ │ ├── clusterrolebinding.yaml │ │ │ │ ├── service-metrics.yaml │ │ │ │ ├── serviceaccount.yaml │ │ │ │ ├── secret.yaml │ │ │ │ ├── role.yaml │ │ │ │ ├── rolebinding.yaml │ │ │ │ └── daemonset.yaml │ │ │ ├── .helmignore │ │ │ └── Chart.yaml │ │ ├── grafana │ │ │ ├── dashboards │ │ │ │ └── custom-dashboard.json │ │ │ ├── ci │ │ │ │ ├── with-persistence.yaml │ │ │ │ ├── default-values.yaml │ │ │ │ ├── with-extraconfigmapmounts-values.yaml │ │ │ │ ├── with-image-renderer-values.yaml │ │ │ │ ├── with-dashboard-values.yaml │ │ │ │ └── with-affinity-values.yaml │ │ │ ├── templates │ │ │ │ ├── extra-manifests.yaml │ │ │ │ ├── secret-env.yaml │ │ │ │ ├── tests │ │ │ │ │ ├── test-serviceaccount.yaml │ │ │ │ │ ├── test-role.yaml │ │ │ │ │ └── test-configmap.yaml │ │ │ │ └── serviceaccount.yaml │ │ │ ├── .helmignore │ │ │ └── Chart.yaml │ │ ├── logstash │ │ │ ├── examples │ │ │ │ ├── upgrade │ │ │ │ │ ├── values.yaml │ │ │ │ │ ├── Makefile │ │ │ │ │ └── README.md │ │ │ │ ├── oss │ │ │ │ │ ├── values.yaml │ │ │ │ │ ├── Makefile │ │ │ │ │ └── README.md │ │ │ │ ├── default │ │ │ │ │ ├── Makefile │ │ │ │ │ └── README.md │ │ │ │ ├── elasticsearch │ │ │ │ │ ├── values.yaml │ │ │ │ │ └── Makefile │ │ │ │ └── security │ │ │ │ │ └── Makefile │ │ │ ├── .helmignore │ │ │ ├── Makefile │ │ │ ├── templates │ │ │ │ ├── NOTES.txt │ │ │ │ ├── configmap-config.yaml │ │ │ │ ├── configmap-pattern.yaml │ │ │ │ ├── configmap-pipeline.yaml │ │ │ │ ├── service-headless.yaml │ │ │ │ ├── podsecuritypolicy.yaml │ │ │ │ ├── poddisruptionbudget.yaml │ │ │ │ └── rolebinding.yaml │ │ │ └── Chart.yaml │ │ ├── filebeat │ │ │ ├── .helmignore │ │ │ ├── Makefile │ │ │ ├── examples │ │ │ │ ├── upgrade │ │ │ │ │ ├── values.yaml │ │ │ │ │ ├── Makefile │ │ │ │ │ └── README.md │ │ │ │ ├── deployment │ │ │ │ │ ├── test │ │ │ │ │ │ └── goss.yaml │ │ │ │ │ ├── Makefile │ │ │ │ │ └── values.yaml │ │ │ │ ├── default │ │ │ │ │ └── Makefile │ │ │ │ ├── oss │ │ │ │ │ ├── Makefile │ │ │ │ │ └── test │ │ │ │ │ │ └── goss.yaml │ │ │ │ └── security │ │ │ │ │ ├── test │ │ │ │ │ └── goss.yaml │ │ │ │ │ └── Makefile │ │ │ ├── templates │ │ │ │ ├── NOTES.txt │ │ │ │ ├── role.yaml │ │ │ │ ├── clusterrole.yaml │ │ │ │ ├── serviceaccount.yaml │ │ │ │ ├── rolebinding.yaml │ │ │ │ └── clusterrolebinding.yaml │ │ │ └── Chart.yaml │ │ ├── loki │ │ │ ├── templates │ │ │ │ ├── NOTES.txt │ │ │ │ ├── secret.yaml │ │ │ │ ├── pdb.yaml │ │ │ │ ├── serviceaccount.yaml │ │ │ │ ├── configmap-alert.yaml │ │ │ │ ├── rolebinding.yaml │ │ │ │ ├── role.yaml │ │ │ │ ├── service-memberlist.yaml │ │ │ │ ├── networkpolicy.yaml │ │ │ │ └── service-headless.yaml │ │ │ ├── Chart.yaml │ │ │ └── .helmignore │ │ ├── prometheus │ │ │ ├── Chart.lock │ │ │ ├── .helmignore │ │ │ ├── charts │ │ │ │ └── kube-state-metrics │ │ │ │ │ ├── templates │ │ │ │ │ ├── kubeconfig-secret.yaml │ │ │ │ │ ├── pdb.yaml │ │ │ │ │ ├── serviceaccount.yaml │ │ │ │ │ ├── psp-clusterrolebinding.yaml │ │ │ │ │ ├── stsdiscovery-role.yaml │ │ │ │ │ └── stsdiscovery-rolebinding.yaml │ │ │ │ │ ├── .helmignore │ │ │ │ │ └── Chart.yaml │ │ │ └── templates │ │ │ │ ├── server │ │ │ │ ├── serviceaccount.yaml │ │ │ │ ├── pdb.yaml │ │ │ │ ├── netpol.yaml │ │ │ │ └── clusterrolebinding.yaml │ │ │ │ ├── pushgateway │ │ │ │ ├── serviceaccount.yaml │ │ │ │ ├── pdb.yaml │ │ │ │ ├── clusterrole.yaml │ │ │ │ ├── clusterrolebinding.yaml │ │ │ │ └── netpol.yaml │ │ │ │ ├── alertmanager │ │ │ │ ├── serviceaccount.yaml │ │ │ │ ├── pdb.yaml │ │ │ │ ├── clusterrole.yaml │ │ │ │ └── cm.yaml │ │ │ │ └── node-exporter │ │ │ │ ├── serviceaccount.yaml │ │ │ │ └── role.yaml │ │ └── fluent-bit │ │ │ ├── .helmignore │ │ │ ├── Chart.yaml │ │ │ └── templates │ │ │ ├── NOTES.txt │ │ │ ├── serviceaccount.yaml │ │ │ ├── clusterrole.yaml │ │ │ ├── role.yaml │ │ │ ├── rolebinding.yaml │ │ │ ├── service-headless.yaml │ │ │ └── clusterrolebinding.yaml │ ├── templates │ │ └── NOTES.txt │ ├── Chart.yaml │ └── .helmignore ├── kube-prometheus-stack │ ├── charts │ │ ├── grafana │ │ │ ├── dashboards │ │ │ │ └── custom-dashboard.json │ │ │ ├── ci │ │ │ │ ├── with-persistence.yaml │ │ │ │ ├── default-values.yaml │ │ │ │ ├── with-extraconfigmapmounts-values.yaml │ │ │ │ ├── with-image-renderer-values.yaml │ │ │ │ ├── with-dashboard-values.yaml │ │ │ │ └── with-affinity-values.yaml │ │ │ ├── templates │ │ │ │ ├── extra-manifests.yaml │ │ │ │ ├── secret-env.yaml │ │ │ │ ├── tests │ │ │ │ │ ├── test-serviceaccount.yaml │ │ │ │ │ ├── test-configmap.yaml │ │ │ │ │ └── test-role.yaml │ │ │ │ └── serviceaccount.yaml │ │ │ └── .helmignore │ │ ├── crds │ │ │ ├── Chart.yaml │ │ │ └── README.md │ │ ├── prometheus-node-exporter │ │ │ ├── ci │ │ │ │ └── port-values.yaml │ │ │ ├── templates │ │ │ │ ├── extra-manifests.yaml │ │ │ │ ├── endpoints.yaml │ │ │ │ ├── psp-clusterrole.yaml │ │ │ │ ├── rbac-configmap.yaml │ │ │ │ └── clusterrole.yaml │ │ │ └── .helmignore │ │ ├── kube-state-metrics │ │ │ ├── templates │ │ │ │ ├── extra-manifests.yaml │ │ │ │ ├── kubeconfig-secret.yaml │ │ │ │ ├── crs-configmap.yaml │ │ │ │ ├── pdb.yaml │ │ │ │ ├── serviceaccount.yaml │ │ │ │ ├── stsdiscovery-role.yaml │ │ │ │ ├── psp-clusterrolebinding.yaml │ │ │ │ └── stsdiscovery-rolebinding.yaml │ │ │ └── .helmignore │ │ └── prometheus-windows-exporter │ │ │ ├── .helmignore │ │ │ ├── Chart.yaml │ │ │ └── templates │ │ │ └── config.yaml │ ├── templates │ │ ├── extra-objects.yaml │ │ ├── NOTES.txt │ │ ├── prometheus │ │ │ └── csi-secret.yaml │ │ └── exporters │ │ │ ├── kube-etcd │ │ │ └── endpoints.yaml │ │ │ └── kube-proxy │ │ │ └── endpoints.yaml │ ├── Chart.lock │ └── CONTRIBUTING.md ├── redis │ ├── img │ │ ├── redis-topology.png │ │ └── redis-cluster-topology.png │ ├── charts │ │ └── common │ │ │ ├── values.yaml │ │ │ ├── .helmignore │ │ │ ├── Chart.yaml │ │ │ └── templates │ │ │ └── _warnings.tpl │ ├── templates │ │ └── extra-list.yaml │ ├── Chart.lock │ └── .helmignore ├── nfs-subdir-external-provisioner │ ├── ci │ │ └── test-values.yaml │ ├── config.yaml │ ├── templates │ │ ├── serviceaccount.yaml │ │ ├── poddisruptionbudget.yaml │ │ ├── persistentvolumeclaim.yaml │ │ ├── clusterrolebinding.yaml │ │ ├── rolebinding.yaml │ │ └── role.yaml │ └── Chart.yaml ├── kafka │ ├── charts │ │ ├── common │ │ │ ├── values.yaml │ │ │ ├── values.schema.json │ │ │ ├── .helmignore │ │ │ ├── Chart.yaml │ │ │ └── templates │ │ │ │ └── _warnings.tpl │ │ └── zookeeper │ │ │ ├── charts │ │ │ └── common │ │ │ │ ├── values.yaml │ │ │ │ ├── .helmignore │ │ │ │ ├── Chart.yaml │ │ │ │ └── templates │ │ │ │ └── _warnings.tpl │ │ │ ├── Chart.lock │ │ │ ├── templates │ │ │ └── extra-list.yaml │ │ │ └── .helmignore │ ├── templates │ │ └── extra-list.yaml │ ├── Chart.lock │ └── .helmignore ├── minio │ ├── charts │ │ └── common │ │ │ ├── values.yaml │ │ │ ├── values.schema.json │ │ │ ├── .helmignore │ │ │ ├── Chart.yaml │ │ │ └── templates │ │ │ └── _warnings.tpl │ ├── Chart.lock │ ├── templates │ │ └── extra-list.yaml │ └── .helmignore ├── mongodb │ ├── charts │ │ └── common │ │ │ ├── values.yaml │ │ │ ├── .helmignore │ │ │ ├── Chart.yaml │ │ │ └── templates │ │ │ └── _warnings.tpl │ ├── Chart.lock │ ├── templates │ │ └── extra-list.yaml │ └── .helmignore ├── mysql │ ├── charts │ │ └── common │ │ │ ├── values.yaml │ │ │ ├── values.schema.json │ │ │ ├── .helmignore │ │ │ ├── Chart.yaml │ │ │ └── templates │ │ │ └── _warnings.tpl │ ├── Chart.lock │ ├── templates │ │ └── extra-list.yaml │ └── .helmignore ├── mysql-config.yaml └── redis-config.yaml ├── .github ├── linters │ ├── .markdown-lint.yml │ └── ct.yaml ├── configs │ ├── kind-config.yaml │ ├── labeler.yaml │ ├── ct-lint.yaml │ ├── ct-install.yaml │ └── cr.yaml └── dependabot.yml ├── docs ├── images │ ├── img.png │ ├── img_1.png │ ├── img_2.png │ ├── img_3.png │ ├── img_4.png │ ├── img_5.png │ ├── img_6.png │ ├── img_7.png │ ├── img_8.png │ └── img_9.png └── CODEOWNERS ├── .editorconfig ├── README.md ├── charts ├── openim-chat │ ├── templates │ │ ├── app-cm.yaml │ │ ├── serviceaccount.yaml │ │ └── service.yaml │ ├── charts │ │ ├── chat-api │ │ │ ├── templates │ │ │ │ ├── serviceaccount.yaml │ │ │ │ └── service.yaml │ │ │ └── .helmignore │ │ ├── chat-rpc │ │ │ ├── templates │ │ │ │ ├── serviceaccount.yaml │ │ │ │ └── service.yaml │ │ │ └── .helmignore │ │ └── admin-rpc │ │ │ ├── templates │ │ │ ├── serviceaccount.yaml │ │ │ └── service.yaml │ │ │ └── .helmignore │ └── .helmignore ├── openim-server │ ├── templates │ │ ├── app-cm.yaml │ │ ├── serviceaccount.yaml │ │ ├── serviceMonitor.yaml │ │ └── service.yaml │ └── charts │ │ ├── openim-push │ │ ├── templates │ │ │ ├── serviceaccount.yaml │ │ │ ├── serviceMonitor.yaml │ │ │ └── service.yaml │ │ └── .helmignore │ │ ├── openim-rpc-msg │ │ ├── templates │ │ │ ├── serviceaccount.yaml │ │ │ ├── serviceMonitor.yaml │ │ │ └── service.yaml │ │ └── .helmignore │ │ ├── openim-rpc-auth │ │ ├── templates │ │ │ ├── serviceaccount.yaml │ │ │ ├── serviceMonitor.yaml │ │ │ └── service.yaml │ │ └── .helmignore │ │ ├── openim-rpc-group │ │ ├── templates │ │ │ ├── serviceaccount.yaml │ │ │ ├── serviceMonitor.yaml │ │ │ └── service.yaml │ │ └── .helmignore │ │ ├── openim-rpc-third │ │ ├── templates │ │ │ ├── serviceaccount.yaml │ │ │ ├── serviceMonitor.yaml │ │ │ └── service.yaml │ │ └── .helmignore │ │ ├── openim-rpc-user │ │ ├── templates │ │ │ ├── serviceaccount.yaml │ │ │ ├── serviceMonitor.yaml │ │ │ └── service.yaml │ │ └── .helmignore │ │ ├── openim-msggateway │ │ ├── templates │ │ │ ├── serviceaccount.yaml │ │ │ ├── serviceMonitor.yaml │ │ │ ├── serviceheadless.yaml │ │ │ └── service.yaml │ │ └── .helmignore │ │ ├── openim-rpc-friend │ │ ├── templates │ │ │ ├── serviceaccount.yaml │ │ │ ├── serviceMonitor.yaml │ │ │ └── service.yaml │ │ └── .helmignore │ │ ├── openim-msgtransfer │ │ ├── templates │ │ │ ├── serviceaccount.yaml │ │ │ ├── serviceMonitor.yaml │ │ │ └── service.yaml │ │ └── .helmignore │ │ ├── openim-msggateway-proxy │ │ ├── templates │ │ │ ├── serviceaccount.yaml │ │ │ ├── serviceMonitor.yaml │ │ │ └── service.yaml │ │ └── .helmignore │ │ └── openim-rpc-conversation │ │ ├── templates │ │ ├── serviceaccount.yaml │ │ ├── serviceMonitor.yaml │ │ └── service.yaml │ │ └── .helmignore ├── openim-web │ └── templates │ │ ├── serviceaccount.yaml │ │ ├── service.yaml │ │ └── tests │ │ └── test-connection.yaml └── openim-admin │ └── templates │ ├── serviceaccount.yaml │ ├── service.yaml │ └── tests │ └── test-connection.yaml ├── scripts ├── helm-docs.sh └── lint.sh ├── .goreleaser.yml ├── .gitignore └── helm.sh /infra/ingress-nginx/changelog/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/promtail/ci/default-values.yaml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.github/linters/.markdown-lint.yml: -------------------------------------------------------------------------------- 1 | MD013: 2 | line_length: 600 -------------------------------------------------------------------------------- /infra/loki-stack/charts/grafana/dashboards/custom-dashboard.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /infra/loki-stack/charts/logstash/examples/upgrade/values.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /infra/kube-prometheus-stack/charts/grafana/dashboards/custom-dashboard.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /infra/loki-stack/charts/filebeat/.helmignore: -------------------------------------------------------------------------------- 1 | tests/ 2 | .pytest_cache/ 3 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/filebeat/Makefile: -------------------------------------------------------------------------------- 1 | include ../helpers/common.mk 2 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/logstash/.helmignore: -------------------------------------------------------------------------------- 1 | tests/ 2 | .pytest_cache/ 3 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/logstash/Makefile: -------------------------------------------------------------------------------- 1 | include ../helpers/common.mk 2 | -------------------------------------------------------------------------------- /docs/images/img.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openimsdk/helm-charts/HEAD/docs/images/img.png -------------------------------------------------------------------------------- /docs/images/img_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openimsdk/helm-charts/HEAD/docs/images/img_1.png -------------------------------------------------------------------------------- /docs/images/img_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openimsdk/helm-charts/HEAD/docs/images/img_2.png -------------------------------------------------------------------------------- /docs/images/img_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openimsdk/helm-charts/HEAD/docs/images/img_3.png -------------------------------------------------------------------------------- /docs/images/img_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openimsdk/helm-charts/HEAD/docs/images/img_4.png -------------------------------------------------------------------------------- /docs/images/img_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openimsdk/helm-charts/HEAD/docs/images/img_5.png -------------------------------------------------------------------------------- /docs/images/img_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openimsdk/helm-charts/HEAD/docs/images/img_6.png -------------------------------------------------------------------------------- /docs/images/img_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openimsdk/helm-charts/HEAD/docs/images/img_7.png -------------------------------------------------------------------------------- /docs/images/img_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openimsdk/helm-charts/HEAD/docs/images/img_8.png -------------------------------------------------------------------------------- /docs/images/img_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openimsdk/helm-charts/HEAD/docs/images/img_9.png -------------------------------------------------------------------------------- /infra/kube-prometheus-stack/charts/crds/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v2 2 | name: crds 3 | version: 0.0.0 4 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | [*.{md,md.gotmpl}] 2 | indent_style = space 3 | indent_size = 4 4 | trim_trailing_whitespace = false -------------------------------------------------------------------------------- /infra/loki-stack/charts/grafana/ci/with-persistence.yaml: -------------------------------------------------------------------------------- 1 | persistence: 2 | type: pvc 3 | enabled: true 4 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/logstash/examples/oss/values.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | image: "docker.elastic.co/logstash/logstash-oss" 3 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## :busts_in_silhouette: Undergoing comprehensive testing, awaiting updates. 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /infra/kube-prometheus-stack/charts/grafana/ci/with-persistence.yaml: -------------------------------------------------------------------------------- 1 | persistence: 2 | type: pvc 3 | enabled: true 4 | -------------------------------------------------------------------------------- /infra/redis/img/redis-topology.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openimsdk/helm-charts/HEAD/infra/redis/img/redis-topology.png -------------------------------------------------------------------------------- /infra/kube-prometheus-stack/charts/prometheus-node-exporter/ci/port-values.yaml: -------------------------------------------------------------------------------- 1 | service: 2 | targetPort: 9102 3 | port: 9102 4 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/promtail/ci/deployment-values.yaml: -------------------------------------------------------------------------------- 1 | daemonset: 2 | enabled: false 3 | deployment: 4 | enabled: true 5 | -------------------------------------------------------------------------------- /infra/redis/img/redis-cluster-topology.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openimsdk/helm-charts/HEAD/infra/redis/img/redis-cluster-topology.png -------------------------------------------------------------------------------- /infra/kube-prometheus-stack/templates/extra-objects.yaml: -------------------------------------------------------------------------------- 1 | {{ range .Values.extraManifests }} 2 | --- 3 | {{ tpl (toYaml .) $ }} 4 | {{ end }} 5 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/grafana/templates/extra-manifests.yaml: -------------------------------------------------------------------------------- 1 | {{ range .Values.extraObjects }} 2 | --- 3 | {{ tpl (toYaml .) $ }} 4 | {{ end }} 5 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/filebeat/examples/upgrade/values.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | extraEnvs: 3 | - name: ELASTICSEARCH_HOSTS 4 | value: upgrade-master:9200 5 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/promtail/templates/extra-manifests.yaml: -------------------------------------------------------------------------------- 1 | {{ range .Values.extraObjects }} 2 | --- 3 | {{ tpl (toYaml .) $ }} 4 | {{ end }} 5 | -------------------------------------------------------------------------------- /infra/nfs-subdir-external-provisioner/ci/test-values.yaml: -------------------------------------------------------------------------------- 1 | nfs: 2 | server: 127.0.0.1 3 | podSecurityPolicy: 4 | enabled: true 5 | buildMode: true 6 | -------------------------------------------------------------------------------- /infra/kube-prometheus-stack/charts/grafana/templates/extra-manifests.yaml: -------------------------------------------------------------------------------- 1 | {{ range .Values.extraObjects }} 2 | --- 3 | {{ tpl (toYaml .) $ }} 4 | {{ end }} 5 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/grafana/ci/default-values.yaml: -------------------------------------------------------------------------------- 1 | # Leave this file empty to ensure that CI runs builds against the default configuration in values.yaml. 2 | -------------------------------------------------------------------------------- /infra/kube-prometheus-stack/charts/grafana/ci/default-values.yaml: -------------------------------------------------------------------------------- 1 | # Leave this file empty to ensure that CI runs builds against the default configuration in values.yaml. 2 | -------------------------------------------------------------------------------- /infra/kube-prometheus-stack/charts/kube-state-metrics/templates/extra-manifests.yaml: -------------------------------------------------------------------------------- 1 | {{ range .Values.extraManifests }} 2 | --- 3 | {{ tpl (toYaml .) $ }} 4 | {{ end }} 5 | -------------------------------------------------------------------------------- /infra/kube-prometheus-stack/charts/prometheus-node-exporter/templates/extra-manifests.yaml: -------------------------------------------------------------------------------- 1 | {{ range .Values.extraManifests }} 2 | --- 3 | {{ tpl . $ }} 4 | {{ end }} 5 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/promtail/ci/autoscaled-deployment-values.yaml: -------------------------------------------------------------------------------- 1 | daemonset: 2 | enabled: false 3 | deployment: 4 | enabled: true 5 | autoscaling: 6 | enabled: true 7 | -------------------------------------------------------------------------------- /.github/configs/kind-config.yaml: -------------------------------------------------------------------------------- 1 | kind: Cluster 2 | apiVersion: kind.x-k8s.io/v1alpha4 3 | nodes: 4 | - role: control-plane 5 | - role: worker 6 | - role: worker 7 | - role: worker -------------------------------------------------------------------------------- /infra/ingress-nginx/ci/controller-admission-tls-cert-manager-values.yaml: -------------------------------------------------------------------------------- 1 | controller: 2 | admissionWebhooks: 3 | certManager: 4 | enabled: true 5 | service: 6 | type: ClusterIP 7 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/filebeat/templates/NOTES.txt: -------------------------------------------------------------------------------- 1 | 1. Watch all containers come up. 2 | $ kubectl get pods --namespace={{ .Release.Namespace }} -l app={{ template "filebeat.fullname" . }} -w 3 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/logstash/templates/NOTES.txt: -------------------------------------------------------------------------------- 1 | 1. Watch all cluster members come up. 2 | $ kubectl get pods --namespace={{ .Release.Namespace }} -l app={{ template "logstash.fullname" . }} -w 3 | -------------------------------------------------------------------------------- /infra/nfs-subdir-external-provisioner/config.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | repository: m.daocloud.io/registry.k8s.io/sig-storage/nfs-subdir-external-provisioner 3 | 4 | nfs: 5 | server: 172.29.166.17 6 | path: /nfs_share -------------------------------------------------------------------------------- /infra/kube-prometheus-stack/charts/crds/README.md: -------------------------------------------------------------------------------- 1 | # crds subchart 2 | 3 | See: [https://github.com/prometheus-community/helm-charts/issues/3548](https://github.com/prometheus-community/helm-charts/issues/3548) 4 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/filebeat/examples/deployment/test/goss.yaml: -------------------------------------------------------------------------------- 1 | http: 2 | http://elasticsearch-master:9200/_cat/indices: 3 | status: 200 4 | timeout: 2000 5 | body: 6 | - "filebeat-7.17.3" 7 | -------------------------------------------------------------------------------- /infra/loki-stack/templates/NOTES.txt: -------------------------------------------------------------------------------- 1 | The Loki stack has been deployed to your cluster. Loki can now be added as a datasource in Grafana. 2 | 3 | See http://docs.grafana.org/features/datasources/loki/ for more detail. 4 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 2 3 | updates: 4 | - package-ecosystem: "github-actions" 5 | directory: "/" 6 | schedule: 7 | interval: "weekly" 8 | time: "03:00" 9 | timezone: "Asia/Shanghai" 10 | -------------------------------------------------------------------------------- /.github/configs/labeler.yaml: -------------------------------------------------------------------------------- 1 | openim-server: 2 | - charts/openim-server/**/* 3 | 4 | openim-chat: 5 | - charts/openim-chat/**/* 6 | 7 | openim-admin: 8 | - charts/openim-admin/**/* 9 | 10 | openim-web: 11 | - charts/openim-web/**/* -------------------------------------------------------------------------------- /charts/openim-chat/templates/app-cm.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ConfigMap 3 | metadata: 4 | name: imchat-cm 5 | data: 6 | config.yaml: |+ 7 | {{- with .Values.config }} 8 | {{- toYaml . | nindent 4 }} 9 | {{- end }} 10 | -------------------------------------------------------------------------------- /infra/kafka/charts/common/values.yaml: -------------------------------------------------------------------------------- 1 | # Copyright VMware, Inc. 2 | # SPDX-License-Identifier: APACHE-2.0 3 | 4 | ## bitnami/common 5 | ## It is required by CI/CD tools and processes. 6 | ## @skip exampleValue 7 | ## 8 | exampleValue: common-chart 9 | -------------------------------------------------------------------------------- /infra/minio/charts/common/values.yaml: -------------------------------------------------------------------------------- 1 | # Copyright VMware, Inc. 2 | # SPDX-License-Identifier: APACHE-2.0 3 | 4 | ## bitnami/common 5 | ## It is required by CI/CD tools and processes. 6 | ## @skip exampleValue 7 | ## 8 | exampleValue: common-chart 9 | -------------------------------------------------------------------------------- /infra/mongodb/charts/common/values.yaml: -------------------------------------------------------------------------------- 1 | # Copyright VMware, Inc. 2 | # SPDX-License-Identifier: APACHE-2.0 3 | 4 | ## bitnami/common 5 | ## It is required by CI/CD tools and processes. 6 | ## @skip exampleValue 7 | ## 8 | exampleValue: common-chart 9 | -------------------------------------------------------------------------------- /infra/mysql/charts/common/values.yaml: -------------------------------------------------------------------------------- 1 | # Copyright VMware, Inc. 2 | # SPDX-License-Identifier: APACHE-2.0 3 | 4 | ## bitnami/common 5 | ## It is required by CI/CD tools and processes. 6 | ## @skip exampleValue 7 | ## 8 | exampleValue: common-chart 9 | -------------------------------------------------------------------------------- /infra/redis/charts/common/values.yaml: -------------------------------------------------------------------------------- 1 | # Copyright VMware, Inc. 2 | # SPDX-License-Identifier: APACHE-2.0 3 | 4 | ## bitnami/common 5 | ## It is required by CI/CD tools and processes. 6 | ## @skip exampleValue 7 | ## 8 | exampleValue: common-chart 9 | -------------------------------------------------------------------------------- /infra/ingress-nginx/ci/deployment-default-values.yaml: -------------------------------------------------------------------------------- 1 | # Left blank to test default values 2 | controller: 3 | image: 4 | repository: ingress-controller/controller 5 | tag: 1.0.0-dev 6 | digest: null 7 | service: 8 | type: ClusterIP 9 | -------------------------------------------------------------------------------- /infra/ingress-nginx/ci/controller-custom-ingressclass-flags.yaml: -------------------------------------------------------------------------------- 1 | controller: 2 | watchIngressWithoutClass: true 3 | ingressClassResource: 4 | name: custom-nginx 5 | enabled: true 6 | default: true 7 | controllerValue: "k8s.io/custom-nginx" 8 | -------------------------------------------------------------------------------- /infra/kafka/charts/zookeeper/charts/common/values.yaml: -------------------------------------------------------------------------------- 1 | # Copyright VMware, Inc. 2 | # SPDX-License-Identifier: APACHE-2.0 3 | 4 | ## bitnami/common 5 | ## It is required by CI/CD tools and processes. 6 | ## @skip exampleValue 7 | ## 8 | exampleValue: common-chart 9 | -------------------------------------------------------------------------------- /infra/ingress-nginx/ci/deployment-nodeport-values.yaml: -------------------------------------------------------------------------------- 1 | controller: 2 | image: 3 | repository: ingress-controller/controller 4 | tag: 1.0.0-dev 5 | digest: null 6 | admissionWebhooks: 7 | enabled: false 8 | service: 9 | type: NodePort 10 | -------------------------------------------------------------------------------- /infra/ingress-nginx/ci/deployment-psp-values.yaml: -------------------------------------------------------------------------------- 1 | controller: 2 | image: 3 | repository: ingress-controller/controller 4 | tag: 1.0.0-dev 5 | digest: null 6 | service: 7 | type: ClusterIP 8 | 9 | podSecurityPolicy: 10 | enabled: true 11 | -------------------------------------------------------------------------------- /infra/ingress-nginx/ci/deployment-webhook-values.yaml: -------------------------------------------------------------------------------- 1 | controller: 2 | image: 3 | repository: ingress-controller/controller 4 | tag: 1.0.0-dev 5 | digest: null 6 | admissionWebhooks: 7 | enabled: true 8 | service: 9 | type: ClusterIP 10 | -------------------------------------------------------------------------------- /infra/kafka/templates/extra-list.yaml: -------------------------------------------------------------------------------- 1 | {{- /* 2 | Copyright VMware, Inc. 3 | SPDX-License-Identifier: APACHE-2.0 4 | */}} 5 | 6 | {{- range .Values.extraDeploy }} 7 | --- 8 | {{ include "common.tplvalues.render" (dict "value" . "context" $) }} 9 | {{- end }} 10 | -------------------------------------------------------------------------------- /infra/minio/Chart.lock: -------------------------------------------------------------------------------- 1 | dependencies: 2 | - name: common 3 | repository: oci://registry-1.docker.io/bitnamicharts 4 | version: 2.11.1 5 | digest: sha256:ead8f26c76a9ec082f23629a358e8efd8f88d87aaed734bf41febcb8a7bc5d4c 6 | generated: "2023-09-16T12:11:09.671932275Z" 7 | -------------------------------------------------------------------------------- /infra/minio/templates/extra-list.yaml: -------------------------------------------------------------------------------- 1 | {{- /* 2 | Copyright VMware, Inc. 3 | SPDX-License-Identifier: APACHE-2.0 4 | */}} 5 | 6 | {{- range .Values.extraDeploy }} 7 | --- 8 | {{ include "common.tplvalues.render" (dict "value" . "context" $) }} 9 | {{- end }} 10 | -------------------------------------------------------------------------------- /infra/mysql/Chart.lock: -------------------------------------------------------------------------------- 1 | dependencies: 2 | - name: common 3 | repository: oci://registry-1.docker.io/bitnamicharts 4 | version: 2.11.1 5 | digest: sha256:ead8f26c76a9ec082f23629a358e8efd8f88d87aaed734bf41febcb8a7bc5d4c 6 | generated: "2023-09-19T07:52:06.908924822Z" 7 | -------------------------------------------------------------------------------- /infra/mysql/templates/extra-list.yaml: -------------------------------------------------------------------------------- 1 | {{- /* 2 | Copyright VMware, Inc. 3 | SPDX-License-Identifier: APACHE-2.0 4 | */}} 5 | 6 | {{- range .Values.extraDeploy }} 7 | --- 8 | {{ include "common.tplvalues.render" (dict "value" . "context" $) }} 9 | {{- end }} 10 | -------------------------------------------------------------------------------- /infra/redis/templates/extra-list.yaml: -------------------------------------------------------------------------------- 1 | {{- /* 2 | Copyright VMware, Inc. 3 | SPDX-License-Identifier: APACHE-2.0 4 | */}} 5 | 6 | {{- range .Values.extraDeploy }} 7 | --- 8 | {{ include "common.tplvalues.render" (dict "value" . "context" $) }} 9 | {{- end }} 10 | -------------------------------------------------------------------------------- /infra/mongodb/Chart.lock: -------------------------------------------------------------------------------- 1 | dependencies: 2 | - name: common 3 | repository: oci://registry-1.docker.io/bitnamicharts 4 | version: 2.12.0 5 | digest: sha256:bee62139700f032539621dd38fa1d7285f277b91577c55ea26045254d33825ed 6 | generated: "2023-09-22T13:42:21.235465219Z" 7 | -------------------------------------------------------------------------------- /infra/mongodb/templates/extra-list.yaml: -------------------------------------------------------------------------------- 1 | {{- /* 2 | Copyright VMware, Inc. 3 | SPDX-License-Identifier: APACHE-2.0 4 | */}} 5 | 6 | {{- range .Values.extraDeploy }} 7 | --- 8 | {{ include "common.tplvalues.render" (dict "value" . "context" $) }} 9 | {{- end }} 10 | -------------------------------------------------------------------------------- /infra/redis/Chart.lock: -------------------------------------------------------------------------------- 1 | dependencies: 2 | - name: common 3 | repository: oci://registry-1.docker.io/bitnamicharts 4 | version: 2.10.0 5 | digest: sha256:023ded170632d04528f30332370f34fc8fb96efb2886a01d934cb3bd6e6d2e09 6 | generated: "2023-09-05T11:35:55.621686+02:00" 7 | -------------------------------------------------------------------------------- /infra/ingress-nginx/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs: https://github.com/kubernetes/community/blob/master/contributors/guide/owners.md 2 | 3 | approvers: 4 | - ingress-nginx-helm-maintainers 5 | 6 | reviewers: 7 | - ingress-nginx-helm-reviewers 8 | 9 | labels: 10 | - area/helm 11 | -------------------------------------------------------------------------------- /infra/kafka/charts/zookeeper/Chart.lock: -------------------------------------------------------------------------------- 1 | dependencies: 2 | - name: common 3 | repository: oci://registry-1.docker.io/bitnamicharts 4 | version: 2.10.0 5 | digest: sha256:023ded170632d04528f30332370f34fc8fb96efb2886a01d934cb3bd6e6d2e09 6 | generated: "2023-09-05T11:24:06.99508+02:00" 7 | -------------------------------------------------------------------------------- /infra/kafka/charts/zookeeper/templates/extra-list.yaml: -------------------------------------------------------------------------------- 1 | {{- /* 2 | Copyright VMware, Inc. 3 | SPDX-License-Identifier: APACHE-2.0 4 | */}} 5 | 6 | {{- range .Values.extraDeploy }} 7 | --- 8 | {{ include "common.tplvalues.render" (dict "value" . "context" $) }} 9 | {{- end }} 10 | -------------------------------------------------------------------------------- /infra/ingress-nginx/ci/daemonset-nodeport-values.yaml: -------------------------------------------------------------------------------- 1 | controller: 2 | kind: DaemonSet 3 | image: 4 | repository: ingress-controller/controller 5 | tag: 1.0.0-dev 6 | digest: null 7 | admissionWebhooks: 8 | enabled: false 9 | service: 10 | type: NodePort 11 | -------------------------------------------------------------------------------- /infra/ingress-nginx/ci/deamonset-default-values.yaml: -------------------------------------------------------------------------------- 1 | controller: 2 | kind: DaemonSet 3 | image: 4 | repository: ingress-controller/controller 5 | tag: 1.0.0-dev 6 | digest: null 7 | admissionWebhooks: 8 | enabled: false 9 | service: 10 | type: ClusterIP 11 | -------------------------------------------------------------------------------- /infra/ingress-nginx/ci/deamonset-webhook-values.yaml: -------------------------------------------------------------------------------- 1 | controller: 2 | kind: DaemonSet 3 | image: 4 | repository: ingress-controller/controller 5 | tag: 1.0.0-dev 6 | digest: null 7 | admissionWebhooks: 8 | enabled: true 9 | service: 10 | type: ClusterIP 11 | -------------------------------------------------------------------------------- /infra/ingress-nginx/ci/daemonset-extra-modules.yaml: -------------------------------------------------------------------------------- 1 | controller: 2 | kind: DaemonSet 3 | image: 4 | repository: ingress-controller/controller 5 | tag: 1.0.0-dev 6 | service: 7 | type: ClusterIP 8 | extraModules: 9 | - name: opentelemetry 10 | image: busybox 11 | -------------------------------------------------------------------------------- /infra/ingress-nginx/ci/deployment-extra-modules.yaml: -------------------------------------------------------------------------------- 1 | controller: 2 | image: 3 | repository: ingress-controller/controller 4 | tag: 1.0.0-dev 5 | digest: null 6 | service: 7 | type: ClusterIP 8 | extraModules: 9 | - name: opentelemetry 10 | image: busybox 11 | -------------------------------------------------------------------------------- /infra/ingress-nginx/ci/deployment-tcp-values.yaml: -------------------------------------------------------------------------------- 1 | controller: 2 | image: 3 | repository: ingress-controller/controller 4 | tag: 1.0.0-dev 5 | digest: null 6 | service: 7 | type: ClusterIP 8 | 9 | tcp: 10 | 9000: "default/test:8080" 11 | 9001: "default/test:8080" 12 | -------------------------------------------------------------------------------- /infra/ingress-nginx/ci/deployment-metrics-values.yaml: -------------------------------------------------------------------------------- 1 | controller: 2 | image: 3 | repository: ingress-controller/controller 4 | tag: 1.0.0-dev 5 | digest: null 6 | admissionWebhooks: 7 | enabled: false 8 | metrics: 9 | enabled: true 10 | service: 11 | type: ClusterIP 12 | -------------------------------------------------------------------------------- /infra/kafka/charts/common/values.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Chart Values", 3 | "type": "object", 4 | "properties": { 5 | "exampleValue": { 6 | "type": "string", 7 | "description": "", 8 | "default": "common-chart" 9 | } 10 | } 11 | } -------------------------------------------------------------------------------- /infra/minio/charts/common/values.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Chart Values", 3 | "type": "object", 4 | "properties": { 5 | "exampleValue": { 6 | "type": "string", 7 | "description": "", 8 | "default": "common-chart" 9 | } 10 | } 11 | } -------------------------------------------------------------------------------- /infra/mysql/charts/common/values.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Chart Values", 3 | "type": "object", 4 | "properties": { 5 | "exampleValue": { 6 | "type": "string", 7 | "description": "", 8 | "default": "common-chart" 9 | } 10 | } 11 | } -------------------------------------------------------------------------------- /infra/loki-stack/charts/loki/templates/NOTES.txt: -------------------------------------------------------------------------------- 1 | Verify the application is working by running these commands: 2 | kubectl --namespace {{ .Release.Namespace }} port-forward service/{{ include "loki.fullname" . }} {{ .Values.service.port }} 3 | curl http://127.0.0.1:{{ .Values.service.port }}/api/prom/label 4 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/prometheus/Chart.lock: -------------------------------------------------------------------------------- 1 | dependencies: 2 | - name: kube-state-metrics 3 | repository: https://prometheus-community.github.io/helm-charts 4 | version: 4.4.3 5 | digest: sha256:12753c953cca46b23980c65586d19c2016b959712a08e476660417f299810e3d 6 | generated: "2022-03-23T22:52:43.250972737Z" 7 | -------------------------------------------------------------------------------- /infra/ingress-nginx/ci/deployment-autoscaling-values.yaml: -------------------------------------------------------------------------------- 1 | controller: 2 | image: 3 | repository: ingress-controller/controller 4 | tag: 1.0.0-dev 5 | digest: null 6 | autoscaling: 7 | enabled: true 8 | admissionWebhooks: 9 | enabled: false 10 | service: 11 | type: ClusterIP 12 | -------------------------------------------------------------------------------- /infra/ingress-nginx/ci/deployment-webhook-extraEnvs-values.yaml: -------------------------------------------------------------------------------- 1 | controller: 2 | service: 3 | type: ClusterIP 4 | admissionWebhooks: 5 | enabled: true 6 | extraEnvs: 7 | - name: FOO 8 | value: foo 9 | - name: TEST 10 | value: test 11 | patch: 12 | enabled: true 13 | -------------------------------------------------------------------------------- /infra/ingress-nginx/ci/deployment-webhook-and-psp-values.yaml: -------------------------------------------------------------------------------- 1 | controller: 2 | image: 3 | repository: ingress-controller/controller 4 | tag: 1.0.0-dev 5 | digest: null 6 | admissionWebhooks: 7 | enabled: true 8 | service: 9 | type: ClusterIP 10 | 11 | podSecurityPolicy: 12 | enabled: true 13 | -------------------------------------------------------------------------------- /scripts/helm-docs.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | ## Reference: https://github.com/norwoodj/helm-docs 3 | set -eux 4 | REPO_ROOT="$(cd "$(dirname "$0")/.." && pwd)" 5 | echo "$REPO_ROOT" 6 | 7 | echo "Running Helm-Docs" 8 | docker run \ 9 | -v "$REPO_ROOT:/helm-docs" \ 10 | -u $(id -u) \ 11 | jnorwood/helm-docs:v1.9.1 12 | -------------------------------------------------------------------------------- /infra/ingress-nginx/ci/deamonset-metrics-values.yaml: -------------------------------------------------------------------------------- 1 | controller: 2 | kind: DaemonSet 3 | image: 4 | repository: ingress-controller/controller 5 | tag: 1.0.0-dev 6 | digest: null 7 | admissionWebhooks: 8 | enabled: false 9 | metrics: 10 | enabled: true 11 | service: 12 | type: ClusterIP 13 | -------------------------------------------------------------------------------- /infra/ingress-nginx/ci/deamonset-psp-values.yaml: -------------------------------------------------------------------------------- 1 | controller: 2 | kind: DaemonSet 3 | image: 4 | repository: ingress-controller/controller 5 | tag: 1.0.0-dev 6 | digest: null 7 | admissionWebhooks: 8 | enabled: false 9 | service: 10 | type: ClusterIP 11 | 12 | podSecurityPolicy: 13 | enabled: true 14 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/filebeat/examples/default/Makefile: -------------------------------------------------------------------------------- 1 | default: test 2 | 3 | include ../../../helpers/examples.mk 4 | 5 | RELEASE := helm-filebeat-default 6 | 7 | install: 8 | helm upgrade --wait --timeout=$(TIMEOUT) --install $(RELEASE) ../../ 9 | 10 | test: install goss 11 | 12 | purge: 13 | helm del $(RELEASE) 14 | -------------------------------------------------------------------------------- /infra/ingress-nginx/ci/deamonset-webhook-and-psp-values.yaml: -------------------------------------------------------------------------------- 1 | controller: 2 | kind: DaemonSet 3 | image: 4 | repository: ingress-controller/controller 5 | tag: 1.0.0-dev 6 | digest: null 7 | admissionWebhooks: 8 | enabled: true 9 | service: 10 | type: ClusterIP 11 | 12 | podSecurityPolicy: 13 | enabled: true 14 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/filebeat/examples/oss/Makefile: -------------------------------------------------------------------------------- 1 | default: test 2 | 3 | include ../../../helpers/examples.mk 4 | 5 | RELEASE := helm-filebeat-oss 6 | 7 | install: 8 | helm upgrade --wait --timeout=$(TIMEOUT) --install --values values.yaml $(RELEASE) ../../ 9 | 10 | test: install goss 11 | 12 | purge: 13 | helm del $(RELEASE) 14 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/filebeat/examples/security/test/goss.yaml: -------------------------------------------------------------------------------- 1 | http: 2 | https://security-master:9200/_cat/indices: 3 | status: 200 4 | timeout: 2000 5 | body: 6 | - "filebeat-7.17.3" 7 | allow-insecure: true 8 | username: "{{ .Env.ELASTICSEARCH_USERNAME }}" 9 | password: "{{ .Env.ELASTICSEARCH_PASSWORD }}" 10 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/filebeat/examples/security/Makefile: -------------------------------------------------------------------------------- 1 | default: test 2 | 3 | include ../../../helpers/examples.mk 4 | 5 | RELEASE := helm-filebeat-security 6 | 7 | install: 8 | helm upgrade --wait --timeout=$(TIMEOUT) --install --values values.yaml $(RELEASE) ../../ 9 | 10 | test: install goss 11 | 12 | purge: 13 | helm del $(RELEASE) 14 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/logstash/examples/default/Makefile: -------------------------------------------------------------------------------- 1 | default: test 2 | 3 | include ../../../helpers/examples.mk 4 | 5 | RELEASE := helm-logstash-default 6 | TIMEOUT := 1200s 7 | 8 | install: 9 | helm upgrade --wait --timeout=$(TIMEOUT) --install $(RELEASE) ../../ 10 | 11 | test: install goss 12 | 13 | purge: 14 | helm del $(RELEASE) 15 | -------------------------------------------------------------------------------- /infra/ingress-nginx/ci/deployment-customconfig-values.yaml: -------------------------------------------------------------------------------- 1 | controller: 2 | image: 3 | repository: ingress-controller/controller 4 | tag: 1.0.0-dev 5 | digest: null 6 | config: 7 | use-proxy-protocol: "true" 8 | allowSnippetAnnotations: false 9 | admissionWebhooks: 10 | enabled: false 11 | service: 12 | type: ClusterIP 13 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/filebeat/examples/deployment/Makefile: -------------------------------------------------------------------------------- 1 | default: test 2 | 3 | include ../../../helpers/examples.mk 4 | 5 | RELEASE := helm-filebeat-deployment 6 | 7 | install: 8 | helm upgrade --wait --timeout=$(TIMEOUT) --install --values values.yaml $(RELEASE) ../../ 9 | 10 | test: install goss 11 | 12 | purge: 13 | helm del $(RELEASE) 14 | -------------------------------------------------------------------------------- /.goreleaser.yml: -------------------------------------------------------------------------------- 1 | builds: 2 | - skip: true 3 | release: 4 | prerelease: auto 5 | extra_files: 6 | - glob: ./openim*.tgz 7 | checksum: 8 | name_template: '{{ .ProjectName }}_checksums.txt' 9 | snapshot: 10 | name_template: "{{ .Tag }}-next" 11 | changelog: 12 | sort: asc 13 | filters: 14 | exclude: 15 | - '^docs:' 16 | - '^test:' -------------------------------------------------------------------------------- /infra/ingress-nginx/ci/daemonset-tcp-values.yaml: -------------------------------------------------------------------------------- 1 | controller: 2 | kind: DaemonSet 3 | image: 4 | repository: ingress-controller/controller 5 | tag: 1.0.0-dev 6 | digest: null 7 | admissionWebhooks: 8 | enabled: false 9 | service: 10 | type: ClusterIP 11 | 12 | tcp: 13 | 9000: "default/test:8080" 14 | 9001: "default/test:8080" 15 | -------------------------------------------------------------------------------- /infra/ingress-nginx/ci/deployment-tcp-udp-values.yaml: -------------------------------------------------------------------------------- 1 | controller: 2 | image: 3 | repository: ingress-controller/controller 4 | tag: 1.0.0-dev 5 | digest: null 6 | admissionWebhooks: 7 | enabled: false 8 | service: 9 | type: ClusterIP 10 | 11 | tcp: 12 | 9000: "default/test:8080" 13 | 14 | udp: 15 | 9001: "default/test:8080" 16 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/logstash/examples/oss/Makefile: -------------------------------------------------------------------------------- 1 | default: test 2 | 3 | include ../../../helpers/examples.mk 4 | 5 | RELEASE := helm-logstash-oss 6 | TIMEOUT := 1200s 7 | 8 | install: 9 | helm upgrade --wait --timeout=$(TIMEOUT) --install --values values.yaml $(RELEASE) ../../ 10 | 11 | test: install goss 12 | 13 | purge: 14 | helm del $(RELEASE) 15 | -------------------------------------------------------------------------------- /infra/ingress-nginx/ci/deployment-headers-values.yaml: -------------------------------------------------------------------------------- 1 | controller: 2 | image: 3 | repository: ingress-controller/controller 4 | tag: 1.0.0-dev 5 | digest: null 6 | admissionWebhooks: 7 | enabled: false 8 | addHeaders: 9 | X-Frame-Options: deny 10 | proxySetHeaders: 11 | X-Forwarded-Proto: https 12 | service: 13 | type: ClusterIP 14 | -------------------------------------------------------------------------------- /charts/openim-server/templates/app-cm.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ConfigMap 3 | metadata: 4 | name: openim-cm 5 | data: 6 | config.yaml: |+ 7 | {{- with .Values.config }} 8 | {{- toYaml . | nindent 4 }} 9 | {{- end }} 10 | notification.yaml: |+ 11 | {{- with .Values.notification }} 12 | {{- toYaml . | nindent 4 }} 13 | {{- end }} 14 | -------------------------------------------------------------------------------- /infra/kafka/Chart.lock: -------------------------------------------------------------------------------- 1 | dependencies: 2 | - name: zookeeper 3 | repository: oci://registry-1.docker.io/bitnamicharts 4 | version: 12.1.3 5 | - name: common 6 | repository: oci://registry-1.docker.io/bitnamicharts 7 | version: 2.11.1 8 | digest: sha256:7008d8cb5f82e0a99fbc97b8c42c87e5f7b45a90c7ff868d9ecb2778efa477ad 9 | generated: "2023-09-18T14:18:33.491894+02:00" 10 | -------------------------------------------------------------------------------- /infra/ingress-nginx/ci/daemonset-tcp-udp-values.yaml: -------------------------------------------------------------------------------- 1 | controller: 2 | kind: DaemonSet 3 | image: 4 | repository: ingress-controller/controller 5 | tag: 1.0.0-dev 6 | digest: null 7 | admissionWebhooks: 8 | enabled: false 9 | service: 10 | type: ClusterIP 11 | 12 | tcp: 13 | 9000: "default/test:8080" 14 | 15 | udp: 16 | 9001: "default/test:8080" 17 | -------------------------------------------------------------------------------- /infra/ingress-nginx/ci/daemonset-customconfig-values.yaml: -------------------------------------------------------------------------------- 1 | controller: 2 | image: 3 | repository: ingress-controller/controller 4 | tag: 1.0.0-dev 5 | digest: null 6 | kind: DaemonSet 7 | allowSnippetAnnotations: false 8 | admissionWebhooks: 9 | enabled: false 10 | service: 11 | type: ClusterIP 12 | 13 | config: 14 | use-proxy-protocol: "true" 15 | -------------------------------------------------------------------------------- /infra/ingress-nginx/ci/daemonset-headers-values.yaml: -------------------------------------------------------------------------------- 1 | controller: 2 | kind: DaemonSet 3 | image: 4 | repository: ingress-controller/controller 5 | tag: 1.0.0-dev 6 | digest: null 7 | admissionWebhooks: 8 | enabled: false 9 | addHeaders: 10 | X-Frame-Options: deny 11 | proxySetHeaders: 12 | X-Forwarded-Proto: https 13 | service: 14 | type: ClusterIP 15 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/loki/templates/secret.yaml: -------------------------------------------------------------------------------- 1 | {{- if not .Values.config.existingSecret -}} 2 | apiVersion: v1 3 | kind: Secret 4 | metadata: 5 | name: {{ template "loki.fullname" . }} 6 | namespace: {{ .Release.Namespace }} 7 | labels: 8 | {{- include "loki.labels" . | nindent 4 }} 9 | data: 10 | loki.yaml: {{ tpl (toYaml .Values.config) . | b64enc}} 11 | {{- end -}} 12 | -------------------------------------------------------------------------------- /infra/ingress-nginx/ci/deployment-extra-modules-default-container-sec-context.yaml: -------------------------------------------------------------------------------- 1 | controller: 2 | image: 3 | repository: ingress-controller/controller 4 | tag: 1.0.0-dev 5 | digest: null 6 | service: 7 | type: ClusterIP 8 | containerSecurityContext: 9 | allowPrivilegeEscalation: false 10 | extraModules: 11 | - name: opentelemetry 12 | image: busybox 13 | -------------------------------------------------------------------------------- /infra/ingress-nginx/ci/deployment-autoscaling-behavior-values.yaml: -------------------------------------------------------------------------------- 1 | controller: 2 | autoscaling: 3 | enabled: true 4 | behavior: 5 | scaleDown: 6 | stabilizationWindowSeconds: 300 7 | policies: 8 | - type: Pods 9 | value: 1 10 | periodSeconds: 180 11 | admissionWebhooks: 12 | enabled: false 13 | service: 14 | type: ClusterIP 15 | -------------------------------------------------------------------------------- /infra/ingress-nginx/ci/deployment-extra-modules-specific-container-sec-context.yaml: -------------------------------------------------------------------------------- 1 | controller: 2 | image: 3 | repository: ingress-controller/controller 4 | tag: 1.0.0-dev 5 | digest: null 6 | service: 7 | type: ClusterIP 8 | extraModules: 9 | - name: opentelemetry 10 | image: busybox 11 | containerSecurityContext: 12 | allowPrivilegeEscalation: false 13 | -------------------------------------------------------------------------------- /infra/kube-prometheus-stack/templates/NOTES.txt: -------------------------------------------------------------------------------- 1 | {{ $.Chart.Name }} has been installed. Check its status by running: 2 | kubectl --namespace {{ template "kube-prometheus-stack.namespace" . }} get pods -l "release={{ $.Release.Name }}" 3 | 4 | Visit https://github.com/prometheus-operator/kube-prometheus for instructions on how to create & configure Alertmanager and Prometheus instances using the Operator. 5 | -------------------------------------------------------------------------------- /infra/ingress-nginx/ci/deployment-tcp-udp-portNamePrefix-values.yaml: -------------------------------------------------------------------------------- 1 | controller: 2 | image: 3 | repository: ingress-controller/controller 4 | tag: 1.0.0-dev 5 | digest: null 6 | admissionWebhooks: 7 | enabled: false 8 | service: 9 | type: ClusterIP 10 | 11 | tcp: 12 | 9000: "default/test:8080" 13 | 14 | udp: 15 | 9001: "default/test:8080" 16 | 17 | portNamePrefix: "port" 18 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/filebeat/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | appVersion: 7.17.3 3 | description: Official Elastic helm chart for Filebeat 4 | home: https://github.com/elastic/helm-charts 5 | icon: https://helm.elastic.co/icons/beats.png 6 | maintainers: 7 | - email: helm-charts@elastic.co 8 | name: Elastic 9 | name: filebeat 10 | sources: 11 | - https://github.com/elastic/beats 12 | version: 7.17.3 13 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/logstash/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | appVersion: 7.17.3 3 | description: Official Elastic helm chart for Logstash 4 | home: https://github.com/elastic/helm-charts 5 | icon: https://helm.elastic.co/icons/logstash.png 6 | maintainers: 7 | - email: helm-charts@elastic.co 8 | name: Elastic 9 | name: logstash 10 | sources: 11 | - https://github.com/elastic/logstash 12 | version: 7.17.3 13 | -------------------------------------------------------------------------------- /charts/openim-chat/templates/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.serviceAccount.create -}} 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | name: {{ include "admin-api.serviceAccountName" . }} 6 | labels: 7 | {{- include "admin-api.labels" . | nindent 4 }} 8 | {{- with .Values.serviceAccount.annotations }} 9 | annotations: 10 | {{- toYaml . | nindent 4 }} 11 | {{- end }} 12 | {{- end }} 13 | -------------------------------------------------------------------------------- /docs/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @openimsdk/openim @cubxxw @openimsdk/bot 2 | 3 | /infra/ @openimsdk/openim @cubxxw @openimsdk/bot 4 | 5 | /charts/openim-server @openimsdk/openim @cubxxw @openimsdk/bot 6 | /charts/openim-chat @openimsdk/openim @cubxxw @openimsdk/bot 7 | /charts/openim-admin @openimsdk/openim @cubxxw @openimsdk/bot 8 | /charts/openim-web @openimsdk/openim @cubxxw @openimsdk/bot -------------------------------------------------------------------------------- /charts/openim-server/templates/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.serviceAccount.create -}} 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | name: {{ include "openim-api.serviceAccountName" . }} 6 | labels: 7 | {{- include "openim-api.labels" . | nindent 4 }} 8 | {{- with .Values.serviceAccount.annotations }} 9 | annotations: 10 | {{- toYaml . | nindent 4 }} 11 | {{- end }} 12 | {{- end }} 13 | -------------------------------------------------------------------------------- /charts/openim-web/templates/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.serviceAccount.create -}} 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | name: {{ include "openim-web.serviceAccountName" . }} 6 | labels: 7 | {{- include "openim-web.labels" . | nindent 4 }} 8 | {{- with .Values.serviceAccount.annotations }} 9 | annotations: 10 | {{- toYaml . | nindent 4 }} 11 | {{- end }} 12 | {{- end }} 13 | -------------------------------------------------------------------------------- /charts/openim-admin/templates/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.serviceAccount.create -}} 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | name: {{ include "openim-admin.serviceAccountName" . }} 6 | labels: 7 | {{- include "openim-admin.labels" . | nindent 4 }} 8 | {{- with .Values.serviceAccount.annotations }} 9 | annotations: 10 | {{- toYaml . | nindent 4 }} 11 | {{- end }} 12 | {{- end }} 13 | -------------------------------------------------------------------------------- /infra/ingress-nginx/ci/daemonset-internal-lb-values.yaml: -------------------------------------------------------------------------------- 1 | controller: 2 | kind: DaemonSet 3 | image: 4 | repository: ingress-controller/controller 5 | tag: 1.0.0-dev 6 | digest: null 7 | admissionWebhooks: 8 | enabled: false 9 | service: 10 | type: ClusterIP 11 | internal: 12 | enabled: true 13 | annotations: 14 | service.beta.kubernetes.io/aws-load-balancer-internal: "true" 15 | -------------------------------------------------------------------------------- /infra/ingress-nginx/ci/daemonset-tcp-udp-portNamePrefix-values.yaml: -------------------------------------------------------------------------------- 1 | controller: 2 | kind: DaemonSet 3 | image: 4 | repository: ingress-controller/controller 5 | tag: 1.0.0-dev 6 | digest: null 7 | admissionWebhooks: 8 | enabled: false 9 | service: 10 | type: ClusterIP 11 | 12 | tcp: 13 | 9000: "default/test:8080" 14 | 15 | udp: 16 | 9001: "default/test:8080" 17 | 18 | portNamePrefix: "port" 19 | -------------------------------------------------------------------------------- /charts/openim-chat/charts/chat-api/templates/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.serviceAccount.create -}} 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | name: {{ include "chat-api.serviceAccountName" . }} 6 | labels: 7 | {{- include "chat-api.labels" . | nindent 4 }} 8 | {{- with .Values.serviceAccount.annotations }} 9 | annotations: 10 | {{- toYaml . | nindent 4 }} 11 | {{- end }} 12 | {{- end }} 13 | -------------------------------------------------------------------------------- /charts/openim-chat/charts/chat-rpc/templates/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.serviceAccount.create -}} 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | name: {{ include "chat-rpc.serviceAccountName" . }} 6 | labels: 7 | {{- include "chat-rpc.labels" . | nindent 4 }} 8 | {{- with .Values.serviceAccount.annotations }} 9 | annotations: 10 | {{- toYaml . | nindent 4 }} 11 | {{- end }} 12 | {{- end }} 13 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/filebeat/examples/deployment/values.yaml: -------------------------------------------------------------------------------- 1 | deployment: 2 | enabled: true 3 | 4 | daemonset: 5 | enabled: false 6 | 7 | filebeatConfig: 8 | filebeat.yml: | 9 | filebeat.inputs: 10 | - type: log 11 | paths: 12 | - /usr/share/filebeat/logs/filebeat 13 | 14 | output.elasticsearch: 15 | host: '${NODE_NAME}' 16 | hosts: '${ELASTICSEARCH_HOSTS:elasticsearch-master:9200}' -------------------------------------------------------------------------------- /infra/loki-stack/charts/logstash/examples/elasticsearch/values.yaml: -------------------------------------------------------------------------------- 1 | persistence: 2 | enabled: true 3 | 4 | logstashConfig: 5 | logstash.yml: | 6 | http.host: 0.0.0.0 7 | xpack.monitoring.enabled: false 8 | 9 | logstashPipeline: 10 | uptime.conf: | 11 | input { exec { command => "uptime" interval => 30 } } 12 | output { elasticsearch { hosts => ["http://elasticsearch-master:9200"] index => "logstash" } } 13 | -------------------------------------------------------------------------------- /charts/openim-chat/charts/admin-rpc/templates/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.serviceAccount.create -}} 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | name: {{ include "admin-rpc.serviceAccountName" . }} 6 | labels: 7 | {{- include "admin-rpc.labels" . | nindent 4 }} 8 | {{- with .Values.serviceAccount.annotations }} 9 | annotations: 10 | {{- toYaml . | nindent 4 }} 11 | {{- end }} 12 | {{- end }} 13 | -------------------------------------------------------------------------------- /charts/openim-server/charts/openim-push/templates/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.serviceAccount.create -}} 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | name: {{ include "openim-push.serviceAccountName" . }} 6 | labels: 7 | {{- include "openim-push.labels" . | nindent 4 }} 8 | {{- with .Values.serviceAccount.annotations }} 9 | annotations: 10 | {{- toYaml . | nindent 4 }} 11 | {{- end }} 12 | {{- end }} 13 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/logstash/examples/security/Makefile: -------------------------------------------------------------------------------- 1 | default: test 2 | 3 | include ../../../helpers/examples.mk 4 | 5 | RELEASE := helm-logstash-security 6 | TIMEOUT := 1200s 7 | 8 | install: 9 | helm upgrade --wait --timeout=$(TIMEOUT) --install --values values.yaml $(RELEASE) ../../ 10 | 11 | test: install goss 12 | 13 | purge: 14 | helm del $(RELEASE) 15 | kubectl delete $$(kubectl get pvc -l release=$(RELEASE) -o name) 16 | -------------------------------------------------------------------------------- /infra/ingress-nginx/changelog/Changelog-4.7.2.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | This file documents all notable changes to [ingress-nginx](https://github.com/kubernetes/ingress-nginx) Helm Chart. The release numbering uses [semantic versioning](http://semver.org). 4 | 5 | ### 4.7.2 6 | 7 | * Update Ingress-Nginx version controller-v1.8.2 8 | 9 | **Full Changelog**: https://github.com/kubernetes/ingress-nginx/compare/helm-chart-4.7.1...helm-chart-4.7.2 10 | -------------------------------------------------------------------------------- /infra/kafka/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *~ 18 | # Various IDEs 19 | .project 20 | .idea/ 21 | *.tmproj 22 | -------------------------------------------------------------------------------- /infra/minio/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *~ 18 | # Various IDEs 19 | .project 20 | .idea/ 21 | *.tmproj 22 | -------------------------------------------------------------------------------- /infra/mysql/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *~ 18 | # Various IDEs 19 | .project 20 | .idea/ 21 | *.tmproj 22 | -------------------------------------------------------------------------------- /infra/redis/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *~ 18 | # Various IDEs 19 | .project 20 | .idea/ 21 | *.tmproj 22 | -------------------------------------------------------------------------------- /charts/openim-server/charts/openim-rpc-msg/templates/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.serviceAccount.create -}} 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | name: {{ include "openim-rpc-msg.serviceAccountName" . }} 6 | labels: 7 | {{- include "openim-rpc-msg.labels" . | nindent 4 }} 8 | {{- with .Values.serviceAccount.annotations }} 9 | annotations: 10 | {{- toYaml . | nindent 4 }} 11 | {{- end }} 12 | {{- end }} 13 | -------------------------------------------------------------------------------- /charts/openim-server/templates/serviceMonitor.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.global.monitor.enabled }} 2 | apiVersion: monitoring.coreos.com/v1 3 | kind: ServiceMonitor 4 | metadata: 5 | labels: 6 | release: kube-prometheus-stack 7 | name: {{ include "openim-api.fullname" . }} 8 | spec: 9 | endpoints: 10 | - interval: 15s 11 | port: metrics-port 12 | selector: 13 | matchLabels: 14 | app.kubernetes.io/name: openim-api 15 | {{- end }} -------------------------------------------------------------------------------- /infra/loki-stack/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | appVersion: v2.6.1 3 | description: 'Loki: like Prometheus, but for logs.' 4 | home: https://grafana.com/loki 5 | icon: https://raw.githubusercontent.com/grafana/loki/master/docs/sources/logo.png 6 | kubeVersion: ^1.10.0-0 7 | maintainers: 8 | - email: lokiproject@googlegroups.com 9 | name: Loki Maintainers 10 | name: loki-stack 11 | sources: 12 | - https://github.com/grafana/loki 13 | version: 2.9.11 14 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/logstash/examples/elasticsearch/Makefile: -------------------------------------------------------------------------------- 1 | default: test 2 | 3 | include ../../../helpers/examples.mk 4 | 5 | RELEASE := helm-logstash-elasticsearch 6 | TIMEOUT := 1200s 7 | 8 | install: 9 | helm upgrade --wait --timeout=$(TIMEOUT) --install --values values.yaml $(RELEASE) ../../ 10 | 11 | test: install goss 12 | 13 | purge: 14 | helm del $(RELEASE) 15 | kubectl delete $$(kubectl get pvc -l release=$(RELEASE) -o name) 16 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/promtail/templates/configmap.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.config.enabled .Values.configmap.enabled }} 2 | apiVersion: v1 3 | kind: ConfigMap 4 | metadata: 5 | name: {{ include "promtail.fullname" . }} 6 | namespace: {{ include "promtail.namespaceName" . }} 7 | labels: 8 | {{- include "promtail.labels" . | nindent 4 }} 9 | data: 10 | promtail.yaml: | 11 | {{- tpl .Values.config.file . | nindent 4 }} 12 | {{- end }} 13 | -------------------------------------------------------------------------------- /infra/mongodb/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *~ 18 | # Various IDEs 19 | .project 20 | .idea/ 21 | *.tmproj 22 | -------------------------------------------------------------------------------- /charts/openim-server/charts/openim-rpc-auth/templates/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.serviceAccount.create -}} 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | name: {{ include "openim-rpc-auth.serviceAccountName" . }} 6 | labels: 7 | {{- include "openim-rpc-auth.labels" . | nindent 4 }} 8 | {{- with .Values.serviceAccount.annotations }} 9 | annotations: 10 | {{- toYaml . | nindent 4 }} 11 | {{- end }} 12 | {{- end }} 13 | -------------------------------------------------------------------------------- /charts/openim-server/charts/openim-rpc-group/templates/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.serviceAccount.create -}} 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | name: {{ include "openim-rpc-group.serviceAccountName" . }} 6 | labels: 7 | {{- include "openim-rpc-group.labels" . | nindent 4 }} 8 | {{- with .Values.serviceAccount.annotations }} 9 | annotations: 10 | {{- toYaml . | nindent 4 }} 11 | {{- end }} 12 | {{- end }} 13 | -------------------------------------------------------------------------------- /charts/openim-server/charts/openim-rpc-third/templates/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.serviceAccount.create -}} 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | name: {{ include "openim-rpc-third.serviceAccountName" . }} 6 | labels: 7 | {{- include "openim-rpc-third.labels" . | nindent 4 }} 8 | {{- with .Values.serviceAccount.annotations }} 9 | annotations: 10 | {{- toYaml . | nindent 4 }} 11 | {{- end }} 12 | {{- end }} 13 | -------------------------------------------------------------------------------- /charts/openim-server/charts/openim-rpc-user/templates/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.serviceAccount.create -}} 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | name: {{ include "openim-rpc-user.serviceAccountName" . }} 6 | labels: 7 | {{- include "openim-rpc-user.labels" . | nindent 4 }} 8 | {{- with .Values.serviceAccount.annotations }} 9 | annotations: 10 | {{- toYaml . | nindent 4 }} 11 | {{- end }} 12 | {{- end }} 13 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/filebeat/templates/role.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.managedServiceAccount }} 2 | apiVersion: rbac.authorization.k8s.io/v1 3 | kind: Role 4 | metadata: 5 | name: {{ template "filebeat.serviceAccount" . }}-role 6 | labels: 7 | app: "{{ template "filebeat.fullname" . }}" 8 | rules: 9 | - apiGroups: 10 | - coordination.k8s.io 11 | resources: 12 | - leases 13 | verbs: ["get", "create", "update"] 14 | {{- end -}} 15 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/grafana/ci/with-extraconfigmapmounts-values.yaml: -------------------------------------------------------------------------------- 1 | extraConfigmapMounts: 2 | - name: '{{ template "grafana.fullname" . }}' 3 | configMap: '{{ template "grafana.fullname" . }}' 4 | mountPath: /var/lib/grafana/dashboards/test-dashboard.json 5 | # This is not a realistic test, but for this we only care about extraConfigmapMounts not being empty and pointing to an existing ConfigMap 6 | subPath: grafana.ini 7 | readOnly: true 8 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/loki/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | appVersion: v2.6.1 3 | description: 'Loki: like Prometheus, but for logs.' 4 | home: https://grafana.com/loki 5 | icon: https://raw.githubusercontent.com/grafana/loki/master/docs/sources/logo.png 6 | kubeVersion: ^1.10.0-0 7 | maintainers: 8 | - email: lokiproject@googlegroups.com 9 | name: Loki Maintainers 10 | name: loki 11 | sources: 12 | - https://github.com/grafana/loki 13 | version: 2.16.0 14 | -------------------------------------------------------------------------------- /charts/openim-server/charts/openim-msggateway/templates/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.serviceAccount.create -}} 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | name: {{ include "openim-msggateway.serviceAccountName" . }} 6 | labels: 7 | {{- include "openim-msggateway.labels" . | nindent 4 }} 8 | {{- with .Values.serviceAccount.annotations }} 9 | annotations: 10 | {{- toYaml . | nindent 4 }} 11 | {{- end }} 12 | {{- end }} 13 | -------------------------------------------------------------------------------- /charts/openim-server/charts/openim-rpc-friend/templates/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.serviceAccount.create -}} 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | name: {{ include "openim-rpc-friend.serviceAccountName" . }} 6 | labels: 7 | {{- include "openim-rpc-friend.labels" . | nindent 4 }} 8 | {{- with .Values.serviceAccount.annotations }} 9 | annotations: 10 | {{- toYaml . | nindent 4 }} 11 | {{- end }} 12 | {{- end }} 13 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/promtail/templates/podsecuritypolicy.yaml: -------------------------------------------------------------------------------- 1 | {{- if and (.Capabilities.APIVersions.Has "policy/v1beta1/PodSecurityPolicy") .Values.rbac.create .Values.rbac.pspEnabled }} 2 | apiVersion: policy/v1beta1 3 | kind: PodSecurityPolicy 4 | metadata: 5 | name: {{ include "promtail.fullname" . }} 6 | labels: 7 | {{- include "promtail.labels" . | nindent 4 }} 8 | spec: 9 | {{- toYaml .Values.podSecurityPolicy | nindent 2 }} 10 | {{- end }} 11 | -------------------------------------------------------------------------------- /charts/openim-server/charts/openim-msgtransfer/templates/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.serviceAccount.create -}} 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | name: {{ include "openim-msgtransfer.serviceAccountName" . }} 6 | labels: 7 | {{- include "openim-msgtransfer.labels" . | nindent 4 }} 8 | {{- with .Values.serviceAccount.annotations }} 9 | annotations: 10 | {{- toYaml . | nindent 4 }} 11 | {{- end }} 12 | {{- end }} 13 | -------------------------------------------------------------------------------- /infra/ingress-nginx/ci/deployment-customnodeport-values.yaml: -------------------------------------------------------------------------------- 1 | controller: 2 | image: 3 | repository: ingress-controller/controller 4 | tag: 1.0.0-dev 5 | digest: null 6 | admissionWebhooks: 7 | enabled: false 8 | service: 9 | type: NodePort 10 | nodePorts: 11 | tcp: 12 | 9000: 30090 13 | udp: 14 | 9001: 30091 15 | 16 | tcp: 17 | 9000: "default/test:8080" 18 | 19 | udp: 20 | 9001: "default/test:8080" 21 | -------------------------------------------------------------------------------- /infra/kafka/charts/zookeeper/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *~ 18 | # Various IDEs 19 | .project 20 | .idea/ 21 | *.tmproj 22 | -------------------------------------------------------------------------------- /infra/kube-prometheus-stack/charts/grafana/ci/with-extraconfigmapmounts-values.yaml: -------------------------------------------------------------------------------- 1 | extraConfigmapMounts: 2 | - name: '{{ include "grafana.fullname" . }}' 3 | configMap: '{{ include "grafana.fullname" . }}' 4 | mountPath: /var/lib/grafana/dashboards/test-dashboard.json 5 | # This is not a realistic test, but for this we only care about extraConfigmapMounts not being empty and pointing to an existing ConfigMap 6 | subPath: grafana.ini 7 | readOnly: true 8 | -------------------------------------------------------------------------------- /infra/loki-stack/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *~ 18 | # Various IDEs 19 | .project 20 | .idea/ 21 | *.tmproj 22 | .vscode/ 23 | -------------------------------------------------------------------------------- /charts/openim-chat/templates/service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ include "admin-api.fullname" . }} 5 | labels: 6 | {{- include "admin-api.labels" . | nindent 4 }} 7 | spec: 8 | type: {{ .Values.service.type }} 9 | ports: 10 | - port: {{ .Values.service.port }} 11 | targetPort: http 12 | protocol: TCP 13 | name: http 14 | selector: 15 | {{- include "admin-api.selectorLabels" . | nindent 4 }} 16 | -------------------------------------------------------------------------------- /charts/openim-server/charts/openim-push/templates/serviceMonitor.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.global.monitor.enabled }} 2 | apiVersion: monitoring.coreos.com/v1 3 | kind: ServiceMonitor 4 | metadata: 5 | labels: 6 | release: kube-prometheus-stack 7 | name: {{ include "openim-push.fullname" . }} 8 | spec: 9 | endpoints: 10 | - interval: 15s 11 | port: metrics-port 12 | selector: 13 | matchLabels: 14 | app.kubernetes.io/name: openim-push 15 | {{- end }} -------------------------------------------------------------------------------- /charts/openim-web/templates/service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ include "openim-web.fullname" . }} 5 | labels: 6 | {{- include "openim-web.labels" . | nindent 4 }} 7 | spec: 8 | type: {{ .Values.service.type }} 9 | ports: 10 | - port: {{ .Values.service.port }} 11 | targetPort: http 12 | protocol: TCP 13 | name: http 14 | selector: 15 | {{- include "openim-web.selectorLabels" . | nindent 4 }} 16 | -------------------------------------------------------------------------------- /infra/ingress-nginx/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *~ 18 | # Various IDEs 19 | .project 20 | .idea/ 21 | *.tmproj 22 | .vscode/ 23 | -------------------------------------------------------------------------------- /infra/ingress-nginx/ci/deployment-tcp-udp-configMapNamespace-values.yaml: -------------------------------------------------------------------------------- 1 | controller: 2 | image: 3 | repository: ingress-controller/controller 4 | tag: 1.0.0-dev 5 | digest: null 6 | admissionWebhooks: 7 | enabled: false 8 | service: 9 | type: ClusterIP 10 | tcp: 11 | configMapNamespace: default 12 | udp: 13 | configMapNamespace: default 14 | 15 | tcp: 16 | 9000: "default/test:8080" 17 | 18 | udp: 19 | 9001: "default/test:8080" 20 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/filebeat/examples/oss/test/goss.yaml: -------------------------------------------------------------------------------- 1 | port: 2 | tcp:5066: 3 | listening: true 4 | ip: 5 | - "127.0.0.1" 6 | 7 | mount: 8 | /usr/share/filebeat/data: 9 | exists: true 10 | 11 | user: 12 | filebeat: 13 | exists: true 14 | uid: 1000 15 | gid: 1000 16 | 17 | http: 18 | http://elasticsearch-master:9200/_cat/indices: 19 | status: 200 20 | timeout: 2000 21 | body: 22 | - "filebeat-oss-7.17.3" 23 | -------------------------------------------------------------------------------- /infra/ingress-nginx/ci/deployment-podannotations-values.yaml: -------------------------------------------------------------------------------- 1 | controller: 2 | image: 3 | repository: ingress-controller/controller 4 | tag: 1.0.0-dev 5 | digest: null 6 | admissionWebhooks: 7 | enabled: false 8 | metrics: 9 | enabled: true 10 | service: 11 | type: ClusterIP 12 | podAnnotations: 13 | prometheus.io/path: /metrics 14 | prometheus.io/port: "10254" 15 | prometheus.io/scheme: http 16 | prometheus.io/scrape: "true" 17 | -------------------------------------------------------------------------------- /infra/kafka/charts/common/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *~ 18 | # Various IDEs 19 | .project 20 | .idea/ 21 | *.tmproj 22 | .vscode/ 23 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/grafana/templates/secret-env.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.envRenderSecret }} 2 | apiVersion: v1 3 | kind: Secret 4 | metadata: 5 | name: {{ template "grafana.fullname" . }}-env 6 | namespace: {{ template "grafana.namespace" . }} 7 | labels: 8 | {{- include "grafana.labels" . | nindent 4 }} 9 | type: Opaque 10 | data: 11 | {{- range $key, $val := .Values.envRenderSecret }} 12 | {{ $key }}: {{ $val | b64enc | quote }} 13 | {{- end -}} 14 | {{- end }} 15 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/loki/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *~ 18 | # Various IDEs 19 | .project 20 | .idea/ 21 | *.tmproj 22 | .vscode/ 23 | -------------------------------------------------------------------------------- /infra/minio/charts/common/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *~ 18 | # Various IDEs 19 | .project 20 | .idea/ 21 | *.tmproj 22 | .vscode/ 23 | -------------------------------------------------------------------------------- /infra/mongodb/charts/common/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *~ 18 | # Various IDEs 19 | .project 20 | .idea/ 21 | *.tmproj 22 | .vscode/ 23 | -------------------------------------------------------------------------------- /infra/mysql/charts/common/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *~ 18 | # Various IDEs 19 | .project 20 | .idea/ 21 | *.tmproj 22 | .vscode/ 23 | -------------------------------------------------------------------------------- /infra/redis/charts/common/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *~ 18 | # Various IDEs 19 | .project 20 | .idea/ 21 | *.tmproj 22 | .vscode/ 23 | -------------------------------------------------------------------------------- /charts/openim-admin/templates/service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ include "openim-admin.fullname" . }} 5 | labels: 6 | {{- include "openim-admin.labels" . | nindent 4 }} 7 | spec: 8 | type: {{ .Values.service.type }} 9 | ports: 10 | - port: {{ .Values.service.port }} 11 | targetPort: http 12 | protocol: TCP 13 | name: http 14 | selector: 15 | {{- include "openim-admin.selectorLabels" . | nindent 4 }} 16 | -------------------------------------------------------------------------------- /charts/openim-chat/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *.orig 18 | *~ 19 | # Various IDEs 20 | .project 21 | .idea/ 22 | *.tmproj 23 | .vscode/ 24 | -------------------------------------------------------------------------------- /charts/openim-chat/charts/chat-api/templates/service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ include "chat-api.fullname" . }} 5 | labels: 6 | {{- include "chat-api.labels" . | nindent 4 }} 7 | spec: 8 | type: {{ .Values.service.type }} 9 | ports: 10 | - port: {{ .Values.service.port }} 11 | targetPort: http 12 | protocol: TCP 13 | name: http 14 | selector: 15 | {{- include "chat-api.selectorLabels" . | nindent 4 }} 16 | -------------------------------------------------------------------------------- /charts/openim-chat/charts/chat-rpc/templates/service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ include "chat-rpc.fullname" . }} 5 | labels: 6 | {{- include "chat-rpc.labels" . | nindent 4 }} 7 | spec: 8 | type: {{ .Values.service.type }} 9 | ports: 10 | - port: {{ .Values.service.port }} 11 | targetPort: http 12 | protocol: TCP 13 | name: http 14 | selector: 15 | {{- include "chat-rpc.selectorLabels" . | nindent 4 }} 16 | -------------------------------------------------------------------------------- /charts/openim-server/charts/openim-msggateway-proxy/templates/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.serviceAccount.create -}} 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | name: {{ include "openim-msggateway-proxy.serviceAccountName" . }} 6 | labels: 7 | {{- include "openim-msggateway-proxy.labels" . | nindent 4 }} 8 | {{- with .Values.serviceAccount.annotations }} 9 | annotations: 10 | {{- toYaml . | nindent 4 }} 11 | {{- end }} 12 | {{- end }} 13 | -------------------------------------------------------------------------------- /charts/openim-server/charts/openim-rpc-auth/templates/serviceMonitor.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.global.monitor.enabled }} 2 | apiVersion: monitoring.coreos.com/v1 3 | kind: ServiceMonitor 4 | metadata: 5 | labels: 6 | release: kube-prometheus-stack 7 | name: {{ include "openim-rpc-auth.fullname" . }} 8 | spec: 9 | endpoints: 10 | - interval: 15s 11 | port: metrics-port 12 | selector: 13 | matchLabels: 14 | app.kubernetes.io/name: openim-rpc-auth 15 | {{- end }} -------------------------------------------------------------------------------- /charts/openim-server/charts/openim-rpc-conversation/templates/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.serviceAccount.create -}} 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | name: {{ include "openim-rpc-conversation.serviceAccountName" . }} 6 | labels: 7 | {{- include "openim-rpc-conversation.labels" . | nindent 4 }} 8 | {{- with .Values.serviceAccount.annotations }} 9 | annotations: 10 | {{- toYaml . | nindent 4 }} 11 | {{- end }} 12 | {{- end }} 13 | -------------------------------------------------------------------------------- /charts/openim-server/charts/openim-rpc-msg/templates/serviceMonitor.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.global.monitor.enabled }} 2 | apiVersion: monitoring.coreos.com/v1 3 | kind: ServiceMonitor 4 | metadata: 5 | labels: 6 | release: kube-prometheus-stack 7 | name: {{ include "openim-rpc-msg.fullname" . }} 8 | spec: 9 | endpoints: 10 | - interval: 15s 11 | port: metrics-port 12 | selector: 13 | matchLabels: 14 | app.kubernetes.io/name: openim-rpc-msg 15 | {{- end }} -------------------------------------------------------------------------------- /charts/openim-server/charts/openim-rpc-user/templates/serviceMonitor.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.global.monitor.enabled }} 2 | apiVersion: monitoring.coreos.com/v1 3 | kind: ServiceMonitor 4 | metadata: 5 | labels: 6 | release: kube-prometheus-stack 7 | name: {{ include "openim-rpc-user.fullname" . }} 8 | spec: 9 | endpoints: 10 | - interval: 15s 11 | port: metrics-port 12 | selector: 13 | matchLabels: 14 | app.kubernetes.io/name: openim-rpc-user 15 | {{- end }} -------------------------------------------------------------------------------- /infra/kube-prometheus-stack/charts/kube-state-metrics/templates/kubeconfig-secret.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.kubeconfig.enabled -}} 2 | apiVersion: v1 3 | kind: Secret 4 | metadata: 5 | name: {{ template "kube-state-metrics.fullname" . }}-kubeconfig 6 | namespace: {{ template "kube-state-metrics.namespace" . }} 7 | labels: 8 | {{- include "kube-state-metrics.labels" . | indent 4 }} 9 | type: Opaque 10 | data: 11 | config: '{{ .Values.kubeconfig.secret }}' 12 | {{- end -}} 13 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/promtail/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *~ 18 | # Various IDEs 19 | .project 20 | .idea/ 21 | *.tmproj 22 | .vscode/ 23 | -------------------------------------------------------------------------------- /infra/nfs-subdir-external-provisioner/templates/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{ if .Values.serviceAccount.create }} 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | labels: 6 | {{- include "nfs-subdir-external-provisioner.labels" . | nindent 4 }} 7 | {{- with .Values.serviceAccount.annotations }} 8 | annotations: 9 | {{- toYaml . | nindent 4 }} 10 | {{- end }} 11 | name: {{ template "nfs-subdir-external-provisioner.serviceAccountName" . }} 12 | {{- end -}} 13 | -------------------------------------------------------------------------------- /charts/openim-chat/charts/admin-rpc/templates/service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ include "admin-rpc.fullname" . }} 5 | labels: 6 | {{- include "admin-rpc.labels" . | nindent 4 }} 7 | spec: 8 | type: {{ .Values.service.type }} 9 | ports: 10 | - port: {{ .Values.service.port }} 11 | targetPort: http 12 | protocol: TCP 13 | name: http 14 | selector: 15 | {{- include "admin-rpc.selectorLabels" . | nindent 4 }} 16 | -------------------------------------------------------------------------------- /charts/openim-server/charts/openim-rpc-group/templates/serviceMonitor.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.global.monitor.enabled }} 2 | apiVersion: monitoring.coreos.com/v1 3 | kind: ServiceMonitor 4 | metadata: 5 | labels: 6 | release: kube-prometheus-stack 7 | name: {{ include "openim-rpc-group.fullname" . }} 8 | spec: 9 | endpoints: 10 | - interval: 15s 11 | port: metrics-port 12 | selector: 13 | matchLabels: 14 | app.kubernetes.io/name: openim-rpc-group 15 | {{- end }} -------------------------------------------------------------------------------- /charts/openim-server/charts/openim-rpc-third/templates/serviceMonitor.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.global.monitor.enabled }} 2 | apiVersion: monitoring.coreos.com/v1 3 | kind: ServiceMonitor 4 | metadata: 5 | labels: 6 | release: kube-prometheus-stack 7 | name: {{ include "openim-rpc-third.fullname" . }} 8 | spec: 9 | endpoints: 10 | - interval: 15s 11 | port: metrics-port 12 | selector: 13 | matchLabels: 14 | app.kubernetes.io/name: openim-rpc-third 15 | {{- end }} -------------------------------------------------------------------------------- /infra/loki-stack/charts/fluent-bit/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *~ 18 | # Various IDEs 19 | .project 20 | .idea/ 21 | *.tmproj 22 | .vscode/ 23 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/prometheus/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *~ 18 | # Various IDEs 19 | .project 20 | .idea/ 21 | *.tmproj 22 | 23 | OWNERS 24 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/prometheus/charts/kube-state-metrics/templates/kubeconfig-secret.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.kubeconfig.enabled -}} 2 | apiVersion: v1 3 | kind: Secret 4 | metadata: 5 | name: {{ template "kube-state-metrics.fullname" . }}-kubeconfig 6 | namespace: {{ template "kube-state-metrics.namespace" . }} 7 | labels: 8 | {{- include "kube-state-metrics.labels" . | indent 4 }} 9 | type: Opaque 10 | data: 11 | config: '{{ .Values.kubeconfig.secret }}' 12 | {{- end -}} 13 | -------------------------------------------------------------------------------- /charts/openim-server/charts/openim-msggateway/templates/serviceMonitor.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.global.monitor.enabled }} 2 | apiVersion: monitoring.coreos.com/v1 3 | kind: ServiceMonitor 4 | metadata: 5 | labels: 6 | release: kube-prometheus-stack 7 | name: {{ include "openim-msggateway.fullname" . }} 8 | spec: 9 | endpoints: 10 | - interval: 15s 11 | port: metrics-port 12 | selector: 13 | matchLabels: 14 | app.kubernetes.io/name: openim-msggateway 15 | {{- end }} -------------------------------------------------------------------------------- /charts/openim-server/charts/openim-msgtransfer/templates/serviceMonitor.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.global.monitor.enabled }} 2 | apiVersion: monitoring.coreos.com/v1 3 | kind: ServiceMonitor 4 | metadata: 5 | labels: 6 | release: kube-prometheus-stack 7 | name: {{ include "openim-msgtransfer.fullname" . }} 8 | spec: 9 | endpoints: 10 | - interval: 15s 11 | port: metrics-port 12 | selector: 13 | matchLabels: 14 | app.kubernetes.io/name: openim-msgtransfer 15 | {{- end }} -------------------------------------------------------------------------------- /charts/openim-server/charts/openim-rpc-friend/templates/serviceMonitor.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.global.monitor.enabled }} 2 | apiVersion: monitoring.coreos.com/v1 3 | kind: ServiceMonitor 4 | metadata: 5 | labels: 6 | release: kube-prometheus-stack 7 | name: {{ include "openim-rpc-friend.fullname" . }} 8 | spec: 9 | endpoints: 10 | - interval: 15s 11 | port: metrics-port 12 | selector: 13 | matchLabels: 14 | app.kubernetes.io/name: openim-rpc-friend 15 | {{- end }} -------------------------------------------------------------------------------- /infra/ingress-nginx/ci/daemonset-customnodeport-values.yaml: -------------------------------------------------------------------------------- 1 | controller: 2 | kind: DaemonSet 3 | image: 4 | repository: ingress-controller/controller 5 | tag: 1.0.0-dev 6 | digest: null 7 | admissionWebhooks: 8 | enabled: false 9 | 10 | service: 11 | type: NodePort 12 | nodePorts: 13 | tcp: 14 | 9000: 30090 15 | udp: 16 | 9001: 30091 17 | 18 | tcp: 19 | 9000: "default/test:8080" 20 | 21 | udp: 22 | 9001: "default/test:8080" 23 | -------------------------------------------------------------------------------- /infra/kafka/charts/zookeeper/charts/common/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *~ 18 | # Various IDEs 19 | .project 20 | .idea/ 21 | *.tmproj 22 | .vscode/ 23 | -------------------------------------------------------------------------------- /infra/kube-prometheus-stack/charts/kube-state-metrics/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *~ 18 | # Various IDEs 19 | .project 20 | .idea/ 21 | *.tmproj 22 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/grafana/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *~ 18 | # Various IDEs 19 | .vscode 20 | .project 21 | .idea/ 22 | *.tmproj 23 | OWNERS 24 | -------------------------------------------------------------------------------- /charts/openim-chat/charts/admin-rpc/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *.orig 18 | *~ 19 | # Various IDEs 20 | .project 21 | .idea/ 22 | *.tmproj 23 | .vscode/ 24 | -------------------------------------------------------------------------------- /charts/openim-chat/charts/chat-api/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *.orig 18 | *~ 19 | # Various IDEs 20 | .project 21 | .idea/ 22 | *.tmproj 23 | .vscode/ 24 | -------------------------------------------------------------------------------- /charts/openim-chat/charts/chat-rpc/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *.orig 18 | *~ 19 | # Various IDEs 20 | .project 21 | .idea/ 22 | *.tmproj 23 | .vscode/ 24 | -------------------------------------------------------------------------------- /infra/ingress-nginx/ci/daemonset-podannotations-values.yaml: -------------------------------------------------------------------------------- 1 | controller: 2 | kind: DaemonSet 3 | image: 4 | repository: ingress-controller/controller 5 | tag: 1.0.0-dev 6 | digest: null 7 | admissionWebhooks: 8 | enabled: false 9 | metrics: 10 | enabled: true 11 | service: 12 | type: ClusterIP 13 | podAnnotations: 14 | prometheus.io/path: /metrics 15 | prometheus.io/port: "10254" 16 | prometheus.io/scheme: http 17 | prometheus.io/scrape: "true" 18 | -------------------------------------------------------------------------------- /infra/ingress-nginx/ci/daemonset-tcp-udp-configMapNamespace-values.yaml: -------------------------------------------------------------------------------- 1 | controller: 2 | kind: DaemonSet 3 | image: 4 | repository: ingress-controller/controller 5 | tag: 1.0.0-dev 6 | digest: null 7 | admissionWebhooks: 8 | enabled: false 9 | service: 10 | type: ClusterIP 11 | tcp: 12 | configMapNamespace: default 13 | udp: 14 | configMapNamespace: default 15 | 16 | tcp: 17 | 9000: "default/test:8080" 18 | 19 | udp: 20 | 9001: "default/test:8080" 21 | -------------------------------------------------------------------------------- /infra/kube-prometheus-stack/charts/prometheus-node-exporter/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *~ 18 | # Various IDEs 19 | .project 20 | .idea/ 21 | *.tmproj 22 | -------------------------------------------------------------------------------- /infra/kube-prometheus-stack/charts/prometheus-windows-exporter/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *~ 18 | # Various IDEs 19 | .project 20 | .idea/ 21 | *.tmproj 22 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/prometheus/charts/kube-state-metrics/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *~ 18 | # Various IDEs 19 | .project 20 | .idea/ 21 | *.tmproj 22 | -------------------------------------------------------------------------------- /charts/openim-server/charts/openim-push/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *.orig 18 | *~ 19 | # Various IDEs 20 | .project 21 | .idea/ 22 | *.tmproj 23 | .vscode/ 24 | -------------------------------------------------------------------------------- /charts/openim-web/templates/tests/test-connection.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Pod 3 | metadata: 4 | name: "{{ include "openim-web.fullname" . }}-test-connection" 5 | labels: 6 | {{- include "openim-web.labels" . | nindent 4 }} 7 | annotations: 8 | "helm.sh/hook": test 9 | spec: 10 | containers: 11 | - name: wget 12 | image: busybox 13 | command: ['wget'] 14 | args: ['{{ include "openim-web.fullname" . }}:{{ .Values.service.port }}'] 15 | restartPolicy: Never 16 | -------------------------------------------------------------------------------- /infra/kube-prometheus-stack/charts/grafana/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *~ 18 | # Various IDEs 19 | .vscode 20 | .project 21 | .idea/ 22 | *.tmproj 23 | OWNERS 24 | -------------------------------------------------------------------------------- /charts/openim-server/charts/openim-msggateway-proxy/templates/serviceMonitor.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.global.monitor.enabled }} 2 | apiVersion: monitoring.coreos.com/v1 3 | kind: ServiceMonitor 4 | metadata: 5 | labels: 6 | release: kube-prometheus-stack 7 | name: {{ include "openim-msggateway-proxy.fullname" . }} 8 | spec: 9 | endpoints: 10 | - interval: 15s 11 | port: metrics-port 12 | selector: 13 | matchLabels: 14 | app.kubernetes.io/name: openim-msggateway-proxy 15 | {{- end }} -------------------------------------------------------------------------------- /charts/openim-server/charts/openim-msggateway/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *.orig 18 | *~ 19 | # Various IDEs 20 | .project 21 | .idea/ 22 | *.tmproj 23 | .vscode/ 24 | -------------------------------------------------------------------------------- /charts/openim-server/charts/openim-msgtransfer/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *.orig 18 | *~ 19 | # Various IDEs 20 | .project 21 | .idea/ 22 | *.tmproj 23 | .vscode/ 24 | -------------------------------------------------------------------------------- /charts/openim-server/charts/openim-rpc-auth/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *.orig 18 | *~ 19 | # Various IDEs 20 | .project 21 | .idea/ 22 | *.tmproj 23 | .vscode/ 24 | -------------------------------------------------------------------------------- /charts/openim-server/charts/openim-rpc-conversation/templates/serviceMonitor.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.global.monitor.enabled }} 2 | apiVersion: monitoring.coreos.com/v1 3 | kind: ServiceMonitor 4 | metadata: 5 | labels: 6 | release: kube-prometheus-stack 7 | name: {{ include "openim-rpc-conversation.fullname" . }} 8 | spec: 9 | endpoints: 10 | - interval: 15s 11 | port: metrics-port 12 | selector: 13 | matchLabels: 14 | app.kubernetes.io/name: openim-rpc-conversation 15 | {{- end }} -------------------------------------------------------------------------------- /charts/openim-server/charts/openim-rpc-friend/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *.orig 18 | *~ 19 | # Various IDEs 20 | .project 21 | .idea/ 22 | *.tmproj 23 | .vscode/ 24 | -------------------------------------------------------------------------------- /charts/openim-server/charts/openim-rpc-group/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *.orig 18 | *~ 19 | # Various IDEs 20 | .project 21 | .idea/ 22 | *.tmproj 23 | .vscode/ 24 | -------------------------------------------------------------------------------- /charts/openim-server/charts/openim-rpc-msg/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *.orig 18 | *~ 19 | # Various IDEs 20 | .project 21 | .idea/ 22 | *.tmproj 23 | .vscode/ 24 | -------------------------------------------------------------------------------- /charts/openim-server/charts/openim-rpc-third/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *.orig 18 | *~ 19 | # Various IDEs 20 | .project 21 | .idea/ 22 | *.tmproj 23 | .vscode/ 24 | -------------------------------------------------------------------------------- /charts/openim-server/charts/openim-rpc-user/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *.orig 18 | *~ 19 | # Various IDEs 20 | .project 21 | .idea/ 22 | *.tmproj 23 | .vscode/ 24 | -------------------------------------------------------------------------------- /infra/kube-prometheus-stack/charts/grafana/templates/secret-env.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.envRenderSecret }} 2 | apiVersion: v1 3 | kind: Secret 4 | metadata: 5 | name: {{ include "grafana.fullname" . }}-env 6 | namespace: {{ include "grafana.namespace" . }} 7 | labels: 8 | {{- include "grafana.labels" . | nindent 4 }} 9 | type: Opaque 10 | data: 11 | {{- range $key, $val := .Values.envRenderSecret }} 12 | {{ $key }}: {{ tpl ($val | toString) $ | b64enc | quote }} 13 | {{- end }} 14 | {{- end }} 15 | -------------------------------------------------------------------------------- /charts/openim-admin/templates/tests/test-connection.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Pod 3 | metadata: 4 | name: "{{ include "openim-admin.fullname" . }}-test-connection" 5 | labels: 6 | {{- include "openim-admin.labels" . | nindent 4 }} 7 | annotations: 8 | "helm.sh/hook": test 9 | spec: 10 | containers: 11 | - name: wget 12 | image: busybox 13 | command: ['wget'] 14 | args: ['{{ include "openim-admin.fullname" . }}:{{ .Values.service.port }}'] 15 | restartPolicy: Never 16 | -------------------------------------------------------------------------------- /charts/openim-server/charts/openim-msggateway-proxy/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *.orig 18 | *~ 19 | # Various IDEs 20 | .project 21 | .idea/ 22 | *.tmproj 23 | .vscode/ 24 | -------------------------------------------------------------------------------- /charts/openim-server/charts/openim-rpc-conversation/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *.orig 18 | *~ 19 | # Various IDEs 20 | .project 21 | .idea/ 22 | *.tmproj 23 | .vscode/ 24 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/grafana/ci/with-image-renderer-values.yaml: -------------------------------------------------------------------------------- 1 | podLabels: 2 | customLableA: Aaaaa 3 | imageRenderer: 4 | enabled: true 5 | env: 6 | RENDERING_ARGS: --disable-gpu,--window-size=1280x758 7 | RENDERING_MODE: clustered 8 | podLabels: 9 | customLableB: Bbbbb 10 | networkPolicy: 11 | limitIngress: true 12 | limitEgress: true 13 | resources: 14 | limits: 15 | cpu: 1000m 16 | memory: 1000Mi 17 | requests: 18 | cpu: 500m 19 | memory: 50Mi 20 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/loki/templates/pdb.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.podDisruptionBudget -}} 2 | apiVersion: {{ include "loki.podDisruptionBudget.apiVersion" . }} 3 | kind: PodDisruptionBudget 4 | metadata: 5 | name: {{ template "loki.fullname" . }} 6 | namespace: {{ .Release.Namespace }} 7 | labels: 8 | {{- include "loki.labels" . | nindent 4 }} 9 | spec: 10 | selector: 11 | matchLabels: 12 | app: {{ template "loki.name" . }} 13 | {{ toYaml .Values.podDisruptionBudget | indent 2 }} 14 | {{- end }} 15 | -------------------------------------------------------------------------------- /infra/ingress-nginx/changelog.md.gotmpl: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | This file documents all notable changes to [ingress-nginx](https://github.com/kubernetes/ingress-nginx) Helm Chart. The release numbering uses [semantic versioning](http://semver.org). 4 | 5 | ### {{ .NewHelmChartVersion }} 6 | {{ with .HelmUpdates }} 7 | {{ range . }}* {{ . }} 8 | {{ end }}{{ end }} 9 | **Full Changelog**: https://github.com/kubernetes/ingress-nginx/compare/helm-chart-{{ .PreviousHelmChartVersion }}...helm-chart-{{ .NewHelmChartVersion }} 10 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/logstash/examples/upgrade/Makefile: -------------------------------------------------------------------------------- 1 | default: test 2 | 3 | include ../../../helpers/examples.mk 4 | 5 | CHART := logstash 6 | RELEASE := helm-logstash-upgrade 7 | FROM := 7.9.0 # upgrade from version < 7.9.0 is failing due to headless service breaking change 8 | 9 | install: 10 | ../../../helpers/upgrade.sh --chart $(CHART) --release $(RELEASE) --from $(FROM) 11 | kubectl rollout status statefulset $(RELEASE)-logstash 12 | 13 | test: install goss 14 | 15 | purge: 16 | helm del $(RELEASE) 17 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/loki/templates/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.serviceAccount.create }} 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | labels: 6 | {{- include "loki.labels" . | nindent 4 }} 7 | annotations: 8 | {{- toYaml .Values.serviceAccount.annotations | nindent 4 }} 9 | name: {{ template "loki.serviceAccountName" . }} 10 | namespace: {{ .Release.Namespace }} 11 | automountServiceAccountToken: {{ .Values.serviceAccount.automountServiceAccountToken }} 12 | {{- end }} 13 | 14 | -------------------------------------------------------------------------------- /.github/configs/ct-lint.yaml: -------------------------------------------------------------------------------- 1 | ## Reference: https://github.com/helm/chart-testing/blob/master/doc/ct_lint-and-install.md 2 | # Don't add the 'debug' attribute, otherwise the workflow won't work anymore 3 | # Only Used for the CT Lint Stage 4 | remote: origin 5 | target-branch: main 6 | chart-dirs: 7 | - charts 8 | chart-repos: 9 | - openim=https://openimsdk.github.io/helm-charts/ 10 | validate-chart-schema: false 11 | validate-maintainers: true 12 | validate-yaml: true 13 | exclude-deprecated: true 14 | excluded-charts: [] -------------------------------------------------------------------------------- /infra/kube-prometheus-stack/charts/grafana/ci/with-image-renderer-values.yaml: -------------------------------------------------------------------------------- 1 | podLabels: 2 | customLableA: Aaaaa 3 | imageRenderer: 4 | enabled: true 5 | env: 6 | RENDERING_ARGS: --disable-gpu,--window-size=1280x758 7 | RENDERING_MODE: clustered 8 | podLabels: 9 | customLableB: Bbbbb 10 | networkPolicy: 11 | limitIngress: true 12 | limitEgress: true 13 | resources: 14 | limits: 15 | cpu: 1000m 16 | memory: 1000Mi 17 | requests: 18 | cpu: 500m 19 | memory: 50Mi 20 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/filebeat/examples/upgrade/Makefile: -------------------------------------------------------------------------------- 1 | default: test 2 | 3 | include ../../../helpers/examples.mk 4 | 5 | CHART := filebeat 6 | RELEASE := helm-filebeat-upgrade 7 | # K8S 1.22 doesn't support anymore rbac.authorization.k8s.io/v1beta1 used in 7.9.0 8 | FROM := 7.10.0 9 | 10 | install: 11 | ../../../helpers/upgrade.sh --chart $(CHART) --release $(RELEASE) --from $(FROM) 12 | kubectl rollout status daemonset $(RELEASE)-filebeat 13 | 14 | test: install goss 15 | 16 | purge: 17 | helm del $(RELEASE) 18 | -------------------------------------------------------------------------------- /infra/ingress-nginx/templates/controller-secret.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.dhParam -}} 2 | apiVersion: v1 3 | kind: Secret 4 | metadata: 5 | labels: 6 | {{- include "ingress-nginx.labels" . | nindent 4 }} 7 | app.kubernetes.io/component: controller 8 | {{- with .Values.controller.labels }} 9 | {{- toYaml . | nindent 4 }} 10 | {{- end }} 11 | name: {{ include "ingress-nginx.controller.fullname" . }} 12 | namespace: {{ .Release.Namespace }} 13 | data: 14 | dhparam.pem: {{ .Values.dhParam }} 15 | {{- end }} 16 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/logstash/examples/oss/README.md: -------------------------------------------------------------------------------- 1 | # OSS 2 | 3 | This example deploy Logstash 7.17.3 using [Logstash OSS][] version. 4 | 5 | 6 | ## Usage 7 | 8 | * Deploy Logstash chart with the default values: `make install` 9 | 10 | 11 | ## Testing 12 | 13 | You can also run [goss integration tests][] using `make test` 14 | 15 | 16 | [logstash oss]: https://www.elastic.co/downloads/logstash-oss 17 | [goss integration tests]: https://github.com/elastic/helm-charts/tree/7.17/logstash/examples/oss/test/goss.yaml 18 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/fluent-bit/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | appVersion: v2.1.0 3 | deprecated: true 4 | description: Uses fluent-bit Loki go plugin for gathering logs and sending them to 5 | Loki 6 | home: https://grafana.com/loki 7 | icon: https://raw.githubusercontent.com/grafana/loki/master/docs/sources/logo.png 8 | kubeVersion: ^1.10.0-0 9 | maintainers: 10 | - email: lokiproject@googlegroups.com 11 | name: Loki Maintainers 12 | name: fluent-bit 13 | sources: 14 | - https://github.com/grafana/loki 15 | version: 2.6.0 16 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/grafana/templates/tests/test-serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.testFramework.enabled .Values.serviceAccount.create }} 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | labels: 6 | {{- include "grafana.labels" . | nindent 4 }} 7 | name: {{ template "grafana.serviceAccountNameTest" . }} 8 | namespace: {{ template "grafana.namespace" . }} 9 | annotations: 10 | "helm.sh/hook": test-success 11 | "helm.sh/hook-delete-policy": "before-hook-creation,hook-succeeded" 12 | {{- end }} 13 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/prometheus/templates/server/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.server.enabled -}} 2 | {{- if .Values.serviceAccounts.server.create }} 3 | apiVersion: v1 4 | kind: ServiceAccount 5 | metadata: 6 | labels: 7 | {{- include "prometheus.server.labels" . | nindent 4 }} 8 | name: {{ template "prometheus.serviceAccountName.server" . }} 9 | {{ include "prometheus.namespace" . | indent 2 }} 10 | annotations: 11 | {{ toYaml .Values.serviceAccounts.server.annotations | indent 4 }} 12 | {{- end }} 13 | {{- end }} 14 | -------------------------------------------------------------------------------- /infra/ingress-nginx/ci/deployment-internal-lb-values.yaml: -------------------------------------------------------------------------------- 1 | controller: 2 | image: 3 | repository: ingress-controller/controller 4 | tag: 1.0.0-dev 5 | digest: null 6 | admissionWebhooks: 7 | enabled: false 8 | service: 9 | type: ClusterIP 10 | internal: 11 | enabled: true 12 | annotations: 13 | service.beta.kubernetes.io/aws-load-balancer-internal: "true" 14 | ports: 15 | http: 443 16 | https: 80 17 | targetPorts: 18 | http: 443 19 | https: 80 20 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/loki/templates/configmap-alert.yaml: -------------------------------------------------------------------------------- 1 | {{- if or (.Values.useExistingAlertingGroup.enabled) (gt (len .Values.alerting_groups) 0) }} 2 | --- 3 | apiVersion: v1 4 | kind: ConfigMap 5 | metadata: 6 | name: {{ template "loki.fullname" . }}-alerting-rules 7 | namespace: {{ .Release.Namespace }} 8 | labels: 9 | {{- include "loki.labels" . | nindent 4 }} 10 | data: 11 | {{ template "loki.fullname" . }}-alerting-rules.yaml: |- 12 | groups: 13 | {{- toYaml .Values.alerting_groups | nindent 6 }} 14 | {{- end }} -------------------------------------------------------------------------------- /infra/loki-stack/charts/prometheus/templates/pushgateway/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.pushgateway.enabled .Values.serviceAccounts.pushgateway.create -}} 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | labels: 6 | {{- include "prometheus.pushgateway.labels" . | nindent 4 }} 7 | name: {{ template "prometheus.serviceAccountName.pushgateway" . }} 8 | {{ include "prometheus.namespace" . | indent 2 }} 9 | annotations: 10 | {{ toYaml .Values.serviceAccounts.pushgateway.annotations | indent 4 }} 11 | {{- end -}} 12 | -------------------------------------------------------------------------------- /infra/kube-prometheus-stack/charts/grafana/templates/tests/test-serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.testFramework.enabled .Values.serviceAccount.create }} 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | labels: 6 | {{- include "grafana.labels" . | nindent 4 }} 7 | name: {{ include "grafana.serviceAccountNameTest" . }} 8 | namespace: {{ include "grafana.namespace" . }} 9 | annotations: 10 | "helm.sh/hook": test-success 11 | "helm.sh/hook-delete-policy": "before-hook-creation,hook-succeeded" 12 | {{- end }} 13 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/filebeat/templates/clusterrole.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.managedServiceAccount }} 2 | apiVersion: rbac.authorization.k8s.io/v1 3 | kind: ClusterRole 4 | metadata: 5 | name: {{ template "filebeat.serviceAccount" . }}-cluster-role 6 | labels: 7 | app: "{{ template "filebeat.fullname" . }}" 8 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 9 | heritage: {{ .Release.Service | quote }} 10 | release: {{ .Release.Name | quote }} 11 | rules: {{ toYaml .Values.clusterRoleRules | nindent 2 -}} 12 | {{- end -}} 13 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/prometheus/templates/alertmanager/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.alertmanager.enabled .Values.serviceAccounts.alertmanager.create -}} 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | labels: 6 | {{- include "prometheus.alertmanager.labels" . | nindent 4 }} 7 | name: {{ template "prometheus.serviceAccountName.alertmanager" . }} 8 | {{ include "prometheus.namespace" . | indent 2 }} 9 | annotations: 10 | {{ toYaml .Values.serviceAccounts.alertmanager.annotations | indent 4 }} 11 | {{- end -}} 12 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/promtail/templates/clusterrole.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.rbac.create }} 2 | kind: ClusterRole 3 | apiVersion: rbac.authorization.k8s.io/v1 4 | metadata: 5 | name: {{ include "promtail.fullname" . }} 6 | labels: 7 | {{- include "promtail.labels" . | nindent 4 }} 8 | rules: 9 | - apiGroups: 10 | - "" 11 | resources: 12 | - nodes 13 | - nodes/proxy 14 | - services 15 | - endpoints 16 | - pods 17 | verbs: 18 | - get 19 | - watch 20 | - list 21 | {{- end }} 22 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/prometheus/templates/node-exporter/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.nodeExporter.enabled .Values.serviceAccounts.nodeExporter.create -}} 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | labels: 6 | {{- include "prometheus.nodeExporter.labels" . | nindent 4 }} 7 | name: {{ template "prometheus.serviceAccountName.nodeExporter" . }} 8 | {{ include "prometheus.namespace" . | indent 2 }} 9 | annotations: 10 | {{ toYaml .Values.serviceAccounts.nodeExporter.annotations | indent 4 }} 11 | {{- end -}} 12 | -------------------------------------------------------------------------------- /infra/kube-prometheus-stack/charts/prometheus-windows-exporter/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v2 2 | appVersion: 0.22.0 3 | description: A Helm chart for prometheus windows-exporter 4 | home: https://github.com/prometheus-community/windows_exporter/ 5 | keywords: 6 | - windows-exporter 7 | - windows 8 | - prometheus 9 | - exporter 10 | maintainers: 11 | - email: github@jkroepke.de 12 | name: jkroepke 13 | name: prometheus-windows-exporter 14 | sources: 15 | - https://github.com/prometheus-community/windows_exporter/ 16 | type: application 17 | version: 0.1.1 18 | -------------------------------------------------------------------------------- /infra/kube-prometheus-stack/charts/prometheus-windows-exporter/templates/config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ConfigMap 3 | metadata: 4 | name: {{ include "prometheus-windows-exporter.fullname" . }} 5 | namespace: {{ include "prometheus-windows-exporter.namespace" . }} 6 | labels: 7 | {{- include "prometheus-windows-exporter.labels" $ | nindent 4 }} 8 | {{- with .Values.service.annotations }} 9 | annotations: 10 | {{- toYaml . | nindent 4 }} 11 | {{- end }} 12 | data: 13 | config.yml: | 14 | {{- .Values.config | nindent 4 }} 15 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/fluent-bit/templates/NOTES.txt: -------------------------------------------------------------------------------- 1 | !WARNING! !WARNING! !WARNING! !WARNING! !WARNING! 2 | 3 | Please use the official fluent-bit chart 4 | 5 | https://github.com/fluent/helm-charts 6 | 7 | !WARNING! !WARNING! !WARNING! !WARNING! !WARNING! 8 | 9 | Verify the application is working by running these commands: 10 | kubectl --namespace {{ .Release.Namespace }} port-forward daemonset/{{ include "fluent-bit-loki.fullname" . }} {{ .Values.config.port }} 11 | curl http://127.0.0.1:{{ .Values.config.port }}/api/v1/metrics/prometheus 12 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/loki/templates/rolebinding.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.rbac.create }} 2 | apiVersion: rbac.authorization.k8s.io/v1 3 | kind: RoleBinding 4 | metadata: 5 | name: {{ template "loki.fullname" . }} 6 | namespace: {{ .Release.Namespace }} 7 | labels: 8 | {{- include "loki.labels" . | nindent 4 }} 9 | roleRef: 10 | apiGroup: rbac.authorization.k8s.io 11 | kind: Role 12 | name: {{ template "loki.fullname" . }} 13 | subjects: 14 | - kind: ServiceAccount 15 | name: {{ template "loki.serviceAccountName" . }} 16 | {{- end }} 17 | 18 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/logstash/examples/default/README.md: -------------------------------------------------------------------------------- 1 | # Default 2 | 3 | This example deploy Logstash 7.17.3 using [default values][]. 4 | 5 | 6 | ## Usage 7 | 8 | * Deploy Logstash chart with the default values: `make install` 9 | 10 | 11 | ## Testing 12 | 13 | You can also run [goss integration tests][] using `make test` 14 | 15 | 16 | [goss integration tests]: https://github.com/elastic/helm-charts/tree/7.17/logstash/examples/default/test/goss.yaml 17 | [default values]: https://github.com/elastic/helm-charts/tree/7.17/logstash/values.yaml 18 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/fluent-bit/templates/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.serviceAccount.create }} 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | labels: 6 | app: {{ template "fluent-bit-loki.name" . }} 7 | chart: {{ template "fluent-bit-loki.chart" . }} 8 | heritage: {{ .Release.Service }} 9 | release: {{ .Release.Name }} 10 | name: {{ template "fluent-bit-loki.serviceAccountName" . }} 11 | namespace: {{ .Release.Namespace }} 12 | automountServiceAccountToken: {{ .Values.automountServiceAccountToken }} 13 | {{- end }} 14 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/grafana/ci/with-dashboard-values.yaml: -------------------------------------------------------------------------------- 1 | dashboards: 2 | my-provider: 3 | my-awesome-dashboard: 4 | gnetId: 10000 5 | revision: 1 6 | datasource: Prometheus 7 | dashboardProviders: 8 | dashboardproviders.yaml: 9 | apiVersion: 1 10 | providers: 11 | - name: 'my-provider' 12 | orgId: 1 13 | folder: '' 14 | type: file 15 | updateIntervalSeconds: 10 16 | disableDeletion: true 17 | editable: true 18 | options: 19 | path: /var/lib/grafana/dashboards/my-provider 20 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/loki/templates/role.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.rbac.create }} 2 | apiVersion: rbac.authorization.k8s.io/v1 3 | kind: Role 4 | metadata: 5 | name: {{ template "loki.fullname" . }} 6 | namespace: {{ .Release.Namespace }} 7 | labels: 8 | {{- include "loki.labels" . | nindent 4 }} 9 | {{- if .Values.rbac.pspEnabled }} 10 | rules: 11 | - apiGroups: ['extensions'] 12 | resources: ['podsecuritypolicies'] 13 | verbs: ['use'] 14 | resourceNames: [{{ template "loki.fullname" . }}] 15 | {{- end }} 16 | {{- end }} 17 | 18 | -------------------------------------------------------------------------------- /infra/nfs-subdir-external-provisioner/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | appVersion: 4.0.2 3 | description: nfs-subdir-external-provisioner is an automatic provisioner that used your *already configured* NFS server, automatically creating Persistent Volumes. 4 | home: https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner 5 | keywords: 6 | - nfs 7 | - storage 8 | - provisioner 9 | kubeVersion: '>=1.9.0-0' 10 | name: nfs-subdir-external-provisioner 11 | sources: 12 | - https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner 13 | version: 4.0.18 14 | -------------------------------------------------------------------------------- /.github/configs/ct-install.yaml: -------------------------------------------------------------------------------- 1 | ## Reference: https://github.com/helm/chart-testing/blob/master/doc/ct_lint-and-install.md 2 | # Don't add the 'debug' attribute, otherwise the workflow won't work anymore 3 | # Only Used for the CT Install Stage 4 | remote: origin 5 | target-branch: main 6 | chart-dirs: 7 | - charts 8 | chart-repos: 9 | - openim=https://openimsdk.github.io/helm-charts/ 10 | helm-extra-args: "--timeout 600s" 11 | validate-chart-schema: false 12 | validate-maintainers: true 13 | validate-yaml: true 14 | exclude-deprecated: true 15 | excluded-charts: [] -------------------------------------------------------------------------------- /infra/loki-stack/charts/logstash/templates/configmap-config.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.logstashConfig }} 2 | --- 3 | apiVersion: v1 4 | kind: ConfigMap 5 | metadata: 6 | name: {{ template "logstash.fullname" . }}-config 7 | labels: 8 | app: "{{ template "logstash.fullname" . }}" 9 | chart: "{{ .Chart.Name }}" 10 | heritage: {{ .Release.Service | quote }} 11 | release: {{ .Release.Name | quote }} 12 | data: 13 | {{- range $path, $config := .Values.logstashConfig }} 14 | {{ $path }}: | 15 | {{ tpl $config $ | indent 4 -}} 16 | {{- end -}} 17 | {{- end -}} 18 | -------------------------------------------------------------------------------- /charts/openim-server/templates/service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ include "openim-api.fullname" . }} 5 | labels: 6 | {{- include "openim-api.labels" . | nindent 4 }} 7 | spec: 8 | type: {{ .Values.service.type }} 9 | ports: 10 | - port: {{ .Values.service.port }} 11 | targetPort: http 12 | protocol: TCP 13 | name: http 14 | - port: 90 15 | targetPort: 90 16 | protocol: TCP 17 | name: metrics-port 18 | selector: 19 | {{- include "openim-api.selectorLabels" . | nindent 4 }} 20 | -------------------------------------------------------------------------------- /infra/kube-prometheus-stack/charts/grafana/ci/with-dashboard-values.yaml: -------------------------------------------------------------------------------- 1 | dashboards: 2 | my-provider: 3 | my-awesome-dashboard: 4 | gnetId: 10000 5 | revision: 1 6 | datasource: Prometheus 7 | dashboardProviders: 8 | dashboardproviders.yaml: 9 | apiVersion: 1 10 | providers: 11 | - name: 'my-provider' 12 | orgId: 1 13 | folder: '' 14 | type: file 15 | updateIntervalSeconds: 10 16 | disableDeletion: true 17 | editable: true 18 | options: 19 | path: /var/lib/grafana/dashboards/my-provider 20 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/logstash/templates/configmap-pattern.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.logstashPattern }} 2 | --- 3 | apiVersion: v1 4 | kind: ConfigMap 5 | metadata: 6 | name: {{ template "logstash.fullname" . }}-pattern 7 | labels: 8 | app: "{{ template "logstash.fullname" . }}" 9 | chart: "{{ .Chart.Name }}" 10 | heritage: {{ .Release.Service | quote }} 11 | release: {{ .Release.Name | quote }} 12 | data: 13 | {{- range $path, $config := .Values.logstashPattern }} 14 | {{ $path }}: | 15 | {{ tpl $config $ | indent 4 -}} 16 | {{- end -}} 17 | {{- end -}} 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # If you prefer the allow list template instead of the deny list, see community template: 2 | # https://github.com/github/gitignore/blob/main/community/Golang/Go.AllowList.gitignore 3 | # 4 | # Binaries for programs and plugins 5 | *.exe 6 | *.exe~ 7 | *.dll 8 | *.so 9 | *.dylib 10 | 11 | # Test binary, built with `go test -c` 12 | *.test 13 | 14 | # Output of the go coverage tool, specifically when used with LiteIDE 15 | *.out 16 | 17 | # Dependency directories (remove the comment below to include it) 18 | # vendor/ 19 | 20 | # Go workspace file 21 | go.work 22 | -------------------------------------------------------------------------------- /infra/ingress-nginx/templates/controller-configmap-addheaders.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.controller.addHeaders -}} 2 | apiVersion: v1 3 | kind: ConfigMap 4 | metadata: 5 | labels: 6 | {{- include "ingress-nginx.labels" . | nindent 4 }} 7 | app.kubernetes.io/component: controller 8 | {{- with .Values.controller.labels }} 9 | {{- toYaml . | nindent 4 }} 10 | {{- end }} 11 | name: {{ include "ingress-nginx.fullname" . }}-custom-add-headers 12 | namespace: {{ .Release.Namespace }} 13 | data: {{ toYaml .Values.controller.addHeaders | nindent 2 }} 14 | {{- end }} 15 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/filebeat/templates/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.managedServiceAccount }} 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | name: {{ template "filebeat.serviceAccount" . }} 6 | annotations: 7 | {{- with .Values.serviceAccountAnnotations }} 8 | {{- toYaml . | nindent 4 }} 9 | {{- end }} 10 | labels: 11 | app: "{{ template "filebeat.fullname" . }}" 12 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 13 | heritage: {{ .Release.Service | quote }} 14 | release: {{ .Release.Name | quote }} 15 | {{- end -}} 16 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/logstash/templates/configmap-pipeline.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.logstashPipeline }} 2 | --- 3 | apiVersion: v1 4 | kind: ConfigMap 5 | metadata: 6 | name: {{ template "logstash.fullname" . }}-pipeline 7 | labels: 8 | app: "{{ template "logstash.fullname" . }}" 9 | chart: "{{ .Chart.Name }}" 10 | heritage: {{ .Release.Service | quote }} 11 | release: {{ .Release.Name | quote }} 12 | data: 13 | {{- range $path, $config := .Values.logstashPipeline }} 14 | {{ $path }}: | 15 | {{ tpl $config $ | indent 4 -}} 16 | {{- end -}} 17 | {{- end -}} 18 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/prometheus/templates/server/pdb.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.server.podDisruptionBudget.enabled }} 2 | apiVersion: policy/v1beta1 3 | kind: PodDisruptionBudget 4 | metadata: 5 | name: {{ template "prometheus.server.fullname" . }} 6 | {{ include "prometheus.namespace" . | indent 2 }} 7 | labels: 8 | {{- include "prometheus.server.labels" . | nindent 4 }} 9 | spec: 10 | maxUnavailable: {{ .Values.server.podDisruptionBudget.maxUnavailable }} 11 | selector: 12 | matchLabels: 13 | {{- include "prometheus.server.labels" . | nindent 6 }} 14 | {{- end }} 15 | -------------------------------------------------------------------------------- /infra/ingress-nginx/ci/deployment-webhook-resources-values.yaml: -------------------------------------------------------------------------------- 1 | controller: 2 | service: 3 | type: ClusterIP 4 | admissionWebhooks: 5 | enabled: true 6 | createSecretJob: 7 | resources: 8 | limits: 9 | cpu: 10m 10 | memory: 20Mi 11 | requests: 12 | cpu: 10m 13 | memory: 20Mi 14 | patchWebhookJob: 15 | resources: 16 | limits: 17 | cpu: 10m 18 | memory: 20Mi 19 | requests: 20 | cpu: 10m 21 | memory: 20Mi 22 | patch: 23 | enabled: true 24 | -------------------------------------------------------------------------------- /charts/openim-server/charts/openim-push/templates/service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ include "openim-push.fullname" . }} 5 | labels: 6 | {{- include "openim-push.labels" . | nindent 4 }} 7 | spec: 8 | type: {{ .Values.service.type }} 9 | ports: 10 | - port: {{ .Values.service.port }} 11 | targetPort: http 12 | protocol: TCP 13 | name: http 14 | - port: 90 15 | targetPort: 90 16 | protocol: TCP 17 | name: metrics-port 18 | selector: 19 | {{- include "openim-push.selectorLabels" . | nindent 4 }} 20 | -------------------------------------------------------------------------------- /infra/ingress-nginx/templates/controller-configmap-proxyheaders.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.controller.proxySetHeaders -}} 2 | apiVersion: v1 3 | kind: ConfigMap 4 | metadata: 5 | labels: 6 | {{- include "ingress-nginx.labels" . | nindent 4 }} 7 | app.kubernetes.io/component: controller 8 | {{- with .Values.controller.labels }} 9 | {{- toYaml . | nindent 4 }} 10 | {{- end }} 11 | name: {{ include "ingress-nginx.fullname" . }}-custom-proxy-headers 12 | namespace: {{ .Release.Namespace }} 13 | data: {{ toYaml .Values.controller.proxySetHeaders | nindent 2 }} 14 | {{- end }} 15 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/prometheus/charts/kube-state-metrics/templates/pdb.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.podDisruptionBudget -}} 2 | apiVersion: policy/v1beta1 3 | kind: PodDisruptionBudget 4 | metadata: 5 | name: {{ template "kube-state-metrics.fullname" . }} 6 | namespace: {{ template "kube-state-metrics.namespace" . }} 7 | labels: 8 | {{- include "kube-state-metrics.labels" . | indent 4 }} 9 | spec: 10 | selector: 11 | matchLabels: 12 | app.kubernetes.io/name: {{ template "kube-state-metrics.name" . }} 13 | {{ toYaml .Values.podDisruptionBudget | indent 2 }} 14 | {{- end -}} 15 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/logstash/examples/upgrade/README.md: -------------------------------------------------------------------------------- 1 | # Upgrade 2 | 3 | This example will deploy Logstash chart using an old chart version, 4 | then upgrade it. 5 | 6 | 7 | ## Usage 8 | 9 | * Add the Elastic Helm charts repo: `helm repo add elastic https://helm.elastic.co` 10 | 11 | * Deploy and upgrade Logstash chart with the default values: `make install` 12 | 13 | 14 | ## Testing 15 | 16 | You can also run [goss integration tests][] using `make test`. 17 | 18 | 19 | [goss integration tests]: https://github.com/elastic/helm-charts/tree/master/logstash/examples/upgrade/test/goss.yaml 20 | -------------------------------------------------------------------------------- /.github/linters/ct.yaml: -------------------------------------------------------------------------------- 1 | # See https://github.com/helm/chart-testing#configuration 2 | remote: origin 3 | target-branch: main 4 | chart-dirs: 5 | - charts 6 | chart-repos: 7 | - bitnami=https://charts.bitnami.com/bitnami 8 | - grafana=https://grafana.github.io/helm-charts 9 | - openim=https://openimsdk.github.io/helm-charts 10 | helm-extra-args: --timeout 600s 11 | excluded-charts: 12 | # If not running on GCE, will error: "Failed to get GCE config" 13 | # - openim-admin 14 | additional-commands: 15 | # - helm unittest --helm3 --strict --file unittests/*.yaml --file 'unittests/**/*.yaml' {{ .Path }} -------------------------------------------------------------------------------- /charts/openim-server/charts/openim-rpc-auth/templates/service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ include "openim-rpc-auth.fullname" . }} 5 | labels: 6 | {{- include "openim-rpc-auth.labels" . | nindent 4 }} 7 | spec: 8 | type: {{ .Values.service.type }} 9 | ports: 10 | - port: {{ .Values.service.port }} 11 | targetPort: http 12 | protocol: TCP 13 | name: http 14 | - port: 90 15 | targetPort: 90 16 | protocol: TCP 17 | name: metrics-port 18 | selector: 19 | {{- include "openim-rpc-auth.selectorLabels" . | nindent 4 }} 20 | -------------------------------------------------------------------------------- /charts/openim-server/charts/openim-rpc-msg/templates/service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ include "openim-rpc-msg.fullname" . }} 5 | labels: 6 | {{- include "openim-rpc-msg.labels" . | nindent 4 }} 7 | spec: 8 | type: {{ .Values.service.type }} 9 | ports: 10 | - port: {{ .Values.service.port }} 11 | targetPort: http 12 | protocol: TCP 13 | name: http 14 | - port: 90 15 | targetPort: 90 16 | protocol: TCP 17 | name: metrics-port 18 | selector: 19 | {{- include "openim-rpc-msg.selectorLabels" . | nindent 4 }} 20 | -------------------------------------------------------------------------------- /charts/openim-server/charts/openim-rpc-user/templates/service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ include "openim-rpc-user.fullname" . }} 5 | labels: 6 | {{- include "openim-rpc-user.labels" . | nindent 4 }} 7 | spec: 8 | type: {{ .Values.service.type }} 9 | ports: 10 | - port: {{ .Values.service.port }} 11 | targetPort: http 12 | protocol: TCP 13 | name: http 14 | - port: 90 15 | targetPort: 90 16 | protocol: TCP 17 | name: metrics-port 18 | selector: 19 | {{- include "openim-rpc-user.selectorLabels" . | nindent 4 }} 20 | -------------------------------------------------------------------------------- /infra/ingress-nginx/templates/controller-webhooks-networkpolicy.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.controller.admissionWebhooks.enabled }} 2 | {{- if .Values.controller.admissionWebhooks.networkPolicyEnabled }} 3 | 4 | apiVersion: networking.k8s.io/v1 5 | kind: NetworkPolicy 6 | metadata: 7 | name: {{ include "ingress-nginx.fullname" . }}-webhooks-allow 8 | namespace: {{ .Release.Namespace }} 9 | spec: 10 | ingress: 11 | - {} 12 | podSelector: 13 | matchLabels: 14 | app.kubernetes.io/name: {{ include "ingress-nginx.name" . }} 15 | policyTypes: 16 | - Ingress 17 | 18 | {{- end }} 19 | {{- end }} 20 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/grafana/templates/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.serviceAccount.create }} 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | labels: 6 | {{- include "grafana.labels" . | nindent 4 }} 7 | {{- with .Values.serviceAccount.labels }} 8 | {{- toYaml . | nindent 4 }} 9 | {{- end }} 10 | {{- $root := . }} 11 | {{- with .Values.serviceAccount.annotations }} 12 | annotations: 13 | {{ tpl (toYaml . | indent 4) $root }} 14 | {{- end }} 15 | name: {{ template "grafana.serviceAccountName" . }} 16 | namespace: {{ template "grafana.namespace" . }} 17 | {{- end }} 18 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/promtail/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v2 2 | appVersion: 2.8.3 3 | description: Promtail is an agent which ships the contents of local logs to a Loki 4 | instance 5 | home: https://grafana.com/loki 6 | icon: https://raw.githubusercontent.com/grafana/loki/master/docs/sources/logo.png 7 | maintainers: 8 | - email: lokiproject@googlegroups.com 9 | name: Loki Maintainers 10 | - name: unguiculus 11 | name: promtail 12 | sources: 13 | - https://github.com/grafana/loki 14 | - https://grafana.com/oss/loki/ 15 | - https://grafana.com/docs/loki/latest/ 16 | type: application 17 | version: 6.13.1 18 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/promtail/templates/clusterrolebinding.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.rbac.create }} 2 | kind: ClusterRoleBinding 3 | apiVersion: rbac.authorization.k8s.io/v1 4 | metadata: 5 | name: {{ include "promtail.fullname" . }} 6 | labels: 7 | {{- include "promtail.labels" . | nindent 4 }} 8 | subjects: 9 | - kind: ServiceAccount 10 | name: {{ include "promtail.serviceAccountName" . }} 11 | namespace: {{ include "promtail.namespaceName" . }} 12 | roleRef: 13 | kind: ClusterRole 14 | name: {{ include "promtail.fullname" . }} 15 | apiGroup: rbac.authorization.k8s.io 16 | {{- end }} 17 | -------------------------------------------------------------------------------- /charts/openim-server/charts/openim-rpc-group/templates/service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ include "openim-rpc-group.fullname" . }} 5 | labels: 6 | {{- include "openim-rpc-group.labels" . | nindent 4 }} 7 | spec: 8 | type: {{ .Values.service.type }} 9 | ports: 10 | - port: {{ .Values.service.port }} 11 | targetPort: http 12 | protocol: TCP 13 | name: http 14 | - port: 90 15 | targetPort: 90 16 | protocol: TCP 17 | name: metrics-port 18 | selector: 19 | {{- include "openim-rpc-group.selectorLabels" . | nindent 4 }} 20 | -------------------------------------------------------------------------------- /charts/openim-server/charts/openim-rpc-third/templates/service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ include "openim-rpc-third.fullname" . }} 5 | labels: 6 | {{- include "openim-rpc-third.labels" . | nindent 4 }} 7 | spec: 8 | type: {{ .Values.service.type }} 9 | ports: 10 | - port: {{ .Values.service.port }} 11 | targetPort: http 12 | protocol: TCP 13 | name: http 14 | - port: 90 15 | targetPort: 90 16 | protocol: TCP 17 | name: metrics-port 18 | selector: 19 | {{- include "openim-rpc-third.selectorLabels" . | nindent 4 }} 20 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/fluent-bit/templates/clusterrole.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.rbac.create }} 2 | kind: ClusterRole 3 | apiVersion: rbac.authorization.k8s.io/v1 4 | metadata: 5 | labels: 6 | app: {{ template "fluent-bit-loki.name" . }} 7 | chart: {{ template "fluent-bit-loki.chart" . }} 8 | release: {{ .Release.Name }} 9 | heritage: {{ .Release.Service }} 10 | name: {{ template "fluent-bit-loki.fullname" . }}-clusterrole 11 | rules: 12 | - apiGroups: [""] # "" indicates the core API group 13 | resources: 14 | - namespaces 15 | - pods 16 | verbs: ["get", "watch", "list"] 17 | {{- end }} 18 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/prometheus/templates/pushgateway/pdb.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.pushgateway.podDisruptionBudget.enabled }} 2 | apiVersion: policy/v1beta1 3 | kind: PodDisruptionBudget 4 | metadata: 5 | name: {{ template "prometheus.pushgateway.fullname" . }} 6 | {{ include "prometheus.namespace" . | indent 2 }} 7 | labels: 8 | {{- include "prometheus.pushgateway.labels" . | nindent 4 }} 9 | spec: 10 | maxUnavailable: {{ .Values.pushgateway.podDisruptionBudget.maxUnavailable }} 11 | selector: 12 | matchLabels: 13 | {{- include "prometheus.pushgateway.labels" . | nindent 6 }} 14 | {{- end }} 15 | -------------------------------------------------------------------------------- /charts/openim-server/charts/openim-rpc-friend/templates/service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ include "openim-rpc-friend.fullname" . }} 5 | labels: 6 | {{- include "openim-rpc-friend.labels" . | nindent 4 }} 7 | spec: 8 | type: {{ .Values.service.type }} 9 | ports: 10 | - port: {{ .Values.service.port }} 11 | targetPort: http 12 | protocol: TCP 13 | name: http 14 | - port: 90 15 | targetPort: 90 16 | protocol: TCP 17 | name: metrics-port 18 | selector: 19 | {{- include "openim-rpc-friend.selectorLabels" . | nindent 4 }} 20 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/promtail/templates/service-metrics.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.serviceMonitor.enabled }} 2 | apiVersion: v1 3 | kind: Service 4 | metadata: 5 | name: {{ include "promtail.fullname" . }}-metrics 6 | namespace: {{ include "promtail.namespaceName" . }} 7 | labels: 8 | {{- include "promtail.labels" . | nindent 4 }} 9 | spec: 10 | clusterIP: None 11 | ports: 12 | - name: http-metrics 13 | port: {{ .Values.config.serverPort }} 14 | targetPort: http-metrics 15 | protocol: TCP 16 | selector: 17 | {{- include "promtail.selectorLabels" . | nindent 4 }} 18 | {{- end }} 19 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/promtail/templates/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.serviceAccount.create }} 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | name: {{ include "promtail.serviceAccountName" . }} 6 | namespace: {{ include "promtail.namespaceName" . }} 7 | labels: 8 | {{- include "promtail.labels" . | nindent 4 }} 9 | {{- with .Values.serviceAccount.annotations }} 10 | annotations: 11 | {{- toYaml . | nindent 4 }} 12 | {{- end }} 13 | {{- with .Values.serviceAccount.imagePullSecrets }} 14 | imagePullSecrets: 15 | {{- toYaml . | nindent 2 }} 16 | {{- end }} 17 | {{- end }} 18 | -------------------------------------------------------------------------------- /charts/openim-server/charts/openim-msgtransfer/templates/service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ include "openim-msgtransfer.fullname" . }} 5 | labels: 6 | {{- include "openim-msgtransfer.labels" . | nindent 4 }} 7 | spec: 8 | type: {{ .Values.service.type }} 9 | ports: 10 | - port: {{ .Values.service.port }} 11 | targetPort: http 12 | protocol: TCP 13 | name: http 14 | - port: 90 15 | targetPort: 90 16 | protocol: TCP 17 | name: metrics-port 18 | selector: 19 | {{- include "openim-msgtransfer.selectorLabels" . | nindent 4 }} 20 | -------------------------------------------------------------------------------- /infra/kube-prometheus-stack/templates/prometheus/csi-secret.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.prometheus.prometheusSpec.thanos .Values.prometheus.prometheusSpec.thanos.secretProviderClass }} 2 | --- 3 | apiVersion: secrets-store.csi.x-k8s.io/v1alpha1 4 | kind: SecretProviderClass 5 | metadata: 6 | name: {{ template "kube-prometheus-stack.fullname" . }}-prometheus 7 | namespace: {{ template "kube-prometheus-stack.namespace" . }} 8 | labels: 9 | app: {{ template "kube-prometheus-stack.name" . }}-prometheus 10 | spec: 11 | {{ toYaml .Values.prometheus.prometheusSpec.thanos.secretProviderClass | indent 2 }} 12 | {{- end }} 13 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/prometheus/templates/alertmanager/pdb.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.alertmanager.podDisruptionBudget.enabled }} 2 | apiVersion: policy/v1beta1 3 | kind: PodDisruptionBudget 4 | metadata: 5 | name: {{ template "prometheus.alertmanager.fullname" . }} 6 | {{ include "prometheus.namespace" . | indent 2 }} 7 | labels: 8 | {{- include "prometheus.alertmanager.labels" . | nindent 4 }} 9 | spec: 10 | maxUnavailable: {{ .Values.alertmanager.podDisruptionBudget.maxUnavailable }} 11 | selector: 12 | matchLabels: 13 | {{- include "prometheus.alertmanager.labels" . | nindent 6 }} 14 | {{- end }} 15 | -------------------------------------------------------------------------------- /infra/nfs-subdir-external-provisioner/templates/poddisruptionbudget.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.podDisruptionBudget.enabled }} 2 | apiVersion: {{ template "podDisruptionBudget.apiVersion" . }} 3 | kind: PodDisruptionBudget 4 | metadata: 5 | labels: 6 | {{- include "nfs-subdir-external-provisioner.labels" . | nindent 4 }} 7 | name: {{ template "nfs-subdir-external-provisioner.fullname" . }} 8 | spec: 9 | maxUnavailable: {{ .Values.podDisruptionBudget.maxUnavailable | default 1 }} 10 | selector: 11 | matchLabels: 12 | {{- include "nfs-subdir-external-provisioner.selectorLabels" . | nindent 6 }} 13 | {{- end }} 14 | -------------------------------------------------------------------------------- /infra/ingress-nginx/changelog/Changelog-4.7.1.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | This file documents all notable changes to [ingress-nginx](https://github.com/kubernetes/ingress-nginx) Helm Chart. The release numbering uses [semantic versioning](http://semver.org). 4 | 5 | ### 4.7.1 6 | 7 | * Added a doc line to the missing helm value service.internal.loadBalancerIP (#9406) 8 | * feat(helm): Add loadBalancerClass (#9562) 9 | * added helmshowvalues example (#10019) 10 | * Update Ingress-Nginx version controller-v1.8.1 11 | 12 | **Full Changelog**: https://github.com/kubernetes/ingress-nginx/compare/helm-chart-4.7.0...helm-chart-4.7.1 13 | -------------------------------------------------------------------------------- /infra/kube-prometheus-stack/charts/grafana/templates/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.serviceAccount.create }} 2 | {{- $root := . -}} 3 | apiVersion: v1 4 | kind: ServiceAccount 5 | metadata: 6 | labels: 7 | {{- include "grafana.labels" . | nindent 4 }} 8 | {{- with .Values.serviceAccount.labels }} 9 | {{- toYaml . | nindent 4 }} 10 | {{- end }} 11 | {{- with .Values.serviceAccount.annotations }} 12 | annotations: 13 | {{- tpl (toYaml . | nindent 4) $root }} 14 | {{- end }} 15 | name: {{ include "grafana.serviceAccountName" . }} 16 | namespace: {{ include "grafana.namespace" . }} 17 | {{- end }} 18 | -------------------------------------------------------------------------------- /infra/kube-prometheus-stack/charts/prometheus-node-exporter/templates/endpoints.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.endpoints }} 2 | apiVersion: v1 3 | kind: Endpoints 4 | metadata: 5 | name: {{ include "prometheus-node-exporter.fullname" . }} 6 | namespace: {{ include "prometheus-node-exporter.namespace" . }} 7 | labels: 8 | {{- include "prometheus-node-exporter.labels" . | nindent 4 }} 9 | subsets: 10 | - addresses: 11 | {{- range .Values.endpoints }} 12 | - ip: {{ . }} 13 | {{- end }} 14 | ports: 15 | - name: {{ .Values.service.portName }} 16 | port: 9100 17 | protocol: TCP 18 | {{- end }} 19 | -------------------------------------------------------------------------------- /infra/ingress-nginx/changelog/Changelog-4.6.1.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | This file documents all notable changes to [ingress-nginx](https://github.com/kubernetes/ingress-nginx) Helm Chart. The release numbering uses [semantic versioning](http://semver.org). 4 | 5 | ### 4.6.1 6 | 7 | * [helm] Support custom port configuration for internal service (#9846) 8 | * Adding resource type to default HPA configuration to resolve issues with Terraform helm chart usage (#9803) 9 | * Update Ingress-Nginx version controller-v1.7.1 10 | 11 | **Full Changelog**: https://github.com/kubernetes/ingress-nginx/compare/helm-chart-4.6.0...helm-chart-4.6.1 12 | -------------------------------------------------------------------------------- /.github/configs/cr.yaml: -------------------------------------------------------------------------------- 1 | ## Reference: https://github.com/helm/chart-releaser 2 | index-path: "./index.yaml" 3 | 4 | # PGP signing 5 | sign: false 6 | # key: OpenIM Helm maintainers 7 | # keyring: # Set via env variable CR_KEYRING 8 | # passphrase-file: # Set via env variable CR_PASSPHRASE_FILE 9 | 10 | # Enable automatic generation of release notes using GitHubs release notes generator. 11 | # see: https://docs.github.com/en/repositories/releasing-projects-on-github/automatically-generated-release-notes 12 | generate-release-notes: true 13 | 14 | owner: openimsdk 15 | git-base-url: https://api.github.com/ 16 | git-repo: helm-charts -------------------------------------------------------------------------------- /charts/openim-server/charts/openim-rpc-conversation/templates/service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ include "openim-rpc-conversation.fullname" . }} 5 | labels: 6 | {{- include "openim-rpc-conversation.labels" . | nindent 4 }} 7 | spec: 8 | type: {{ .Values.service.type }} 9 | ports: 10 | - port: {{ .Values.service.port }} 11 | targetPort: http 12 | protocol: TCP 13 | name: http 14 | - port: 90 15 | targetPort: 90 16 | protocol: TCP 17 | name: metrics-port 18 | selector: 19 | {{- include "openim-rpc-conversation.selectorLabels" . | nindent 4 }} 20 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/logstash/templates/service-headless.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | kind: Service 3 | apiVersion: v1 4 | metadata: 5 | name: "{{ template "logstash.fullname" . }}-headless" 6 | labels: 7 | app: "{{ template "logstash.fullname" . }}" 8 | chart: "{{ .Chart.Name }}" 9 | heritage: {{ .Release.Service | quote }} 10 | release: {{ .Release.Name | quote }} 11 | {{- if .Values.labels }} 12 | {{ toYaml .Values.labels | indent 4 }} 13 | {{- end }} 14 | spec: 15 | clusterIP: None 16 | selector: 17 | app: "{{ template "logstash.fullname" . }}" 18 | ports: 19 | - name: http 20 | port: {{ .Values.httpPort }} 21 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/promtail/templates/secret.yaml: -------------------------------------------------------------------------------- 1 | {{- if not .Values.configmap.enabled }} 2 | apiVersion: v1 3 | kind: Secret 4 | metadata: 5 | name: {{ include "promtail.fullname" . }} 6 | namespace: {{ include "promtail.namespaceName" . }} 7 | labels: 8 | {{- include "promtail.labels" . | nindent 4 }} 9 | {{- with .Values.secret.labels }} 10 | {{- toYaml . | nindent 4 }} 11 | {{- end }} 12 | {{- with .Values.secret.annotations }} 13 | annotations: 14 | {{- toYaml . | nindent 4 }} 15 | {{- end }} 16 | stringData: 17 | promtail.yaml: | 18 | {{- tpl .Values.config.file . | nindent 4 }} 19 | {{- end }} 20 | -------------------------------------------------------------------------------- /infra/kube-prometheus-stack/charts/kube-state-metrics/templates/crs-configmap.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.customResourceState.enabled}} 2 | apiVersion: v1 3 | kind: ConfigMap 4 | metadata: 5 | name: {{ template "kube-state-metrics.fullname" . }}-customresourcestate-config 6 | namespace: {{ template "kube-state-metrics.namespace" . }} 7 | labels: 8 | {{- include "kube-state-metrics.labels" . | indent 4 }} 9 | {{- if .Values.annotations }} 10 | annotations: 11 | {{ toYaml .Values.annotations | nindent 4 }} 12 | {{- end }} 13 | data: 14 | config.yaml: | 15 | {{- toYaml .Values.customResourceState.config | nindent 4 }} 16 | {{- end }} 17 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/prometheus/charts/kube-state-metrics/templates/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.serviceAccount.create -}} 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | labels: 6 | {{- include "kube-state-metrics.labels" . | indent 4 }} 7 | name: {{ template "kube-state-metrics.serviceAccountName" . }} 8 | namespace: {{ template "kube-state-metrics.namespace" . }} 9 | {{- if .Values.serviceAccount.annotations }} 10 | annotations: 11 | {{ toYaml .Values.serviceAccount.annotations | indent 4 }} 12 | {{- end }} 13 | imagePullSecrets: 14 | {{ toYaml .Values.serviceAccount.imagePullSecrets | indent 2 }} 15 | {{- end -}} 16 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/prometheus/templates/server/netpol.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.server.enabled -}} 2 | {{- if .Values.networkPolicy.enabled }} 3 | apiVersion: {{ template "prometheus.networkPolicy.apiVersion" . }} 4 | kind: NetworkPolicy 5 | metadata: 6 | name: {{ template "prometheus.server.fullname" . }} 7 | {{ include "prometheus.namespace" . | indent 2 }} 8 | labels: 9 | {{- include "prometheus.server.labels" . | nindent 4 }} 10 | spec: 11 | podSelector: 12 | matchLabels: 13 | {{- include "prometheus.server.matchLabels" . | nindent 6 }} 14 | ingress: 15 | - ports: 16 | - port: 9090 17 | {{- end }} 18 | {{- end }} 19 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/promtail/templates/role.yaml: -------------------------------------------------------------------------------- 1 | {{- if and (.Capabilities.APIVersions.Has "policy/v1beta1/PodSecurityPolicy") .Values.rbac.create .Values.rbac.pspEnabled }} 2 | apiVersion: rbac.authorization.k8s.io/v1 3 | kind: Role 4 | metadata: 5 | name: {{ include "promtail.fullname" . }}-psp 6 | namespace: {{ include "promtail.namespaceName" . }} 7 | labels: 8 | {{- include "promtail.labels" . | nindent 4 }} 9 | rules: 10 | - apiGroups: 11 | - policy 12 | resources: 13 | - podsecuritypolicies 14 | verbs: 15 | - use 16 | resourceNames: 17 | - {{ include "promtail.fullname" . }} 18 | {{- end }} 19 | -------------------------------------------------------------------------------- /infra/kube-prometheus-stack/charts/prometheus-node-exporter/templates/psp-clusterrole.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.rbac.create .Values.rbac.pspEnabled (.Capabilities.APIVersions.Has "policy/v1beta1/PodSecurityPolicy") }} 2 | kind: ClusterRole 3 | apiVersion: rbac.authorization.k8s.io/v1 4 | metadata: 5 | name: psp-{{ include "prometheus-node-exporter.fullname" . }} 6 | labels: 7 | {{- include "prometheus-node-exporter.labels" . | nindent 4 }} 8 | rules: 9 | - apiGroups: ['extensions'] 10 | resources: ['podsecuritypolicies'] 11 | verbs: ['use'] 12 | resourceNames: 13 | - {{ include "prometheus-node-exporter.fullname" . }} 14 | {{- end }} 15 | -------------------------------------------------------------------------------- /scripts/lint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # This script runs the chart-testing tool locally. It simulates the linting that is also done by the github action. Run this without any errors before pushing. 3 | # Reference: https://github.com/helm/chart-testing 4 | set -eux 5 | 6 | SRCROOT="$(cd "$(dirname "$0")/.." && pwd)" 7 | 8 | echo -e "\n-- Linting all Helm Charts --\n" 9 | docker run \ 10 | -v "$SRCROOT:/workdir" \ 11 | --entrypoint /bin/sh \ 12 | quay.io/helmpack/chart-testing:v3.10.0 \ 13 | -c cd /workdir \ 14 | ct lint \ 15 | --config .github/configs/ct-lint.yaml \ 16 | --lint-conf .github/configs/lintconf.yaml \ 17 | --debug -------------------------------------------------------------------------------- /infra/kafka/charts/common/Chart.yaml: -------------------------------------------------------------------------------- 1 | annotations: 2 | category: Infrastructure 3 | licenses: Apache-2.0 4 | apiVersion: v2 5 | appVersion: 2.11.1 6 | description: A Library Helm Chart for grouping common logic between bitnami charts. 7 | This chart is not deployable by itself. 8 | home: https://bitnami.com 9 | icon: https://bitnami.com/downloads/logos/bitnami-mark.png 10 | keywords: 11 | - common 12 | - helper 13 | - template 14 | - function 15 | - bitnami 16 | maintainers: 17 | - name: VMware, Inc. 18 | url: https://github.com/bitnami/charts 19 | name: common 20 | sources: 21 | - https://github.com/bitnami/charts 22 | type: library 23 | version: 2.11.1 24 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/prometheus/charts/kube-state-metrics/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v2 2 | appVersion: 2.3.0 3 | description: Install kube-state-metrics to generate and expose cluster-level metrics 4 | home: https://github.com/kubernetes/kube-state-metrics/ 5 | keywords: 6 | - metric 7 | - monitoring 8 | - prometheus 9 | - kubernetes 10 | maintainers: 11 | - email: tariq.ibrahim@mulesoft.com 12 | name: tariq1890 13 | - email: manuel@rueg.eu 14 | name: mrueg 15 | - email: davidcalvertfr@gmail.com 16 | name: dotdc 17 | name: kube-state-metrics 18 | sources: 19 | - https://github.com/kubernetes/kube-state-metrics/ 20 | type: application 21 | version: 4.4.3 22 | -------------------------------------------------------------------------------- /infra/minio/charts/common/Chart.yaml: -------------------------------------------------------------------------------- 1 | annotations: 2 | category: Infrastructure 3 | licenses: Apache-2.0 4 | apiVersion: v2 5 | appVersion: 2.11.1 6 | description: A Library Helm Chart for grouping common logic between bitnami charts. 7 | This chart is not deployable by itself. 8 | home: https://bitnami.com 9 | icon: https://bitnami.com/downloads/logos/bitnami-mark.png 10 | keywords: 11 | - common 12 | - helper 13 | - template 14 | - function 15 | - bitnami 16 | maintainers: 17 | - name: VMware, Inc. 18 | url: https://github.com/bitnami/charts 19 | name: common 20 | sources: 21 | - https://github.com/bitnami/charts 22 | type: library 23 | version: 2.11.1 24 | -------------------------------------------------------------------------------- /infra/mysql/charts/common/Chart.yaml: -------------------------------------------------------------------------------- 1 | annotations: 2 | category: Infrastructure 3 | licenses: Apache-2.0 4 | apiVersion: v2 5 | appVersion: 2.11.1 6 | description: A Library Helm Chart for grouping common logic between bitnami charts. 7 | This chart is not deployable by itself. 8 | home: https://bitnami.com 9 | icon: https://bitnami.com/downloads/logos/bitnami-mark.png 10 | keywords: 11 | - common 12 | - helper 13 | - template 14 | - function 15 | - bitnami 16 | maintainers: 17 | - name: VMware, Inc. 18 | url: https://github.com/bitnami/charts 19 | name: common 20 | sources: 21 | - https://github.com/bitnami/charts 22 | type: library 23 | version: 2.11.1 24 | -------------------------------------------------------------------------------- /infra/redis/charts/common/Chart.yaml: -------------------------------------------------------------------------------- 1 | annotations: 2 | category: Infrastructure 3 | licenses: Apache-2.0 4 | apiVersion: v2 5 | appVersion: 2.9.2 6 | description: A Library Helm Chart for grouping common logic between bitnami charts. 7 | This chart is not deployable by itself. 8 | home: https://bitnami.com 9 | icon: https://bitnami.com/downloads/logos/bitnami-mark.png 10 | keywords: 11 | - common 12 | - helper 13 | - template 14 | - function 15 | - bitnami 16 | maintainers: 17 | - name: VMware, Inc. 18 | url: https://github.com/bitnami/charts 19 | name: common 20 | sources: 21 | - https://github.com/bitnami/charts 22 | type: library 23 | version: 2.10.0 24 | -------------------------------------------------------------------------------- /infra/mongodb/charts/common/Chart.yaml: -------------------------------------------------------------------------------- 1 | annotations: 2 | category: Infrastructure 3 | licenses: Apache-2.0 4 | apiVersion: v2 5 | appVersion: 2.12.0 6 | description: A Library Helm Chart for grouping common logic between bitnami charts. 7 | This chart is not deployable by itself. 8 | home: https://bitnami.com 9 | icon: https://bitnami.com/downloads/logos/bitnami-mark.png 10 | keywords: 11 | - common 12 | - helper 13 | - template 14 | - function 15 | - bitnami 16 | maintainers: 17 | - name: VMware, Inc. 18 | url: https://github.com/bitnami/charts 19 | name: common 20 | sources: 21 | - https://github.com/bitnami/charts 22 | type: library 23 | version: 2.12.0 24 | -------------------------------------------------------------------------------- /infra/ingress-nginx/templates/controller-configmap-tcp.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.tcp -}} 2 | apiVersion: v1 3 | kind: ConfigMap 4 | metadata: 5 | labels: 6 | {{- include "ingress-nginx.labels" . | nindent 4 }} 7 | app.kubernetes.io/component: controller 8 | {{- with .Values.controller.labels }} 9 | {{- toYaml . | nindent 4 }} 10 | {{- end }} 11 | {{- if .Values.controller.tcp.annotations }} 12 | annotations: {{ toYaml .Values.controller.tcp.annotations | nindent 4 }} 13 | {{- end }} 14 | name: {{ include "ingress-nginx.fullname" . }}-tcp 15 | namespace: {{ .Release.Namespace }} 16 | data: {{ tpl (toYaml .Values.tcp) . | nindent 2 }} 17 | {{- end }} 18 | -------------------------------------------------------------------------------- /infra/ingress-nginx/templates/controller-configmap-udp.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.udp -}} 2 | apiVersion: v1 3 | kind: ConfigMap 4 | metadata: 5 | labels: 6 | {{- include "ingress-nginx.labels" . | nindent 4 }} 7 | app.kubernetes.io/component: controller 8 | {{- with .Values.controller.labels }} 9 | {{- toYaml . | nindent 4 }} 10 | {{- end }} 11 | {{- if .Values.controller.udp.annotations }} 12 | annotations: {{ toYaml .Values.controller.udp.annotations | nindent 4 }} 13 | {{- end }} 14 | name: {{ include "ingress-nginx.fullname" . }}-udp 15 | namespace: {{ .Release.Namespace }} 16 | data: {{ tpl (toYaml .Values.udp) . | nindent 2 }} 17 | {{- end }} 18 | -------------------------------------------------------------------------------- /infra/kafka/charts/zookeeper/charts/common/Chart.yaml: -------------------------------------------------------------------------------- 1 | annotations: 2 | category: Infrastructure 3 | licenses: Apache-2.0 4 | apiVersion: v2 5 | appVersion: 2.9.2 6 | description: A Library Helm Chart for grouping common logic between bitnami charts. 7 | This chart is not deployable by itself. 8 | home: https://bitnami.com 9 | icon: https://bitnami.com/downloads/logos/bitnami-mark.png 10 | keywords: 11 | - common 12 | - helper 13 | - template 14 | - function 15 | - bitnami 16 | maintainers: 17 | - name: VMware, Inc. 18 | url: https://github.com/bitnami/charts 19 | name: common 20 | sources: 21 | - https://github.com/bitnami/charts 22 | type: library 23 | version: 2.10.0 24 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/loki/templates/service-memberlist.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.config.memberlist -}} 2 | apiVersion: v1 3 | kind: Service 4 | metadata: 5 | name: {{ include "loki.fullname" . }}-memberlist 6 | namespace: {{ .Release.Namespace }} 7 | labels: 8 | {{- include "loki.labels" . | nindent 4 }} 9 | spec: 10 | type: ClusterIP 11 | clusterIP: None 12 | publishNotReadyAddresses: true 13 | ports: 14 | - name: http 15 | port: {{ .Values.config.memberlist.bind_port | default 7946 }} 16 | targetPort: memberlist-port 17 | protocol: TCP 18 | selector: 19 | app: {{ template "loki.name" . }} 20 | release: {{ .Release.Name }} 21 | {{- end -}} -------------------------------------------------------------------------------- /infra/loki-stack/charts/promtail/templates/rolebinding.yaml: -------------------------------------------------------------------------------- 1 | {{- if and (.Capabilities.APIVersions.Has "policy/v1beta1/PodSecurityPolicy") .Values.rbac.create .Values.rbac.pspEnabled }} 2 | apiVersion: rbac.authorization.k8s.io/v1 3 | kind: RoleBinding 4 | metadata: 5 | name: {{ include "promtail.fullname" . }}-psp 6 | namespace: {{ include "promtail.namespaceName" . }} 7 | labels: 8 | {{- include "promtail.labels" . | nindent 4 }} 9 | roleRef: 10 | apiGroup: rbac.authorization.k8s.io 11 | kind: Role 12 | name: {{ include "promtail.fullname" . }}-psp 13 | subjects: 14 | - kind: ServiceAccount 15 | name: {{ include "promtail.serviceAccountName" . }} 16 | {{- end }} 17 | -------------------------------------------------------------------------------- /infra/ingress-nginx/templates/default-backend-serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.defaultBackend.enabled .Values.defaultBackend.serviceAccount.create -}} 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | labels: 6 | {{- include "ingress-nginx.labels" . | nindent 4 }} 7 | app.kubernetes.io/component: default-backend 8 | {{- with .Values.defaultBackend.labels }} 9 | {{- toYaml . | nindent 4 }} 10 | {{- end }} 11 | name: {{ template "ingress-nginx.defaultBackend.serviceAccountName" . }} 12 | namespace: {{ .Release.Namespace }} 13 | automountServiceAccountToken: {{ .Values.defaultBackend.serviceAccount.automountServiceAccountToken }} 14 | {{- end }} 15 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/prometheus/templates/pushgateway/clusterrole.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.pushgateway.enabled .Values.rbac.create -}} 2 | apiVersion: {{ template "rbac.apiVersion" . }} 3 | kind: ClusterRole 4 | metadata: 5 | labels: 6 | {{- include "prometheus.pushgateway.labels" . | nindent 4 }} 7 | name: {{ template "prometheus.pushgateway.fullname" . }} 8 | rules: 9 | {{- if .Values.podSecurityPolicy.enabled }} 10 | - apiGroups: 11 | - extensions 12 | resources: 13 | - podsecuritypolicies 14 | verbs: 15 | - use 16 | resourceNames: 17 | - {{ template "prometheus.pushgateway.fullname" . }} 18 | {{- else }} 19 | [] 20 | {{- end }} 21 | {{- end }} 22 | -------------------------------------------------------------------------------- /infra/ingress-nginx/changelog/Changelog-4.5.2.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | This file documents all notable changes to [ingress-nginx](https://github.com/kubernetes/ingress-nginx) Helm Chart. The release numbering uses [semantic versioning](http://semver.org). 4 | 5 | ### 4.5.2 6 | 7 | * add lint on chart before release (#9570) 8 | * ci: remove setup-helm step (#9404) 9 | * feat(helm): Optionally use cert-manager instead admission patch (#9279) 10 | * run helm release on main only and when the chart/value changes only (#9290) 11 | * Update Ingress-Nginx version controller-v1.6.4 12 | 13 | **Full Changelog**: https://github.com/kubernetes/ingress-nginx/compare/helm-chart-4.4.3...helm-chart-4.5.2 14 | -------------------------------------------------------------------------------- /infra/nfs-subdir-external-provisioner/templates/persistentvolumeclaim.yaml: -------------------------------------------------------------------------------- 1 | {{ if .Values.nfs.mountOptions -}} 2 | kind: PersistentVolumeClaim 3 | apiVersion: v1 4 | metadata: 5 | name: pvc-{{ template "nfs-subdir-external-provisioner.fullname" . }} 6 | labels: 7 | {{- include "nfs-subdir-external-provisioner.labels" . | nindent 4 }} 8 | spec: 9 | accessModes: 10 | - {{ .Values.storageClass.accessModes }} 11 | volumeMode: Filesystem 12 | storageClassName: "" 13 | selector: 14 | matchLabels: 15 | nfs-subdir-external-provisioner: {{ template "nfs-subdir-external-provisioner.fullname" . }} 16 | resources: 17 | requests: 18 | storage: 10Mi 19 | {{ end -}} 20 | -------------------------------------------------------------------------------- /charts/openim-server/charts/openim-msggateway/templates/serviceheadless.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ include "openim-msggateway.fullname" . }}-headless 5 | labels: 6 | {{- include "openim-msggateway.labels" . | nindent 4 }} 7 | spec: 8 | ports: 9 | - port: {{ .Values.service.port }} 10 | targetPort: http 11 | protocol: TCP 12 | name: http 13 | - port: 88 14 | targetPort: rpc 15 | protocol: TCP 16 | name: rpc 17 | - port: 90 18 | targetPort: 90 19 | protocol: TCP 20 | name: metrics-port 21 | selector: 22 | {{- include "openim-msggateway.selectorLabels" . | nindent 4 }} 23 | clusterIP: None -------------------------------------------------------------------------------- /infra/loki-stack/charts/filebeat/examples/upgrade/README.md: -------------------------------------------------------------------------------- 1 | # Upgrade 2 | 3 | This example will deploy Filebeat chart using an old chart version, 4 | then upgrade it. 5 | 6 | 7 | ## Usage 8 | 9 | * Add the Elastic Helm charts repo: `helm repo add elastic https://helm.elastic.co` 10 | 11 | * Deploy [Elasticsearch Helm chart][]: `helm install elasticsearch elastic/elasticsearch` 12 | 13 | * Deploy and upgrade Filebeat chart with the default values: `make install` 14 | 15 | 16 | ## Testing 17 | 18 | You can also run [goss integration tests][] using `make test`. 19 | 20 | 21 | [goss integration tests]: https://github.com/elastic/helm-charts/tree/master/filebeat/examples/upgrade/test/goss.yaml 22 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/grafana/ci/with-affinity-values.yaml: -------------------------------------------------------------------------------- 1 | affinity: 2 | podAntiAffinity: 3 | preferredDuringSchedulingIgnoredDuringExecution: 4 | - podAffinityTerm: 5 | labelSelector: 6 | matchLabels: 7 | app.kubernetes.io/instance: grafana-test 8 | app.kubernetes.io/name: grafana 9 | topologyKey: failure-domain.beta.kubernetes.io/zone 10 | weight: 100 11 | requiredDuringSchedulingIgnoredDuringExecution: 12 | - labelSelector: 13 | matchLabels: 14 | app.kubernetes.io/instance: grafana-test 15 | app.kubernetes.io/name: grafana 16 | topologyKey: kubernetes.io/hostname 17 | -------------------------------------------------------------------------------- /infra/nfs-subdir-external-provisioner/templates/clusterrolebinding.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.rbac.create }} 2 | kind: ClusterRoleBinding 3 | apiVersion: rbac.authorization.k8s.io/v1 4 | metadata: 5 | labels: 6 | {{- include "nfs-subdir-external-provisioner.labels" . | nindent 4 }} 7 | name: run-{{ template "nfs-subdir-external-provisioner.fullname" . }} 8 | subjects: 9 | - kind: ServiceAccount 10 | name: {{ template "nfs-subdir-external-provisioner.serviceAccountName" . }} 11 | namespace: {{ .Release.Namespace }} 12 | roleRef: 13 | kind: ClusterRole 14 | name: {{ template "nfs-subdir-external-provisioner.fullname" . }}-runner 15 | apiGroup: rbac.authorization.k8s.io 16 | {{- end }} 17 | -------------------------------------------------------------------------------- /infra/nfs-subdir-external-provisioner/templates/rolebinding.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.rbac.create }} 2 | kind: RoleBinding 3 | apiVersion: rbac.authorization.k8s.io/v1 4 | metadata: 5 | labels: 6 | {{- include "nfs-subdir-external-provisioner.labels" . | nindent 4 }} 7 | name: leader-locking-{{ template "nfs-subdir-external-provisioner.fullname" . }} 8 | subjects: 9 | - kind: ServiceAccount 10 | name: {{ template "nfs-subdir-external-provisioner.serviceAccountName" . }} 11 | namespace: {{ .Release.Namespace }} 12 | roleRef: 13 | kind: Role 14 | name: leader-locking-{{ template "nfs-subdir-external-provisioner.fullname" . }} 15 | apiGroup: rbac.authorization.k8s.io 16 | {{- end }} 17 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/logstash/templates/podsecuritypolicy.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.podSecurityPolicy.create -}} 2 | {{- $fullName := include "logstash.fullname" . -}} 3 | {{- if .Capabilities.APIVersions.Has "policy/v1" -}} 4 | apiVersion: policy/v1 5 | {{- else}} 6 | apiVersion: policy/v1beta1 7 | {{- end }} 8 | kind: PodSecurityPolicy 9 | metadata: 10 | name: {{ default $fullName .Values.podSecurityPolicy.name | quote }} 11 | labels: 12 | app: "{{ template "logstash.fullname" . }}" 13 | chart: "{{ .Chart.Name }}" 14 | heritage: {{ .Release.Service | quote }} 15 | release: {{ .Release.Name | quote }} 16 | spec: 17 | {{ toYaml .Values.podSecurityPolicy.spec | indent 2 }} 18 | {{- end -}} 19 | -------------------------------------------------------------------------------- /charts/openim-server/charts/openim-msggateway/templates/service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ include "openim-msggateway.fullname" . }} 5 | labels: 6 | {{- include "openim-msggateway.labels" . | nindent 4 }} 7 | spec: 8 | type: {{ .Values.service.type }} 9 | ports: 10 | - port: {{ .Values.service.port }} 11 | targetPort: http 12 | protocol: TCP 13 | name: http 14 | - port: 88 15 | targetPort: rpc 16 | protocol: TCP 17 | name: rpc 18 | - port: 90 19 | targetPort: 90 20 | protocol: TCP 21 | name: metrics-port 22 | selector: 23 | {{- include "openim-msggateway.selectorLabels" . | nindent 4 }} 24 | -------------------------------------------------------------------------------- /infra/kube-prometheus-stack/charts/grafana/ci/with-affinity-values.yaml: -------------------------------------------------------------------------------- 1 | affinity: 2 | podAntiAffinity: 3 | preferredDuringSchedulingIgnoredDuringExecution: 4 | - podAffinityTerm: 5 | labelSelector: 6 | matchLabels: 7 | app.kubernetes.io/instance: grafana-test 8 | app.kubernetes.io/name: grafana 9 | topologyKey: failure-domain.beta.kubernetes.io/zone 10 | weight: 100 11 | requiredDuringSchedulingIgnoredDuringExecution: 12 | - labelSelector: 13 | matchLabels: 14 | app.kubernetes.io/instance: grafana-test 15 | app.kubernetes.io/name: grafana 16 | topologyKey: kubernetes.io/hostname 17 | -------------------------------------------------------------------------------- /infra/kube-prometheus-stack/charts/prometheus-node-exporter/templates/rbac-configmap.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.kubeRBACProxy.enabled}} 2 | apiVersion: v1 3 | kind: ConfigMap 4 | metadata: 5 | name: {{ template "prometheus-node-exporter.fullname" . }}-rbac-config 6 | namespace: {{ include "prometheus-node-exporter.namespace" . }} 7 | data: 8 | config-file.yaml: |+ 9 | authorization: 10 | resourceAttributes: 11 | namespace: {{ template "prometheus-node-exporter.namespace" . }} 12 | apiVersion: v1 13 | resource: services 14 | subresource: {{ template "prometheus-node-exporter.fullname" . }} 15 | name: {{ template "prometheus-node-exporter.fullname" . }} 16 | {{- end }} -------------------------------------------------------------------------------- /infra/loki-stack/charts/logstash/templates/poddisruptionbudget.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.maxUnavailable }} 2 | {{- if .Capabilities.APIVersions.Has "policy/v1" -}} 3 | apiVersion: policy/v1 4 | {{- else}} 5 | apiVersion: policy/v1beta1 6 | {{- end }} 7 | kind: PodDisruptionBudget 8 | metadata: 9 | name: "{{ template "logstash.fullname" . }}-pdb" 10 | labels: 11 | app: "{{ template "logstash.fullname" . }}" 12 | chart: "{{ .Chart.Name }}" 13 | heritage: {{ .Release.Service | quote }} 14 | release: {{ .Release.Name | quote }} 15 | spec: 16 | maxUnavailable: {{ .Values.maxUnavailable }} 17 | selector: 18 | matchLabels: 19 | app: "{{ template "logstash.fullname" . }}" 20 | {{- end }} 21 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/prometheus/templates/pushgateway/clusterrolebinding.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.pushgateway.enabled .Values.rbac.create -}} 2 | apiVersion: {{ template "rbac.apiVersion" . }} 3 | kind: ClusterRoleBinding 4 | metadata: 5 | labels: 6 | {{- include "prometheus.pushgateway.labels" . | nindent 4 }} 7 | name: {{ template "prometheus.pushgateway.fullname" . }} 8 | subjects: 9 | - kind: ServiceAccount 10 | name: {{ template "prometheus.serviceAccountName.pushgateway" . }} 11 | {{ include "prometheus.namespace" . | indent 4 }} 12 | roleRef: 13 | apiGroup: rbac.authorization.k8s.io 14 | kind: ClusterRole 15 | name: {{ template "prometheus.pushgateway.fullname" . }} 16 | {{- end }} 17 | -------------------------------------------------------------------------------- /infra/ingress-nginx/config.yaml: -------------------------------------------------------------------------------- 1 | controller: 2 | name: controller 3 | image: 4 | registry: m.daocloud.io 5 | image: registry.k8s.io/ingress-nginx/controller 6 | hostNetwork: true 7 | service: 8 | enabled: true 9 | type: NodePort 10 | nodePorts: 11 | http: 32080 12 | https: 32443 13 | tcp: 14 | 8080: 32808 15 | admissionWebhooks: 16 | patch: 17 | enabled: true 18 | image: 19 | registry: m.daocloud.io 20 | image: registry.k8s.io/ingress-nginx/kube-webhook-certgen 21 | 22 | defaultBackend: 23 | enabled: false 24 | name: defaultbackend 25 | image: 26 | registry: m.daocloud.io 27 | image: registry.k8s.io/defaultbackend-amd64 -------------------------------------------------------------------------------- /infra/loki-stack/charts/grafana/templates/tests/test-role.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.testFramework.enabled .Values.rbac.pspEnabled -}} 2 | apiVersion: rbac.authorization.k8s.io/v1 3 | kind: Role 4 | metadata: 5 | name: {{ template "grafana.fullname" . }}-test 6 | namespace: {{ template "grafana.namespace" . }} 7 | annotations: 8 | "helm.sh/hook": test-success 9 | "helm.sh/hook-delete-policy": "before-hook-creation,hook-succeeded" 10 | labels: 11 | {{- include "grafana.labels" . | nindent 4 }} 12 | rules: 13 | - apiGroups: ['policy'] 14 | resources: ['podsecuritypolicies'] 15 | verbs: ['use'] 16 | resourceNames: [{{ template "grafana.fullname" . }}-test] 17 | {{- end }} 18 | -------------------------------------------------------------------------------- /infra/kube-prometheus-stack/charts/kube-state-metrics/templates/pdb.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.podDisruptionBudget -}} 2 | {{ if $.Capabilities.APIVersions.Has "policy/v1/PodDisruptionBudget" -}} 3 | apiVersion: policy/v1 4 | {{- else -}} 5 | apiVersion: policy/v1beta1 6 | {{- end }} 7 | kind: PodDisruptionBudget 8 | metadata: 9 | name: {{ template "kube-state-metrics.fullname" . }} 10 | namespace: {{ template "kube-state-metrics.namespace" . }} 11 | labels: 12 | {{- include "kube-state-metrics.labels" . | indent 4 }} 13 | spec: 14 | selector: 15 | matchLabels: 16 | app.kubernetes.io/name: {{ template "kube-state-metrics.name" . }} 17 | {{ toYaml .Values.podDisruptionBudget | indent 2 }} 18 | {{- end -}} 19 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/fluent-bit/templates/role.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.rbac.create }} 2 | apiVersion: rbac.authorization.k8s.io/v1 3 | kind: Role 4 | metadata: 5 | name: {{ template "fluent-bit-loki.fullname" . }} 6 | namespace: {{ .Release.Namespace }} 7 | labels: 8 | app: {{ template "fluent-bit-loki.name" . }} 9 | chart: {{ template "fluent-bit-loki.chart" . }} 10 | heritage: {{ .Release.Service }} 11 | release: {{ .Release.Name }} 12 | {{- if .Values.rbac.pspEnabled }} 13 | rules: 14 | - apiGroups: ['extensions'] 15 | resources: ['podsecuritypolicies'] 16 | verbs: ['use'] 17 | resourceNames: [{{ template "fluent-bit-loki.fullname" . }}] 18 | {{- end }} 19 | {{- end }} 20 | -------------------------------------------------------------------------------- /infra/kube-prometheus-stack/Chart.lock: -------------------------------------------------------------------------------- 1 | dependencies: 2 | - name: crds 3 | repository: "" 4 | version: 0.0.0 5 | - name: kube-state-metrics 6 | repository: https://prometheus-community.github.io/helm-charts 7 | version: 5.14.0 8 | - name: prometheus-node-exporter 9 | repository: https://prometheus-community.github.io/helm-charts 10 | version: 4.23.2 11 | - name: grafana 12 | repository: https://grafana.github.io/helm-charts 13 | version: 6.60.6 14 | - name: prometheus-windows-exporter 15 | repository: https://prometheus-community.github.io/helm-charts 16 | version: 0.1.1 17 | digest: sha256:d44f808eafa84777eb8a127f5114e849e27e419c65f9ba7d5e282874a79c1c69 18 | generated: "2023-10-18T21:08:03.314133063Z" 19 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/fluent-bit/templates/rolebinding.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.rbac.create }} 2 | apiVersion: rbac.authorization.k8s.io/v1 3 | kind: RoleBinding 4 | metadata: 5 | name: {{ template "fluent-bit-loki.fullname" . }} 6 | namespace: {{ .Release.Namespace }} 7 | labels: 8 | app: {{ template "fluent-bit-loki.name" . }} 9 | chart: {{ template "fluent-bit-loki.chart" . }} 10 | heritage: {{ .Release.Service }} 11 | release: {{ .Release.Name }} 12 | roleRef: 13 | apiGroup: rbac.authorization.k8s.io 14 | kind: Role 15 | name: {{ template "fluent-bit-loki.fullname" . }} 16 | subjects: 17 | - kind: ServiceAccount 18 | name: {{ template "fluent-bit-loki.serviceAccountName" . }} 19 | {{- end }} 20 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/promtail/templates/daemonset.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.daemonset.enabled }} 2 | apiVersion: apps/v1 3 | kind: DaemonSet 4 | metadata: 5 | name: {{ include "promtail.fullname" . }} 6 | namespace: {{ include "promtail.namespaceName" . }} 7 | labels: 8 | {{- include "promtail.labels" . | nindent 4 }} 9 | {{- with .Values.annotations }} 10 | annotations: 11 | {{- toYaml . | nindent 4 }} 12 | {{- end }} 13 | spec: 14 | selector: 15 | matchLabels: 16 | {{- include "promtail.selectorLabels" . | nindent 6 }} 17 | updateStrategy: 18 | {{- toYaml .Values.updateStrategy | nindent 4 }} 19 | template: 20 | {{- include "promtail.podTemplate" . | nindent 4 }} 21 | {{- end }} 22 | -------------------------------------------------------------------------------- /infra/mysql-config.yaml: -------------------------------------------------------------------------------- 1 | #This configuration file is used to override the use of the value. yaml variable. You can modify it according to your own needs. 2 | #If you modify the account information inside, it may need to be synchronized in the application file 3 | global: 4 | # this is your storageClass,Please change in according to the k8s environment settings of your server 5 | storageClass: "nfs-client" 6 | imageRegistry: "m.daocloud.io/docker.io" 7 | auth: 8 | rootPassword: "openIM123" 9 | createDatabase: true 10 | database: "openIM_v3" 11 | replicationUser: replicator 12 | replicationPassword: "openIM123" 13 | primary: 14 | persistence: 15 | size: 1Gi 16 | secondary: 17 | persistence: 18 | size: 1Gi -------------------------------------------------------------------------------- /charts/openim-server/charts/openim-msggateway-proxy/templates/service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ include "openim-msggateway-proxy.fullname" . }} 5 | labels: 6 | {{- include "openim-msggateway-proxy.labels" . | nindent 4 }} 7 | spec: 8 | type: {{ .Values.service.type }} 9 | ports: 10 | - port: {{ .Values.service.port }} 11 | targetPort: http 12 | protocol: TCP 13 | name: http 14 | - port: 88 15 | targetPort: rpc 16 | protocol: TCP 17 | name: rpc 18 | - port: 90 19 | targetPort: 90 20 | protocol: TCP 21 | name: metrics-port 22 | selector: 23 | {{- include "openim-msggateway-proxy.selectorLabels" . | nindent 4 }} 24 | -------------------------------------------------------------------------------- /infra/kube-prometheus-stack/charts/kube-state-metrics/templates/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.serviceAccount.create -}} 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | labels: 6 | {{- include "kube-state-metrics.labels" . | indent 4 }} 7 | name: {{ template "kube-state-metrics.serviceAccountName" . }} 8 | namespace: {{ template "kube-state-metrics.namespace" . }} 9 | {{- if .Values.serviceAccount.annotations }} 10 | annotations: 11 | {{ toYaml .Values.serviceAccount.annotations | indent 4 }} 12 | {{- end }} 13 | imagePullSecrets: 14 | {{- include "kube-state-metrics.imagePullSecrets" (dict "Values" .Values "imagePullSecrets" .Values.serviceAccount.imagePullSecrets) | indent 2 }} 15 | {{- end -}} 16 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/prometheus/charts/kube-state-metrics/templates/psp-clusterrolebinding.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.podSecurityPolicy.enabled .Values.rbac.create -}} 2 | apiVersion: rbac.authorization.k8s.io/v1 3 | kind: ClusterRoleBinding 4 | metadata: 5 | labels: 6 | {{- include "kube-state-metrics.labels" . | indent 4 }} 7 | name: psp-{{ template "kube-state-metrics.fullname" . }} 8 | roleRef: 9 | apiGroup: rbac.authorization.k8s.io 10 | kind: ClusterRole 11 | name: psp-{{ template "kube-state-metrics.fullname" . }} 12 | subjects: 13 | - kind: ServiceAccount 14 | name: {{ template "kube-state-metrics.serviceAccountName" . }} 15 | namespace: {{ template "kube-state-metrics.namespace" . }} 16 | {{- end }} 17 | -------------------------------------------------------------------------------- /infra/ingress-nginx/templates/clusterrolebinding.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.rbac.create (not .Values.rbac.scope) -}} 2 | apiVersion: rbac.authorization.k8s.io/v1 3 | kind: ClusterRoleBinding 4 | metadata: 5 | labels: 6 | {{- include "ingress-nginx.labels" . | nindent 4 }} 7 | {{- with .Values.controller.labels }} 8 | {{- toYaml . | nindent 4 }} 9 | {{- end }} 10 | name: {{ include "ingress-nginx.fullname" . }} 11 | roleRef: 12 | apiGroup: rbac.authorization.k8s.io 13 | kind: ClusterRole 14 | name: {{ include "ingress-nginx.fullname" . }} 15 | subjects: 16 | - kind: ServiceAccount 17 | name: {{ template "ingress-nginx.serviceAccountName" . }} 18 | namespace: {{ .Release.Namespace | quote }} 19 | {{- end }} 20 | -------------------------------------------------------------------------------- /infra/kube-prometheus-stack/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing Guidelines 2 | 3 | ## How to contribute to this chart 4 | 5 | 1. Fork this repository, develop and test your Chart. 6 | 1. Bump the chart version for every change. 7 | 1. Ensure PR title has the prefix `[kube-prometheus-stack]` 8 | 1. When making changes to rules or dashboards, see the README.md section on how to sync data from upstream repositories 9 | 1. Check the `hack/minikube` folder has scripts to set up minikube and components of this chart that will allow all components to be scraped. You can use this configuration when validating your changes. 10 | 1. Check for changes of RBAC rules. 11 | 1. Check for changes in CRD specs. 12 | 1. PR must pass the linter (`helm lint`) 13 | -------------------------------------------------------------------------------- /infra/kube-prometheus-stack/charts/prometheus-node-exporter/templates/clusterrole.yaml: -------------------------------------------------------------------------------- 1 | {{- if and (eq .Values.rbac.create true) (eq .Values.kubeRBACProxy.enabled true) -}} 2 | apiVersion: rbac.authorization.k8s.io/v1 3 | kind: ClusterRole 4 | metadata: 5 | name: {{ include "prometheus-node-exporter.fullname" . }} 6 | labels: 7 | {{- include "prometheus-node-exporter.labels" . | nindent 4 }} 8 | rules: 9 | {{- if $.Values.kubeRBACProxy.enabled }} 10 | - apiGroups: [ "authentication.k8s.io" ] 11 | resources: 12 | - tokenreviews 13 | verbs: [ "create" ] 14 | - apiGroups: [ "authorization.k8s.io" ] 15 | resources: 16 | - subjectaccessreviews 17 | verbs: [ "create" ] 18 | {{- end }} 19 | {{- end -}} 20 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/logstash/templates/rolebinding.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.rbac.create -}} 2 | {{- $fullName := include "logstash.fullname" . -}} 3 | apiVersion: rbac.authorization.k8s.io/v1 4 | kind: RoleBinding 5 | metadata: 6 | name: {{ $fullName | quote }} 7 | labels: 8 | app: "{{ template "logstash.fullname" . }}" 9 | chart: "{{ .Chart.Name }}" 10 | heritage: {{ .Release.Service | quote }} 11 | release: {{ .Release.Name | quote }} 12 | subjects: 13 | - kind: ServiceAccount 14 | name: "{{ template "logstash.serviceAccount" . }}" 15 | namespace: {{ .Release.Namespace | quote }} 16 | roleRef: 17 | kind: Role 18 | name: {{ $fullName | quote }} 19 | apiGroup: rbac.authorization.k8s.io 20 | {{- end -}} 21 | -------------------------------------------------------------------------------- /infra/ingress-nginx/templates/controller-serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{- if or .Values.serviceAccount.create -}} 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | labels: 6 | {{- include "ingress-nginx.labels" . | nindent 4 }} 7 | app.kubernetes.io/component: controller 8 | {{- with .Values.controller.labels }} 9 | {{- toYaml . | nindent 4 }} 10 | {{- end }} 11 | name: {{ template "ingress-nginx.serviceAccountName" . }} 12 | namespace: {{ .Release.Namespace }} 13 | {{- if .Values.serviceAccount.annotations }} 14 | annotations: {{ toYaml .Values.serviceAccount.annotations | nindent 4 }} 15 | {{- end }} 16 | automountServiceAccountToken: {{ .Values.serviceAccount.automountServiceAccountToken }} 17 | {{- end }} 18 | -------------------------------------------------------------------------------- /infra/ingress-nginx/Chart.yaml: -------------------------------------------------------------------------------- 1 | annotations: 2 | artifacthub.io/changes: | 3 | - "Update Ingress-Nginx version controller-v1.8.2" 4 | artifacthub.io/prerelease: "false" 5 | apiVersion: v2 6 | appVersion: 1.8.2 7 | description: Ingress controller for Kubernetes using NGINX as a reverse proxy and 8 | load balancer 9 | home: https://github.com/kubernetes/ingress-nginx 10 | icon: https://upload.wikimedia.org/wikipedia/commons/thumb/c/c5/Nginx_logo.svg/500px-Nginx_logo.svg.png 11 | keywords: 12 | - ingress 13 | - nginx 14 | kubeVersion: '>=1.20.0-0' 15 | maintainers: 16 | - name: rikatz 17 | - name: strongjz 18 | - name: tao12345666333 19 | name: ingress-nginx 20 | sources: 21 | - https://github.com/kubernetes/ingress-nginx 22 | version: 4.7.2 23 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/grafana/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v2 2 | appVersion: 9.2.4 3 | description: The leading tool for querying and visualizing time series and metrics. 4 | home: https://grafana.net 5 | icon: https://raw.githubusercontent.com/grafana/grafana/master/public/img/logo_transparent_400x.png 6 | kubeVersion: ^1.8.0-0 7 | maintainers: 8 | - email: zanhsieh@gmail.com 9 | name: zanhsieh 10 | - email: rluckie@cisco.com 11 | name: rtluckie 12 | - email: maor.friedman@redhat.com 13 | name: maorfr 14 | - email: miroslav.hadzhiev@gmail.com 15 | name: Xtigyro 16 | - email: mail@torstenwalter.de 17 | name: torstenwalter 18 | name: grafana 19 | sources: 20 | - https://github.com/grafana/grafana 21 | type: application 22 | version: 6.43.5 23 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/prometheus/templates/node-exporter/role.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.nodeExporter.enabled .Values.rbac.create }} 2 | {{- if or (default .Values.nodeExporter.podSecurityPolicy.enabled false) (.Values.podSecurityPolicy.enabled) }} 3 | apiVersion: {{ template "rbac.apiVersion" . }} 4 | kind: Role 5 | metadata: 6 | name: {{ template "prometheus.nodeExporter.fullname" . }} 7 | labels: 8 | {{- include "prometheus.nodeExporter.labels" . | nindent 4 }} 9 | {{ include "prometheus.namespace" . | indent 2 }} 10 | rules: 11 | - apiGroups: ['extensions'] 12 | resources: ['podsecuritypolicies'] 13 | verbs: ['use'] 14 | resourceNames: 15 | - {{ template "prometheus.nodeExporter.fullname" . }} 16 | {{- end }} 17 | {{- end }} 18 | -------------------------------------------------------------------------------- /infra/ingress-nginx/changelog/Changelog-4.7.0.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | This file documents all notable changes to [ingress-nginx](https://github.com/kubernetes/ingress-nginx) Helm Chart. The release numbering uses [semantic versioning](http://semver.org). 4 | 5 | ### 4.7.0 6 | 7 | * helm: Fix opentelemetry module installation for daemonset (#9792) 8 | * Update charts/* to keep project name display aligned (#9931) 9 | * HPA: Use capabilites & align manifests. (#9521) 10 | * PodDisruptionBudget spec logic update (#9904) 11 | * add option for annotations in PodDisruptionBudget (#9843) 12 | * Update Ingress-Nginx version controller-v1.8.0 13 | 14 | **Full Changelog**: https://github.com/kubernetes/ingress-nginx/compare/helm-chart-4.6.1...helm-chart-4.7.0 15 | -------------------------------------------------------------------------------- /infra/kube-prometheus-stack/charts/kube-state-metrics/templates/stsdiscovery-role.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.autosharding.enabled .Values.rbac.create -}} 2 | apiVersion: rbac.authorization.k8s.io/v1 3 | kind: Role 4 | metadata: 5 | name: stsdiscovery-{{ template "kube-state-metrics.fullname" . }} 6 | namespace: {{ template "kube-state-metrics.namespace" . }} 7 | labels: 8 | {{- include "kube-state-metrics.labels" . | indent 4 }} 9 | rules: 10 | - apiGroups: 11 | - "" 12 | resources: 13 | - pods 14 | verbs: 15 | - get 16 | - apiGroups: 17 | - apps 18 | resourceNames: 19 | - {{ template "kube-state-metrics.fullname" . }} 20 | resources: 21 | - statefulsets 22 | verbs: 23 | - get 24 | - list 25 | - watch 26 | {{- end }} 27 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/filebeat/templates/rolebinding.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.managedServiceAccount }} 2 | apiVersion: rbac.authorization.k8s.io/v1 3 | kind: RoleBinding 4 | metadata: 5 | name: {{ template "filebeat.serviceAccount" . }}-role-binding 6 | labels: 7 | app: "{{ template "filebeat.fullname" . }}" 8 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 9 | heritage: {{ .Release.Service | quote }} 10 | release: {{ .Release.Name | quote }} 11 | roleRef: 12 | kind: Role 13 | name: {{ template "filebeat.serviceAccount" . }}-role 14 | apiGroup: rbac.authorization.k8s.io 15 | subjects: 16 | - kind: ServiceAccount 17 | name: {{ template "filebeat.serviceAccount" . }} 18 | namespace: {{ .Release.Namespace }} 19 | {{- end -}} 20 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/prometheus/charts/kube-state-metrics/templates/stsdiscovery-role.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.autosharding.enabled .Values.rbac.create -}} 2 | apiVersion: rbac.authorization.k8s.io/v1 3 | kind: Role 4 | metadata: 5 | name: stsdiscovery-{{ template "kube-state-metrics.fullname" . }} 6 | namespace: {{ template "kube-state-metrics.namespace" . }} 7 | labels: 8 | {{- include "kube-state-metrics.labels" . | indent 4 }} 9 | rules: 10 | - apiGroups: 11 | - "" 12 | resources: 13 | - pods 14 | verbs: 15 | - get 16 | - apiGroups: 17 | - apps 18 | resourceNames: 19 | - {{ template "kube-state-metrics.fullname" . }} 20 | resources: 21 | - statefulsets 22 | verbs: 23 | - get 24 | - list 25 | - watch 26 | {{- end }} 27 | -------------------------------------------------------------------------------- /infra/nfs-subdir-external-provisioner/templates/role.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.rbac.create }} 2 | kind: Role 3 | apiVersion: rbac.authorization.k8s.io/v1 4 | metadata: 5 | labels: 6 | {{- include "nfs-subdir-external-provisioner.labels" . | nindent 4 }} 7 | name: leader-locking-{{ template "nfs-subdir-external-provisioner.fullname" . }} 8 | rules: 9 | - apiGroups: [""] 10 | resources: ["endpoints"] 11 | verbs: ["get", "list", "watch", "create", "update", "patch"] 12 | {{- if .Values.podSecurityPolicy.enabled }} 13 | - apiGroups: ['extensions'] 14 | resources: ['podsecuritypolicies'] 15 | verbs: ['use'] 16 | resourceNames: [{{ template "nfs-subdir-external-provisioner.fullname" . }}] 17 | {{- end }} 18 | {{- end }} 19 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/prometheus/templates/server/clusterrolebinding.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.server.enabled .Values.rbac.create (empty .Values.server.namespaces) (empty .Values.server.useExistingClusterRoleName) -}} 2 | apiVersion: {{ template "rbac.apiVersion" . }} 3 | kind: ClusterRoleBinding 4 | metadata: 5 | labels: 6 | {{- include "prometheus.server.labels" . | nindent 4 }} 7 | name: {{ template "prometheus.server.fullname" . }} 8 | subjects: 9 | - kind: ServiceAccount 10 | name: {{ template "prometheus.serviceAccountName.server" . }} 11 | {{ include "prometheus.namespace" . | indent 4 }} 12 | roleRef: 13 | apiGroup: rbac.authorization.k8s.io 14 | kind: ClusterRole 15 | name: {{ template "prometheus.server.fullname" . }} 16 | {{- end }} 17 | -------------------------------------------------------------------------------- /helm.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # 仓库名称 4 | repository="oepnim/helm-charts" 5 | 6 | # 版本号参数 7 | version=$1 8 | 9 | if [[ -z "$version" ]]; then 10 | # 获取最新release的版本号 11 | version=$(curl -s "https://api.github.com/repos/$repository/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/') 12 | # 构建下载链接 13 | download_url="https://github.com/$repository/releases/download/$version/openim-${version#v}.tgz" 14 | # 下载指定版本的release 15 | wget $download_url 16 | helm repo index . --url https://github.com/$repository/releases/download/$version 17 | exit 0 18 | fi 19 | mkdir -p charts 20 | cp -rf openIM ./charts/ 21 | sed -i "s#default#latest#g" charts/openIM/Chart.yaml 22 | helm package charts/openIM 23 | helm repo index . --url https://github.com/$repository -------------------------------------------------------------------------------- /infra/loki-stack/charts/fluent-bit/templates/service-headless.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.serviceMonitor.enabled }} 2 | apiVersion: v1 3 | kind: Service 4 | metadata: 5 | name: {{ template "fluent-bit-loki.fullname" . }}-headless 6 | namespace: {{ .Release.Namespace }} 7 | labels: 8 | app: {{ template "fluent-bit-loki.name" . }} 9 | chart: {{ template "fluent-bit-loki.chart" . }} 10 | release: {{ .Release.Name }} 11 | heritage: {{ .Release.Service }} 12 | spec: 13 | clusterIP: None 14 | ports: 15 | - port: {{ .Values.config.port }} 16 | protocol: TCP 17 | name: http-metrics 18 | targetPort: http-metrics 19 | selector: 20 | app: {{ template "fluent-bit-loki.name" . }} 21 | release: {{ .Release.Name }} 22 | {{- end }} 23 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/loki/templates/networkpolicy.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.networkPolicy.enabled }} 2 | apiVersion: networking.k8s.io/v1 3 | kind: NetworkPolicy 4 | metadata: 5 | name: {{ template "loki.fullname" . }} 6 | namespace: {{ .Release.Namespace }} 7 | labels: 8 | {{- include "loki.labels" . | nindent 4 }} 9 | spec: 10 | podSelector: 11 | matchLabels: 12 | name: {{ template "loki.fullname" . }} 13 | app: {{ template "loki.name" . }} 14 | release: {{ .Release.Name }} 15 | ingress: 16 | - from: 17 | - podSelector: 18 | matchLabels: 19 | app: {{ template "client.name" . }} 20 | release: {{ .Release.Name }} 21 | - ports: 22 | - port: {{ .Values.service.port }} 23 | {{- end }} 24 | -------------------------------------------------------------------------------- /infra/kafka/charts/common/templates/_warnings.tpl: -------------------------------------------------------------------------------- 1 | {{/* 2 | Copyright VMware, Inc. 3 | SPDX-License-Identifier: APACHE-2.0 4 | */}} 5 | 6 | {{/* vim: set filetype=mustache: */}} 7 | {{/* 8 | Warning about using rolling tag. 9 | Usage: 10 | {{ include "common.warnings.rollingTag" .Values.path.to.the.imageRoot }} 11 | */}} 12 | {{- define "common.warnings.rollingTag" -}} 13 | 14 | {{- if and (contains "bitnami/" .repository) (not (.tag | toString | regexFind "-r\\d+$|sha256:")) }} 15 | WARNING: Rolling tag detected ({{ .repository }}:{{ .tag }}), please note that it is strongly recommended to avoid using rolling tags in a production environment. 16 | +info https://docs.bitnami.com/containers/how-to/understand-rolling-tags-containers/ 17 | {{- end }} 18 | 19 | {{- end -}} 20 | -------------------------------------------------------------------------------- /infra/kube-prometheus-stack/charts/kube-state-metrics/templates/psp-clusterrolebinding.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.podSecurityPolicy.enabled (.Capabilities.APIVersions.Has "policy/v1beta1/PodSecurityPolicy") }} 2 | apiVersion: rbac.authorization.k8s.io/v1 3 | kind: ClusterRoleBinding 4 | metadata: 5 | labels: 6 | {{- include "kube-state-metrics.labels" . | indent 4 }} 7 | name: psp-{{ template "kube-state-metrics.fullname" . }} 8 | roleRef: 9 | apiGroup: rbac.authorization.k8s.io 10 | kind: ClusterRole 11 | name: psp-{{ template "kube-state-metrics.fullname" . }} 12 | subjects: 13 | - kind: ServiceAccount 14 | name: {{ template "kube-state-metrics.serviceAccountName" . }} 15 | namespace: {{ template "kube-state-metrics.namespace" . }} 16 | {{- end }} 17 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/grafana/templates/tests/test-configmap.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.testFramework.enabled }} 2 | apiVersion: v1 3 | kind: ConfigMap 4 | metadata: 5 | name: {{ template "grafana.fullname" . }}-test 6 | namespace: {{ template "grafana.namespace" . }} 7 | annotations: 8 | "helm.sh/hook": test-success 9 | "helm.sh/hook-delete-policy": "before-hook-creation,hook-succeeded" 10 | labels: 11 | {{- include "grafana.labels" . | nindent 4 }} 12 | data: 13 | run.sh: |- 14 | @test "Test Health" { 15 | url="http://{{ template "grafana.fullname" . }}/api/health" 16 | 17 | code=$(wget --server-response --spider --timeout 90 --tries 10 ${url} 2>&1 | awk '/^ HTTP/{print $2}') 18 | [ "$code" == "200" ] 19 | } 20 | {{- end }} 21 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/prometheus/templates/alertmanager/clusterrole.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.alertmanager.enabled .Values.rbac.create .Values.alertmanager.useClusterRole (not .Values.alertmanager.useExistingRole) -}} 2 | apiVersion: {{ template "rbac.apiVersion" . }} 3 | kind: ClusterRole 4 | metadata: 5 | labels: 6 | {{- include "prometheus.alertmanager.labels" . | nindent 4 }} 7 | name: {{ template "prometheus.alertmanager.fullname" . }} 8 | rules: 9 | {{- if .Values.podSecurityPolicy.enabled }} 10 | - apiGroups: 11 | - extensions 12 | resources: 13 | - podsecuritypolicies 14 | verbs: 15 | - use 16 | resourceNames: 17 | - {{ template "prometheus.alertmanager.fullname" . }} 18 | {{- else }} 19 | [] 20 | {{- end }} 21 | {{- end }} 22 | -------------------------------------------------------------------------------- /infra/minio/charts/common/templates/_warnings.tpl: -------------------------------------------------------------------------------- 1 | {{/* 2 | Copyright VMware, Inc. 3 | SPDX-License-Identifier: APACHE-2.0 4 | */}} 5 | 6 | {{/* vim: set filetype=mustache: */}} 7 | {{/* 8 | Warning about using rolling tag. 9 | Usage: 10 | {{ include "common.warnings.rollingTag" .Values.path.to.the.imageRoot }} 11 | */}} 12 | {{- define "common.warnings.rollingTag" -}} 13 | 14 | {{- if and (contains "bitnami/" .repository) (not (.tag | toString | regexFind "-r\\d+$|sha256:")) }} 15 | WARNING: Rolling tag detected ({{ .repository }}:{{ .tag }}), please note that it is strongly recommended to avoid using rolling tags in a production environment. 16 | +info https://docs.bitnami.com/containers/how-to/understand-rolling-tags-containers/ 17 | {{- end }} 18 | 19 | {{- end -}} 20 | -------------------------------------------------------------------------------- /infra/mongodb/charts/common/templates/_warnings.tpl: -------------------------------------------------------------------------------- 1 | {{/* 2 | Copyright VMware, Inc. 3 | SPDX-License-Identifier: APACHE-2.0 4 | */}} 5 | 6 | {{/* vim: set filetype=mustache: */}} 7 | {{/* 8 | Warning about using rolling tag. 9 | Usage: 10 | {{ include "common.warnings.rollingTag" .Values.path.to.the.imageRoot }} 11 | */}} 12 | {{- define "common.warnings.rollingTag" -}} 13 | 14 | {{- if and (contains "bitnami/" .repository) (not (.tag | toString | regexFind "-r\\d+$|sha256:")) }} 15 | WARNING: Rolling tag detected ({{ .repository }}:{{ .tag }}), please note that it is strongly recommended to avoid using rolling tags in a production environment. 16 | +info https://docs.bitnami.com/containers/how-to/understand-rolling-tags-containers/ 17 | {{- end }} 18 | 19 | {{- end -}} 20 | -------------------------------------------------------------------------------- /infra/mysql/charts/common/templates/_warnings.tpl: -------------------------------------------------------------------------------- 1 | {{/* 2 | Copyright VMware, Inc. 3 | SPDX-License-Identifier: APACHE-2.0 4 | */}} 5 | 6 | {{/* vim: set filetype=mustache: */}} 7 | {{/* 8 | Warning about using rolling tag. 9 | Usage: 10 | {{ include "common.warnings.rollingTag" .Values.path.to.the.imageRoot }} 11 | */}} 12 | {{- define "common.warnings.rollingTag" -}} 13 | 14 | {{- if and (contains "bitnami/" .repository) (not (.tag | toString | regexFind "-r\\d+$|sha256:")) }} 15 | WARNING: Rolling tag detected ({{ .repository }}:{{ .tag }}), please note that it is strongly recommended to avoid using rolling tags in a production environment. 16 | +info https://docs.bitnami.com/containers/how-to/understand-rolling-tags-containers/ 17 | {{- end }} 18 | 19 | {{- end -}} 20 | -------------------------------------------------------------------------------- /infra/redis/charts/common/templates/_warnings.tpl: -------------------------------------------------------------------------------- 1 | {{/* 2 | Copyright VMware, Inc. 3 | SPDX-License-Identifier: APACHE-2.0 4 | */}} 5 | 6 | {{/* vim: set filetype=mustache: */}} 7 | {{/* 8 | Warning about using rolling tag. 9 | Usage: 10 | {{ include "common.warnings.rollingTag" .Values.path.to.the.imageRoot }} 11 | */}} 12 | {{- define "common.warnings.rollingTag" -}} 13 | 14 | {{- if and (contains "bitnami/" .repository) (not (.tag | toString | regexFind "-r\\d+$|sha256:")) }} 15 | WARNING: Rolling tag detected ({{ .repository }}:{{ .tag }}), please note that it is strongly recommended to avoid using rolling tags in a production environment. 16 | +info https://docs.bitnami.com/containers/how-to/understand-rolling-tags-containers/ 17 | {{- end }} 18 | 19 | {{- end -}} 20 | -------------------------------------------------------------------------------- /infra/kube-prometheus-stack/charts/grafana/templates/tests/test-configmap.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.testFramework.enabled }} 2 | apiVersion: v1 3 | kind: ConfigMap 4 | metadata: 5 | name: {{ include "grafana.fullname" . }}-test 6 | namespace: {{ include "grafana.namespace" . }} 7 | annotations: 8 | "helm.sh/hook": test-success 9 | "helm.sh/hook-delete-policy": "before-hook-creation,hook-succeeded" 10 | labels: 11 | {{- include "grafana.labels" . | nindent 4 }} 12 | data: 13 | run.sh: |- 14 | @test "Test Health" { 15 | url="http://{{ include "grafana.fullname" . }}/api/health" 16 | 17 | code=$(wget --server-response --spider --timeout 90 --tries 10 ${url} 2>&1 | awk '/^ HTTP/{print $2}') 18 | [ "$code" == "200" ] 19 | } 20 | {{- end }} 21 | -------------------------------------------------------------------------------- /infra/kube-prometheus-stack/templates/exporters/kube-etcd/endpoints.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.kubeEtcd.enabled .Values.kubeEtcd.endpoints .Values.kubernetesServiceMonitors.enabled }} 2 | apiVersion: v1 3 | kind: Endpoints 4 | metadata: 5 | name: {{ template "kube-prometheus-stack.fullname" . }}-kube-etcd 6 | labels: 7 | app: {{ template "kube-prometheus-stack.name" . }}-kube-etcd 8 | k8s-app: etcd-server 9 | {{ include "kube-prometheus-stack.labels" . | indent 4 }} 10 | namespace: kube-system 11 | subsets: 12 | - addresses: 13 | {{- range .Values.kubeEtcd.endpoints }} 14 | - ip: {{ . }} 15 | {{- end }} 16 | ports: 17 | - name: http-metrics 18 | port: {{ .Values.kubeEtcd.service.port }} 19 | protocol: TCP 20 | {{- end }} 21 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/fluent-bit/templates/clusterrolebinding.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.rbac.create }} 2 | kind: ClusterRoleBinding 3 | apiVersion: rbac.authorization.k8s.io/v1 4 | metadata: 5 | name: {{ template "fluent-bit-loki.fullname" . }}-clusterrolebinding 6 | labels: 7 | app: {{ template "fluent-bit-loki.name" . }} 8 | chart: {{ template "fluent-bit-loki.chart" . }} 9 | release: {{ .Release.Name }} 10 | heritage: {{ .Release.Service }} 11 | subjects: 12 | - kind: ServiceAccount 13 | name: {{ template "fluent-bit-loki.serviceAccountName" . }} 14 | namespace: {{ .Release.Namespace }} 15 | roleRef: 16 | kind: ClusterRole 17 | name: {{ template "fluent-bit-loki.fullname" . }}-clusterrole 18 | apiGroup: rbac.authorization.k8s.io 19 | {{- end }} 20 | -------------------------------------------------------------------------------- /infra/redis-config.yaml: -------------------------------------------------------------------------------- 1 | #This configuration file is used to override the use of the value. yaml variable. You can modify it according to your own needs. 2 | #If you modify the account information inside, it may need to be synchronized in the application file 3 | global: 4 | imageRegistry: "m.daocloud.io/docker.io" 5 | # this is your storageClass,Please change in according to the k8s environment settings of your server 6 | storageClass: "nfs-client" 7 | redis: 8 | password: "openIM123" 9 | 10 | master: 11 | persistence: 12 | size: 1Gi 13 | replica: 14 | replicaCount: 1 15 | persistence: 16 | size: 1Gi 17 | 18 | metrics: 19 | enabled: false 20 | serviceMonitor: 21 | enabled: false 22 | additionalLabels: 23 | release: kube-prometheus-stack -------------------------------------------------------------------------------- /infra/kube-prometheus-stack/templates/exporters/kube-proxy/endpoints.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.kubeProxy.enabled .Values.kubeProxy.endpoints .Values.kubernetesServiceMonitors.enabled }} 2 | apiVersion: v1 3 | kind: Endpoints 4 | metadata: 5 | name: {{ template "kube-prometheus-stack.fullname" . }}-kube-proxy 6 | labels: 7 | app: {{ template "kube-prometheus-stack.name" . }}-kube-proxy 8 | k8s-app: kube-proxy 9 | {{ include "kube-prometheus-stack.labels" . | indent 4 }} 10 | namespace: kube-system 11 | subsets: 12 | - addresses: 13 | {{- range .Values.kubeProxy.endpoints }} 14 | - ip: {{ . }} 15 | {{- end }} 16 | ports: 17 | - name: http-metrics 18 | port: {{ .Values.kubeProxy.service.port }} 19 | protocol: TCP 20 | {{- end }} 21 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/loki/templates/service-headless.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ template "loki.fullname" . }}-headless 5 | namespace: {{ .Release.Namespace }} 6 | labels: 7 | {{- include "loki.labels" . | nindent 4 }} 8 | {{- with .Values.service.labels }} 9 | {{- toYaml . | nindent 4 }} 10 | {{- end }} 11 | variant: headless 12 | spec: 13 | clusterIP: None 14 | ports: 15 | - port: {{ .Values.service.port }} 16 | protocol: TCP 17 | name: http-metrics 18 | targetPort: {{ .Values.service.targetPort }} 19 | {{- if .Values.extraPorts }} 20 | {{ toYaml .Values.extraPorts | indent 4}} 21 | {{- end }} 22 | selector: 23 | app: {{ template "loki.name" . }} 24 | release: {{ .Release.Name }} 25 | -------------------------------------------------------------------------------- /infra/kafka/charts/zookeeper/charts/common/templates/_warnings.tpl: -------------------------------------------------------------------------------- 1 | {{/* 2 | Copyright VMware, Inc. 3 | SPDX-License-Identifier: APACHE-2.0 4 | */}} 5 | 6 | {{/* vim: set filetype=mustache: */}} 7 | {{/* 8 | Warning about using rolling tag. 9 | Usage: 10 | {{ include "common.warnings.rollingTag" .Values.path.to.the.imageRoot }} 11 | */}} 12 | {{- define "common.warnings.rollingTag" -}} 13 | 14 | {{- if and (contains "bitnami/" .repository) (not (.tag | toString | regexFind "-r\\d+$|sha256:")) }} 15 | WARNING: Rolling tag detected ({{ .repository }}:{{ .tag }}), please note that it is strongly recommended to avoid using rolling tags in a production environment. 16 | +info https://docs.bitnami.com/containers/how-to/understand-rolling-tags-containers/ 17 | {{- end }} 18 | 19 | {{- end -}} 20 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/filebeat/templates/clusterrolebinding.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.managedServiceAccount }} 2 | apiVersion: rbac.authorization.k8s.io/v1 3 | kind: ClusterRoleBinding 4 | metadata: 5 | name: {{ template "filebeat.serviceAccount" . }}-cluster-role-binding 6 | labels: 7 | app: "{{ template "filebeat.fullname" . }}" 8 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 9 | heritage: {{ .Release.Service | quote }} 10 | release: {{ .Release.Name | quote }} 11 | roleRef: 12 | kind: ClusterRole 13 | name: {{ template "filebeat.serviceAccount" . }}-cluster-role 14 | apiGroup: rbac.authorization.k8s.io 15 | subjects: 16 | - kind: ServiceAccount 17 | name: {{ template "filebeat.serviceAccount" . }} 18 | namespace: {{ .Release.Namespace }} 19 | {{- end -}} 20 | -------------------------------------------------------------------------------- /infra/ingress-nginx/templates/controller-rolebinding.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.rbac.create -}} 2 | apiVersion: rbac.authorization.k8s.io/v1 3 | kind: RoleBinding 4 | metadata: 5 | labels: 6 | {{- include "ingress-nginx.labels" . | nindent 4 }} 7 | app.kubernetes.io/component: controller 8 | {{- with .Values.controller.labels }} 9 | {{- toYaml . | nindent 4 }} 10 | {{- end }} 11 | name: {{ include "ingress-nginx.fullname" . }} 12 | namespace: {{ .Release.Namespace }} 13 | roleRef: 14 | apiGroup: rbac.authorization.k8s.io 15 | kind: Role 16 | name: {{ include "ingress-nginx.fullname" . }} 17 | subjects: 18 | - kind: ServiceAccount 19 | name: {{ template "ingress-nginx.serviceAccountName" . }} 20 | namespace: {{ .Release.Namespace | quote }} 21 | {{- end }} 22 | -------------------------------------------------------------------------------- /infra/kube-prometheus-stack/charts/grafana/templates/tests/test-role.yaml: -------------------------------------------------------------------------------- 1 | {{- if and (.Capabilities.APIVersions.Has "policy/v1beta1/PodSecurityPolicy") .Values.testFramework.enabled .Values.rbac.pspEnabled }} 2 | apiVersion: rbac.authorization.k8s.io/v1 3 | kind: Role 4 | metadata: 5 | name: {{ include "grafana.fullname" . }}-test 6 | namespace: {{ include "grafana.namespace" . }} 7 | annotations: 8 | "helm.sh/hook": test-success 9 | "helm.sh/hook-delete-policy": "before-hook-creation,hook-succeeded" 10 | labels: 11 | {{- include "grafana.labels" . | nindent 4 }} 12 | rules: 13 | - apiGroups: ['policy'] 14 | resources: ['podsecuritypolicies'] 15 | verbs: ['use'] 16 | resourceNames: [{{ include "grafana.fullname" . }}-test] 17 | {{- end }} 18 | -------------------------------------------------------------------------------- /infra/kube-prometheus-stack/charts/kube-state-metrics/templates/stsdiscovery-rolebinding.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.autosharding.enabled .Values.rbac.create -}} 2 | apiVersion: rbac.authorization.k8s.io/v1 3 | kind: RoleBinding 4 | metadata: 5 | name: stsdiscovery-{{ template "kube-state-metrics.fullname" . }} 6 | namespace: {{ template "kube-state-metrics.namespace" . }} 7 | labels: 8 | {{- include "kube-state-metrics.labels" . | indent 4 }} 9 | roleRef: 10 | apiGroup: rbac.authorization.k8s.io 11 | kind: Role 12 | name: stsdiscovery-{{ template "kube-state-metrics.fullname" . }} 13 | subjects: 14 | - kind: ServiceAccount 15 | name: {{ template "kube-state-metrics.serviceAccountName" . }} 16 | namespace: {{ template "kube-state-metrics.namespace" . }} 17 | {{- end }} 18 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/prometheus/templates/alertmanager/cm.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.alertmanager.enabled (and (empty .Values.alertmanager.configMapOverrideName) (empty .Values.alertmanager.configFromSecret)) -}} 2 | apiVersion: v1 3 | kind: ConfigMap 4 | metadata: 5 | labels: 6 | {{- include "prometheus.alertmanager.labels" . | nindent 4 }} 7 | name: {{ template "prometheus.alertmanager.fullname" . }} 8 | {{ include "prometheus.namespace" . | indent 2 }} 9 | data: 10 | {{- $root := . -}} 11 | {{- range $key, $value := .Values.alertmanagerFiles }} 12 | {{- if $key | regexMatch ".*\\.ya?ml$" }} 13 | {{ $key }}: | 14 | {{ toYaml $value | default "{}" | indent 4 }} 15 | {{- else }} 16 | {{ $key }}: {{ toYaml $value | indent 4 }} 17 | {{- end }} 18 | {{- end -}} 19 | {{- end -}} 20 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/prometheus/templates/pushgateway/netpol.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.pushgateway.enabled .Values.networkPolicy.enabled -}} 2 | apiVersion: {{ template "prometheus.networkPolicy.apiVersion" . }} 3 | kind: NetworkPolicy 4 | metadata: 5 | name: {{ template "prometheus.pushgateway.fullname" . }} 6 | {{ include "prometheus.namespace" . | indent 2 }} 7 | labels: 8 | {{- include "prometheus.pushgateway.labels" . | nindent 4 }} 9 | spec: 10 | podSelector: 11 | matchLabels: 12 | {{- include "prometheus.pushgateway.matchLabels" . | nindent 6 }} 13 | ingress: 14 | - from: 15 | - podSelector: 16 | matchLabels: 17 | {{- include "prometheus.server.matchLabels" . | nindent 12 }} 18 | - ports: 19 | - port: 9091 20 | {{- end -}} 21 | -------------------------------------------------------------------------------- /infra/loki-stack/charts/prometheus/charts/kube-state-metrics/templates/stsdiscovery-rolebinding.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.autosharding.enabled .Values.rbac.create -}} 2 | apiVersion: rbac.authorization.k8s.io/v1 3 | kind: RoleBinding 4 | metadata: 5 | name: stsdiscovery-{{ template "kube-state-metrics.fullname" . }} 6 | namespace: {{ template "kube-state-metrics.namespace" . }} 7 | labels: 8 | {{- include "kube-state-metrics.labels" . | indent 4 }} 9 | roleRef: 10 | apiGroup: rbac.authorization.k8s.io 11 | kind: Role 12 | name: stsdiscovery-{{ template "kube-state-metrics.fullname" . }} 13 | subjects: 14 | - kind: ServiceAccount 15 | name: {{ template "kube-state-metrics.serviceAccountName" . }} 16 | namespace: {{ template "kube-state-metrics.namespace" . }} 17 | {{- end }} 18 | --------------------------------------------------------------------------------