https://github.com/symcn/meshach
It is in charge of all things about implements of Service Mesh.
https://github.com/symcn/meshach
Last synced: 14 days ago
JSON representation
It is in charge of all things about implements of Service Mesh.
- Host: GitHub
- URL: https://github.com/symcn/meshach
- Owner: symcn
- License: apache-2.0
- Created: 2020-05-08T01:14:47.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-05-05T02:31:32.000Z (over 2 years ago)
- Last Synced: 2025-10-11T00:20:53.784Z (4 months ago)
- Language: Go
- Size: 1.01 MB
- Stars: 22
- Watchers: 6
- Forks: 6
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-cloud-native - meshach - It is in charge of all things about implements of Service Mesh. (Service Mesh)
README
[](https://goreportcard.com/report/github.com/symcn/meshach)
[](https://codecov.io/gh/symcn/meshach)
[](https://github.com/symcn/meshach/actions?query=workflow%3Ago-build)
[](https://github.com/symcn/meshach/actions?query=workflow%3Apre-commit)
# meshach
It is in charge of all things about implementation of Service Mesh.
What are our tasks?
1. Retrieving the data of service & instances from a registry center such as Nacos, zookeeper.
2. Generating the istio's CRD through various data such as registry data & configurations.
3. Make MOSN be able to support serve a registry request which comes from a dubbo provider.

## Installing and running
### Build
Direct compilation:
```shell
$ make manager
```
Build docker image and push:
```shell
$ make docker-build
$ make docker-push
```
You can customize the docker repository by modifying the `IMG_ADDR` variable in the [Makefile](./Makefile).
### Deploy
Install CRD:
```shell
$ make install
```
Install CRD no validations:
```shell
$ kubectl apply -f config/crd/simple
```
Create sample Meshconfig and default Sidecar:
```shell
$ kubectl apply -f config/samples/mesh_v1alpha1_meshconfig.yaml -f config/samples/istio_default_sidecar.yaml
```
Deploy adapter and controller:
```shell
$ make deploy
```
You can customize the deployment by modifying the `config/operator` and `config/adapter` kustomize config files.
### Config
#### Istio Config
```yaml
env:
- name: PILOT_PUSH_THROTTLE
value: "1000"
- name: PILOT_DEBOUNCE_AFTER
value: 100ms
- name: PILOT_DEBOUNCE_MAX
value: 5s
- name: PILOT_ENABLE_EDS_DEBOUNCE
value: "false"
- name: PILOT_ENABLE_SERVICEENTRY_SELECT_PODS
value: "false"
- name: PILOT_ENABLE_K8S_SELECT_WORKLOAD_ENTRIES
value: "false"
- name: PILOT_XDS_CACHE_SIZE
value: "50000"
- name: PILOT_ENABLE_HEADLESS_SERVICE_POD_LISTENERS
value: "false"
```
## Getting support
- [Chinese Docs](./docs/chinese.md)
## Features
Adapter:
- Synchronizing services from a specified registry center.
- Synchronizing the customized configuration of service from a specified config center
#### Source
The implementing for synchronizing services:
- Zookeeper servers of a dubbo cluster (Supported)
- Nacos (Planned)
The implementing for synchronizing configs:
- The configuration stored as a independent zNode for a dubbo service
- Nacos (Planned)
#### Target
The event handler what is used for creating or updating the services with its configuration
- Creating a CR named ConfiguredService correspond to a service into a single k8s cluster (Supported)
- Creating the CR into multiple k8s clusters (Supported)
### Supported
### Planned