Collection of personal Dapr demos (bindings, state, pub/sub, service-to-service invocation)

Overview

Dapr demos

Collection of personal Dapr demos.

Note, some of these demos require latest version of Dapr, Ingress gateway, Observability components, or cluster-local Redis and Mongo services. To create Kubernetes cluster with all these components on AKS, or quickly configure an existing cluster, consider the Dapr Cluster Setup utility.

Disclaimer

This is my personal project and it does not represent my employer. While I do my best to ensure that everything works, I take no responsibility for issues caused by this code.

License

This software is released under the MIT

Comments
  • Dapr Helm deployment with tag errs on RC

    Dapr Helm deployment with tag errs on RC

    After deploying Dapr using Helm

    helm install dapr dapr/dapr -n dapr-system \
    		--set global.tag=1.0.0-rc.1 \
    		--set global.logAsJson=true \
    		--set global.ha.enabled=true
    

    On deployments with dapr enabled annotations, the deployment or replica set fails on start

    message: 'admission webhook "sidecar-injector.dapr.io" denied the request: invalid
    app id: a lowercase RFC 1123 label must consist of lower case alphanumeric characters
    or ''-'', and must start and end with an alphanumeric character (e.g. ''my-name'',  or
    ''123-abc'', regex used for validation is ''[a-z0-9]([-a-z0-9]*[a-z0-9])?'')'
    
    opened by mchmarny 1
  • keda scale up doesn't work despite large queue length lag

    keda scale up doesn't work despite large queue length lag

    Example log

    {"level":"debug","ts":1598799261.2208235,"logger":"kafka_scaler","msg":"Group autoscaling has a lag of 147410 for topic messages and partition 0\n"}
    {"level":"debug","ts":1598799261.2208657,"logger":"scalehandler","msg":"Scaler for scaledObject is active","ScaledObject.Namespace":"default","ScaledObject.Name":"queue-outoscaling-scaler","ScaledObject.ScaleType":"deployment","Scaler":{}}
    {"level":"debug","ts":1598799261.2310224,"logger":"scalehandler","msg":"ScaledObject's Status was properly updated","ScaledObject.Namespace":"default","ScaledObject.Name":"queue-outoscaling-scaler","ScaledObject.ScaleType":"deployment"}
    

    This seems to be an issue with the HPA config (i.e. too old resource version)

    W0830 14:54:22.057920       1 reflector.go:289] pkg/mod/k8s.io/[email protected]+incompatible/tools/cache/reflector.go:94: watch of *unstructured.Unstructured ended with: too old resource version: 1894736 (1894804)
    

    There is a similar HPA issue being reported here

    bug 
    opened by mchmarny 1
  • keda scale up doesn't work despite large queue length lag

    keda scale up doesn't work despite large queue length lag

    Example log

    {"level":"debug","ts":1598799261.2208235,"logger":"kafka_scaler","msg":"Group autoscaling has a lag of 147410 for topic messages and partition 0\n"}
    {"level":"debug","ts":1598799261.2208657,"logger":"scalehandler","msg":"Scaler for scaledObject is active","ScaledObject.Namespace":"default","ScaledObject.Name":"queue-outoscaling-scaler","ScaledObject.ScaleType":"deployment","Scaler":{}}
    {"level":"debug","ts":1598799261.2310224,"logger":"scalehandler","msg":"ScaledObject's Status was properly updated","ScaledObject.Namespace":"default","ScaledObject.Name":"queue-outoscaling-scaler","ScaledObject.ScaleType":"deployment"}
    

    This seems to be an issue with the HPA config (i.e. too old resource version)

    W0830 14:54:22.057920       1 reflector.go:289] pkg/mod/k8s.io/[email protected]+incompatible/tools/cache/reflector.go:94: watch of *unstructured.Unstructured ended with: too old resource version: 1894736 (1894804)
    

    There is a similar HPA issue being reported here

    opened by mchmarny 0
  • Problem with grpc-echo-service

    Problem with grpc-echo-service

    Hello, I am trying to complete the dapr-apim-integration demo, which depends on the grpc-echo-service docker image that you own.

    When I run the demo as is, I get the error PostStartHookError: command '/daprd --wait' exited with 137

    I have tried pulling the code for the image as you have defined in this repo (which appears more up-to-date than that in the quickstart docs) and building and deploying that I get the same error. Do you know why this may be?

    Sorry if this isn't a real issue, just kinda puzzled and figured the original author might have more context than I do about the daprd process/error codes.

    opened by esimkowitz 1
  • Applying deployment/kafka-pubsub.yaml with a specification validation error

    Applying deployment/kafka-pubsub.yaml with a specification validation error

    Hi, I'm experimenting with the autoscaling-on-queue example and I got the following error when I got to step Deployment

    ~# kubectl apply -f deployment/kafka-pubsub.yaml
    
    error: error validating "deployment/kafka-pubsub.yaml": error validating data: ValidationError(Component.spec): missing required field "version" in io.dapr.v1alpha1.Component.spec; if you choose to ignore these errors, turn validation off with --validate=false
    

    Should it be changed to this?

    apiVersion: dapr.io/v1alpha1
    kind: Component
    metadata:
      name: autoscaling-pubsub
    spec:
      version: v1
      type: pubsub.kafka
      metadata:
        - name: brokers
          value: kafka-cp-kafka.kafka.svc.cluster.local:9092
        - name: authRequired
          value: "false"
        - name: allowedTopics
          value: metric
        - name: consumerID
          value: autoscaling-subscriber
    

    thk.

    opened by tpiperatgod 1
