Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Community tasks 新手任务计划 #108

@seeflood

Description

@seeflood

Community tasks

As a programming enthusiast , have you ever felt that you want to participate in the development of an open source project, but don't know where to start?
In order to help everyone better participate in open source projects, the MOSN community will regularly publish community tasks to help everyone learn by doing!

Task List

Tasks of different difficulty are released:

Easy

Layotto runtime

Bug fix

Write a Feature

Comment related

  • Add comment to exported function/method/interface/variable (such as RPC/distributed lock modules), see add comment to exported function/method/interface/variable #112
    Considering that the workload of adding comments to all the modules is relatively large, we split it into multiple tasks:
  • add comments to RPC related code
  • add comments to pubsub related code
  • add comments to lock related code . assigned
  • add comments to state API related code
  • add comments to actuator related code
  • add comments to tcpdump related code
  • add comments to WASM related code
  • add comments to flow-control related code
  • Add comments for file API related code in the proto file.
    image

SDK related

Document related

Translation

Tests related

Components

in-memory components

See #67 (comment)
We want to let users and sdk developers run our demo without go , docker and back-end storage (e.g. redis) pre-installed.
To achieve this goal, we need to add in-memory components,including:

  • pubsub
  • lock
  • sequencer
  • configuration API

You can take the in-memory state store component as an example,see #327

Medium

Add support for Dapr API

We want Layotto to support both Layotto API and Dapr API. In this way, if users are worried about vendor lock-in, they can use Dapr SDK to switch between Layotto and Dapr freely.
You can refer to:
#361
#362

SDK

  • Improve .net sdk. Make it have the same capabilities and api as go sdk
    assigned.see Add .net sdk #130

  • Develop python sdk
    Because we want to reduce the cost of maintaining multi-language SDKs, we want to reuse Dapr SDKs as much as possible. Therefore, this task suggests to fork the Dapr python SDKs for modification (because the package path of the proto interface is different, so the code compiled by proto is different, so we need to do some modification).

  • Develop the spring-boot-layotto package. See feat: layotto springboot layotto/java-sdk#8
    Let layotto integrate spring boot so that users can use annotations to register pubsub subscription callback

Actuator

WASM

File api implementation

Sequencer API related

Distributed Lock API

Engineering

Currently we use github actions as ci/cd pipeline, and the configuration file is here
You can refer to some github actions high-quality tutorials:

https://www.ruanyifeng.com/blog/2019/09/getting-started-with-github-actions.html

http://www.ruanyifeng.com/blog/2019/12/github_actions.html

  • Automated build: Automatically compile multi-platform binary files (binary files under linux/mac), compress (compress binary files), and build docker images
    You need to investigate the solution to see whether you write a build script yourself, using the cross-compilation feature of go, or just use a exist platform to help you build

Hard

Observability

Runtime API Lab

Hard

#530

  • Redis API.

  • Kafka API.
    Alicloud SLS component can implement Kafka-like API too.

  • Design transaction message API (like RocketMQ's) for pubsub

  • Delay message API for pubsub

  • Let Layotto support Dapr's Config API (alpha version)
    We have been discussing and working with Alibaba and Dapr community to contribute a Config API for Dapr since March of this year,and recently it was finally merged into Dapr .
    Now it's time to can make Layotto support Dapr's Config API.
    Dapr Config API is still in the alpha version, which is similar to Layotto's existing Config API but lacks some fields. You can refer to Layotto's existing implementation during development.
    See Dapr's API definition

  • Let Layotto support secret API.
    Layotto's goal is to build a Runtime API standard with Dapr and other communities (promote Dapr API as an industry standard, and Layotto as an implementation of this API), so it needs to support Dapr's secret API. Therefore, this task needs to port Dapr's secret API into Layotto. For Dapr's secret management related documents, see https://docs.dapr.io/developing-applications/building-blocks/secrets/
    assigned. see Let Layotto support secret API #212

  • Layotto support Binding API. Same as above, porting Dapr's binding API into Layotto

WASM Lab

If you are interested, you can reply and we will assign the task to you

Kubernetes Lab

Istio

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedExtra attention is needed

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions