ShellRS
ShellRS는 Rust로 작성된 무료 오픈소스 SSH 클라이언트
개발자가 실시간·비용 효율적인 운영 중심 애플리케이션을 쉽게 구축하도록 돕는 플랫폼
A platform that makes it easy for developers to build realtime, cost-effective, operations-focused applications
개발 도구Java · ShellGitHub @Netflix직접 설치운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Run ./gradlew idea to (re-) generate IntelliJ project and module files from the templates in .baseline. The generated project is pre-configured with Baseline code style settings and support for the CheckStyle-IDEA plugin.
Install and run Docker to support local containers.
$ ./gradlew clean build
$ ./gradlew clean test
Run ./gradlew format task which autoformats all Java files using Spotless.
$ ./gradlew clean publishNebulaPublicationToMavenLocal
We release by tagging which kicks off a CI build. The CI build will run tests, integration tests, static analysis, checkstyle, build, and then publish to the public Bintray repo to be synced into Maven Central.
Tag format:
vMajor.Minor.Patch
You can tag via git or through Github's Release UI.
Mantis is interested in building the community. We welcome any forms of contributions through discussions on any of our mailing lists or through patches.
For more information on contribution, check out the contributions file here.
This excludes all connectors and examples as they are mostly leaf nodes in the dependency graph.
| Module | Purpose | Example Classes | Package Prefixes |
|---|---|---|---|
| mantis-common-serde | Support for serializing and deserializing POJOs using Json | JsonSerializer | io.mantisrx.common.* |
| mantis-discovery-proto | todo: need to fill this in | JobDiscoveryProtoAppJobClustersMapStageWorkers | com.netflix.mantis.discovery.proto.* |
| mantis-common | Mantis common code shared across modules | MantisJobDefinitionMachineDefinitionMantisJobState | io.mantisrx.common.* io.mantisrx.runtime.*io.mantisrx.server.code.*io.reactivx.mantis.operators.*com.mantisrx.common.utils.* |
| mantis-remote-observable | connection to other job,stage related code | ConnectToObservableConnectToGroupedObservableRemoteObservable | io.reactivex.mantis.remote.observable.*io.reactivex.netty.codec.* |
| mantis-control-plane-core | common code between mantis-control-plane-server, mantis-control-plane-client, mantis-server-worker, mantis-server-agent | TaskExecutorIDClusterIDExecuteStageRequestJobAssignmentResultStatus | io.mantisrx.server.core.*io.mantisrx.server.master.resourcecluster.*io.mantisrx.server.worker.* |
| mantis-control-plane-client | API to talk to the mantis control plane server | MasterClientWrapperMantisMasterGatewayMantisMasterClientApi | io.mantisrx.server.master.client.* io.mantisrx.server.master.resourcecluster.* |
| mantis-network | todo: need to fill this in | ||
| mantis-publish-core | todo: need to fill this in | ||
| mantis-server-worker-client | API to interact with workers | MetricsClient MetricsClientImplWorkerConnectionWorkerMetricsClient | io.mantisrx.server.worker.client.* |
| mantis-runtime | Runtime that the jobs need to depend upon. Job DSL should go in here along with how to talk to other jobs | KeyToKeyGroupToGroupSourceSink | io.mantisrx.runtime.* |
| mantis-publish-netty | todo: need to fill this in | ||
| mantis-client | client to interact with mantis control plane | MantisClient::submitJob MantisClient::killJob | io.mantisrx.client.* |
| mantis-publish-netty-guice | todo: need to fill this in |
graph TD;
A[mantis-common-serde]-->B[mantis-common];
B-->C[mantis-control-plane-core];
B-->D[mantis-runtime];
C-->E[mantis-control-plane-client];
E-->F[mantis-server-worker-client];
F-->G[mantis-client];
E-->G;
C-->H[mantis-control-plane-server];
C-->I[mantis-server-worker];
F-->I;
D-->I;
F-->J[mantis-server-agent];
E-->J;
| mantis-control-plane-server | Actual server that runs the mantis master code | MasterMainSchedulingServiceServiceLifecycle | io.mantisrx.master.*io.mantisrx.server.master.* |
| mantis-server-agent | Contains mantis-runtime agnostic code to start the task executor that runs on the agent | TaskExecutorTaskExecutorStarterBlobStoreBlobStoreAwareClassLoaderHandle | io.mantisrx.server.agent.* |
| mantis-server-worker | One implementation of Mantis Worker that depends on the master runtime | MantisWorkerTaskExecuteStageRequestServiceJobAutoScaler | io.mantisrx.server.worker.config.*io.mantisrx.server.worker.jobmaster.* |