Owner
Mark Chmarny
Engineering Leader @Apple, Xoogler, Gooner, still hungry for more
Mark Chmarny
Rpcx-framework - An RPC microservices framework based on rpcx, simple and easy to use, ultra fast and efficient, powerful, service discovery, service governance, service layering, version control, routing label registration.

RPCX Framework An RPC microservices framework based on rpcx. Features: simple and easy to use, ultra fast and efficient, powerful, service discovery,

ZYallers 1 Jan 5, 2022
This tool generates Go language bindings of services in protobuf definition files for go-kit

protoc-gen-go-kit This tool generates Go language bindings of services in protobuf definition files for go-kit. Installation $ go install github.com/x

X64FUN 1 Nov 9, 2021
Micro-service framework in Go

Kite Micro-Service Framework Kite is a framework for developing micro-services in Go. Kite is both the name of the framework and the micro-service tha

Koding, Inc. 3.2k Jan 9, 2023
NewSQL distributed storage database based on micro service framework

QLite 是基于微服务的 NewSQL 型数据库系统,与传统的一体化数据库不同,该系统将本该内置的多种数据结构(STL)拆分成多个服务模块,每个模块都是独立的一个节点,每个节点都与其主网关进行连接,从而形成分布式存储结构。

null 36 Jun 19, 2022
High Performance Remote Object Service Engine

=============== Hprose is a High Performance Remote Object Service Engine. It is a modern, lightweight, cross-language, cross-platform, object-oriente

小马哥 615 Nov 3, 2022
Kubernetes as a Service

Go Report Travis CircleCI Azure Test Azure Release License oneinfra oneinfra is a Kubernetes as a Service platform. It empowers you to provide or cons

null 881 Dec 28, 2022
🔥 Kubernetes multi-cluster deployment automation service.

Beetle Kubernetes multi-cluster deployment automation service ?? Check out the demo! Application deployment and management should be automated, audita

Ahmed 163 Dec 11, 2022
Tiny service health dashboard written in Go

GreenWall Status: Done (waiting for feedback) Description GreenWall is a tiny service health dashboard written in Go (with frontend prepared in Bootst

Marcin Tojek 291 Nov 29, 2022
Automatic Service Mesh and RPC generation for Go micro services, it's a humble alternative to gRPC with Istio.

Mesh RPC MeshRPC provides automatic Service Mesh and RPC generation for Go micro services, it's a humble alternative to gRPC with Istio. In a nutshell

AstraNet Toolkit 69 Aug 22, 2022
Check if an IP address is part of an Azure Service Tag

Cloud IP Checker This service will help you determine whether an IP address is within one of the Azure Service Tag network ranges. If it is found, it

Dean Bryen 26 Nov 13, 2022
🦄🌈 YoyoGo is a simple, light and fast , dependency injection based micro-service framework written in Go.

???? YoyoGo is a simple, light and fast , dependency injection based micro-service framework written in Go. Support Nacos ,Consoul ,Etcd ,Eureka ,kubernetes.

YoyoFx 558 Jan 4, 2023
Another excellent micro service framework

xservice [WIP] Another excellent micro service framework Features RESTful API (base on echo/v4) gRPC & gRPC gateway service & Swagger document generat

新片场 9 May 28, 2022
EaseMesh is a service mesh that is compatible with the Spring Cloud ecosystem.

A service mesh implementation for connecting, control, and observe services in spring-cloud.

MegaEase 443 Jan 4, 2023
Access to b2c microservices through this service

API service Access to b2c microservices through this service Config file Create config file with services addresses. Services: vdc - get camera inform

Artem 0 Nov 8, 2021
This is a template service for development first with go monolithic architecture

This is a template service for development first with go monolithic architecture

Muhammad Rivaldy 2 Nov 27, 2022
A Go implementation of twtxt - decentralised, minimalist microblogging service for hackers

GoTwtxt A Go implementation of twtxt - decentralised, minimalist microblogging service for hackers Usage: Send a tweet: # pass the message on the cli

Alice 5 Nov 9, 2022
A Go implementation of twtxt - decentralised, minimalist microblogging service for hackers

GoTwtxt A Go implementation of twtxt - decentralised, minimalist microblogging service for hackers Usage: Send a tweet: # pass the message on the cli

Alice 4 Nov 5, 2021
The Consul API Gateway is a dedicated ingress solution for intelligently routing traffic to applications running on a Consul Service Mesh.

The Consul API Gateway is a dedicated ingress solution for intelligently routing traffic to applications running on a Consul Service Mesh.

HashiCorp 86 Dec 14, 2022
Meshery, the service mesh management plane

Meshery is the multi-service mesh management plane offering lifecycle, configuration, and performance management of service meshes and their workloads.

Meshery 1.6k Jan 5, 2023