├── .dockerignore ├── .gitignore ├── .gitmodules ├── ApplicationDockerFile ├── Directory.Build.props ├── EventMeshDockerFile ├── FaasNet.EventMesh.sln ├── FaasNet.RaftConsensus.sln ├── FaasNet.Samples.sln ├── FaasNet.Templates.sln ├── FaasNet.sln ├── FunctionDockerFile ├── GatewayDockerfile ├── KubernetesDockerfile ├── LICENSE ├── PrometheusDockerfile ├── README.md ├── RuntimeGetSqlDockerfile ├── RuntimeTransformDockerfile ├── StateMachineDockerFile ├── WebsiteDockerfile ├── appveyor.yml ├── conf ├── docker │ ├── prometheus │ │ ├── prometheus.yml │ │ └── targets.json │ └── website │ │ └── nginx.conf └── kibana │ └── export.ndjson ├── default.ps1 ├── disableCipherSuite.ps1 ├── docs ├── .gitignore ├── charts │ ├── .helmignore │ ├── faasnet-0.0.1.tgz │ ├── faasnet-0.0.3.tgz │ ├── faasnet-0.0.4.tgz │ └── index.yaml ├── docfx.json ├── documentation │ ├── bigpicture │ │ ├── images │ │ │ └── bigpicture1.png │ │ └── index.md │ ├── cli │ │ ├── configuration.md │ │ ├── function.md │ │ └── overview.md │ ├── eventmesh │ │ ├── architecture.md │ │ ├── cli.md │ │ ├── clustering.md │ │ ├── docker.md │ │ ├── glossary.md │ │ ├── images │ │ │ └── architecture.png │ │ ├── installclionwindows.md │ │ ├── installserverondocker.md │ │ ├── installserveronwindows.md │ │ ├── pluginamqp.md │ │ ├── plugindiscoveryconfig.md │ │ ├── plugindiscoveryetcd.md │ │ ├── plugins.md │ │ ├── pluginsinkamqp.md │ │ ├── pluginsinkkafka.md │ │ ├── pluginsinkvpnbridge.md │ │ ├── pluginwebsocket.md │ │ ├── protocol.md │ │ └── publishmessages.md │ ├── functions │ │ ├── create.md │ │ ├── images │ │ │ ├── manage1.png │ │ │ ├── manage2.png │ │ │ ├── manage3.png │ │ │ ├── manage4.png │ │ │ └── manage5.png │ │ └── portal.md │ ├── gettingstarted │ │ └── index.md │ ├── portal │ │ ├── images │ │ │ ├── manage1.png │ │ │ ├── manage2.png │ │ │ ├── manage3.png │ │ │ ├── manage4.png │ │ │ └── manage5.png │ │ └── manage.md │ ├── serverlessworkflows │ │ ├── helloworld.md │ │ ├── images │ │ │ ├── inject1.png │ │ │ ├── inject2.png │ │ │ ├── inject3.png │ │ │ ├── manage1.png │ │ │ ├── manage2.png │ │ │ ├── manage3.png │ │ │ ├── manage4.png │ │ │ ├── manage5.png │ │ │ ├── restapi1.png │ │ │ ├── restapi2.png │ │ │ ├── restapi3.png │ │ │ ├── restapi4.png │ │ │ ├── restapi5.png │ │ │ ├── restapi6.png │ │ │ ├── switch1.png │ │ │ ├── switch2.png │ │ │ ├── switch3.png │ │ │ └── switch4.png │ │ ├── inject.md │ │ ├── restapi.md │ │ └── switch.md │ └── toc.yml ├── index.md ├── logo.png ├── logo.svg ├── templates │ └── material │ │ ├── partials │ │ └── head.tmpl.partial │ │ └── styles │ │ └── main.css └── toc.yml ├── kubernetes ├── eventmeshserver.kafka.yml ├── eventmeshserver.rabbitmq.yml ├── eventmeshserver.yml ├── localelasticsearch.yml ├── localeventstoredb.yml ├── localopentelemetrycollector.yml ├── localrabbitmq.yml ├── release │ ├── eventmeshserver.kafka.yml │ ├── eventmeshserver.rabbitmq.yml │ ├── eventmeshserver.yml │ └── serverlessworkflow.yml └── serverlessworkflow.yml ├── logos ├── asyncapi.svg ├── logo.png └── logo.svg ├── private ├── CleanupEnvironment.ps1 ├── ConfigureBuildEnvironment.ps1 ├── CreateConfigurationForNewContext.ps1 ├── ExecuteInBuildFileScope.ps1 ├── FormatErrorMessage.ps1 ├── Get-DefaultBuildFile.ps1 ├── GetCurrentConfigurationOrDefault.ps1 ├── GetTasksFromContext.ps1 ├── LoadConfiguration.ps1 ├── LoadModules.ps1 ├── ResolveError.ps1 ├── SelectObjectWithDefault.ps1 ├── Test-ModuleVersion.ps1 ├── WriteColoredOutput.ps1 ├── WriteDocumentation.ps1 └── WriteTaskTimeSummary.ps1 ├── psake ├── psake-config.ps1 ├── psake.cmd ├── psake.ps1 ├── psake.psd1 ├── psake.psm1 ├── public ├── Assert.ps1 ├── BuildSetup.ps1 ├── BuildTearDown.ps1 ├── Exec.ps1 ├── FormatTaskName.ps1 ├── Framework.ps1 ├── Get-PSakeScriptTasks.ps1 ├── Include.ps1 ├── Invoke-Task.ps1 ├── Invoke-psake.ps1 ├── Properties.ps1 ├── Task.ps1 ├── TaskSetup.ps1 └── TaskTearDown.ps1 ├── src ├── Clients │ ├── FaasNet.CLI │ │ ├── Commands │ │ │ ├── ConfigurationCommand.cs │ │ │ ├── ConfigurationGetCommand.cs │ │ │ ├── ConfigurationUpdateCommand.cs │ │ │ ├── FunctionBuildDockerFileCommand.cs │ │ │ ├── FunctionCommand.cs │ │ │ ├── FunctionConfigurationCommand.cs │ │ │ ├── FunctionCreateDockerFileCommand.cs │ │ │ ├── FunctionDeployCommand.cs │ │ │ ├── FunctionInvokeCommand.cs │ │ │ ├── FunctionPublishDockerFileCommand.cs │ │ │ ├── FunctionRemoveCommand.cs │ │ │ └── IMenuItemCommand.cs │ │ ├── Configurations │ │ │ ├── FaasConfiguration.cs │ │ │ └── FaasProviderConfiguration.cs │ │ ├── DTOs │ │ │ ├── PublishFunction.cs │ │ │ └── PublishFunctionResult.cs │ │ ├── FaasNet.CLI.csproj │ │ ├── Files │ │ │ └── Dockerfile.txt │ │ ├── GatewayClient.cs │ │ ├── Helpers │ │ │ ├── ConfigurationHelper.cs │ │ │ ├── DockerHelper.cs │ │ │ ├── InputParameterParser.cs │ │ │ └── MenuHelper.cs │ │ ├── ParameterAttribute.cs │ │ ├── Parameters │ │ │ ├── DeployFunctionParameter.cs │ │ │ └── InvokeFunctionParameter.cs │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ └── faasnet.yml │ └── FaasNet.Website │ │ ├── .browserslistrc │ │ ├── .editorconfig │ │ ├── FaasNet.Website.csproj │ │ ├── Program.cs │ │ ├── Properties │ │ └── launchSettings.json │ │ ├── angular.json │ │ ├── dist │ │ └── out-tsc │ │ │ ├── app │ │ │ ├── apis │ │ │ │ ├── apis.module.js │ │ │ │ ├── apis.module.js.map │ │ │ │ ├── apis.routes.js │ │ │ │ ├── apis.routes.js.map │ │ │ │ ├── edit │ │ │ │ │ ├── base-node.model.js │ │ │ │ │ ├── base-node.model.js.map │ │ │ │ │ ├── edit.component.js │ │ │ │ │ ├── edit.component.js.map │ │ │ │ │ ├── function-panel │ │ │ │ │ │ ├── add-function.component.js │ │ │ │ │ │ ├── add-function.component.js.map │ │ │ │ │ │ ├── function-panel.component.js │ │ │ │ │ │ ├── function-panel.component.js.map │ │ │ │ │ │ ├── function.model.js │ │ │ │ │ │ ├── function.model.js.map │ │ │ │ │ │ ├── update-configuration.component.js │ │ │ │ │ │ └── update-configuration.component.js.map │ │ │ │ │ ├── launch-function-dialog.component.js │ │ │ │ │ └── launch-function-dialog.component.js.map │ │ │ │ ├── list │ │ │ │ │ ├── add-api.component.js │ │ │ │ │ ├── add-api.component.js.map │ │ │ │ │ ├── list.component.js │ │ │ │ │ └── list.component.js.map │ │ │ │ └── view │ │ │ │ │ ├── info │ │ │ │ │ ├── info.component.js │ │ │ │ │ └── info.component.js.map │ │ │ │ │ ├── operations │ │ │ │ │ ├── add-operation.component.js │ │ │ │ │ ├── add-operation.component.js.map │ │ │ │ │ ├── operations.component.js │ │ │ │ │ └── operations.component.js.map │ │ │ │ │ ├── view.component.js │ │ │ │ │ └── view.component.js.map │ │ │ ├── app.component.js │ │ │ ├── app.component.js.map │ │ │ ├── app.module.js │ │ │ ├── app.module.js.map │ │ │ ├── app.routes.js │ │ │ ├── app.routes.js.map │ │ │ ├── domains │ │ │ │ ├── domains.module.js │ │ │ │ ├── domains.module.js.map │ │ │ │ ├── domains.routes.js │ │ │ │ ├── domains.routes.js.map │ │ │ │ ├── edit │ │ │ │ │ ├── edit.component.js │ │ │ │ │ ├── edit.component.js.map │ │ │ │ │ ├── editor │ │ │ │ │ │ ├── editor.component.js │ │ │ │ │ │ └── editor.component.js.map │ │ │ │ │ └── messages │ │ │ │ │ │ ├── messages.component.js │ │ │ │ │ │ └── messages.component.js.map │ │ │ │ └── list │ │ │ │ │ ├── add-applicationdomain.component.js │ │ │ │ │ ├── add-applicationdomain.component.js.map │ │ │ │ │ ├── list.component.js │ │ │ │ │ └── list.component.js.map │ │ │ ├── functions │ │ │ │ ├── function-rendering │ │ │ │ │ ├── array │ │ │ │ │ │ ├── array-rendering.component.js │ │ │ │ │ │ └── array-rendering.component.js.map │ │ │ │ │ ├── base-rendering.component.js │ │ │ │ │ ├── base-rendering.component.js.map │ │ │ │ │ ├── function-rendering.component.js │ │ │ │ │ ├── function-rendering.component.js.map │ │ │ │ │ ├── function-rendering.module.js │ │ │ │ │ ├── function-rendering.module.js.map │ │ │ │ │ └── string │ │ │ │ │ │ ├── string-rendering.component.js │ │ │ │ │ │ └── string-rendering.component.js.map │ │ │ │ ├── functions.module.js │ │ │ │ ├── functions.module.js.map │ │ │ │ ├── functions.routes.js │ │ │ │ ├── functions.routes.js.map │ │ │ │ ├── list │ │ │ │ │ ├── add-function.component.js │ │ │ │ │ ├── add-function.component.js.map │ │ │ │ │ ├── list.component.js │ │ │ │ │ └── list.component.js.map │ │ │ │ └── view │ │ │ │ │ ├── info │ │ │ │ │ ├── info.component.js │ │ │ │ │ └── info.component.js.map │ │ │ │ │ ├── invoke │ │ │ │ │ ├── invoke.component.js │ │ │ │ │ └── invoke.component.js.map │ │ │ │ │ ├── monitoring │ │ │ │ │ ├── monitoring.component.js │ │ │ │ │ └── monitoring.component.js.map │ │ │ │ │ ├── view.component.js │ │ │ │ │ └── view.component.js.map │ │ │ ├── pipes │ │ │ │ ├── translateobj.pipe.js │ │ │ │ └── translateobj.pipe.js.map │ │ │ ├── shared │ │ │ │ ├── material.module.js │ │ │ │ ├── material.module.js.map │ │ │ │ ├── shared.module.js │ │ │ │ └── shared.module.js.map │ │ │ ├── statemachineinstances │ │ │ │ ├── list │ │ │ │ │ ├── list.component.js │ │ │ │ │ └── list.component.js.map │ │ │ │ ├── statemachineinstances.module.js │ │ │ │ ├── statemachineinstances.module.js.map │ │ │ │ ├── statemachineinstances.routes.js │ │ │ │ ├── statemachineinstances.routes.js.map │ │ │ │ └── view │ │ │ │ │ ├── view.component.js │ │ │ │ │ └── view.component.js.map │ │ │ ├── statemachines │ │ │ │ ├── edit │ │ │ │ │ ├── edit.component.js │ │ │ │ │ ├── edit.component.js.map │ │ │ │ │ ├── functionseditor │ │ │ │ │ │ ├── editfunction-dialog.component.js │ │ │ │ │ │ ├── editfunction-dialog.component.js.map │ │ │ │ │ │ ├── functionseditor.component.js │ │ │ │ │ │ └── functionseditor.component.js.map │ │ │ │ │ ├── json │ │ │ │ │ │ ├── json.component.js │ │ │ │ │ │ └── json.component.js.map │ │ │ │ │ ├── launch │ │ │ │ │ │ ├── launch-statemachine.component.js │ │ │ │ │ │ └── launch-statemachine.component.js.map │ │ │ │ │ └── yaml │ │ │ │ │ │ ├── yaml.component.js │ │ │ │ │ │ └── yaml.component.js.map │ │ │ │ ├── list │ │ │ │ │ ├── add-statemachine.component.js │ │ │ │ │ ├── add-statemachine.component.js.map │ │ │ │ │ ├── list.component.js │ │ │ │ │ └── list.component.js.map │ │ │ │ ├── statemachines.module.js │ │ │ │ ├── statemachines.module.js.map │ │ │ │ ├── statemachines.routes.js │ │ │ │ └── statemachines.routes.js.map │ │ │ ├── status │ │ │ │ ├── status.component.js │ │ │ │ └── status.component.js.map │ │ │ └── vpns │ │ │ │ ├── list │ │ │ │ ├── add-vpn.component.js │ │ │ │ ├── add-vpn.component.js.map │ │ │ │ ├── list.component.js │ │ │ │ └── list.component.js.map │ │ │ │ ├── view │ │ │ │ ├── appdomains │ │ │ │ │ ├── add-appdomain.component.js │ │ │ │ │ ├── add-appdomain.component.js.map │ │ │ │ │ ├── appdomains.component.js │ │ │ │ │ ├── appdomains.component.js.map │ │ │ │ │ └── view │ │ │ │ │ │ ├── messages │ │ │ │ │ │ ├── add-message.component.js │ │ │ │ │ │ ├── add-message.component.js.map │ │ │ │ │ │ ├── messages.component.js │ │ │ │ │ │ └── messages.component.js.map │ │ │ │ │ │ ├── view.component.js │ │ │ │ │ │ └── view.component.js.map │ │ │ │ ├── clients │ │ │ │ │ ├── add-client.component.js │ │ │ │ │ ├── add-client.component.js.map │ │ │ │ │ ├── clients.component.js │ │ │ │ │ ├── clients.component.js.map │ │ │ │ │ └── view │ │ │ │ │ │ ├── sessions │ │ │ │ │ │ ├── sessions.component.js │ │ │ │ │ │ └── sessions.component.js.map │ │ │ │ │ │ ├── view.component.js │ │ │ │ │ │ └── view.component.js.map │ │ │ │ ├── info │ │ │ │ │ ├── info.component.js │ │ │ │ │ └── info.component.js.map │ │ │ │ ├── view.component.js │ │ │ │ └── view.component.js.map │ │ │ │ ├── vpns.module.js │ │ │ │ ├── vpns.module.js.map │ │ │ │ ├── vpns.routes.js │ │ │ │ └── vpns.routes.js.map │ │ │ ├── components │ │ │ ├── asyncapi-editor │ │ │ │ ├── asyncapi-editor.component.js │ │ │ │ ├── asyncapi-editor.component.js.map │ │ │ │ ├── asyncapieditormodule.js │ │ │ │ ├── asyncapieditormodule.js.map │ │ │ │ ├── builders │ │ │ │ │ ├── asyncapibuilder.js │ │ │ │ │ └── asyncapibuilder.js.map │ │ │ │ ├── components │ │ │ │ │ ├── application │ │ │ │ │ │ ├── application-editor.component.js │ │ │ │ │ │ └── application-editor.component.js.map │ │ │ │ │ └── link │ │ │ │ │ │ ├── editlink-dialog.component.js │ │ │ │ │ │ ├── editlink-dialog.component.js.map │ │ │ │ │ │ ├── evtseditor.component.js │ │ │ │ │ │ ├── evtseditor.component.js.map │ │ │ │ │ │ ├── link-editor.component.js │ │ │ │ │ │ └── link-editor.component.js.map │ │ │ │ ├── models │ │ │ │ │ ├── application.model.js │ │ │ │ │ ├── application.model.js.map │ │ │ │ │ ├── link.model.js │ │ │ │ │ ├── link.model.js.map │ │ │ │ │ ├── message.js │ │ │ │ │ ├── message.js.map │ │ │ │ │ ├── message.property.js │ │ │ │ │ └── message.property.js.map │ │ │ │ ├── viewasyncapicomponent.js │ │ │ │ └── viewasyncapicomponent.js.map │ │ │ ├── loader │ │ │ │ ├── loader.component.js │ │ │ │ ├── loader.component.js.map │ │ │ │ ├── loader.module.js │ │ │ │ └── loader.module.js.map │ │ │ ├── matpanel │ │ │ │ ├── matpanel.component.js │ │ │ │ ├── matpanel.component.js.map │ │ │ │ ├── matpanelcontent.js │ │ │ │ ├── matpanelcontent.js.map │ │ │ │ ├── matpanelservice.js │ │ │ │ └── matpanelservice.js.map │ │ │ ├── monaco-editor │ │ │ │ ├── base-editor.js │ │ │ │ ├── base-editor.js.map │ │ │ │ ├── config.js │ │ │ │ ├── config.js.map │ │ │ │ ├── editor.module.js │ │ │ │ ├── editor.module.js.map │ │ │ │ ├── languages │ │ │ │ │ └── jq │ │ │ │ │ │ ├── jq-contribution.js │ │ │ │ │ │ └── jq-contribution.js.map │ │ │ │ ├── monaco-editor.component.js │ │ │ │ ├── monaco-editor.component.js.map │ │ │ │ ├── types.js │ │ │ │ └── types.js.map │ │ │ └── statediagram │ │ │ │ ├── components │ │ │ │ ├── datacondition │ │ │ │ │ ├── datacondition.component.js │ │ │ │ │ └── datacondition.component.js.map │ │ │ │ ├── defaultcondition │ │ │ │ │ ├── defaultcondition.component.js │ │ │ │ │ └── defaultcondition.component.js.map │ │ │ │ ├── evtcondition │ │ │ │ │ ├── evtcondition.component.js │ │ │ │ │ └── evtcondition.component.js.map │ │ │ │ ├── expressioneditor │ │ │ │ │ ├── expressioneditor.component.js │ │ │ │ │ └── expressioneditor.component.js.map │ │ │ │ ├── inject │ │ │ │ │ ├── inject-state-editor.component.js │ │ │ │ │ └── inject-state-editor.component.js.map │ │ │ │ ├── operation │ │ │ │ │ ├── actionseditor.component.js │ │ │ │ │ ├── actionseditor.component.js.map │ │ │ │ │ ├── editaction-dialog.component.js │ │ │ │ │ ├── editaction-dialog.component.js.map │ │ │ │ │ ├── operation-state-editor.component.js │ │ │ │ │ └── operation-state-editor.component.js.map │ │ │ │ ├── switch │ │ │ │ │ ├── switch-state-editor.component.js │ │ │ │ │ └── switch-state-editor.component.js.map │ │ │ │ └── token │ │ │ │ │ ├── token.component.js │ │ │ │ │ └── token.component.js.map │ │ │ │ ├── statediagram.component.js │ │ │ │ ├── statediagram.component.js.map │ │ │ │ ├── statediagram.module.js │ │ │ │ └── statediagram.module.js.map │ │ │ ├── environments │ │ │ ├── environment.docker.js │ │ │ ├── environment.docker.js.map │ │ │ ├── environment.js │ │ │ └── environment.js.map │ │ │ ├── main.js │ │ │ ├── main.js.map │ │ │ ├── polyfills.js │ │ │ ├── polyfills.js.map │ │ │ ├── stores │ │ │ ├── apis │ │ │ │ ├── actions │ │ │ │ │ ├── api.actions.js │ │ │ │ │ └── api.actions.js.map │ │ │ │ ├── effects │ │ │ │ │ ├── api.effects.js │ │ │ │ │ └── api.effects.js.map │ │ │ │ ├── models │ │ │ │ │ ├── apidef.model.js │ │ │ │ │ └── apidef.model.js.map │ │ │ │ ├── reducers │ │ │ │ │ ├── index.js │ │ │ │ │ └── index.js.map │ │ │ │ └── services │ │ │ │ │ ├── api.service.js │ │ │ │ │ └── api.service.js.map │ │ │ ├── application │ │ │ │ ├── actions │ │ │ │ │ ├── application.actions.js │ │ │ │ │ └── application.actions.js.map │ │ │ │ ├── effects │ │ │ │ │ ├── application.effects.js │ │ │ │ │ └── application.effects.js.map │ │ │ │ ├── models │ │ │ │ │ ├── applicationdomain.model.js │ │ │ │ │ └── applicationdomain.model.js.map │ │ │ │ ├── reducers │ │ │ │ │ ├── index.js │ │ │ │ │ └── index.js.map │ │ │ │ └── services │ │ │ │ │ ├── eventmeshserver.service.js │ │ │ │ │ └── eventmeshserver.service.js.map │ │ │ ├── appstate.js │ │ │ ├── appstate.js.map │ │ │ ├── asyncapi │ │ │ │ └── services │ │ │ │ │ ├── asyncapi.service.js │ │ │ │ │ └── asyncapi.service.js.map │ │ │ ├── common │ │ │ │ ├── prometheus-query.model.js │ │ │ │ ├── prometheus-query.model.js.map │ │ │ │ ├── search.model.js │ │ │ │ └── search.model.js.map │ │ │ ├── eventmeshservers │ │ │ │ ├── actions │ │ │ │ │ ├── eventmeshserver.actions.js │ │ │ │ │ └── eventmeshserver.actions.js.map │ │ │ │ ├── effects │ │ │ │ │ ├── eventmeshserver.effects.js │ │ │ │ │ └── eventmeshserver.effects.js.map │ │ │ │ ├── models │ │ │ │ │ ├── eventmeshserver.model.js │ │ │ │ │ └── eventmeshserver.model.js.map │ │ │ │ ├── reducers │ │ │ │ │ ├── index.js │ │ │ │ │ └── index.js.map │ │ │ │ └── services │ │ │ │ │ ├── eventmeshserver.service.js │ │ │ │ │ └── eventmeshserver.service.js.map │ │ │ ├── functions │ │ │ │ ├── actions │ │ │ │ │ ├── function.actions.js │ │ │ │ │ └── function.actions.js.map │ │ │ │ ├── effects │ │ │ │ │ ├── function.effects.js │ │ │ │ │ └── function.effects.js.map │ │ │ │ ├── models │ │ │ │ │ ├── function-details.model.js │ │ │ │ │ ├── function-details.model.js.map │ │ │ │ │ ├── function.model.js │ │ │ │ │ └── function.model.js.map │ │ │ │ ├── reducers │ │ │ │ │ ├── index.js │ │ │ │ │ └── index.js.map │ │ │ │ └── services │ │ │ │ │ ├── function.service.js │ │ │ │ │ └── function.service.js.map │ │ │ ├── openapi │ │ │ │ └── services │ │ │ │ │ ├── openapi.service.js │ │ │ │ │ └── openapi.service.js.map │ │ │ ├── server │ │ │ │ ├── actions │ │ │ │ │ ├── server.actions.js │ │ │ │ │ └── server.actions.js.map │ │ │ │ ├── effects │ │ │ │ │ ├── server.effects.js │ │ │ │ │ └── server.effects.js.map │ │ │ │ ├── models │ │ │ │ │ ├── serverstatus.model.js │ │ │ │ │ └── serverstatus.model.js.map │ │ │ │ ├── reducers │ │ │ │ │ ├── index.js │ │ │ │ │ └── index.js.map │ │ │ │ └── services │ │ │ │ │ ├── server.service.js │ │ │ │ │ └── server.service.js.map │ │ │ ├── statemachineinstances │ │ │ │ ├── actions │ │ │ │ │ ├── statemachineinstances.actions.js │ │ │ │ │ └── statemachineinstances.actions.js.map │ │ │ │ ├── effects │ │ │ │ │ ├── statemachineinstances.effects.js │ │ │ │ │ └── statemachineinstances.effects.js.map │ │ │ │ ├── models │ │ │ │ │ ├── instancestate.model.js │ │ │ │ │ ├── instancestate.model.js.map │ │ │ │ │ ├── instancestateevent.model.js │ │ │ │ │ ├── instancestateevent.model.js.map │ │ │ │ │ ├── statemachineinstance-details.model.js │ │ │ │ │ ├── statemachineinstance-details.model.js.map │ │ │ │ │ ├── statemachineinstance.model.js │ │ │ │ │ └── statemachineinstance.model.js.map │ │ │ │ ├── reducers │ │ │ │ │ ├── index.js │ │ │ │ │ └── index.js.map │ │ │ │ └── services │ │ │ │ │ ├── statemachineinstances.service.js │ │ │ │ │ └── statemachineinstances.service.js.map │ │ │ ├── statemachines │ │ │ │ ├── actions │ │ │ │ │ ├── statemachines.actions.js │ │ │ │ │ └── statemachines.actions.js.map │ │ │ │ ├── effects │ │ │ │ │ ├── statemachines.effects.js │ │ │ │ │ └── statemachines.effects.js.map │ │ │ │ ├── models │ │ │ │ │ ├── operation-types.model.js │ │ │ │ │ ├── operation-types.model.js.map │ │ │ │ │ ├── statemachine-foreach-state.model.js │ │ │ │ │ ├── statemachine-foreach-state.model.js.map │ │ │ │ │ ├── statemachine-function.model.js │ │ │ │ │ ├── statemachine-function.model.js.map │ │ │ │ │ ├── statemachine-inject-state.model.js │ │ │ │ │ ├── statemachine-inject-state.model.js.map │ │ │ │ │ ├── statemachine-operation-state.model.js │ │ │ │ │ ├── statemachine-operation-state.model.js.map │ │ │ │ │ ├── statemachine-state.model.js │ │ │ │ │ ├── statemachine-state.model.js.map │ │ │ │ │ ├── statemachine-switch-state.model.js │ │ │ │ │ ├── statemachine-switch-state.model.js.map │ │ │ │ │ ├── statemachine.model.js │ │ │ │ │ ├── statemachine.model.js.map │ │ │ │ │ ├── statemachineadded.model.js │ │ │ │ │ ├── statemachineadded.model.js.map │ │ │ │ │ ├── statemachinemodel.model.js │ │ │ │ │ └── statemachinemodel.model.js.map │ │ │ │ ├── reducers │ │ │ │ │ ├── index.js │ │ │ │ │ └── index.js.map │ │ │ │ └── services │ │ │ │ │ ├── statemachines.service.js │ │ │ │ │ └── statemachines.service.js.map │ │ │ └── vpn │ │ │ │ ├── actions │ │ │ │ ├── vpn.actions.js │ │ │ │ └── vpn.actions.js.map │ │ │ │ ├── effects │ │ │ │ ├── vpn.effects.js │ │ │ │ └── vpn.effects.js.map │ │ │ │ ├── models │ │ │ │ ├── appdomain.model.js │ │ │ │ ├── appdomain.model.js.map │ │ │ │ ├── applicationdomainadded.model.js │ │ │ │ ├── applicationdomainadded.model.js.map │ │ │ │ ├── client.model.js │ │ │ │ ├── client.model.js.map │ │ │ │ ├── clientsession.model.js │ │ │ │ ├── clientsession.model.js.map │ │ │ │ ├── messagedefinition.model.js │ │ │ │ ├── messagedefinition.model.js.map │ │ │ │ ├── messagedefinitionadded.model.js │ │ │ │ ├── messagedefinitionadded.model.js.map │ │ │ │ ├── topic.model.js │ │ │ │ ├── topic.model.js.map │ │ │ │ ├── vpn.model.js │ │ │ │ └── vpn.model.js.map │ │ │ │ ├── reducers │ │ │ │ ├── index.js │ │ │ │ └── index.js.map │ │ │ │ └── services │ │ │ │ ├── vpn.service.js │ │ │ │ └── vpn.service.js.map │ │ │ ├── test.js │ │ │ └── test.js.map │ │ ├── karma.conf.js │ │ ├── package-lock.json │ │ ├── package.json │ │ ├── src │ │ ├── app │ │ │ ├── app.component.html │ │ │ ├── app.component.scss │ │ │ ├── app.component.ts │ │ │ ├── app.module.ts │ │ │ ├── app.routes.ts │ │ │ ├── eventmeshlogs │ │ │ │ ├── eventmeshlogging.component.html │ │ │ │ ├── eventmeshlogging.component.scss │ │ │ │ ├── eventmeshlogging.component.ts │ │ │ │ ├── eventmeshlogging.module.ts │ │ │ │ └── eventmeshlogging.routes.ts │ │ │ ├── functions │ │ │ │ ├── function-rendering │ │ │ │ │ ├── array │ │ │ │ │ │ ├── array-rendering.component.html │ │ │ │ │ │ ├── array-rendering.component.scss │ │ │ │ │ │ └── array-rendering.component.ts │ │ │ │ │ ├── base-rendering.component.ts │ │ │ │ │ ├── function-rendering.component.html │ │ │ │ │ ├── function-rendering.component.scss │ │ │ │ │ ├── function-rendering.component.ts │ │ │ │ │ ├── function-rendering.module.ts │ │ │ │ │ └── string │ │ │ │ │ │ ├── string-rendering.component.html │ │ │ │ │ │ ├── string-rendering.component.scss │ │ │ │ │ │ └── string-rendering.component.ts │ │ │ │ ├── functions.module.ts │ │ │ │ ├── functions.routes.ts │ │ │ │ ├── list │ │ │ │ │ ├── add-function.component.html │ │ │ │ │ ├── add-function.component.ts │ │ │ │ │ ├── list.component.html │ │ │ │ │ └── list.component.ts │ │ │ │ └── view │ │ │ │ │ ├── info │ │ │ │ │ ├── info.component.html │ │ │ │ │ └── info.component.ts │ │ │ │ │ ├── invoke │ │ │ │ │ ├── invoke.component.html │ │ │ │ │ └── invoke.component.ts │ │ │ │ │ ├── monitoring │ │ │ │ │ ├── monitoring.component.html │ │ │ │ │ ├── monitoring.component.scss │ │ │ │ │ └── monitoring.component.ts │ │ │ │ │ ├── view.component.html │ │ │ │ │ └── view.component.ts │ │ │ ├── pipes │ │ │ │ ├── pipemodule.ts │ │ │ │ ├── safe.pipe.ts │ │ │ │ └── translateobj.pipe.ts │ │ │ ├── shared │ │ │ │ ├── material.module.ts │ │ │ │ └── shared.module.ts │ │ │ ├── statemachineinstances │ │ │ │ ├── list │ │ │ │ │ ├── list.component.html │ │ │ │ │ ├── list.component.scss │ │ │ │ │ └── list.component.ts │ │ │ │ ├── statemachineinstances.module.ts │ │ │ │ ├── statemachineinstances.routes.ts │ │ │ │ └── view │ │ │ │ │ ├── view.component.html │ │ │ │ │ ├── view.component.scss │ │ │ │ │ └── view.component.ts │ │ │ ├── statemachinelogs │ │ │ │ ├── statemachinelogging.component.html │ │ │ │ ├── statemachinelogging.component.scss │ │ │ │ ├── statemachinelogging.component.ts │ │ │ │ ├── statemachinelogging.module.ts │ │ │ │ └── statemachinelogging.routes.ts │ │ │ ├── statemachines │ │ │ │ ├── edit │ │ │ │ │ ├── asyncapi │ │ │ │ │ │ ├── asyncapieditor.component.html │ │ │ │ │ │ ├── asyncapieditor.component.scss │ │ │ │ │ │ └── asyncapieditor.component.ts │ │ │ │ │ ├── edit.component.html │ │ │ │ │ ├── edit.component.scss │ │ │ │ │ ├── edit.component.ts │ │ │ │ │ ├── events │ │ │ │ │ │ ├── editevent-dialog.component.html │ │ │ │ │ │ ├── editevent-dialog.component.ts │ │ │ │ │ │ ├── eventseditor.component.html │ │ │ │ │ │ └── eventseditor.component.ts │ │ │ │ │ ├── functionseditor │ │ │ │ │ │ ├── editfunction-dialog.component.html │ │ │ │ │ │ ├── editfunction-dialog.component.ts │ │ │ │ │ │ ├── functionseditor.component.html │ │ │ │ │ │ ├── functionseditor.component.scss │ │ │ │ │ │ └── functionseditor.component.ts │ │ │ │ │ ├── info │ │ │ │ │ │ ├── info.component.html │ │ │ │ │ │ ├── info.component.scss │ │ │ │ │ │ └── info.component.ts │ │ │ │ │ ├── json │ │ │ │ │ │ ├── json.component.html │ │ │ │ │ │ ├── json.component.scss │ │ │ │ │ │ └── json.component.ts │ │ │ │ │ ├── launch │ │ │ │ │ │ ├── launch-statemachine.component.html │ │ │ │ │ │ └── launch-statemachine.component.ts │ │ │ │ │ ├── messages │ │ │ │ │ │ ├── messageseditor.component.html │ │ │ │ │ │ └── messageseditor.component.ts │ │ │ │ │ └── yaml │ │ │ │ │ │ ├── yaml.component.html │ │ │ │ │ │ ├── yaml.component.scss │ │ │ │ │ │ └── yaml.component.ts │ │ │ │ ├── list │ │ │ │ │ ├── add-statemachine.component.html │ │ │ │ │ ├── add-statemachine.component.ts │ │ │ │ │ ├── list.component.html │ │ │ │ │ └── list.component.ts │ │ │ │ ├── statemachines.module.ts │ │ │ │ └── statemachines.routes.ts │ │ │ ├── status │ │ │ │ ├── status.component.html │ │ │ │ ├── status.component.scss │ │ │ │ └── status.component.ts │ │ │ └── vpns │ │ │ │ ├── list │ │ │ │ ├── add-vpn.component.html │ │ │ │ ├── add-vpn.component.ts │ │ │ │ ├── list.component.html │ │ │ │ ├── list.component.scss │ │ │ │ └── list.component.ts │ │ │ │ ├── view │ │ │ │ ├── appdomains │ │ │ │ │ ├── add-appdomain.component.html │ │ │ │ │ ├── add-appdomain.component.ts │ │ │ │ │ ├── appdomains.component.html │ │ │ │ │ ├── appdomains.component.scss │ │ │ │ │ ├── appdomains.component.ts │ │ │ │ │ └── view │ │ │ │ │ │ ├── editor │ │ │ │ │ │ ├── editor.component.html │ │ │ │ │ │ ├── editor.component.scss │ │ │ │ │ │ └── editor.component.ts │ │ │ │ │ │ ├── messages │ │ │ │ │ │ ├── messageseditor.component.html │ │ │ │ │ │ └── messageseditor.component.ts │ │ │ │ │ │ ├── view.component.html │ │ │ │ │ │ └── view.component.ts │ │ │ │ ├── clients │ │ │ │ │ ├── add-client.component.html │ │ │ │ │ ├── add-client.component.ts │ │ │ │ │ ├── clients.component.html │ │ │ │ │ ├── clients.component.scss │ │ │ │ │ ├── clients.component.ts │ │ │ │ │ └── view │ │ │ │ │ │ ├── sessions │ │ │ │ │ │ ├── sessions.component.html │ │ │ │ │ │ └── sessions.component.ts │ │ │ │ │ │ ├── view.component.html │ │ │ │ │ │ └── view.component.ts │ │ │ │ ├── info │ │ │ │ │ ├── info.component.html │ │ │ │ │ └── info.component.ts │ │ │ │ ├── view.component.html │ │ │ │ └── view.component.ts │ │ │ │ ├── vpns.module.ts │ │ │ │ └── vpns.routes.ts │ │ ├── assets │ │ │ ├── i18n │ │ │ │ └── en.json │ │ │ ├── images │ │ │ │ ├── asyncapi.svg │ │ │ │ ├── json.png │ │ │ │ ├── lambda.png │ │ │ │ ├── logo.svg │ │ │ │ ├── marker-selected.svg │ │ │ │ ├── marker.svg │ │ │ │ ├── tile.png │ │ │ │ └── yaml.png │ │ │ └── libs │ │ │ │ ├── jq-web │ │ │ │ ├── jq.asm.bundle.js │ │ │ │ └── jq.asm.bundle.min.js │ │ │ │ └── ol │ │ │ │ ├── ol.css │ │ │ │ └── ol.js │ │ ├── components │ │ │ ├── asyncapi-editor │ │ │ │ ├── asyncapi-editor.component.html │ │ │ │ ├── asyncapi-editor.component.scss │ │ │ │ ├── asyncapi-editor.component.ts │ │ │ │ ├── asyncapieditormodule.ts │ │ │ │ ├── builders │ │ │ │ │ └── asyncapibuilder.ts │ │ │ │ ├── components │ │ │ │ │ ├── application │ │ │ │ │ │ ├── application-editor.component.html │ │ │ │ │ │ ├── application-editor.component.scss │ │ │ │ │ │ ├── application-editor.component.ts │ │ │ │ │ │ ├── chooseclient.component.html │ │ │ │ │ │ └── chooseclient.component.ts │ │ │ │ │ ├── editor.component.scss │ │ │ │ │ └── link │ │ │ │ │ │ ├── choosemessage.component.html │ │ │ │ │ │ ├── choosemessage.component.ts │ │ │ │ │ │ ├── link-editor.component.html │ │ │ │ │ │ ├── link-editor.component.scss │ │ │ │ │ │ └── link-editor.component.ts │ │ │ │ ├── models │ │ │ │ │ └── message.property.ts │ │ │ │ ├── viewasyncapi.component.html │ │ │ │ ├── viewasyncapi.component.scss │ │ │ │ └── viewasyncapicomponent.ts │ │ │ ├── loader │ │ │ │ ├── loader.component.html │ │ │ │ ├── loader.component.scss │ │ │ │ ├── loader.component.ts │ │ │ │ └── loader.module.ts │ │ │ ├── matpanel │ │ │ │ ├── matpanel.component.html │ │ │ │ ├── matpanel.component.scss │ │ │ │ ├── matpanel.component.ts │ │ │ │ ├── matpanelcontent.ts │ │ │ │ └── matpanelservice.ts │ │ │ ├── messages │ │ │ │ ├── add-message.component.html │ │ │ │ ├── add-message.component.ts │ │ │ │ ├── messages.component.html │ │ │ │ ├── messages.component.scss │ │ │ │ ├── messages.component.ts │ │ │ │ └── messagesmodule.ts │ │ │ ├── monaco-editor │ │ │ │ ├── base-editor.ts │ │ │ │ ├── config.ts │ │ │ │ ├── editor.module.ts │ │ │ │ ├── languages │ │ │ │ │ └── jq │ │ │ │ │ │ └── jq-contribution.ts │ │ │ │ ├── monaco-editor.component.html │ │ │ │ ├── monaco-editor.component.scss │ │ │ │ ├── monaco-editor.component.ts │ │ │ │ └── types.ts │ │ │ └── statediagram │ │ │ │ ├── components │ │ │ │ ├── datacondition │ │ │ │ │ ├── datacondition.component.html │ │ │ │ │ ├── datacondition.component.scss │ │ │ │ │ └── datacondition.component.ts │ │ │ │ ├── defaultcondition │ │ │ │ │ ├── defaultcondition.component.html │ │ │ │ │ ├── defaultcondition.component.scss │ │ │ │ │ └── defaultcondition.component.ts │ │ │ │ ├── evtcondition │ │ │ │ │ ├── chooseevt.component.html │ │ │ │ │ ├── chooseevt.component.scss │ │ │ │ │ ├── chooseevt.component.ts │ │ │ │ │ ├── evtcondition.component.html │ │ │ │ │ ├── evtcondition.component.scss │ │ │ │ │ └── evtcondition.component.ts │ │ │ │ ├── expressioneditor │ │ │ │ │ ├── expressioneditor.component.html │ │ │ │ │ ├── expressioneditor.component.scss │ │ │ │ │ └── expressioneditor.component.ts │ │ │ │ ├── inject │ │ │ │ │ ├── inject-state-editor.component.html │ │ │ │ │ ├── inject-state-editor.component.scss │ │ │ │ │ └── inject-state-editor.component.ts │ │ │ │ ├── operation │ │ │ │ │ ├── actionseditor.component.html │ │ │ │ │ ├── actionseditor.component.scss │ │ │ │ │ ├── actionseditor.component.ts │ │ │ │ │ ├── editaction-dialog.component.html │ │ │ │ │ ├── editaction-dialog.component.ts │ │ │ │ │ ├── operation-state-editor.component.html │ │ │ │ │ ├── operation-state-editor.component.scss │ │ │ │ │ └── operation-state-editor.component.ts │ │ │ │ ├── state-editor.component.scss │ │ │ │ ├── switch │ │ │ │ │ ├── switch-state-editor.component.html │ │ │ │ │ ├── switch-state-editor.component.scss │ │ │ │ │ └── switch-state-editor.component.ts │ │ │ │ └── token │ │ │ │ │ ├── token.component.html │ │ │ │ │ ├── token.component.scss │ │ │ │ │ └── token.component.ts │ │ │ │ ├── statediagram.component.html │ │ │ │ ├── statediagram.component.scss │ │ │ │ ├── statediagram.component.ts │ │ │ │ └── statediagram.module.ts │ │ ├── environments │ │ │ ├── environment.docker.ts │ │ │ └── environment.ts │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── main.ts │ │ ├── polyfills.ts │ │ ├── stores │ │ │ ├── applicationdomains │ │ │ │ ├── actions │ │ │ │ │ └── applicationdomains.actions.ts │ │ │ │ ├── effects │ │ │ │ │ └── applicationdomains.effects.ts │ │ │ │ ├── models │ │ │ │ │ ├── anchordirections.ts │ │ │ │ │ ├── appdomain.model.ts │ │ │ │ │ ├── application.model.ts │ │ │ │ │ ├── applicationdomainadded.model.ts │ │ │ │ │ └── applicationlink.model.ts │ │ │ │ ├── reducers │ │ │ │ │ └── index.ts │ │ │ │ └── services │ │ │ │ │ └── applicationdomain.service.ts │ │ │ ├── appstate.ts │ │ │ ├── asyncapi │ │ │ │ └── services │ │ │ │ │ └── asyncapi.service.ts │ │ │ ├── clients │ │ │ │ ├── actions │ │ │ │ │ └── clients.actions.ts │ │ │ │ ├── effects │ │ │ │ │ └── clients.effects.ts │ │ │ │ ├── models │ │ │ │ │ ├── client.model.ts │ │ │ │ │ ├── clientadded.model.ts │ │ │ │ │ ├── clientsession.model.ts │ │ │ │ │ └── topic.model.ts │ │ │ │ ├── reducers │ │ │ │ │ └── index.ts │ │ │ │ └── services │ │ │ │ │ └── clients.service.ts │ │ │ ├── common │ │ │ │ ├── prometheus-query.model.ts │ │ │ │ └── search.model.ts │ │ │ ├── eventmeshservers │ │ │ │ ├── actions │ │ │ │ │ └── eventmeshserver.actions.ts │ │ │ │ ├── effects │ │ │ │ │ └── eventmeshserver.effects.ts │ │ │ │ ├── models │ │ │ │ │ └── eventmeshserver.model.ts │ │ │ │ ├── reducers │ │ │ │ │ └── index.ts │ │ │ │ └── services │ │ │ │ │ └── eventmeshserver.service.ts │ │ │ ├── functions │ │ │ │ ├── actions │ │ │ │ │ └── function.actions.ts │ │ │ │ ├── effects │ │ │ │ │ └── function.effects.ts │ │ │ │ ├── models │ │ │ │ │ ├── function-details.model.ts │ │ │ │ │ └── function.model.ts │ │ │ │ ├── reducers │ │ │ │ │ └── index.ts │ │ │ │ └── services │ │ │ │ │ └── function.service.ts │ │ │ ├── messagedefinitions │ │ │ │ ├── actions │ │ │ │ │ └── messagedefs.actions.ts │ │ │ │ ├── effects │ │ │ │ │ └── messagedefinitions.effects.ts │ │ │ │ ├── models │ │ │ │ │ ├── messagedefinition.model.ts │ │ │ │ │ └── messagedefinitionadded.model.ts │ │ │ │ ├── reducers │ │ │ │ │ └── index.ts │ │ │ │ └── services │ │ │ │ │ └── messagedefs.service.ts │ │ │ ├── openapi │ │ │ │ └── services │ │ │ │ │ └── openapi.service.ts │ │ │ ├── server │ │ │ │ ├── actions │ │ │ │ │ └── server.actions.ts │ │ │ │ ├── effects │ │ │ │ │ └── server.effects.ts │ │ │ │ ├── models │ │ │ │ │ └── serverstatus.model.ts │ │ │ │ ├── reducers │ │ │ │ │ └── index.ts │ │ │ │ └── services │ │ │ │ │ └── server.service.ts │ │ │ ├── statemachineinstances │ │ │ │ ├── actions │ │ │ │ │ └── statemachineinstances.actions.ts │ │ │ │ ├── effects │ │ │ │ │ └── statemachineinstances.effects.ts │ │ │ │ ├── models │ │ │ │ │ ├── instancestate.model.ts │ │ │ │ │ ├── instancestateevent.model.ts │ │ │ │ │ ├── instancestatehistory.model.ts │ │ │ │ │ ├── statemachineinstance-details.model.ts │ │ │ │ │ └── statemachineinstance.model.ts │ │ │ │ ├── reducers │ │ │ │ │ └── index.ts │ │ │ │ └── services │ │ │ │ │ └── statemachineinstances.service.ts │ │ │ ├── statemachines │ │ │ │ ├── actions │ │ │ │ │ └── statemachines.actions.ts │ │ │ │ ├── effects │ │ │ │ │ └── statemachines.effects.ts │ │ │ │ ├── models │ │ │ │ │ ├── eventdatafilter.model.ts │ │ │ │ │ ├── operation-types.model.ts │ │ │ │ │ ├── statemachine-event.model.ts │ │ │ │ │ ├── statemachine-foreach-state.model.ts │ │ │ │ │ ├── statemachine-function.model.ts │ │ │ │ │ ├── statemachine-inject-state.model.ts │ │ │ │ │ ├── statemachine-operation-state.model.ts │ │ │ │ │ ├── statemachine-state.model.ts │ │ │ │ │ ├── statemachine-switch-state.model.ts │ │ │ │ │ ├── statemachine.model.ts │ │ │ │ │ ├── statemachineadded.model.ts │ │ │ │ │ └── statemachinemodel.model.ts │ │ │ │ ├── reducers │ │ │ │ │ └── index.ts │ │ │ │ └── services │ │ │ │ │ └── statemachines.service.ts │ │ │ └── vpn │ │ │ │ ├── actions │ │ │ │ └── vpn.actions.ts │ │ │ │ ├── effects │ │ │ │ └── vpn.effects.ts │ │ │ │ ├── models │ │ │ │ └── vpn.model.ts │ │ │ │ ├── reducers │ │ │ │ └── index.ts │ │ │ │ └── services │ │ │ │ └── vpn.service.ts │ │ ├── styles.scss │ │ ├── styles │ │ │ ├── app.scss │ │ │ ├── component.themes.scss │ │ │ └── theme.scss │ │ └── test.ts │ │ ├── tsconfig.app.json │ │ ├── tsconfig.json │ │ └── tsconfig.spec.json ├── Common │ ├── FaasNet.Common │ │ ├── Extensions │ │ │ └── ConcurrentBagExtensions.cs │ │ ├── FaasNet.Common.csproj │ │ └── ServerBuilder.cs │ ├── FaasNet.Domain │ │ ├── AggregateRoot.cs │ │ ├── BaseSearchParameter.cs │ │ ├── BaseSearchResult.cs │ │ ├── DomainEvent.cs │ │ ├── Exceptions │ │ │ ├── BadRequestException.cs │ │ │ ├── BusinessRuleException.cs │ │ │ ├── DomainException.cs │ │ │ └── NotFoundException.cs │ │ ├── Extensions │ │ │ ├── BusControlExtensions.cs │ │ │ └── QueryableExtensions.cs │ │ ├── FaasNet.Domain.csproj │ │ ├── IntegrationEvent.cs │ │ └── SortOrders.cs │ ├── FaasNet.EventStore.EF │ │ ├── Configurations │ │ │ ├── SnapshotConfiguration.cs │ │ │ └── SubscriptionConfiguration.cs │ │ ├── EFEventStoreSnapshotRepository.cs │ │ ├── EFSubscriptionRepository.cs │ │ ├── EventStoreDBContext.cs │ │ ├── FaasNet.EventStore.EF.csproj │ │ ├── Models │ │ │ ├── Snapshot.cs │ │ │ └── Subscription.cs │ │ └── ServerBuilderExtensions.cs │ ├── FaasNet.EventStore │ │ ├── BaseQueryProjection.cs │ │ ├── CommitAggregateHelper.cs │ │ ├── EventStoreOptions.cs │ │ ├── FaasNet.EventStore.csproj │ │ ├── ICommitAggregateHelper.cs │ │ ├── IEventStoreConsumer.cs │ │ ├── IEventStoreProducer.cs │ │ ├── IEventStoreSnapshotRepository.cs │ │ ├── IQueryProjection.cs │ │ ├── ISubscriptionRepository.cs │ │ ├── InMemory │ │ │ ├── InMemoryEventStoreConsumer.cs │ │ │ ├── InMemoryEventStoreProducer.cs │ │ │ ├── InMemoryEventStoreSnapshotRepository.cs │ │ │ └── InMemorySubscriptionRepository.cs │ │ ├── Models │ │ │ └── SerializedEvent.cs │ │ ├── ProjectionBuilder.cs │ │ ├── QueryProjectionRunner.cs │ │ └── ServiceCollectionExtensions.cs │ ├── FaasNet.EventStoreDB │ │ ├── EventStoreDBConsumer.cs │ │ ├── EventStoreDBOptions.cs │ │ ├── EventStoreDBProducer.cs │ │ ├── FaasNet.EventStoreDB.csproj │ │ └── ServerBuilderExtensions.cs │ └── FaasNet.Lock │ │ ├── FaasNet.Lock.csproj │ │ ├── IDistributedLock.cs │ │ ├── InMemoryDistributedLock.cs │ │ └── ServiceCollectionExtensions.cs ├── EventMesh │ ├── FaasNet.EventMesh.Client │ │ ├── Constants.cs │ │ ├── EventMeshClient.cs │ │ ├── Exceptions │ │ │ ├── RuntimeClientException.cs │ │ │ ├── RuntimeClientResponseException.cs │ │ │ └── RuntimeClientSessionClosedException.cs │ │ ├── Extensions │ │ │ └── CloudEventExtensions.cs │ │ ├── FaasNet.EventMesh.Client.csproj │ │ └── Messages │ │ │ ├── AddBridgeRequest.cs │ │ │ ├── AddClientRequest.cs │ │ │ ├── AddClientResponse.cs │ │ │ ├── AddVpnRequest.cs │ │ │ ├── Commands.cs │ │ │ ├── DisablePluginRequest.cs │ │ │ ├── DisconnectRequest.cs │ │ │ ├── EnablePluginRequest.cs │ │ │ ├── Errors.cs │ │ │ ├── GetAllBridgeResponse.cs │ │ │ ├── GetAllPluginsRequest.cs │ │ │ ├── GetAllPluginsResponse.cs │ │ │ ├── GetAllVpnRequest.cs │ │ │ ├── GetAllVpnResponse.cs │ │ │ ├── GetPluginConfigurationRequest.cs │ │ │ ├── GetPluginConfigurationResponse.cs │ │ │ ├── Header.cs │ │ │ ├── HelloRequest.cs │ │ │ ├── HelloResponse.cs │ │ │ ├── Package.cs │ │ │ ├── PackageRequestBuilder.cs │ │ │ ├── PackageResponseBuilder.cs │ │ │ ├── PublishMessageRequest.cs │ │ │ ├── ReadMessageTopicRequest.cs │ │ │ ├── ReadMessageTopicResponse.cs │ │ │ ├── ReadNextMessageRequest.cs │ │ │ ├── ReadNextMessageResponse.cs │ │ │ ├── SubscriptionRequest.cs │ │ │ ├── SubscriptionResult.cs │ │ │ ├── UpdatePluginConfigurationRequest.cs │ │ │ ├── UserAgent.cs │ │ │ └── UserAgentPurpose.cs │ ├── FaasNet.EventMesh.Common │ │ ├── ConsoleHelper.cs │ │ └── FaasNet.EventMesh.Common.csproj │ ├── FaasNet.EventMesh.Core │ │ ├── ApplicationDomains │ │ │ ├── ApplicationDomainService.cs │ │ │ ├── Commands │ │ │ │ ├── AddApplicationDomainCommand.cs │ │ │ │ ├── Handlers │ │ │ │ │ ├── AddApplicationDomainCommandHandler.cs │ │ │ │ │ ├── RemoveApplicationDomainCommandHandler.cs │ │ │ │ │ └── UpdateApplicationDomainCommandHandler.cs │ │ │ │ ├── RemoveApplicationDomainCommand.cs │ │ │ │ ├── Results │ │ │ │ │ └── AddApplicationDomainResult.cs │ │ │ │ └── UpdateApplicationDomainCommand.cs │ │ │ ├── IApplicationDomainService.cs │ │ │ └── Queries │ │ │ │ ├── GetAllApplicationDomainsQuery.cs │ │ │ │ ├── GetApplicationDomainQuery.cs │ │ │ │ ├── Handlers │ │ │ │ ├── GetAllApplicationDomainsQueryHandler.cs │ │ │ │ └── GetApplicationDomainQueryHandler.cs │ │ │ │ └── Results │ │ │ │ ├── ApplicationDomainResult.cs │ │ │ │ ├── ApplicationLinkResult.cs │ │ │ │ └── ApplicationResult.cs │ │ ├── Clients │ │ │ ├── Commands │ │ │ │ ├── AddClientCommand.cs │ │ │ │ ├── DeleteClientCommand.cs │ │ │ │ ├── Handlers │ │ │ │ │ ├── AddClientCommandHandler.cs │ │ │ │ │ └── DeleteClientCommandHandler.cs │ │ │ │ └── Results │ │ │ │ │ └── AddClientResult.cs │ │ │ └── Queries │ │ │ │ ├── GetAllClientsQuery.cs │ │ │ │ ├── GetClientQuery.cs │ │ │ │ ├── Handlers │ │ │ │ ├── GetAllClientsQueryHandler.cs │ │ │ │ └── GetClientQueryHandler.cs │ │ │ │ └── Results │ │ │ │ ├── ClientResult.cs │ │ │ │ ├── ClientSessionResult.cs │ │ │ │ └── TopicResult.cs │ │ ├── Consumers │ │ │ └── StateMachineDefinitionConsumer.cs │ │ ├── ErrorCodes.cs │ │ ├── EventMeshOptions.cs │ │ ├── FaasNet.EventMesh.Core.csproj │ │ ├── MessageDefinitions │ │ │ ├── Commands │ │ │ │ ├── AddMessageDefinitionCommand.cs │ │ │ │ ├── Handlers │ │ │ │ │ ├── AddMessageDefinitionCommandHandler.cs │ │ │ │ │ ├── PublishMessageDefinitionCommandHandler.cs │ │ │ │ │ └── UpdateMessageDefinitionCommandHandler.cs │ │ │ │ ├── PublishMessageDefinitionCommand.cs │ │ │ │ ├── Results │ │ │ │ │ ├── AddMessageDefinitionReslt.cs │ │ │ │ │ └── PublishMessageDefinitionResult.cs │ │ │ │ └── UpdateMessageDefinitionCommand.cs │ │ │ └── Queries │ │ │ │ ├── GetAllLatestMessageDefQuery.cs │ │ │ │ ├── Handlers │ │ │ │ └── GetAllLatestMessageDefQueryHandler.cs │ │ │ │ └── Results │ │ │ │ └── MessageDefinitionResult.cs │ │ ├── Resources │ │ │ ├── Global.Designer.cs │ │ │ └── Global.resx │ │ ├── Server │ │ │ └── Queries │ │ │ │ ├── GetServerStatusQuery.cs │ │ │ │ ├── Handlers │ │ │ │ └── GetServerStatusQueryHandler.cs │ │ │ │ └── Results │ │ │ │ └── ServerStatusResult.cs │ │ ├── ServiceCollectionExtensions.cs │ │ └── Vpn │ │ │ ├── Commands │ │ │ ├── AddVpnBridgeCommand.cs │ │ │ ├── AddVpnCommand.cs │ │ │ ├── DeleteVpnCommand.cs │ │ │ └── Handlers │ │ │ │ ├── AddVpnBridgeCommandHandler.cs │ │ │ │ ├── AddVpnCommandHandler.cs │ │ │ │ └── DeleteVpnCommandHandler.cs │ │ │ ├── IVpnService.cs │ │ │ ├── Queries │ │ │ ├── GetAllVpnQuery.cs │ │ │ ├── GetVpnQuery.cs │ │ │ ├── Handlers │ │ │ │ ├── GetAllVpnQueryHandler.cs │ │ │ │ └── GetVpnQueryHandler.cs │ │ │ └── Results │ │ │ │ └── VpnResult.cs │ │ │ └── VpnService.cs │ ├── FaasNet.EventMesh.Plugin │ │ ├── FaasNet.EventMesh.Plugin.csproj │ │ ├── IPlugin.cs │ │ ├── PluginConfigurationFile.cs │ │ ├── PluginConstants.cs │ │ ├── PluginEntry.cs │ │ ├── PluginEntryDiscovery.cs │ │ ├── PluginEntryOption.cs │ │ ├── PluginEntryOptionPropertyAttribute.cs │ │ └── PluginStore.cs │ ├── FaasNet.EventMesh.Protocols.AMQP │ │ ├── AMQPProxy.cs │ │ ├── EventMeshAMQPOptions.cs │ │ ├── EventMeshAMQPPlugin.cs │ │ ├── Extensions │ │ │ └── MessageExtensions.cs │ │ ├── FaasNet.EventMesh.Protocols.AMQP.csproj │ │ ├── FixedWidth.cs │ │ ├── Framing │ │ │ ├── Frame.cs │ │ │ └── ProtocolHeader.cs │ │ ├── Handlers │ │ │ ├── AttachHandler.cs │ │ │ ├── BeginHandler.cs │ │ │ ├── CloseHandler.cs │ │ │ ├── DetachHandler.cs │ │ │ ├── EndHandler.cs │ │ │ ├── FlowHandler.cs │ │ │ ├── IRequestHandler.cs │ │ │ ├── OpenHandler.cs │ │ │ ├── RequestParameter.cs │ │ │ ├── RequestResult.cs │ │ │ ├── SASLInitHandler.cs │ │ │ └── TransferHandler.cs │ │ ├── Sasl │ │ │ └── SaslPlainProfile.cs │ │ ├── ServerBuilderExtensions.cs │ │ ├── ServiceCollectionExtensions.cs │ │ ├── StateObject.cs │ │ ├── StateSessionObject.cs │ │ └── appsettings.json │ ├── FaasNet.EventMesh.Protocols.WebSocket │ │ ├── EventMeshServerWSSession.cs │ │ ├── EventMeshWSServer.cs │ │ ├── EventMeshWebSocketOptions.cs │ │ ├── EventMeshWebSocketPlugin.cs │ │ ├── FaasNet.EventMesh.Protocols.WebSocket.csproj │ │ ├── ServerBuilderExtensions.cs │ │ ├── ServiceCollectionExtensions.cs │ │ ├── WebSocketProxy.cs │ │ └── appsettings.json │ ├── FaasNet.EventMesh.Protocols │ │ ├── BaseProxy.cs │ │ ├── FaasNet.EventMesh.Protocols.csproj │ │ ├── IProxy.cs │ │ ├── ServerBuilderExtensions.cs │ │ └── ServiceCollectionExtensions.cs │ ├── FaasNet.EventMesh.Runtime.Website │ │ └── wwwroot │ │ │ └── images │ │ │ └── logo.svg │ ├── FaasNet.EventMesh.Runtime │ │ ├── Constants.cs │ │ ├── ErrorCodes.cs │ │ ├── EventMeshMeter.cs │ │ ├── EventMeshNode.cs │ │ ├── EventMeshNodeOptions.cs │ │ ├── EventMeshPeer.cs │ │ ├── Exceptions │ │ │ └── RuntimeException.cs │ │ ├── Extensions │ │ │ └── ConcurrentBagExtensions.cs │ │ ├── FaasNet.EventMesh.Runtime.csproj │ │ ├── Handlers │ │ │ ├── AddBridgeVpnMessageHandler.cs │ │ │ ├── AddClientMessageHandler.cs │ │ │ ├── AddVpnMessageHandler.cs │ │ │ ├── BaseMessageHandler.cs │ │ │ ├── DisablePluginMessageHandler.cs │ │ │ ├── DisconnectMessageHandler.cs │ │ │ ├── EnablePluginMessageHandler.cs │ │ │ ├── EventMeshPackageResult.cs │ │ │ ├── GetAllBridgeVpnMessageHandler.cs │ │ │ ├── GetAllPluginsMessageHandler.cs │ │ │ ├── GetAllVpnsMessageHandler.cs │ │ │ ├── GetPluginConfigurationMessageHandler.cs │ │ │ ├── HeartbeatMessageHandler.cs │ │ │ ├── HelloMessageHandler.cs │ │ │ ├── IMessageHandler.cs │ │ │ ├── PublishMessageRequestHandler.cs │ │ │ ├── ReadNextMessageHandler.cs │ │ │ ├── ReadTopicMessageHandler.cs │ │ │ ├── SubscribeMessageHandler.cs │ │ │ └── UpdatePluginConfigurationMessageHandler.cs │ │ ├── Models │ │ │ ├── BridgeServer.cs │ │ │ ├── Client.cs │ │ │ ├── ClientSession.cs │ │ │ ├── MessageExchange.cs │ │ │ ├── QueueMessage.cs │ │ │ ├── Topic.cs │ │ │ └── Vpn.cs │ │ ├── Resources │ │ │ ├── Global.Designer.cs │ │ │ └── Global.resx │ │ ├── ServerBuilderExtensions.cs │ │ ├── ServiceCollectionExtensions.cs │ │ ├── StandardEntityTypes.cs │ │ └── Stores │ │ │ ├── BridgeServerStore.cs │ │ │ ├── ClientSessionStore.cs │ │ │ ├── ClientStore.cs │ │ │ ├── MessageExchangeStore.cs │ │ │ ├── QueueStore.cs │ │ │ └── VpnStore.cs │ ├── FaasNet.EventMesh.Seed.AMQP │ │ └── FaasNet.EventMesh.Sink.AMQP.csproj │ ├── FaasNet.EventMesh.Seed.Kafka │ │ └── FaasNet.EventMesh.Seed.Kafka.csproj │ ├── FaasNet.EventMesh.Seed.RocksDB │ │ └── FaasNet.EventMesh.Seed.RocksDB.csproj │ ├── FaasNet.EventMesh.Seed.VpnBridge │ │ └── FaasNet.EventMesh.Seed.VpnBridge.csproj │ ├── FaasNet.EventMesh.Service │ │ ├── EventMeshProxyWorker.cs │ │ ├── EventMeshServerOptions.cs │ │ ├── EventMeshServerSinkWorker.cs │ │ ├── EventMeshServerWorker.cs │ │ ├── FaasNet.EventMesh.Service.csproj │ │ ├── PluginLoadContext.cs │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── appsettings.dockerfirstnode.json │ │ ├── appsettings.dockersecondnode.json │ │ ├── appsettings.json │ │ └── plugin.discoveryetcd.json │ ├── FaasNet.EventMesh.Sink.AMQP │ │ ├── AMQPSinkJob.cs │ │ ├── AMQPSinkPlugin.cs │ │ ├── BasicDeliverEventArgsExtensions.cs │ │ ├── EventMeshSinkAMQPOptions.cs │ │ ├── FaasNet.EventMesh.Sink.AMQP.csproj │ │ ├── ServerBuilderExtensions.cs │ │ ├── ServiceCollectionExtensions.cs │ │ ├── appsettings.json │ │ └── docker-compose.yml │ ├── FaasNet.EventMesh.Sink.Kafka │ │ ├── ConsumeResultExtensions.cs │ │ ├── FaasNet.EventMesh.Sink.Kafka.csproj │ │ ├── KafkaSinkJob.cs │ │ ├── KafkaSinkOptions.cs │ │ ├── KafkaSinkPlugin.cs │ │ ├── ServiceCollectionExtensions.cs │ │ ├── appsettings.json │ │ └── docker-compose.yml │ ├── FaasNet.EventMesh.Sink.RocksDB │ │ ├── EventMeshSinkRocksDBOptions.cs │ │ ├── FaasNet.EventMesh.Sink.RocksDB.csproj │ │ ├── ServerBuilderExtensions.cs │ │ ├── ServiceCollectionExtensions.cs │ │ └── SubscriptionStore.cs │ ├── FaasNet.EventMesh.Sink.VpnBridge │ │ ├── FaasNet.EventMesh.Sink.VpnBridge.csproj │ │ ├── ServiceCollectionExtensions.cs │ │ ├── VpnBridgeSinkJob.cs │ │ ├── VpnBridgeSinkOptions.cs │ │ ├── VpnBridgeSinkPlugin.cs │ │ └── appsettings.json │ ├── FaasNet.EventMesh.Sink │ │ ├── BaseSinkJob.cs │ │ ├── FaasNet.EventMesh.Sink.csproj │ │ ├── ISinkJob.cs │ │ ├── ServiceCollectionExtensions.cs │ │ ├── SinkOptions.cs │ │ └── Stores │ │ │ └── InMemorySubscriptionStore.cs │ ├── FaasNet.EventMesh.SqlServer.Startup │ │ ├── Controllers │ │ │ ├── ApplicationDomainsController.cs │ │ │ ├── ClientsController.cs │ │ │ ├── MessageDefinitionsController.cs │ │ │ ├── ServerController.cs │ │ │ └── VpnsController.cs │ │ ├── FaasNet.EventMesh.SqlServer.Startup.csproj │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── Startup.cs │ │ ├── appsettings.Docker.json │ │ └── appsettings.json │ ├── FaasNet.EventMeshCTL.CLI │ │ ├── FaasNet.EventMeshCTL.CLI.csproj │ │ └── Program.cs │ ├── OpenTelemetry.Api │ │ └── Internal │ │ │ ├── ActivityHelperExtensions.cs │ │ │ ├── EnumerationHelper.cs │ │ │ ├── ExceptionExtensions.cs │ │ │ ├── Guard.cs │ │ │ ├── IActivityEnumerator.cs │ │ │ ├── OpenTelemetryApiEventSource.cs │ │ │ ├── SemanticConventions.cs │ │ │ ├── SpanAttributeConstants.cs │ │ │ ├── SpanHelper.cs │ │ │ └── StatusHelper.cs │ ├── OpenTelemetry.Exporter.OpenTelemetryProtocol.Logs │ │ ├── .publicApi │ │ │ ├── net462 │ │ │ │ ├── PublicAPI.Shipped.txt │ │ │ │ └── PublicAPI.Unshipped.txt │ │ │ ├── netstandard2.0 │ │ │ │ ├── PublicAPI.Shipped.txt │ │ │ │ └── PublicAPI.Unshipped.txt │ │ │ └── netstandard2.1 │ │ │ │ ├── PublicAPI.Shipped.txt │ │ │ │ └── PublicAPI.Unshipped.txt │ │ ├── AssemblyInfo.cs │ │ ├── CHANGELOG.md │ │ ├── OpenTelemetry.Exporter.OpenTelemetryProtocol.Logs.csproj │ │ ├── OtlpLogExporterHelperExtensions.cs │ │ └── README.md │ ├── OpenTelemetry.Exporter.OpenTelemetryProtocol │ │ ├── .publicApi │ │ │ ├── net462 │ │ │ │ ├── PublicAPI.Shipped.txt │ │ │ │ └── PublicAPI.Unshipped.txt │ │ │ ├── net6.0 │ │ │ │ ├── PublicAPI.Shipped.txt │ │ │ │ └── PublicAPI.Unshipped.txt │ │ │ ├── netstandard2.0 │ │ │ │ ├── PublicAPI.Shipped.txt │ │ │ │ └── PublicAPI.Unshipped.txt │ │ │ └── netstandard2.1 │ │ │ │ ├── PublicAPI.Shipped.txt │ │ │ │ └── PublicAPI.Unshipped.txt │ │ ├── ApiCompatBaseline.txt │ │ ├── AssemblyInfo.cs │ │ ├── CHANGELOG.md │ │ ├── Implementation │ │ │ ├── ActivityExtensions.cs │ │ │ ├── ExportClient │ │ │ │ ├── BaseOtlpGrpcExportClient.cs │ │ │ │ ├── BaseOtlpHttpExportClient.cs │ │ │ │ ├── ExporterClientValidation.cs │ │ │ │ ├── IExportClient.cs │ │ │ │ ├── OtlpGrpcLogExportClient.cs │ │ │ │ ├── OtlpGrpcMetricsExportClient.cs │ │ │ │ ├── OtlpGrpcTraceExportClient.cs │ │ │ │ ├── OtlpHttpLogExportClient.cs │ │ │ │ ├── OtlpHttpMetricsExportClient.cs │ │ │ │ └── OtlpHttpTraceExportClient.cs │ │ │ ├── LogRecordExtensions.cs │ │ │ ├── MetricItemExtensions.cs │ │ │ ├── OpenTelemetryProtocolExporterEventSource.cs │ │ │ ├── README.md │ │ │ ├── ResourceExtensions.cs │ │ │ ├── TimestampHelpers.cs │ │ │ └── opentelemetry │ │ │ │ └── proto │ │ │ │ ├── collector │ │ │ │ ├── README.md │ │ │ │ ├── logs │ │ │ │ │ └── v1 │ │ │ │ │ │ ├── logs_service.proto │ │ │ │ │ │ └── logs_service_http.yaml │ │ │ │ ├── metrics │ │ │ │ │ └── v1 │ │ │ │ │ │ ├── metrics_service.proto │ │ │ │ │ │ └── metrics_service_http.yaml │ │ │ │ └── trace │ │ │ │ │ └── v1 │ │ │ │ │ ├── trace_service.proto │ │ │ │ │ └── trace_service_http.yaml │ │ │ │ ├── common │ │ │ │ └── v1 │ │ │ │ │ └── common.proto │ │ │ │ ├── logs │ │ │ │ └── v1 │ │ │ │ │ └── logs.proto │ │ │ │ ├── metrics │ │ │ │ └── v1 │ │ │ │ │ └── metrics.proto │ │ │ │ ├── resource │ │ │ │ └── v1 │ │ │ │ │ └── resource.proto │ │ │ │ └── trace │ │ │ │ └── v1 │ │ │ │ ├── trace.proto │ │ │ │ └── trace_config.proto │ │ ├── OpenTelemetry.Exporter.OpenTelemetryProtocol.csproj │ │ ├── OtlpExportProtocol.cs │ │ ├── OtlpExporterOptions.cs │ │ ├── OtlpExporterOptionsExtensions.cs │ │ ├── OtlpLogExporter.cs │ │ ├── OtlpMetricExporter.cs │ │ ├── OtlpMetricExporterExtensions.cs │ │ ├── OtlpTraceExporter.cs │ │ ├── OtlpTraceExporterHelperExtensions.cs │ │ └── README.md │ └── OpenTelemetry │ │ └── Internal │ │ ├── ActivityInstrumentationHelper.cs │ │ ├── CircularBuffer.cs │ │ ├── EnvironmentVariableHelper.cs │ │ ├── OpenTelemetrySdkEventSource.cs │ │ ├── PeerServiceResolver.cs │ │ ├── PeriodicExportingMetricReaderHelper.cs │ │ ├── PooledList.cs │ │ ├── ResourceSemanticConventions.cs │ │ ├── SelfDiagnostics.cs │ │ ├── SelfDiagnosticsConfigParser.cs │ │ ├── SelfDiagnosticsConfigRefresher.cs │ │ ├── SelfDiagnosticsEventListener.cs │ │ ├── ServiceProviderExtensions.cs │ │ └── WildcardHelper.cs ├── Function │ ├── FaasNet.Function.Core │ │ ├── Domains │ │ │ └── FunctionAggregate.cs │ │ ├── ErrorCodes.cs │ │ ├── FaasNet.Function.Core.csproj │ │ ├── Factories │ │ │ ├── HttpClientFactory.cs │ │ │ └── IHttpClientFactory.cs │ │ ├── FunctionOptions.cs │ │ ├── Functions │ │ │ ├── Commands │ │ │ │ ├── Handlers │ │ │ │ │ ├── InvokeFunctionCommandHandler.cs │ │ │ │ │ ├── PublishFunctionCommandHandler.cs │ │ │ │ │ └── UnpublishFunctionCommandHandler.cs │ │ │ │ ├── InvokeFunctionCommand.cs │ │ │ │ ├── PublishFunctionCommand.cs │ │ │ │ └── UnpublishFunctionCommand.cs │ │ │ ├── Invokers │ │ │ │ ├── IFunctionInvoker.cs │ │ │ │ └── KubernetesFunctionInvoker.cs │ │ │ └── Queries │ │ │ │ ├── GetFunctionConfigurationQuery.cs │ │ │ │ ├── GetFunctionDetailsQuery.cs │ │ │ │ ├── GetFunctionMonitoringQuery.cs │ │ │ │ ├── GetFunctionQuery.cs │ │ │ │ ├── Handlers │ │ │ │ ├── GetFunctionConfigurationQueryHandler.cs │ │ │ │ ├── GetFunctionDetailsQueryHandler.cs │ │ │ │ ├── GetFunctionMonitoringQueryHandler.cs │ │ │ │ ├── GetFunctionQueryHandler.cs │ │ │ │ └── SearchFunctionsQueryHandler.cs │ │ │ │ ├── Results │ │ │ │ └── FunctionResult.cs │ │ │ │ └── SearchFunctionsQuery.cs │ │ ├── Helpers │ │ │ ├── IPrometheusHelper.cs │ │ │ ├── PrometheusHelper.cs │ │ │ ├── PrometheusLabel.cs │ │ │ └── PrometheusTarget.cs │ │ ├── Repositories │ │ │ ├── IFunctionRepository.cs │ │ │ └── InMemoryFunctionRepository.cs │ │ ├── Resources │ │ │ ├── Global.Designer.cs │ │ │ └── Global.resx │ │ ├── ServerBuilder.cs │ │ └── ServiceCollectionExtensions.cs │ ├── FaasNet.Function.EF │ │ ├── Configurations │ │ │ └── FunctionAggregateConfiguration.cs │ │ ├── EFFunctionRepository.cs │ │ ├── FaasNet.Function.EF.csproj │ │ ├── FunctionDBContext.cs │ │ └── ServerBuilderExtensions.cs │ ├── FaasNet.Function.GetSql │ │ ├── FaasNet.Function.GetSql.csproj │ │ ├── FunctionHandler.cs │ │ ├── GetSqlConfiguration.cs │ │ ├── Middlewares │ │ │ ├── FunctionMiddleware.cs │ │ │ └── ResponseMetricMiddleware.cs │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ └── Startup.cs │ ├── FaasNet.Function.SqlServer.Startup │ │ ├── Controllers │ │ │ └── FunctionsController.cs │ │ ├── FaasNet.Function.SqlServer.Startup.csproj │ │ ├── FunctionDBContextMigration.cs │ │ ├── Migrations │ │ │ ├── 20220317124629_Init.Designer.cs │ │ │ ├── 20220317124629_Init.cs │ │ │ └── FunctionDBContextModelSnapshot.cs │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── Startup.cs │ │ ├── appsettings.Docker.json │ │ └── appsettings.json │ ├── FaasNet.Function.Transform │ │ ├── FaasNet.Function.Transform.csproj │ │ ├── FunctionHandler.cs │ │ ├── Mapping.cs │ │ ├── Middlewares │ │ │ ├── FunctionMiddleware.cs │ │ │ └── ResponseMetricMiddleware.cs │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── Startup.cs │ │ └── TransformConfiguration.cs │ ├── FaasNet.Function │ │ ├── Attributes │ │ │ ├── FuncInfoAttribute.cs │ │ │ └── TranslationAttribute.cs │ │ ├── FaasNet.Function.csproj │ │ ├── Factories │ │ │ └── ConfigurationFactory.cs │ │ ├── MetricReporter.cs │ │ ├── Models │ │ │ ├── Configuration.cs │ │ │ ├── ConfigurationParameter.cs │ │ │ └── ConfigurationTranslation.cs │ │ └── Parameters │ │ │ └── FunctionParameter.cs │ └── FaasNet.Kubernetes │ │ ├── Commands │ │ ├── InvokeFunctionCommand.cs │ │ └── PublishFunctionCommand.cs │ │ ├── Controllers │ │ └── FunctionsController.cs │ │ ├── FaasNet.Kubernetes.csproj │ │ ├── Program.cs │ │ ├── Properties │ │ └── launchSettings.json │ │ ├── Results │ │ ├── FunctionMonitoringResult.cs │ │ └── PodResult.cs │ │ ├── Startup.cs │ │ ├── appsettings.Development.json │ │ └── appsettings.json ├── Gateway │ └── FaasNet.Gateway.Startup │ │ ├── FaasNet.Gateway.Startup.csproj │ │ ├── Program.cs │ │ ├── Properties │ │ └── launchSettings.json │ │ ├── Startup.cs │ │ ├── ocelot.Development.json │ │ └── ocelot.Docker.json ├── Other │ └── FaasNet.Bus.Startup │ │ ├── Consumers │ │ ├── ClientAddedEvent.cs │ │ └── ClientConsumer.cs │ │ ├── FaasNet.Bus.Startup.csproj │ │ ├── Program.cs │ │ ├── Properties │ │ └── launchSettings.json │ │ └── Startup.cs ├── RaftConsensus │ ├── FaasNet.RaftConsensus.Client │ │ ├── ConsensusClient.cs │ │ ├── Extensions │ │ │ ├── AsyncExtensions.cs │ │ │ └── SerializerExtensions.cs │ │ ├── FaasNet.RaftConsensus.Client.csproj │ │ ├── GossipClient.cs │ │ ├── IPAddressHelper.cs │ │ ├── Messages │ │ │ ├── BaseCommands.cs │ │ │ ├── Consensus │ │ │ │ ├── AppendEntryRequest.cs │ │ │ │ ├── ConsensusCommands.cs │ │ │ │ ├── ConsensusHeader.cs │ │ │ │ ├── ConsensusPackage.cs │ │ │ │ ├── ConsensusPackageRequestBuilder.cs │ │ │ │ ├── ConsensusPackageResultBuilder.cs │ │ │ │ ├── LeaderHeartbeatRequest.cs │ │ │ │ ├── LeaderHeartbeatResult.cs │ │ │ │ ├── VoteRequest.cs │ │ │ │ └── VoteResult.cs │ │ │ ├── Gossip │ │ │ │ ├── GossipAddPeerRequest.cs │ │ │ │ ├── GossipCommands.cs │ │ │ │ ├── GossipGetClusterNodesRequest.cs │ │ │ │ ├── GossipGetClusterNodesResult.cs │ │ │ │ ├── GossipHeader.cs │ │ │ │ ├── GossipHeartbeatRequest.cs │ │ │ │ ├── GossipHeartbeatResult.cs │ │ │ │ ├── GossipPackage.cs │ │ │ │ ├── GossipPackageRequestBuilder.cs │ │ │ │ ├── GossipPackageResultBuilder.cs │ │ │ │ ├── GossipState.cs │ │ │ │ ├── GossipSyncStateRequest.cs │ │ │ │ ├── GossipSyncStateResult.cs │ │ │ │ └── GossipUpdateNodeStateRequest.cs │ │ │ ├── ReadBufferContext.cs │ │ │ └── WriteBufferContext.cs │ │ └── StandardEntityTypes.cs │ ├── FaasNet.RaftConsensus.Core │ │ ├── BaseNodeHost.cs │ │ ├── BasePeerHost.cs │ │ ├── ConsensusNodeOptions.cs │ │ ├── ConsensusPeerOptions.cs │ │ ├── Constants.cs │ │ ├── FaasNet.RaftConsensus.Core.csproj │ │ ├── FileLogStoreOptions.cs │ │ ├── Models │ │ │ ├── ClusterNode.cs │ │ │ ├── LogRecord.cs │ │ │ ├── NodeState.cs │ │ │ ├── Peer.cs │ │ │ ├── PeerInfo.cs │ │ │ └── PeerStates.cs │ │ ├── PeerHostEventArgs.cs │ │ ├── PeerHostFactory.cs │ │ ├── ServerBuilderExtensions.cs │ │ ├── ServiceCollectionExtensions.cs │ │ ├── StandaloneNodeHost.cs │ │ ├── StandalonePeerHost.cs │ │ └── Stores │ │ │ ├── ILogStore.cs │ │ │ ├── INodeStateStore.cs │ │ │ ├── IPeerInfoStore.cs │ │ │ ├── IPeerStore.cs │ │ │ └── InMemoryClusterStore.cs │ ├── FaasNet.RaftConsensus.Discovery.Config │ │ ├── ConfigClusterStore.cs │ │ ├── DiscoveryConfigurationOptions.cs │ │ ├── DiscoveryConfigurationPlugin.cs │ │ ├── FaasNet.RaftConsensus.Discovery.Config.csproj │ │ ├── ServiceCollectionExtensions.cs │ │ └── appsettings.json │ ├── FaasNet.RaftConsensus.Discovery.Etcd │ │ ├── DiscoveryEtcdPlugin.cs │ │ ├── EtcdClusterStore.cs │ │ ├── EtcdConnectionPool.cs │ │ ├── EtcdOptions.cs │ │ ├── FaasNet.RaftConsensus.Discovery.Etcd.csproj │ │ ├── ServiceCollectionExtensions.cs │ │ └── appsettings.json │ ├── FaasNet.RaftConsensus.RocksDB │ │ ├── FaasNet.RaftConsensus.RocksDB.csproj │ │ ├── RaftConsensusRocksDBOptions.cs │ │ ├── RockDBNodeStateStore.cs │ │ ├── RocksDBConnectionPool.cs │ │ ├── RocksDBLogStore.cs │ │ ├── RocksDBPeerInfoStore.cs │ │ └── ServerBuilderExtensions.cs │ └── architecture.png ├── Samples │ ├── FaasNet.EventMesh.AMQPClient │ │ ├── FaasNet.EventMesh.AMQPClient.csproj │ │ └── Program.cs │ ├── FaasNet.EventMesh.AmqpSink │ │ ├── AmqpServerDockerFile │ │ └── README.md │ ├── FaasNet.EventMesh.EtcdCluster │ │ ├── README.md │ │ └── docker-compose.yml │ ├── FaasNet.EventMesh.EtcdDiscovery │ │ ├── README.md │ │ └── docker-compose.yml │ ├── FaasNet.EventMesh.KafkaSink │ │ ├── README.md │ │ └── docker-compose.yml │ ├── FaasNet.EventMesh.TwoCluster │ │ ├── README.md │ │ └── docker-compose.yml │ └── FaasNet.EventMesh.WebSocketClient │ │ └── websocket.html ├── StateMachines │ ├── FaasNet.StateMachine.Core │ │ ├── AsyncApi │ │ │ ├── Queries │ │ │ │ ├── GetAsyncApiOperationQuery.cs │ │ │ │ ├── GetAsyncApiOperationsQuery.cs │ │ │ │ └── Handlers │ │ │ │ │ ├── GetAsyncApiOperationQueryHandler.cs │ │ │ │ │ └── GetAsyncApiOperationsQueryHandler.cs │ │ │ └── Results │ │ │ │ └── GetAsyncApiOperationResult.cs │ │ ├── Clients │ │ │ ├── FunctionResult.cs │ │ │ ├── FunctionService.cs │ │ │ └── IFunctionService.cs │ │ ├── Consumers │ │ │ └── StateMachineConsumer.cs │ │ ├── ErrorCodes.cs │ │ ├── Extensions │ │ │ └── StringExtensions.cs │ │ ├── FaasNet.StateMachine.Core.csproj │ │ ├── OpenApi │ │ │ └── Queries │ │ │ │ └── GetOpenApiOperationsQueryHandler.cs │ │ ├── Persistence │ │ │ ├── IStateMachineDefinitionRepository.cs │ │ │ └── InMemory │ │ │ │ └── InMemoryStateMachineDefinitionRepository.cs │ │ ├── Resources │ │ │ ├── Global.Designer.cs │ │ │ └── Global.resx │ │ ├── ServerBuilderExtensions.cs │ │ ├── ServiceCollectionExtensions.cs │ │ ├── StateMachineInstances │ │ │ ├── Commands │ │ │ │ └── ReactivateStateMachineInstanceCommandHandler.cs │ │ │ ├── Queries │ │ │ │ ├── GetStateMachineInstanceQuery.cs │ │ │ │ ├── Handlers │ │ │ │ │ ├── GetStateMachineInstanceQueryHandler.cs │ │ │ │ │ └── SearchStateMachineInstanceQueryHandler.cs │ │ │ │ └── SearchStateMachineInstanceQuery.cs │ │ │ └── Results │ │ │ │ ├── InstanceStateEventResult.cs │ │ │ │ ├── InstanceStateHistoryResult.cs │ │ │ │ ├── InstanceStateResult.cs │ │ │ │ ├── StateMachineInstanceDetailsResult.cs │ │ │ │ └── StateMachineInstanceResult.cs │ │ ├── StateMachineOptions.cs │ │ └── StateMachines │ │ │ ├── Commands │ │ │ ├── AddEmptyStateMachineCommand.cs │ │ │ ├── AddStateMachineCommand.cs │ │ │ ├── Handlers │ │ │ │ ├── AddStateMachineCommandHandler.cs │ │ │ │ ├── AddStateMachineEmptyCommandHandler.cs │ │ │ │ ├── StartStateMachineCommandHandler.cs │ │ │ │ ├── UpdateStateMachineCommandHandler.cs │ │ │ │ └── UpdateStateMachineInfoCommandHandler.cs │ │ │ ├── StartStateMachineCommand.cs │ │ │ ├── UpdateStateMachineCommand.cs │ │ │ └── UpdateStateMachineInfoCommand.cs │ │ │ ├── Queries │ │ │ ├── GetLastStateMachineDetailsQuery.cs │ │ │ ├── GetStateMachineDetailsQuery.cs │ │ │ ├── Handlers │ │ │ │ ├── GetLastStateMachineDetailsQueryHandler.cs │ │ │ │ ├── GetStateMachineDetailsQueryHandler.cs │ │ │ │ └── SearchStateMachinesQueryHandler.cs │ │ │ └── SearchStateMachinesQuery.cs │ │ │ └── Results │ │ │ ├── AddStateMachineResult.cs │ │ │ ├── StartStateMachineResult.cs │ │ │ └── StateMachineResult.cs │ ├── FaasNet.StateMachine.EF │ │ ├── Configurations │ │ │ ├── BaseEventConditionConfiguration.cs │ │ │ ├── BaseStateMachineDefinitionStateConfiguration.cs │ │ │ ├── StateMachineDefinitionActionConfiguration.cs │ │ │ ├── StateMachineDefinitionAggregateConfiguration.cs │ │ │ ├── StateMachineDefinitionCallbackStateConfiguration.cs │ │ │ ├── StateMachineDefinitionEventConfiguration.cs │ │ │ ├── StateMachineDefinitionEventStateConfiguration.cs │ │ │ ├── StateMachineDefinitionForeachStateConfiguration.cs │ │ │ ├── StateMachineDefinitionFunctionConfiguration.cs │ │ │ ├── StateMachineDefinitionInjectStateConfiguration.cs │ │ │ ├── StateMachineDefinitionOnEventConfiguration.cs │ │ │ ├── StateMachineDefinitionOperationStateConfiguration.cs │ │ │ ├── StateMachineDefinitionSwitchDataConditionConfiguration.cs │ │ │ ├── StateMachineDefinitionSwitchEventConditionConfiguration.cs │ │ │ └── StateMachineDefinitionSwitchStateConfiguration.cs │ │ ├── FaasNet.StateMachine.EF.csproj │ │ ├── Persistence │ │ │ └── StateMachineDefinitionRepository.cs │ │ ├── RuntimeDBContext.cs │ │ └── ServerBuilderExtensions.cs │ ├── FaasNet.StateMachine.Exporter │ │ ├── FaasNet.StateMachine.Exporter.csproj │ │ ├── ProjectionHostedJob.cs │ │ ├── ServiceCollectionExtensions.cs │ │ ├── StateMachineExporterOptions.cs │ │ └── StateMachineInstanceQueryProjection.cs │ ├── FaasNet.StateMachine.ExporterHost │ │ ├── EventStoreDBContextMigration.cs │ │ ├── FaasNet.StateMachine.ExporterHost.csproj │ │ ├── Migrations │ │ │ ├── 20220414121110_Init.Designer.cs │ │ │ ├── 20220414121110_Init.cs │ │ │ └── EventStoreDBContextModelSnapshot.cs │ │ ├── Program.cs │ │ └── appsettings.json │ ├── FaasNet.StateMachine.IntegrationEvents │ │ ├── FaasNet.StateMachine.IntegrationEvents.csproj │ │ └── StateMachineDefinitionAddedEvent.cs │ ├── FaasNet.StateMachine.Runtime │ │ ├── AsyncAPI │ │ │ ├── AsyncAPIParser.cs │ │ │ ├── AsyncApiResult.cs │ │ │ ├── Channels │ │ │ │ ├── Amqp │ │ │ │ │ ├── AmqpChannel.cs │ │ │ │ │ ├── AmqpChannelUserPasswordClientFactory.cs │ │ │ │ │ ├── AmqpUrlResult.cs │ │ │ │ │ ├── BaseAmqpChannelClientFactory.cs │ │ │ │ │ └── IAmqpChannelClientFactory.cs │ │ │ │ └── IChannel.cs │ │ │ ├── Exceptions │ │ │ │ └── AsyncAPIException.cs │ │ │ ├── IAsyncAPIParser.cs │ │ │ └── v2 │ │ │ │ └── Models │ │ │ │ ├── AsyncApiDocument.cs │ │ │ │ ├── Bindings │ │ │ │ ├── Amqp │ │ │ │ │ ├── AmqpChannelBinding.cs │ │ │ │ │ ├── AmqpChannelBindingExchange.cs │ │ │ │ │ ├── AmqpChannelBindingExchangeType.cs │ │ │ │ │ ├── AmqpChannelBindingIs.cs │ │ │ │ │ ├── AmqpChannelBindingQueue.cs │ │ │ │ │ └── AmqpOperationBinding.cs │ │ │ │ ├── ChannelBindings.cs │ │ │ │ └── OperationBindings.cs │ │ │ │ ├── ChannelItem.cs │ │ │ │ ├── Components.cs │ │ │ │ ├── Info.cs │ │ │ │ ├── Message.cs │ │ │ │ ├── Operation.cs │ │ │ │ ├── SecurityScheme.cs │ │ │ │ └── Server.cs │ │ ├── Builders │ │ │ ├── ASYNCAPIFunctionDefinitionBuilder.cs │ │ │ ├── ActionBuilder.cs │ │ │ ├── BaseStateBuilder.cs │ │ │ ├── CallbackStateBuilder.cs │ │ │ ├── EventStateBuilder.cs │ │ │ ├── ForeachStateBuilder.cs │ │ │ ├── FunctionDefinitionBuilder.cs │ │ │ ├── IFunctionBuilder.cs │ │ │ ├── IStateBuilder.cs │ │ │ ├── InjectStateBuilder.cs │ │ │ ├── KubernetesFunctionDefinitionBuilder.cs │ │ │ ├── OnEventBuilder.cs │ │ │ ├── OperationStateBuilder.cs │ │ │ ├── RESTAPIFunctionDefinitionBuilder.cs │ │ │ ├── StateDefinitionBuilder.cs │ │ │ ├── StateMachineDefinitionBuilder.cs │ │ │ └── SwitchStateBuilder.cs │ │ ├── Domains │ │ │ ├── Definitions │ │ │ │ ├── BaseEventCondition.cs │ │ │ │ ├── BaseStateMachineDefinitionState.cs │ │ │ │ ├── BaseStateMachineFlowableState.cs │ │ │ │ ├── StateMachineDefinitionAction.cs │ │ │ │ ├── StateMachineDefinitionActionDataFilter.cs │ │ │ │ ├── StateMachineDefinitionAggregate.cs │ │ │ │ ├── StateMachineDefinitionCallbackState.cs │ │ │ │ ├── StateMachineDefinitionDefaultCondition.cs │ │ │ │ ├── StateMachineDefinitionEvent.cs │ │ │ │ ├── StateMachineDefinitionEventDataFilter.cs │ │ │ │ ├── StateMachineDefinitionEventState.cs │ │ │ │ ├── StateMachineDefinitionForeachState.cs │ │ │ │ ├── StateMachineDefinitionFunction.cs │ │ │ │ ├── StateMachineDefinitionFunctionRef.cs │ │ │ │ ├── StateMachineDefinitionInjectState.cs │ │ │ │ ├── StateMachineDefinitionOnEvent.cs │ │ │ │ ├── StateMachineDefinitionOperationState.cs │ │ │ │ ├── StateMachineDefinitionOperationStateAction.cs │ │ │ │ ├── StateMachineDefinitionStartState.cs │ │ │ │ ├── StateMachineDefinitionStatus.cs │ │ │ │ ├── StateMachineDefinitionSwitchDataCondition.cs │ │ │ │ ├── StateMachineDefinitionSwitchEventCondition.cs │ │ │ │ └── StateMachineDefinitionSwitchState.cs │ │ │ ├── Enums │ │ │ │ ├── StateMachineDefinitionActionModes.cs │ │ │ │ ├── StateMachineDefinitionEventConditionTypes.cs │ │ │ │ ├── StateMachineDefinitionEventKinds.cs │ │ │ │ ├── StateMachineDefinitionForeachStateModes.cs │ │ │ │ ├── StateMachineDefinitionStartStateTypes.cs │ │ │ │ ├── StateMachineDefinitionStateTypes.cs │ │ │ │ ├── StateMachineDefinitionTypes.cs │ │ │ │ ├── StateMachineInstanceStateEventStates.cs │ │ │ │ ├── StateMachineInstanceStateStatus.cs │ │ │ │ └── StateMachineInstanceStatus.cs │ │ │ └── Instances │ │ │ │ ├── Events │ │ │ │ ├── StateBlockedEvent.cs │ │ │ │ ├── StateCompletedEvent.cs │ │ │ │ ├── StateEvtConsumedEvent.cs │ │ │ │ ├── StateEvtListenedEvent.cs │ │ │ │ ├── StateFailedEvent.cs │ │ │ │ ├── StateInstanceCreatedEvent.cs │ │ │ │ ├── StateMachineInstanceCreatedEvent.cs │ │ │ │ ├── StateMachineInstanceReactivatedEvent.cs │ │ │ │ ├── StateMachineTerminatedEvent.cs │ │ │ │ ├── StateProcessedEvent.cs │ │ │ │ ├── StateReactivatedEvent.cs │ │ │ │ └── StateStartedEvent.cs │ │ │ │ ├── StateMachineInstanceAggregate.cs │ │ │ │ ├── StateMachineInstanceHistory.cs │ │ │ │ ├── StateMachineInstanceState.cs │ │ │ │ ├── StateMachineInstanceStateEvent.cs │ │ │ │ ├── StateMachineInstanceStateEventOutput.cs │ │ │ │ └── StateMachineInstanceStateHistory.cs │ │ ├── Exceptions │ │ │ ├── BusinessException.cs │ │ │ ├── ConcurrentAccessException.cs │ │ │ ├── OpenAPIException.cs │ │ │ └── ProcessorException.cs │ │ ├── Extensions │ │ │ └── JTokenExtensions.cs │ │ ├── FaasNet.StateMachine.Runtime.csproj │ │ ├── Factories │ │ │ ├── HttpClientFactory.cs │ │ │ └── IHttpClientFactory.cs │ │ ├── IRuntimeEngine.cs │ │ ├── IntegrationEvents │ │ │ └── EventListenedEvent.cs │ │ ├── JSchemas │ │ │ ├── FaasNetJsonSchema.cs │ │ │ ├── FaasNetReferenceResolver.cs │ │ │ ├── JsonSchemaConverter.cs │ │ │ └── ReferenceConverter.cs │ │ ├── OpenAPI │ │ │ ├── IRequestBodyBuilder.cs │ │ │ ├── JsonRequestBodyBuilder.cs │ │ │ └── OpenAPIParser.cs │ │ ├── Processors │ │ │ ├── ActionExecutor.cs │ │ │ ├── Functions │ │ │ │ ├── AsyncApiFunctionProcessor.cs │ │ │ │ └── RestApiFunctionProcessor.cs │ │ │ ├── IActionExecutor.cs │ │ │ ├── IFunctionProcessor.cs │ │ │ ├── IStateProcessor.cs │ │ │ ├── StateProcessorResult.cs │ │ │ └── States │ │ │ │ ├── BaseFlowableStateProcessor.cs │ │ │ │ ├── BaseStateProcessor.cs │ │ │ │ ├── CallbackEventStateProcessor.cs │ │ │ │ ├── EventStateProcessor.cs │ │ │ │ ├── ForeachStateProcessor.cs │ │ │ │ ├── InjectStateProcessor.cs │ │ │ │ ├── OperationStateProcessor.cs │ │ │ │ └── SwitchStateProcessor.cs │ │ ├── Resources │ │ │ ├── Global.Designer.cs │ │ │ └── Global.resx │ │ ├── RuntimeEngine.cs │ │ ├── Serializer │ │ │ ├── ParserExtensions.cs │ │ │ ├── RuntimeSerializer.cs │ │ │ ├── SkipEmptyGraphObjectVisitor.cs │ │ │ ├── TreeNode.cs │ │ │ ├── TreeNodeTypes.cs │ │ │ ├── YamlEnumConverter.cs │ │ │ ├── YamlJObjectConverter.cs │ │ │ └── YamlWorkflowDefinitionStateConverter.cs │ │ ├── ServiceCollectionExtensions.cs │ │ ├── StateMachineInstanceExecutionContext.cs │ │ └── StateMachineRuntimeMeter.cs │ ├── FaasNet.StateMachine.SqlServer.Startup │ │ ├── Controllers │ │ │ ├── AsyncApiController.cs │ │ │ ├── OpenApiController.cs │ │ │ ├── StateMachineInstancesController.cs │ │ │ └── StateMachinesController.cs │ │ ├── FaasNet.StateMachine.SqlServer.Startup.csproj │ │ ├── Infrastructure │ │ │ ├── Filters │ │ │ │ └── FaasNetExceptionFilter.cs │ │ │ ├── YamlInputFormatter.cs │ │ │ └── YamlOutputFormatter.cs │ │ ├── Migrations │ │ │ ├── 20220414120914_Init.Designer.cs │ │ │ ├── 20220414120914_Init.cs │ │ │ └── RuntimeDBContextModelSnapshot.cs │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── RuntimeDBContextMigration.cs │ │ ├── ServerlessWorkflows │ │ │ ├── HelloWorld.yml │ │ │ └── TransformJson.yml │ │ ├── Startup.cs │ │ ├── appsettings.Docker.json │ │ └── appsettings.json │ ├── FaasNet.StateMachine.Worker.EF │ │ ├── Configurations │ │ │ └── CloudEventSubscriptionAggregateConfiguration.cs │ │ ├── FaasNet.StateMachine.Worker.EF.csproj │ │ ├── Persistence │ │ │ └── EFCloudEventSubscriptionRepository.cs │ │ ├── ServerBuilderExtensions.cs │ │ └── WorkerDBContext.cs │ ├── FaasNet.StateMachine.Worker.EventMesh │ │ ├── EventMeshMessageListener.cs │ │ ├── EventMeshOptions.cs │ │ ├── FaasNet.StateMachine.Worker.EventMesh.csproj │ │ └── ServerBuilderExtensions.cs │ ├── FaasNet.StateMachine.Worker │ │ ├── Domains │ │ │ └── CloudEventSubscriptionAggregate.cs │ │ ├── EventConsumerStore.cs │ │ ├── FaasNet.StateMachine.Worker.csproj │ │ ├── Handlers │ │ │ ├── EventListenedEventHandler.cs │ │ │ └── IIntegrationEventHandler.cs │ │ ├── IEventConsumerStore.cs │ │ ├── IIntegrationEventProcessor.cs │ │ ├── IMessageListener.cs │ │ ├── IStateMachineLauncher.cs │ │ ├── IntegrationEventProcessor.cs │ │ ├── Persistence │ │ │ ├── ICloudEventSubscriptionRepository.cs │ │ │ └── InMemoryCloudEventSubscriptionRepository.cs │ │ ├── ServiceCollectionExtensions.cs │ │ ├── StateMachineLauncher.cs │ │ └── StateMachineWorkerOptions.cs │ ├── FaasNet.StateMachine.WorkerHost │ │ ├── EventConsumerHostedService.cs │ │ ├── FaasNet.StateMachine.WorkerHost.csproj │ │ ├── Migrations │ │ │ ├── 20220414121149_Init.Designer.cs │ │ │ ├── 20220414121149_Init.cs │ │ │ └── WorkerDBContextModelSnapshot.cs │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── Protos │ │ │ └── statemachine.proto │ │ ├── Services │ │ │ └── StateMachineInstanceService.cs │ │ ├── Startup.cs │ │ └── appsettings.json │ ├── FaasNet.StateMachineInstance.Persistence.ES │ │ ├── FaasNet.StateMachineInstance.Persistence.ES.csproj │ │ ├── Repositories │ │ │ └── ESStateMachineInstanceRepository.cs │ │ ├── ServerBuilderExtensions.cs │ │ └── StateMachineInstancePersistenceESOptions.cs │ └── FaasNet.StateMachineInstance.Persistence │ │ ├── FaasNet.StateMachineInstance.Persistence.csproj │ │ ├── IStateMachineInstanceRepository.cs │ │ ├── InMemoryStateMachineInstanceRepository.cs │ │ ├── SearchWorkflowInstanceParameter.cs │ │ └── ServerBuilderExtensions.cs └── Templates │ ├── EventMeshServer.Template │ ├── README.txt │ ├── __transpiled │ │ └── AsyncapiEventMeshClient │ │ │ ├── AsyncapiEventMeshClient.csproj.js │ │ │ ├── AsyncapiEventMeshClient.csproj.js.map │ │ │ ├── EvtMeshClient.cs.js │ │ │ ├── EvtMeshClient.cs.js.map │ │ │ └── models │ │ │ ├── model.js │ │ │ └── model.js.map │ ├── examples │ │ ├── pubsub.json │ │ └── stateMachinePub.json │ ├── package-lock.json │ ├── package.json │ ├── pubsub │ │ ├── AsyncapiEventMeshClient │ │ │ ├── AsyncapiEventMeshClient.csproj │ │ │ ├── EvtMeshClient.cs │ │ │ └── models │ │ │ │ └── AnonymousSchema_1.cs │ │ ├── AsyncapiEventMeshClientSolution.sln │ │ └── AsyncapiEventMeshRunner │ │ │ ├── AsyncapiEventMeshRunner.csproj │ │ │ └── Program.cs │ └── template │ │ ├── AsyncapiEventMeshClient │ │ ├── AsyncapiEventMeshClient.csproj.js │ │ ├── EvtMeshClient.cs.js │ │ └── models │ │ │ └── model.js │ │ └── AsyncapiEventMeshClientSolution.sln │ └── FaasNet.Templates │ ├── FaasNet.Templates.csproj │ └── templates │ ├── EventMeshServerInMemory │ ├── .template.config │ │ └── template.json │ ├── EventMeshServerInMemory.csproj │ └── Program.cs │ ├── EventMeshServerKafka │ ├── .template.config │ │ └── template.json │ ├── EventMeshServer.csproj │ └── Program.cs │ ├── EventMeshServerRabbitMQ │ ├── .template.config │ │ └── template.json │ ├── EventMeshServer.csproj │ └── Program.cs │ ├── EventMeshServerUIInMemory │ ├── .template.config │ │ └── template.json │ ├── App.razor │ ├── EventMeshServer.csproj │ ├── Pages │ │ ├── Bridges │ │ │ └── List.razor │ │ ├── Brokers │ │ │ └── List.razor │ │ ├── Clients │ │ │ ├── List.razor │ │ │ ├── Sessions.razor │ │ │ ├── Topics.razor │ │ │ └── View.razor │ │ ├── ServerStatus.razor │ │ └── _Host.cshtml │ ├── Program.cs │ ├── RuntimeHostedService.cs │ ├── ServiceCollectionExtensions.cs │ ├── Services │ │ ├── BreadcrumbState.cs │ │ └── ViewClientState.cs │ ├── Shared │ │ ├── Breadcrumb.razor │ │ ├── Breadcrumb.razor.css │ │ ├── MainLayout.razor │ │ ├── MainLayout.razor.css │ │ ├── NavMenu.razor │ │ ├── NavMenu.razor.css │ │ ├── ServerLayout.razor │ │ └── ViewClientLayout.razor │ ├── Startup.cs │ ├── _Imports.razor │ ├── appsettings.Development.json │ └── appsettings.json │ └── FaasNet.Function │ ├── .template.config │ └── template.json │ ├── Function.csproj │ ├── FunctionHandler.cs │ ├── HelloWorldConfiguration.cs │ ├── Middlewares │ ├── FunctionMiddleware.cs │ └── ResponseMetricMiddleware.cs │ ├── Program.cs │ └── Startup.cs └── tests ├── FaasNet.EventMesh.Runtime.Tests ├── EventMeshMessageSerializerFixture.cs ├── EventMeshRuntimeHostFixture.cs └── FaasNet.EventMesh.Runtime.Tests.csproj ├── FaasNet.RaftConsensus.Tests ├── FaasNet.RaftConsensus.Tests.csproj └── PeerHostFixture.cs └── FaasNet.StateMachine.Core.Tests ├── Controllers ├── AsyncApiController.cs ├── CalculatorController.cs ├── CreditController.cs ├── EmailsController.cs └── GreetingController.cs ├── CustomWebApplicationFactory.cs ├── Domains └── StateMachineInstanceAggregateFixture.cs ├── FaasNet.StateMachine.Core.Tests.csproj ├── FakeStartup.cs ├── RuntimeSerializerFixture.cs └── WorkflowDefinitionFixture.cs /.dockerignore: -------------------------------------------------------------------------------- 1 | **/.classpath 2 | **/.dockerignore 3 | **/.env 4 | **/.git 5 | **/.gitignore 6 | **/.project 7 | **/.settings 8 | **/.toolstarget 9 | **/.vs 10 | **/.vscode 11 | **/*.*proj.user 12 | **/*.dbmdl 13 | **/*.jfm 14 | **/azds.yaml 15 | **/bin 16 | **/charts 17 | **/docker-compose* 18 | **/Dockerfile* 19 | **/node_modules 20 | **/npm-debug.log 21 | **/obj 22 | **/secrets.dev.yaml 23 | **/values.dev.yaml 24 | LICENSE 25 | README.md -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "lib/Coeus"] 2 | path = lib/Coeus 3 | url = https://github.com/simpleidserver/Coeus.git 4 | branch = main 5 | -------------------------------------------------------------------------------- /ApplicationDockerFile: -------------------------------------------------------------------------------- 1 | FROM mcr.microsoft.com/dotnet/aspnet:5.0 2 | 3 | COPY build/results/services/Application/ App/ 4 | 5 | ENV ASPNETCORE_URLS=http://*:5002 6 | EXPOSE 5002 7 | 8 | WORKDIR /App 9 | 10 | ENTRYPOINT ["dotnet", "FaasNet.Application.SqlServer.Startup.dll"] -------------------------------------------------------------------------------- /Directory.Build.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 0.0.6 4 | SimpleIdServer 5 | SimpleIdServer 6 | 7 | -------------------------------------------------------------------------------- /EventMeshDockerFile: -------------------------------------------------------------------------------- 1 | FROM mcr.microsoft.com/dotnet/aspnet:6.0 2 | 3 | COPY build/results/eventMeshService/ App/ 4 | 5 | RUN apt-get update 6 | RUN apt-get --yes --force-yes install libc6-dev libsnappy-dev 7 | 8 | EXPOSE 4000/udp 9 | EXPOSE 5672/tcp 10 | EXPOSE 2803/tcp 11 | 12 | WORKDIR /App 13 | 14 | ENTRYPOINT ["dotnet", "FaasNet.EventMesh.Service.dll"] -------------------------------------------------------------------------------- /FunctionDockerFile: -------------------------------------------------------------------------------- 1 | FROM mcr.microsoft.com/dotnet/aspnet:5.0 2 | 3 | COPY build/results/services/FunctionApi/ App/ 4 | 5 | ENV ASPNETCORE_URLS=http://*:5003 6 | EXPOSE 5003 7 | 8 | WORKDIR /App 9 | 10 | ENTRYPOINT ["dotnet", "FaasNet.Function.SqlServer.Startup.dll"] -------------------------------------------------------------------------------- /GatewayDockerfile: -------------------------------------------------------------------------------- 1 | FROM mcr.microsoft.com/dotnet/aspnet:5.0 2 | 3 | COPY build/results/services/Gateway/ App/ 4 | 5 | ENV ASPNETCORE_URLS=http://*:5006 6 | EXPOSE 5006 7 | 8 | WORKDIR /App 9 | 10 | ENTRYPOINT ["dotnet", "FaasNet.Gateway.Startup.dll"] -------------------------------------------------------------------------------- /KubernetesDockerfile: -------------------------------------------------------------------------------- 1 | FROM mcr.microsoft.com/dotnet/aspnet:5.0 2 | 3 | COPY build/results/services/Kubernetes/ App/ 4 | 5 | ENV ASPNETCORE_URLS=http://*:5010 6 | EXPOSE 5010 7 | 8 | WORKDIR /App 9 | 10 | ENTRYPOINT ["dotnet", "FaasNet.Kubernetes.dll"] -------------------------------------------------------------------------------- /PrometheusDockerfile: -------------------------------------------------------------------------------- 1 | FROM prom/prometheus 2 | 3 | COPY conf/docker/prometheus/ /etc/prometheus/ -------------------------------------------------------------------------------- /RuntimeGetSqlDockerfile: -------------------------------------------------------------------------------- 1 | FROM mcr.microsoft.com/dotnet/aspnet:5.0 2 | 3 | COPY build/results/services/RuntimeGetSql/ App/ 4 | 5 | ENV ASPNETCORE_URLS=http://*:8080 6 | EXPOSE 8080 7 | 8 | WORKDIR /App 9 | 10 | ENTRYPOINT ["dotnet", "FaasNet.Function.GetSql.dll"] -------------------------------------------------------------------------------- /RuntimeTransformDockerfile: -------------------------------------------------------------------------------- 1 | FROM mcr.microsoft.com/dotnet/aspnet:5.0 2 | 3 | COPY build/results/services/RuntimeTransform/ App/ 4 | 5 | ENV ASPNETCORE_URLS=http://*:8080 6 | EXPOSE 8080 7 | 8 | WORKDIR /App 9 | 10 | ENTRYPOINT ["dotnet", "FaasNet.Function.Transform.dll"] -------------------------------------------------------------------------------- /StateMachineDockerFile: -------------------------------------------------------------------------------- 1 | FROM mcr.microsoft.com/dotnet/aspnet:5.0 2 | 3 | COPY build/results/services/StateMachineApi/ App/ 4 | 5 | ENV ASPNETCORE_URLS=http://*:5004 6 | EXPOSE 5004 7 | 8 | WORKDIR /App 9 | 10 | ENTRYPOINT ["dotnet", "FaasNet.StateMachine.SqlServer.Startup.dll"] -------------------------------------------------------------------------------- /WebsiteDockerfile: -------------------------------------------------------------------------------- 1 | FROM nginx 2 | 3 | COPY build/results/docker/Website/ App/ 4 | COPY conf/docker/website/ /etc/nginx/ 5 | 6 | EXPOSE 4200 -------------------------------------------------------------------------------- /conf/docker/prometheus/targets.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "labels": { 4 | "job": "node" 5 | }, 6 | "targets": [ 7 | "test-entry.test.svc.cluster.local" 8 | ] 9 | } 10 | ] -------------------------------------------------------------------------------- /conf/docker/website/nginx.conf: -------------------------------------------------------------------------------- 1 | events{} 2 | http { 3 | include /etc/nginx/mime.types; 4 | server { 5 | listen 4200; 6 | server_name localhost; 7 | root /App; 8 | index index.html; 9 | location / { 10 | try_files $uri $uri/ /index.html; 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /docs/.gitignore: -------------------------------------------------------------------------------- 1 | ############### 2 | # folder # 3 | ############### 4 | /**/DROP/ 5 | /**/TEMP/ 6 | /**/packages/ 7 | /**/bin/ 8 | /**/obj/ 9 | _site 10 | -------------------------------------------------------------------------------- /docs/charts/.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 | -------------------------------------------------------------------------------- /docs/charts/faasnet-0.0.1.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/docs/charts/faasnet-0.0.1.tgz -------------------------------------------------------------------------------- /docs/charts/faasnet-0.0.3.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/docs/charts/faasnet-0.0.3.tgz -------------------------------------------------------------------------------- /docs/charts/faasnet-0.0.4.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/docs/charts/faasnet-0.0.4.tgz -------------------------------------------------------------------------------- /docs/documentation/bigpicture/images/bigpicture1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/docs/documentation/bigpicture/images/bigpicture1.png -------------------------------------------------------------------------------- /docs/documentation/cli/overview.md: -------------------------------------------------------------------------------- 1 | # CLI commands 2 | 3 | The following commands are installed by default: 4 | 5 | ## Basic commands 6 | 7 | * [function](function.md) 8 | * [configuration](configuration.md) -------------------------------------------------------------------------------- /docs/documentation/eventmesh/images/architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/docs/documentation/eventmesh/images/architecture.png -------------------------------------------------------------------------------- /docs/documentation/eventmesh/installserverondocker.md: -------------------------------------------------------------------------------- 1 | # Installing on Docker 2 | 3 | This guide describes how EventMesh peer can be installed on Docker. 4 | 5 | ## Deploy a windows service 6 | 7 | > [!IMPORTANT] 8 | > Docker must be installed on your machine. 9 | 10 | Open a command prompt and execute the following command line. An EventMesh peer will be deployed and listening the port 4000. 11 | 12 | ``` 13 | docker run --name eventmesh -p 4000:4000/udp simpleidserver/faaseventmesh:0.0.6 14 | ``` -------------------------------------------------------------------------------- /docs/documentation/functions/images/manage1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/docs/documentation/functions/images/manage1.png -------------------------------------------------------------------------------- /docs/documentation/functions/images/manage2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/docs/documentation/functions/images/manage2.png -------------------------------------------------------------------------------- /docs/documentation/functions/images/manage3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/docs/documentation/functions/images/manage3.png -------------------------------------------------------------------------------- /docs/documentation/functions/images/manage4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/docs/documentation/functions/images/manage4.png -------------------------------------------------------------------------------- /docs/documentation/functions/images/manage5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/docs/documentation/functions/images/manage5.png -------------------------------------------------------------------------------- /docs/documentation/portal/images/manage1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/docs/documentation/portal/images/manage1.png -------------------------------------------------------------------------------- /docs/documentation/portal/images/manage2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/docs/documentation/portal/images/manage2.png -------------------------------------------------------------------------------- /docs/documentation/portal/images/manage3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/docs/documentation/portal/images/manage3.png -------------------------------------------------------------------------------- /docs/documentation/portal/images/manage4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/docs/documentation/portal/images/manage4.png -------------------------------------------------------------------------------- /docs/documentation/portal/images/manage5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/docs/documentation/portal/images/manage5.png -------------------------------------------------------------------------------- /docs/documentation/serverlessworkflows/images/inject1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/docs/documentation/serverlessworkflows/images/inject1.png -------------------------------------------------------------------------------- /docs/documentation/serverlessworkflows/images/inject2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/docs/documentation/serverlessworkflows/images/inject2.png -------------------------------------------------------------------------------- /docs/documentation/serverlessworkflows/images/inject3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/docs/documentation/serverlessworkflows/images/inject3.png -------------------------------------------------------------------------------- /docs/documentation/serverlessworkflows/images/manage1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/docs/documentation/serverlessworkflows/images/manage1.png -------------------------------------------------------------------------------- /docs/documentation/serverlessworkflows/images/manage2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/docs/documentation/serverlessworkflows/images/manage2.png -------------------------------------------------------------------------------- /docs/documentation/serverlessworkflows/images/manage3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/docs/documentation/serverlessworkflows/images/manage3.png -------------------------------------------------------------------------------- /docs/documentation/serverlessworkflows/images/manage4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/docs/documentation/serverlessworkflows/images/manage4.png -------------------------------------------------------------------------------- /docs/documentation/serverlessworkflows/images/manage5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/docs/documentation/serverlessworkflows/images/manage5.png -------------------------------------------------------------------------------- /docs/documentation/serverlessworkflows/images/restapi1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/docs/documentation/serverlessworkflows/images/restapi1.png -------------------------------------------------------------------------------- /docs/documentation/serverlessworkflows/images/restapi2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/docs/documentation/serverlessworkflows/images/restapi2.png -------------------------------------------------------------------------------- /docs/documentation/serverlessworkflows/images/restapi3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/docs/documentation/serverlessworkflows/images/restapi3.png -------------------------------------------------------------------------------- /docs/documentation/serverlessworkflows/images/restapi4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/docs/documentation/serverlessworkflows/images/restapi4.png -------------------------------------------------------------------------------- /docs/documentation/serverlessworkflows/images/restapi5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/docs/documentation/serverlessworkflows/images/restapi5.png -------------------------------------------------------------------------------- /docs/documentation/serverlessworkflows/images/restapi6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/docs/documentation/serverlessworkflows/images/restapi6.png -------------------------------------------------------------------------------- /docs/documentation/serverlessworkflows/images/switch1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/docs/documentation/serverlessworkflows/images/switch1.png -------------------------------------------------------------------------------- /docs/documentation/serverlessworkflows/images/switch2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/docs/documentation/serverlessworkflows/images/switch2.png -------------------------------------------------------------------------------- /docs/documentation/serverlessworkflows/images/switch3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/docs/documentation/serverlessworkflows/images/switch3.png -------------------------------------------------------------------------------- /docs/documentation/serverlessworkflows/images/switch4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/docs/documentation/serverlessworkflows/images/switch4.png -------------------------------------------------------------------------------- /docs/index.md: -------------------------------------------------------------------------------- 1 | [EventMesh documentation](/FaasNet/documentation/eventmesh/glossary.html) -------------------------------------------------------------------------------- /docs/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/docs/logo.png -------------------------------------------------------------------------------- /docs/toc.yml: -------------------------------------------------------------------------------- 1 | - name: Documentation 2 | href: documentation/ -------------------------------------------------------------------------------- /logos/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/logos/logo.png -------------------------------------------------------------------------------- /private/GetCurrentConfigurationOrDefault.ps1: -------------------------------------------------------------------------------- 1 | function GetCurrentConfigurationOrDefault() { 2 | if ($psake.context.count -gt 0) { 3 | return $psake.context.peek().config 4 | } else { 5 | return $psake.config_default 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /private/GetTasksFromContext.ps1: -------------------------------------------------------------------------------- 1 | function GetTasksFromContext($currentContext) { 2 | 3 | $docs = $currentContext.tasks.Keys | foreach-object { 4 | 5 | $task = $currentContext.tasks.$_ 6 | new-object PSObject -property @{ 7 | Name = $task.Name; 8 | Alias = $task.Alias; 9 | Description = $task.Description; 10 | DependsOn = $task.DependsOn; 11 | } 12 | } 13 | 14 | return $docs 15 | } 16 | -------------------------------------------------------------------------------- /psake: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | # Use greadlink on macOS. 4 | if [ "$(uname)" = "Darwin" ]; then 5 | which greadlink > /dev/null || { 6 | printf 'GNU readlink not found\n' 7 | exit 1 8 | } 9 | alias readlink="greadlink" 10 | fi 11 | 12 | pwsh -NoProfile -Command "& $(dirname "$(readlink -f -- "$0")")/psake.ps1 $@" 13 | -------------------------------------------------------------------------------- /psake.cmd: -------------------------------------------------------------------------------- 1 | @echo off 2 | rem Helper script for those who want to run psake from cmd.exe 3 | rem Example run from cmd.exe: 4 | rem psake "psakefile.ps1" "BuildHelloWord" "4.0" 5 | 6 | if '%1'=='/?' goto help 7 | if '%1'=='-help' goto help 8 | if '%1'=='-h' goto help 9 | 10 | powershell -NoProfile -ExecutionPolicy Bypass -Command "& '%~dp0\psake.ps1' %*" 11 | exit /B %errorlevel% 12 | 13 | :help 14 | powershell -NoProfile -ExecutionPolicy Bypass -Command "& '%~dp0\psake.ps1' -help" 15 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.CLI/Commands/IMenuItemCommand.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace FaasNet.CLI.Commands 4 | { 5 | public interface IMenuItemCommand 6 | { 7 | public string Command { get; } 8 | public string Description { get; } 9 | void Execute(IEnumerable args); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.CLI/Configurations/FaasConfiguration.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.CLI.Configurations 2 | { 3 | public class FaasConfiguration 4 | { 5 | public FaasProviderConfiguration Provider { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.CLI/Configurations/FaasProviderConfiguration.cs: -------------------------------------------------------------------------------- 1 | 2 | namespace FaasNet.CLI.Configurations 3 | { 4 | public class FaasProviderConfiguration 5 | { 6 | public string Name { get; set; } 7 | public string Gateway { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.CLI/DTOs/PublishFunction.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.CLI.DTOs 2 | { 3 | public class PublishFunction 4 | { 5 | public string Name { get; set; } 6 | public string Image { get; set; } 7 | public string Version { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.CLI/DTOs/PublishFunctionResult.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.CLI.DTOs 2 | { 3 | public class PublishFunctionResult 4 | { 5 | public string Id { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.CLI/Files/Dockerfile.txt: -------------------------------------------------------------------------------- 1 | FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build-env 2 | WORKDIR /App 3 | COPY . . 4 | RUN dotnet restore 5 | RUN dotnet publish -o out 6 | 7 | FROM mcr.microsoft.com/dotnet/aspnet:5.0 8 | WORKDIR /App 9 | ENV ASPNETCORE_URLS=http://*:8080 10 | EXPOSE 8080 11 | COPY --from=build-env /App/out . 12 | ENTRYPOINT ["dotnet", "{{ProjectName}}.dll"] -------------------------------------------------------------------------------- /src/Clients/FaasNet.CLI/Parameters/DeployFunctionParameter.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.CLI.Parameters 2 | { 3 | public class DeployFunctionParameter 4 | { 5 | [Parameter("-name", true)] 6 | public string Name { get; set; } 7 | [Parameter("-image", true)] 8 | public string Image { get; set; } 9 | [Parameter("-version", true)] 10 | public string Version { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.CLI/Parameters/InvokeFunctionParameter.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.CLI.Parameters 2 | { 3 | public class InvokeFunctionParameter 4 | { 5 | [Parameter("-id", true)] 6 | public string Id { get; set; } 7 | [Parameter("-configuration", false, "{}")] 8 | public string Configuration { get; set; } 9 | [Parameter("-input", false, "{}")] 10 | public string Input { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.CLI/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "FaasNet.CLI": { 4 | "commandName": "Project", 5 | "commandLineArgs": "function invoke -name test -configuration {'firstName':'coucou'} -input {}" 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /src/Clients/FaasNet.CLI/faasnet.yml: -------------------------------------------------------------------------------- 1 | provider: 2 | name: faasnet 3 | gateway: http://localhost:30001 -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/.editorconfig: -------------------------------------------------------------------------------- 1 | # Editor configuration, see https://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | charset = utf-8 6 | indent_style = space 7 | indent_size = 2 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | 11 | [*.ts] 12 | quote_type = single 13 | 14 | [*.md] 15 | max_line_length = off 16 | trim_trailing_whitespace = false 17 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/Program.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.Website 2 | { 3 | public class Program 4 | { 5 | public static void Main(string[] args) 6 | { 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/app/apis/edit/base-node.model.js: -------------------------------------------------------------------------------- 1 | export class BaseNodeModel { 2 | } 3 | //# sourceMappingURL=base-node.model.js.map -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/app/apis/edit/base-node.model.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"base-node.model.js","sourceRoot":"","sources":["../../../../../src/app/apis/edit/base-node.model.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,aAAa;CAGzB"} -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/app/apis/edit/function-panel/function.model.js: -------------------------------------------------------------------------------- 1 | import { BaseNodeModel } from "../base-node.model"; 2 | export const TYPE = "function"; 3 | export class FunctionModel extends BaseNodeModel { 4 | constructor(content) { 5 | super(); 6 | this.content = content; 7 | this.type = TYPE; 8 | } 9 | } 10 | export class FunctionRecord { 11 | constructor() { 12 | this.info = null; 13 | } 14 | } 15 | //# sourceMappingURL=function.model.js.map -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/app/apis/edit/function-panel/function.model.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"function.model.js","sourceRoot":"","sources":["../../../../../../src/app/apis/edit/function-panel/function.model.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,CAAC,MAAM,IAAI,GAAW,UAAU,CAAC;AAEvC,MAAM,OAAO,aAAc,SAAQ,aAA6B;IAC9D,YAAY,OAAuB;QACjC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED,MAAM,OAAO,cAAc;IAA3B;QACE,SAAI,GAA0B,IAAI,CAAC;IAErC,CAAC;CAAA"} -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/app/domains/edit/editor/editor.component.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"editor.component.js","sourceRoot":"","sources":["../../../../../../src/app/domains/edit/editor/editor.component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAU,MAAM,eAAe,CAAC;AAOlD,IAAa,qBAAqB,GAAlC,MAAa,qBAAqB;IAGhC;QAFA,cAAS,GAAY,KAAK,CAAC;IAEX,CAAC;IAEjB,QAAQ;IACR,CAAC;CACF,CAAA;AAPY,qBAAqB;IALjC,SAAS,CAAC;QACT,QAAQ,EAAE,eAAe;QACzB,WAAW,EAAE,yBAAyB;QACtC,SAAS,EAAE,CAAC,yBAAyB,CAAC;KACvC,CAAC;GACW,qBAAqB,CAOjC;SAPY,qBAAqB"} -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/app/domains/edit/messages/messages.component.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"messages.component.js","sourceRoot":"","sources":["../../../../../../src/app/domains/edit/messages/messages.component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAU,MAAM,eAAe,CAAC;AAMlD,IAAa,uBAAuB,GAApC,MAAa,uBAAuB;IAGlC;QAFA,cAAS,GAAY,KAAK,CAAC;IAEX,CAAC;IAEjB,QAAQ;IACR,CAAC;CACF,CAAA;AAPY,uBAAuB;IAJnC,SAAS,CAAC;QACT,QAAQ,EAAE,iBAAiB;QAC3B,WAAW,EAAE,2BAA2B;KACzC,CAAC;GACW,uBAAuB,CAOnC;SAPY,uBAAuB"} -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/components/asyncapi-editor/models/application.model.js: -------------------------------------------------------------------------------- 1 | export class Application { 2 | constructor() { 3 | this.id = ""; 4 | this.title = null; 5 | this.version = null; 6 | this.description = null; 7 | this.posX = 0; 8 | this.posY = 0; 9 | this.links = []; 10 | } 11 | } 12 | //# sourceMappingURL=application.model.js.map -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/components/asyncapi-editor/models/application.model.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"application.model.js","sourceRoot":"","sources":["../../../../../src/components/asyncapi-editor/models/application.model.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,WAAW;IAAxB;QACE,OAAE,GAAW,EAAE,CAAC;QAChB,UAAK,GAAkB,IAAI,CAAC;QAC5B,YAAO,GAAkB,IAAI,CAAC;QAC9B,gBAAW,GAAkB,IAAI,CAAC;QAClC,SAAI,GAAW,CAAC,CAAC;QACjB,SAAI,GAAW,CAAC,CAAC;QACjB,UAAK,GAAsB,EAAE,CAAC;IAChC,CAAC;CAAA"} -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/components/asyncapi-editor/models/link.model.js: -------------------------------------------------------------------------------- 1 | import { Application } from "./application.model"; 2 | export class ApplicationLink { 3 | constructor() { 4 | this.evts = []; 5 | this.target = new Application(); 6 | } 7 | } 8 | //# sourceMappingURL=link.model.js.map -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/components/asyncapi-editor/models/link.model.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"link.model.js","sourceRoot":"","sources":["../../../../../src/components/asyncapi-editor/models/link.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlD,MAAM,OAAO,eAAe;IAA5B;QACE,SAAI,GAAc,EAAE,CAAC;QACrB,WAAM,GAAgB,IAAI,WAAW,EAAE,CAAC;IAC1C,CAAC;CAAA"} -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/components/asyncapi-editor/models/message.js: -------------------------------------------------------------------------------- 1 | export class Message { 2 | constructor() { 3 | this.name = ""; 4 | this.payload = {}; 5 | } 6 | } 7 | //# sourceMappingURL=message.js.map -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/components/asyncapi-editor/models/message.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"message.js","sourceRoot":"","sources":["../../../../../src/components/asyncapi-editor/models/message.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,OAAO;IAApB;QACE,SAAI,GAAW,EAAE,CAAC;QAClB,YAAO,GAAQ,EAAE,CAAC;IACpB,CAAC;CAAA"} -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/components/asyncapi-editor/models/message.property.js: -------------------------------------------------------------------------------- 1 | export class MessageProperty { 2 | constructor() { 3 | this.name = ""; 4 | this.type = ""; 5 | this.description = ""; 6 | this.children = []; 7 | } 8 | } 9 | //# sourceMappingURL=message.property.js.map -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/components/asyncapi-editor/models/message.property.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"message.property.js","sourceRoot":"","sources":["../../../../../src/components/asyncapi-editor/models/message.property.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,eAAe;IAA5B;QACE,SAAI,GAAW,EAAE,CAAC;QAClB,SAAI,GAAW,EAAE,CAAC;QAClB,gBAAW,GAAW,EAAE,CAAC;QACzB,aAAQ,GAAsB,EAAE,CAAC;IACnC,CAAC;CAAA"} -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/components/loader/loader.module.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"loader.module.js","sourceRoot":"","sources":["../../../../src/components/loader/loader.module.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAYrD,IAAa,YAAY,GAAzB,MAAa,YAAY;CAAI,CAAA;AAAhB,YAAY;IAVxB,QAAQ,CAAC;QACR,OAAO,EAAE,EACR;QACD,YAAY,EAAE;YACZ,eAAe;SAChB;QACD,OAAO,EAAE;YACP,eAAe;SAChB;KACF,CAAC;GACW,YAAY,CAAI;SAAhB,YAAY"} -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/components/matpanel/matpanelcontent.js: -------------------------------------------------------------------------------- 1 | import { EventEmitter } from "@angular/core"; 2 | export class MatPanelContent { 3 | constructor() { 4 | this.onClosed = new EventEmitter(); 5 | } 6 | } 7 | //# sourceMappingURL=matpanelcontent.js.map -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/components/matpanel/matpanelcontent.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"matpanelcontent.js","sourceRoot":"","sources":["../../../../src/components/matpanel/matpanelcontent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,OAAgB,eAAe;IAArC;QAEE,aAAQ,GAAsB,IAAI,YAAY,EAAE,CAAC;IACnD,CAAC;CAAA"} -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/components/monaco-editor/config.js: -------------------------------------------------------------------------------- 1 | import { InjectionToken } from '@angular/core'; 2 | export const NGX_MONACO_EDITOR_CONFIG = new InjectionToken('NGX_MONACO_EDITOR_CONFIG'); 3 | //# sourceMappingURL=config.js.map -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/components/monaco-editor/config.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/components/monaco-editor/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,cAAc,CAAC,0BAA0B,CAAC,CAAC"} -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/components/monaco-editor/types.js: -------------------------------------------------------------------------------- 1 | export {}; 2 | //# sourceMappingURL=types.js.map -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/components/monaco-editor/types.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/components/monaco-editor/types.ts"],"names":[],"mappings":""} -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/environments/environment.docker.js: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | baseUrl: '/', 3 | apiUrl: 'http://localhost:30001', 4 | }; 5 | //# sourceMappingURL=environment.docker.js.map -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/environments/environment.docker.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"environment.docker.js","sourceRoot":"","sources":["../../../src/environments/environment.docker.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,OAAO,EAAE,GAAG;IACZ,MAAM,EAAE,wBAAwB;CACjC,CAAC"} -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/environments/environment.js: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | baseUrl: '/', 3 | apiUrl: 'http://localhost:5006', 4 | }; 5 | //# sourceMappingURL=environment.js.map -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/environments/environment.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"environment.js","sourceRoot":"","sources":["../../../src/environments/environment.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,OAAO,EAAE,GAAG;IACZ,MAAM,EAAE,uBAAuB;CAChC,CAAC"} -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/main.js: -------------------------------------------------------------------------------- 1 | import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; 2 | import { AppModule } from './app/app.module'; 3 | platformBrowserDynamic().bootstrapModule(AppModule) 4 | .catch(err => console.error(err)); 5 | //# sourceMappingURL=main.js.map -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/main.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,sBAAsB,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC;KAChD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC"} -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/polyfills.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"polyfills.js","sourceRoot":"","sources":["../../src/polyfills.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;GAEG;AAEH;;GAEG;AACH,oEAAoE;AAEpE;;;;GAIG;AACH,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH;;GAEG;AACH,OAAO,SAAS,CAAC,CAAE,6BAA6B;AAGhD;;GAEG"} -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/stores/application/models/applicationdomain.model.js: -------------------------------------------------------------------------------- 1 | export class ApplicationDomainResult { 2 | constructor() { 3 | this.id = ""; 4 | this.name = ""; 5 | this.description = ""; 6 | this.rootTopic = ""; 7 | } 8 | } 9 | //# sourceMappingURL=applicationdomain.model.js.map -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/stores/application/models/applicationdomain.model.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"applicationdomain.model.js","sourceRoot":"","sources":["../../../../../src/stores/application/models/applicationdomain.model.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,uBAAuB;IAApC;QACE,OAAE,GAAW,EAAE,CAAC;QAChB,SAAI,GAAW,EAAE,CAAC;QAClB,gBAAW,GAAW,EAAE,CAAC;QACzB,cAAS,GAAW,EAAE,CAAC;IAGzB,CAAC;CAAA"} -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/stores/common/prometheus-query.model.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"prometheus-query.model.js","sourceRoot":"","sources":["../../../../src/stores/common/prometheus-query.model.ts"],"names":[],"mappings":"AAAA,MAAM,yBAAyB;CAG9B;AAED,MAAM,OAAO,oBAAoB;IAC/B;QACE,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACnB,CAAC;CAIF;AAED,MAAM,OAAO,2BAA2B;CAGvC;AAED,MAAM,OAAO,sBAAsB;CAGlC;AAGD,MAAM,OAAO,sBAAsB;CAGlC;AAGD,MAAM,OAAO,0BAA2B,SAAQ,yBAAsD;CACrG;AAED,MAAM,OAAO,qBAAsB,SAAQ,yBAAiD;CAC3F"} -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/stores/common/search.model.js: -------------------------------------------------------------------------------- 1 | export class SearchResult { 2 | constructor() { 3 | this.content = []; 4 | } 5 | } 6 | //# sourceMappingURL=search.model.js.map -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/stores/common/search.model.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"search.model.js","sourceRoot":"","sources":["../../../../src/stores/common/search.model.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,YAAY;IAEvB;QACE,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;CAMF"} -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/stores/functions/models/function-details.model.js: -------------------------------------------------------------------------------- 1 | export class FunctionDetailsResult { 2 | constructor() { 3 | this.pods = []; 4 | } 5 | } 6 | export class FunctionPodResult { 7 | } 8 | //# sourceMappingURL=function-details.model.js.map -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/stores/functions/models/function-details.model.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"function-details.model.js","sourceRoot":"","sources":["../../../../../src/stores/functions/models/function-details.model.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,qBAAqB;IAAlC;QACE,SAAI,GAAwB,EAAE,CAAC;IACjC,CAAC;CAAA;AAED,MAAM,OAAO,iBAAiB;CAI7B"} -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/stores/functions/models/function.model.js: -------------------------------------------------------------------------------- 1 | export class FunctionResult { 2 | } 3 | //# sourceMappingURL=function.model.js.map -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/stores/functions/models/function.model.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"function.model.js","sourceRoot":"","sources":["../../../../../src/stores/functions/models/function.model.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,cAAc;CAQ1B"} -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/stores/server/actions/server.actions.js: -------------------------------------------------------------------------------- 1 | import { createAction, props } from '@ngrx/store'; 2 | export const startGetServerStatus = createAction('[SERVER] START_GET_STATUS'); 3 | export const completeGetServerStatus = createAction('[SERVER] COMPLETE_GET_STATUS', props()); 4 | export const errorGetServerStatus = createAction('[SERVER] ERROR_GET_STATUS'); 5 | //# sourceMappingURL=server.actions.js.map -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/stores/server/actions/server.actions.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"server.actions.js","sourceRoot":"","sources":["../../../../../src/stores/server/actions/server.actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGlD,MAAM,CAAC,MAAM,oBAAoB,GAAG,YAAY,CAAC,2BAA2B,CAAC,CAAC;AAC9E,MAAM,CAAC,MAAM,uBAAuB,GAAG,YAAY,CAAC,8BAA8B,EAAE,KAAK,EAAoC,CAAC,CAAC;AAC/H,MAAM,CAAC,MAAM,oBAAoB,GAAG,YAAY,CAAC,2BAA2B,CAAC,CAAC"} -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/stores/server/models/serverstatus.model.js: -------------------------------------------------------------------------------- 1 | export class ServerStatusResult { 2 | constructor() { 3 | this.isRunning = false; 4 | } 5 | } 6 | //# sourceMappingURL=serverstatus.model.js.map -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/stores/server/models/serverstatus.model.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"serverstatus.model.js","sourceRoot":"","sources":["../../../../../src/stores/server/models/serverstatus.model.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,kBAAkB;IAA/B;QACE,cAAS,GAAY,KAAK,CAAC;IAC7B,CAAC;CAAA"} -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/stores/statemachineinstances/models/instancestate.model.js: -------------------------------------------------------------------------------- 1 | export class InstanceState { 2 | constructor() { 3 | this.id = ""; 4 | this.defId = ""; 5 | this.status = ""; 6 | this.events = []; 7 | this.events = []; 8 | } 9 | } 10 | //# sourceMappingURL=instancestate.model.js.map -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/stores/statemachineinstances/models/instancestate.model.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"instancestate.model.js","sourceRoot":"","sources":["../../../../../src/stores/statemachineinstances/models/instancestate.model.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,aAAa;IACxB;QAIA,OAAE,GAAW,EAAE,CAAC;QAChB,UAAK,GAAW,EAAE,CAAC;QACnB,WAAM,GAAW,EAAE,CAAC;QAGpB,WAAM,GAAyB,EAAE,CAAC;QARhC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACnB,CAAC;CAQF"} -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/stores/statemachineinstances/models/instancestateevent.model.js: -------------------------------------------------------------------------------- 1 | export class InstanceStateEvent { 2 | constructor() { 3 | this.name = ""; 4 | this.source = ""; 5 | this.type = ""; 6 | } 7 | } 8 | //# sourceMappingURL=instancestateevent.model.js.map -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/stores/statemachineinstances/models/instancestateevent.model.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"instancestateevent.model.js","sourceRoot":"","sources":["../../../../../src/stores/statemachineinstances/models/instancestateevent.model.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,kBAAkB;IAA/B;QACE,SAAI,GAAW,EAAE,CAAC;QAClB,WAAM,GAAW,EAAE,CAAC;QACpB,SAAI,GAAW,EAAE,CAAC;IAEpB,CAAC;CAAA"} -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/stores/statemachineinstances/models/statemachineinstance-details.model.js: -------------------------------------------------------------------------------- 1 | export class StateMachineInstanceDetails { 2 | constructor() { 3 | this.id = ""; 4 | this.workflowDefId = ""; 5 | this.workflowDefName = ""; 6 | this.workflowDefDescription = ""; 7 | this.status = ""; 8 | this.states = []; 9 | } 10 | } 11 | //# sourceMappingURL=statemachineinstance-details.model.js.map -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/stores/statemachineinstances/models/statemachineinstance-details.model.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"statemachineinstance-details.model.js","sourceRoot":"","sources":["../../../../../src/stores/statemachineinstances/models/statemachineinstance-details.model.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,2BAA2B;IAAxC;QACE,OAAE,GAAW,EAAE,CAAC;QAChB,kBAAa,GAAW,EAAE,CAAC;QAC3B,oBAAe,GAAW,EAAE,CAAC;QAC7B,2BAAsB,GAAW,EAAE,CAAC;QACpC,WAAM,GAAW,EAAE,CAAC;QAGpB,WAAM,GAAoB,EAAE,CAAC;IAC/B,CAAC;CAAA"} -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/stores/statemachineinstances/models/statemachineinstance.model.js: -------------------------------------------------------------------------------- 1 | export class StateMachineInstance { 2 | constructor() { 3 | this.id = ""; 4 | this.workflowDefTechnicalId = ""; 5 | this.workflowDefId = ""; 6 | this.workflowDefName = ""; 7 | this.workflowDefVersion = 0; 8 | this.workflowDefDescription = ""; 9 | this.status = ""; 10 | } 11 | } 12 | //# sourceMappingURL=statemachineinstance.model.js.map -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/stores/statemachineinstances/models/statemachineinstance.model.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"statemachineinstance.model.js","sourceRoot":"","sources":["../../../../../src/stores/statemachineinstances/models/statemachineinstance.model.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,oBAAoB;IAAjC;QACE,OAAE,GAAW,EAAE,CAAC;QAChB,2BAAsB,GAAW,EAAE,CAAC;QACpC,kBAAa,GAAW,EAAE,CAAC;QAC3B,oBAAe,GAAW,EAAE,CAAC;QAC7B,uBAAkB,GAAW,CAAC,CAAC;QAC/B,2BAAsB,GAAW,EAAE,CAAC;QACpC,WAAM,GAAW,EAAE,CAAC;IAEtB,CAAC;CAAA"} -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/stores/statemachines/models/operation-types.model.js: -------------------------------------------------------------------------------- 1 | export class OperationTypes { 2 | } 3 | OperationTypes.AsyncApi = "asyncapi"; 4 | OperationTypes.Rest = "rest"; 5 | OperationTypes.Custom = "custom"; 6 | //# sourceMappingURL=operation-types.model.js.map -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/stores/statemachines/models/operation-types.model.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"operation-types.model.js","sourceRoot":"","sources":["../../../../../src/stores/statemachines/models/operation-types.model.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,cAAc;;AACX,uBAAQ,GAAW,UAAU,CAAC;AAC9B,mBAAI,GAAW,MAAM,CAAC;AACtB,qBAAM,GAAW,QAAQ,CAAC"} -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/stores/statemachines/models/statemachine.model.js: -------------------------------------------------------------------------------- 1 | export class StateMachine { 2 | constructor() { 3 | this.technicalId = ""; 4 | this.id = ""; 5 | this.version = ""; 6 | this.name = ""; 7 | this.description = ""; 8 | this.createDateTime = null; 9 | this.updateDateTime = null; 10 | } 11 | } 12 | //# sourceMappingURL=statemachine.model.js.map -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/stores/statemachines/models/statemachine.model.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"statemachine.model.js","sourceRoot":"","sources":["../../../../../src/stores/statemachines/models/statemachine.model.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,YAAY;IAAzB;QACE,gBAAW,GAAW,EAAE,CAAC;QACzB,OAAE,GAAW,EAAE,CAAC;QAChB,YAAO,GAAW,EAAE,CAAC;QACrB,SAAI,GAAW,EAAE,CAAC;QAClB,gBAAW,GAAW,EAAE,CAAC;QACzB,mBAAc,GAAgB,IAAI,CAAC;QACnC,mBAAc,GAAgB,IAAI,CAAC;IACrC,CAAC;CAAA"} -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/stores/statemachines/models/statemachineadded.model.js: -------------------------------------------------------------------------------- 1 | export class StateMachineAdded { 2 | constructor() { 3 | this.id = ""; 4 | } 5 | } 6 | //# sourceMappingURL=statemachineadded.model.js.map -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/stores/statemachines/models/statemachineadded.model.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"statemachineadded.model.js","sourceRoot":"","sources":["../../../../../src/stores/statemachines/models/statemachineadded.model.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,iBAAiB;IAA9B;QACE,OAAE,GAAW,EAAE,CAAC;IAElB,CAAC;CAAA"} -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/stores/vpn/models/appdomain.model.js: -------------------------------------------------------------------------------- 1 | export class AppDomainResult { 2 | constructor() { 3 | this.id = ""; 4 | this.name = ""; 5 | this.description = ""; 6 | this.rootTopic = ""; 7 | this.createDateTime = null; 8 | this.updateDateTime = null; 9 | } 10 | } 11 | //# sourceMappingURL=appdomain.model.js.map -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/stores/vpn/models/appdomain.model.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"appdomain.model.js","sourceRoot":"","sources":["../../../../../src/stores/vpn/models/appdomain.model.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,eAAe;IAA5B;QACE,OAAE,GAAW,EAAE,CAAC;QAChB,SAAI,GAAW,EAAE,CAAC;QAClB,gBAAW,GAAW,EAAE,CAAC;QACzB,cAAS,GAAW,EAAE,CAAC;QACvB,mBAAc,GAAgB,IAAI,CAAC;QACnC,mBAAc,GAAgB,IAAI,CAAC;IACrC,CAAC;CAAA"} -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/stores/vpn/models/applicationdomainadded.model.js: -------------------------------------------------------------------------------- 1 | export class ApplicationDomainAddedResult { 2 | constructor() { 3 | this.id = ""; 4 | } 5 | } 6 | //# sourceMappingURL=applicationdomainadded.model.js.map -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/stores/vpn/models/applicationdomainadded.model.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"applicationdomainadded.model.js","sourceRoot":"","sources":["../../../../../src/stores/vpn/models/applicationdomainadded.model.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,4BAA4B;IAAzC;QACE,OAAE,GAAW,EAAE,CAAC;IAClB,CAAC;CAAA"} -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/stores/vpn/models/client.model.js: -------------------------------------------------------------------------------- 1 | export class ClientResult { 2 | constructor() { 3 | this.clientId = ""; 4 | this.createDateTime = null; 5 | this.purposes = []; 6 | this.sessions = []; 7 | } 8 | } 9 | //# sourceMappingURL=client.model.js.map -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/stores/vpn/models/client.model.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"client.model.js","sourceRoot":"","sources":["../../../../../src/stores/vpn/models/client.model.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,YAAY;IAAzB;QACE,aAAQ,GAAW,EAAE,CAAC;QACtB,mBAAc,GAAgB,IAAI,CAAC;QACnC,aAAQ,GAAa,EAAE,CAAC;QACxB,aAAQ,GAA0B,EAAE,CAAC;IACvC,CAAC;CAAA"} -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/stores/vpn/models/clientsession.model.js: -------------------------------------------------------------------------------- 1 | export class ClientSessionResult { 2 | constructor() { 3 | this.pid = 0; 4 | this.purpose = 0; 5 | this.bufferCloudEvents = 0; 6 | this.state = 0; 7 | this.type = 0; 8 | this.topics = []; 9 | } 10 | } 11 | //# sourceMappingURL=clientsession.model.js.map -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/stores/vpn/models/clientsession.model.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"clientsession.model.js","sourceRoot":"","sources":["../../../../../src/stores/vpn/models/clientsession.model.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,mBAAmB;IAAhC;QACE,QAAG,GAAW,CAAC,CAAC;QAChB,YAAO,GAAW,CAAC,CAAC;QACpB,sBAAiB,GAAW,CAAC,CAAC;QAC9B,UAAK,GAAW,CAAC,CAAC;QAClB,SAAI,GAAW,CAAC,CAAC;QAEjB,WAAM,GAAkB,EAAE,CAAC;IAC7B,CAAC;CAAA"} -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/stores/vpn/models/messagedefinition.model.js: -------------------------------------------------------------------------------- 1 | export class MessageDefinitionResult { 2 | constructor() { 3 | this.id = ""; 4 | this.name = ""; 5 | this.description = ""; 6 | this.version = 0; 7 | this.createDateTime = null; 8 | this.updateDateTime = null; 9 | this.jsonSchema = ""; 10 | } 11 | } 12 | //# sourceMappingURL=messagedefinition.model.js.map -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/stores/vpn/models/messagedefinition.model.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"messagedefinition.model.js","sourceRoot":"","sources":["../../../../../src/stores/vpn/models/messagedefinition.model.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,uBAAuB;IAApC;QACE,OAAE,GAAW,EAAE,CAAC;QAChB,SAAI,GAAW,EAAE,CAAC;QAClB,gBAAW,GAAW,EAAE,CAAC;QACzB,YAAO,GAAW,CAAC,CAAC;QACpB,mBAAc,GAAgB,IAAI,CAAC;QACnC,mBAAc,GAAgB,IAAI,CAAC;QACnC,eAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA"} -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/stores/vpn/models/messagedefinitionadded.model.js: -------------------------------------------------------------------------------- 1 | export class MessageDefinitionAddedResult { 2 | constructor() { 3 | this.id = ""; 4 | } 5 | } 6 | //# sourceMappingURL=messagedefinitionadded.model.js.map -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/stores/vpn/models/messagedefinitionadded.model.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"messagedefinitionadded.model.js","sourceRoot":"","sources":["../../../../../src/stores/vpn/models/messagedefinitionadded.model.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,4BAA4B;IAAzC;QACE,OAAE,GAAW,EAAE,CAAC;IAClB,CAAC;CAAA"} -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/stores/vpn/models/topic.model.js: -------------------------------------------------------------------------------- 1 | export class TopicResult { 2 | constructor() { 3 | this.brokerName = ""; 4 | this.name = ""; 5 | } 6 | } 7 | //# sourceMappingURL=topic.model.js.map -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/stores/vpn/models/topic.model.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"topic.model.js","sourceRoot":"","sources":["../../../../../src/stores/vpn/models/topic.model.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,WAAW;IAAxB;QACE,eAAU,GAAW,EAAE,CAAC;QACxB,SAAI,GAAW,EAAE,CAAC;IACpB,CAAC;CAAA"} -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/stores/vpn/models/vpn.model.js: -------------------------------------------------------------------------------- 1 | export class VpnResult { 2 | constructor() { 3 | this.name = ""; 4 | this.description = ""; 5 | this.createDateTime = null; 6 | this.updateDateTime = null; 7 | } 8 | } 9 | //# sourceMappingURL=vpn.model.js.map -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/dist/out-tsc/stores/vpn/models/vpn.model.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"vpn.model.js","sourceRoot":"","sources":["../../../../../src/stores/vpn/models/vpn.model.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,SAAS;IAAtB;QACE,SAAI,GAAW,EAAE,CAAC;QAClB,gBAAW,GAAW,EAAE,CAAC;QACzB,mBAAc,GAAgB,IAAI,CAAC;QACnC,mBAAc,GAAgB,IAAI,CAAC;IACrC,CAAC;CAAA"} -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/app/eventmeshlogs/eventmeshlogging.component.scss: -------------------------------------------------------------------------------- 1 | .kibana-frame { 2 | height: 600px; 3 | width: 100%; 4 | margin-top: 20px; 5 | } 6 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/app/eventmeshlogs/eventmeshlogging.routes.ts: -------------------------------------------------------------------------------- 1 | import { RouterModule, Routes } from '@angular/router'; 2 | import { EventMeshLoggingComponent } from './eventmeshlogging.component'; 3 | const routes: Routes = [ 4 | { 5 | path: '', 6 | component: EventMeshLoggingComponent 7 | } 8 | ]; 9 | 10 | export const EventMeshLoggingRoutes = RouterModule.forChild(routes); 11 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/app/functions/function-rendering/array/array-rendering.component.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | display: contents !important; 3 | } 4 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/app/functions/function-rendering/function-rendering.component.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/app/functions/function-rendering/function-rendering.component.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | display: contents; 3 | } 4 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/app/functions/function-rendering/string/string-rendering.component.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | {{ option.Translations | translateobj }} 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/app/functions/function-rendering/string/string-rendering.component.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | display: contents !important; 3 | } 4 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/app/functions/view/monitoring/monitoring.component.scss: -------------------------------------------------------------------------------- 1 | .form-periods .form-control { 2 | display: inline-block; 3 | } 4 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/app/pipes/pipemodule.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | import { SafePipe } from './safe.pipe'; 3 | 4 | @NgModule({ 5 | declarations: [ 6 | SafePipe 7 | ], 8 | exports: [ 9 | SafePipe 10 | ] 11 | }) 12 | 13 | export class PipeModule { } 14 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/app/pipes/safe.pipe.ts: -------------------------------------------------------------------------------- 1 | import { Pipe, PipeTransform } from '@angular/core'; 2 | import { DomSanitizer } from '@angular/platform-browser'; 3 | 4 | @Pipe({ name: 'safe' }) 5 | export class SafePipe implements PipeTransform { 6 | constructor(private domSanitizer: DomSanitizer) { } 7 | transform(url : any) { 8 | return this.domSanitizer.bypassSecurityTrustResourceUrl(url); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/app/statemachineinstances/list/list.component.scss: -------------------------------------------------------------------------------- 1 | .mat-column-actions { 2 | flex: none; 3 | width: 50px; 4 | } 5 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/app/statemachineinstances/view/view.component.scss: -------------------------------------------------------------------------------- 1 | ::ng-deep { 2 | .view .statediagram { 3 | top: 110px !important; 4 | } 5 | } 6 | 7 | ul.stateMachineActions { 8 | margin: 0; 9 | padding: 0; 10 | } 11 | 12 | ul.stateMachineActions > li { 13 | display: inline-block; 14 | } 15 | 16 | ul.stateMachineActions > li { 17 | margin-right: 5px; 18 | } 19 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/app/statemachinelogs/statemachinelogging.component.scss: -------------------------------------------------------------------------------- 1 | .kibana-frame { 2 | height: 600px; 3 | width: 100%; 4 | margin-top: 20px; 5 | } 6 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/app/statemachinelogs/statemachinelogging.routes.ts: -------------------------------------------------------------------------------- 1 | import { RouterModule, Routes } from '@angular/router'; 2 | import { StateMachineLoggingComponent } from './statemachinelogging.component'; 3 | const routes: Routes = [ 4 | { 5 | path: '', 6 | component: StateMachineLoggingComponent 7 | } 8 | ]; 9 | 10 | export const StateMachineLoggingRoutes = RouterModule.forChild(routes); 11 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/app/statemachines/edit/asyncapi/asyncapieditor.component.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/app/statemachines/edit/asyncapi/asyncapieditor.component.scss: -------------------------------------------------------------------------------- 1 | .actions { 2 | position: absolute; 3 | left: 0px; 4 | top: 135px; 5 | right: 0px; 6 | background-color: white; 7 | } 8 | 9 | ::ng-deep { 10 | .edit .asyncapieditor { 11 | top: 105px !important; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/app/statemachines/edit/functionseditor/functionseditor.component.scss: -------------------------------------------------------------------------------- 1 | $border-color: #d6d2d2; 2 | 3 | .firstColumn { 4 | padding-right: 5px; 5 | border-right: 1px solid $border-color; 6 | } 7 | 8 | .secondColumn { 9 | padding-left: 5px; 10 | } 11 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/app/statemachines/edit/info/info.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/src/Clients/FaasNet.Website/src/app/statemachines/edit/info/info.component.scss -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/app/statemachines/edit/json/json.component.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/app/statemachines/edit/json/json.component.scss: -------------------------------------------------------------------------------- 1 | ::ng-deep { 2 | .json-editor { 3 | .editor-container.medium { 4 | height: 800px !important; 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/app/statemachines/edit/messages/messageseditor.component.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/app/statemachines/edit/messages/messageseditor.component.ts: -------------------------------------------------------------------------------- 1 | import { Component, Input } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'messageseditor-statemachine', 5 | templateUrl: './messageseditor.component.html' 6 | }) 7 | export class StateMachineMessagesEditorComponent { 8 | @Input() appDomainId: string | undefined = ""; 9 | 10 | constructor() { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/app/statemachines/edit/yaml/yaml.component.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/app/statemachines/edit/yaml/yaml.component.scss: -------------------------------------------------------------------------------- 1 | ::ng-deep { 2 | .yaml-editor { 3 | .editor-container.medium { 4 | height: 800px !important; 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/app/status/status.component.scss: -------------------------------------------------------------------------------- 1 | .information { 2 | padding: 10px; 3 | } 4 | 5 | .stopped { 6 | background-color: red !important; 7 | color: white !important; 8 | } 9 | 10 | .running { 11 | background-color: green !important; 12 | color: white !important; 13 | } 14 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/app/vpns/list/list.component.scss: -------------------------------------------------------------------------------- 1 | .mat-column-actions { 2 | flex: none; 3 | width: 50px; 4 | } 5 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/app/vpns/view/appdomains/appdomains.component.scss: -------------------------------------------------------------------------------- 1 | .mat-column-actions { 2 | flex: none; 3 | width: 50px; 4 | } 5 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/app/vpns/view/appdomains/view/editor/editor.component.html: -------------------------------------------------------------------------------- 1 | 2 | {{ 'shared.save' | translate }} 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/app/vpns/view/appdomains/view/editor/editor.component.scss: -------------------------------------------------------------------------------- 1 | .actions { 2 | position: absolute; 3 | left: 0px; 4 | top: 135px; 5 | right: 0px; 6 | background-color: white; 7 | } 8 | 9 | ::ng-deep { 10 | .edit .asyncapieditor { 11 | top: 192px !important; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/app/vpns/view/appdomains/view/messages/messageseditor.component.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/app/vpns/view/clients/clients.component.scss: -------------------------------------------------------------------------------- 1 | .mat-column-actions { 2 | flex: none; 3 | width: 50px; 4 | } 5 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/assets/images/json.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/src/Clients/FaasNet.Website/src/assets/images/json.png -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/assets/images/lambda.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/src/Clients/FaasNet.Website/src/assets/images/lambda.png -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/assets/images/marker-selected.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/assets/images/marker.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/assets/images/tile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/src/Clients/FaasNet.Website/src/assets/images/tile.png -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/assets/images/yaml.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/src/Clients/FaasNet.Website/src/assets/images/yaml.png -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/components/asyncapi-editor/components/application/application-editor.component.scss: -------------------------------------------------------------------------------- 1 | .client input { 2 | cursor: pointer; 3 | } 4 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/components/asyncapi-editor/components/editor.component.scss: -------------------------------------------------------------------------------- 1 | $background: whitesmoke; 2 | 3 | .property-title { 4 | padding: 10px 0px 10px 5px !important; 5 | margin-left: 5px; 6 | margin: 0px 0px 0px 2px !important; 7 | background-color: $background; 8 | position: relative; 9 | } 10 | 11 | .property-title > span { 12 | position: absolute; 13 | right: 0px; 14 | top: 10px; 15 | cursor: pointer; 16 | } 17 | 18 | 19 | .text-center { 20 | text-align: center; 21 | } 22 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/components/asyncapi-editor/components/link/link-editor.component.scss: -------------------------------------------------------------------------------- 1 | .messages input { 2 | cursor: pointer; 3 | } 4 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/components/asyncapi-editor/models/message.property.ts: -------------------------------------------------------------------------------- 1 | export class MessageProperty { 2 | name: string = ""; 3 | type: string = ""; 4 | description: string = ""; 5 | children: MessageProperty[] = []; 6 | } 7 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/components/asyncapi-editor/viewasyncapi.component.html: -------------------------------------------------------------------------------- 1 | 2 | ASYNCAPI 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/components/asyncapi-editor/viewasyncapi.component.scss: -------------------------------------------------------------------------------- 1 | ::ng-deep { 2 | .asyncapi-editor { 3 | .editor-container.medium { 4 | height: 800px !important; 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/components/loader/loader.component.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Loading... 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/components/loader/loader.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | import { LoaderComponent } from './loader.component'; 3 | 4 | @NgModule({ 5 | imports: [ 6 | ], 7 | declarations: [ 8 | LoaderComponent 9 | ], 10 | exports: [ 11 | LoaderComponent 12 | ] 13 | }) 14 | export class LoaderModule { } 15 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/components/matpanel/matpanel.component.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | close 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/components/matpanel/matpanelcontent.ts: -------------------------------------------------------------------------------- 1 | import { EventEmitter } from "@angular/core"; 2 | 3 | export abstract class MatPanelContent { 4 | abstract init(evt: any): void; 5 | onClosed: EventEmitter = new EventEmitter(); 6 | } 7 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/components/messages/messages.component.scss: -------------------------------------------------------------------------------- 1 | .messages { 2 | margin-top: 10px; 3 | } 4 | 5 | .mat-column-actions { 6 | flex: none; 7 | width: 100px; 8 | } 9 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/components/monaco-editor/config.ts: -------------------------------------------------------------------------------- 1 | import { InjectionToken } from '@angular/core'; 2 | 3 | export const NGX_MONACO_EDITOR_CONFIG = new InjectionToken('NGX_MONACO_EDITOR_CONFIG'); 4 | 5 | export interface NgxMonacoEditorConfig { 6 | baseUrl?: string; 7 | defaultOptions?: { [key: string]: any; }; 8 | onMonacoLoad?: Function; 9 | } 10 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/components/monaco-editor/monaco-editor.component.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/components/monaco-editor/monaco-editor.component.scss: -------------------------------------------------------------------------------- 1 | .editor-container { 2 | border: 1px solid gray; 3 | } 4 | 5 | .editor-container.singleLine { 6 | height: 24px; 7 | } 8 | 9 | .editor-container.medium { 10 | height: 200px; 11 | } 12 | 13 | .editor-container.large { 14 | height: 400px; 15 | } 16 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/components/monaco-editor/types.ts: -------------------------------------------------------------------------------- 1 | export interface DiffEditorModel { 2 | code: string; 3 | language: string; 4 | } 5 | export interface NgxEditorModel { 6 | value: string; 7 | language?: string; 8 | uri?: any; 9 | } 10 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/components/statediagram/components/datacondition/datacondition.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/src/Clients/FaasNet.Website/src/components/statediagram/components/datacondition/datacondition.component.scss -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/components/statediagram/components/defaultcondition/defaultcondition.component.html: -------------------------------------------------------------------------------- 1 | 2 | Default Condition 3 | 4 | close 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/components/statediagram/components/defaultcondition/defaultcondition.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/src/Clients/FaasNet.Website/src/components/statediagram/components/defaultcondition/defaultcondition.component.scss -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/components/statediagram/components/defaultcondition/defaultcondition.component.ts: -------------------------------------------------------------------------------- 1 | import { Component, EventEmitter, Output } from "@angular/core"; 2 | 3 | @Component({ 4 | selector: 'defaultcondition-editor', 5 | templateUrl: './defaultcondition.component.html', 6 | styleUrls: ['../state-editor.component.scss'] 7 | }) 8 | export class DefaultConditionComponent { 9 | @Output() closed: EventEmitter = new EventEmitter(); 10 | close() { 11 | this.closed.emit(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/components/statediagram/components/evtcondition/chooseevt.component.scss: -------------------------------------------------------------------------------- 1 | $border-color: #c1c1c1; 2 | 3 | #choose-evt .firstColumn { 4 | padding-right: 10px; 5 | border-right: 1px solid $border-color; 6 | } 7 | 8 | #choose-evt .secondColumn { 9 | padding-left: 10px; 10 | } 11 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/components/statediagram/components/evtcondition/evtcondition.component.scss: -------------------------------------------------------------------------------- 1 | $border-color: #c1c1c1; 2 | 3 | .evtref { 4 | border: 1px solid $border-color; 5 | height: 30px; 6 | line-height: 30px; 7 | cursor: pointer; 8 | } 9 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/components/statediagram/components/expressioneditor/expressioneditor.component.scss: -------------------------------------------------------------------------------- 1 | $border-color: #d6d2d2; 2 | $separation: 5px; 3 | 4 | .firstPanel { 5 | margin-right: $separation; 6 | } 7 | 8 | .secondPanel { 9 | border-left: 1px solid $border-color; 10 | margin-left: $separation; 11 | } 12 | 13 | #jsonContainer { 14 | min-height: 300px; 15 | } 16 | 17 | .mat-dialog-content { 18 | overflow: hidden; 19 | } 20 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/components/statediagram/components/inject/inject-state-editor.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/src/Clients/FaasNet.Website/src/components/statediagram/components/inject/inject-state-editor.component.scss -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/components/statediagram/components/operation/actionseditor.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/src/Clients/FaasNet.Website/src/components/statediagram/components/operation/actionseditor.component.scss -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/components/statediagram/components/operation/operation-state-editor.component.scss: -------------------------------------------------------------------------------- 1 | $border-color: #c1c1c1; 2 | 3 | .actions { 4 | border: 1px solid $border-color; 5 | height: 30px; 6 | line-height: 30px; 7 | cursor: pointer; 8 | } 9 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/components/statediagram/components/state-editor.component.scss: -------------------------------------------------------------------------------- 1 | $background: whitesmoke; 2 | 3 | .state-title { 4 | padding: 10px 0px 10px 5px !important; 5 | margin-left: 5px; 6 | margin: 0px 0px 0px 2px !important; 7 | background-color: $background; 8 | position: relative; 9 | } 10 | 11 | .state-title > span { 12 | position: absolute; 13 | right: 0px; 14 | top: 10px; 15 | cursor: pointer; 16 | } 17 | 18 | 19 | .text-center { 20 | text-align: center; 21 | } 22 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/components/statediagram/components/switch/switch-state-editor.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/src/Clients/FaasNet.Website/src/components/statediagram/components/switch/switch-state-editor.component.scss -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/components/statediagram/components/token/token.component.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/components/statediagram/components/token/token.component.scss: -------------------------------------------------------------------------------- 1 | ::ng-deep { 2 | .json-editor { 3 | .editor-container.medium { 4 | height: 800px !important; 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/environments/environment.docker.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | baseUrl: '/', 3 | apiUrl: 'http://localhost:30001', 4 | }; 5 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/environments/environment.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | baseUrl: '/', 3 | apiUrl: 'http://localhost:5006', 4 | eventMeshLogsUrl: 'https://localhost:30072/app/r/s/magnificent-shallow-jordan', 5 | eventMeshDashboardUrl: 'https://localhost:30072/app/r/s/embarrassed-slimy-translator', 6 | stateMachineLogsUrl: 'https://localhost:30072/app/r/s/savory-bald-daughter', 7 | stateMachineDashboardUrl: 'https://localhost:30072/app/r/s/zealous-elegant-cartoon' 8 | }; 9 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/src/Clients/FaasNet.Website/src/favicon.ico -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/main.ts: -------------------------------------------------------------------------------- 1 | import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; 2 | import { AppModule } from './app/app.module'; 3 | 4 | 5 | platformBrowserDynamic().bootstrapModule(AppModule) 6 | .catch(err => console.error(err)); 7 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/stores/applicationdomains/models/anchordirections.ts: -------------------------------------------------------------------------------- 1 | export class AnchorDirections { 2 | public static Left: number = 0; 3 | public static Top: number = 1; 4 | public static Right: number = 2; 5 | public static Bottom: number = 4; 6 | } 7 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/stores/applicationdomains/models/appdomain.model.ts: -------------------------------------------------------------------------------- 1 | import { ApplicationResult } from "./application.model"; 2 | 3 | export class AppDomainResult { 4 | id: string = ""; 5 | name: string = ""; 6 | description: string = ""; 7 | rootTopic: string = ""; 8 | createDateTime: Date | null = null; 9 | updateDateTime: Date | null = null; 10 | applications: ApplicationResult[] = []; 11 | } 12 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/stores/applicationdomains/models/application.model.ts: -------------------------------------------------------------------------------- 1 | import { ApplicationLinkResult } from "./applicationlink.model"; 2 | 3 | export class ApplicationResult { 4 | id: string = ""; 5 | clientId: string | null = null; 6 | title: string = ""; 7 | description: string = ""; 8 | version: number = 0; 9 | isRoot: boolean = false; 10 | posX: number = 0; 11 | posY: number = 0; 12 | links: ApplicationLinkResult[] = []; 13 | } 14 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/stores/applicationdomains/models/applicationdomainadded.model.ts: -------------------------------------------------------------------------------- 1 | export class ApplicationDomainAddedResult { 2 | Id: string = ""; 3 | } 4 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/stores/applicationdomains/models/applicationlink.model.ts: -------------------------------------------------------------------------------- 1 | import { MessageDefinitionResult } from "../../messagedefinitions/models/messagedefinition.model"; 2 | import { ApplicationResult } from "./application.model"; 3 | 4 | export class ApplicationLinkResult { 5 | topicName: string = ""; 6 | messageId: string | null = null; 7 | target: ApplicationResult | null = null; 8 | startAnchor: number = 0; 9 | endAnchor: number = 0; 10 | } 11 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/stores/clients/models/client.model.ts: -------------------------------------------------------------------------------- 1 | import { ClientSessionResult } from "./clientsession.model"; 2 | 3 | export class ClientResult { 4 | id: string = ""; 5 | vpn: string = ""; 6 | clientId: string = ""; 7 | createDateTime: Date | null = null; 8 | purposes: number[] = []; 9 | sessions: ClientSessionResult[] = []; 10 | } 11 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/stores/clients/models/clientadded.model.ts: -------------------------------------------------------------------------------- 1 | export class ClientAddedResult { 2 | Id: string = ""; 3 | } 4 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/stores/clients/models/clientsession.model.ts: -------------------------------------------------------------------------------- 1 | import { TopicResult } from "./topic.model"; 2 | 3 | export class ClientSessionResult { 4 | pid: number = 0; 5 | purpose: number = 0; 6 | bufferCloudEvents: number = 0; 7 | state: number = 0; 8 | type: number = 0; 9 | creationDateTime: Date | undefined; 10 | topics: TopicResult[] = []; 11 | } 12 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/stores/clients/models/topic.model.ts: -------------------------------------------------------------------------------- 1 | export class TopicResult { 2 | brokerName: string = ""; 3 | name: string = ""; 4 | } 5 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/stores/common/search.model.ts: -------------------------------------------------------------------------------- 1 | export class SearchResult 2 | { 3 | constructor() { 4 | this.content = []; 5 | } 6 | 7 | startIndex: number | undefined; 8 | totalLength: number | undefined; 9 | count: number | undefined; 10 | content: T[]; 11 | } 12 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/stores/eventmeshservers/models/eventmeshserver.model.ts: -------------------------------------------------------------------------------- 1 | export class EventMeshServerResult { 2 | urn: string = "";; 3 | port: number = 0; 4 | countryIsoCode: string = ""; 5 | latitude: number = 0; 6 | longitude: number = 0; 7 | createDateTime: Date | undefined; 8 | bridges: EventMeshServerBridgeResult[] = []; 9 | } 10 | 11 | export class EventMeshServerBridgeResult { 12 | urn: string = ""; 13 | port: number = 0; 14 | } 15 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/stores/functions/models/function-details.model.ts: -------------------------------------------------------------------------------- 1 | export class FunctionDetailsResult { 2 | pods: FunctionPodResult[] = []; 3 | } 4 | 5 | export class FunctionPodResult { 6 | name: string| undefined; 7 | status: string | undefined; 8 | startTime: Date | undefined; 9 | } 10 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/stores/functions/models/function.model.ts: -------------------------------------------------------------------------------- 1 | export class FunctionResult { 2 | image: string | undefined; 3 | name: string | undefined; 4 | description: string | undefined; 5 | id: string | undefined; 6 | version: string | undefined; 7 | createDateTime: Date | undefined; 8 | updateDateTime: Date | undefined; 9 | } 10 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/stores/messagedefinitions/models/messagedefinition.model.ts: -------------------------------------------------------------------------------- 1 | export class MessageDefinitionResult { 2 | id: string = ""; 3 | name: string = ""; 4 | description: string = ""; 5 | version: number = 0; 6 | createDateTime: Date | null = null; 7 | updateDateTime: Date | null = null; 8 | jsonSchema: string = ""; 9 | } 10 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/stores/messagedefinitions/models/messagedefinitionadded.model.ts: -------------------------------------------------------------------------------- 1 | export class MessageDefinitionAddedResult { 2 | Id: string = ""; 3 | } 4 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/stores/server/actions/server.actions.ts: -------------------------------------------------------------------------------- 1 | import { createAction, props } from '@ngrx/store'; 2 | import { ServerStatusResult } from '../models/serverstatus.model'; 3 | 4 | export const startGetServerStatus = createAction('[SERVER] START_GET_STATUS'); 5 | export const completeGetServerStatus = createAction('[SERVER] COMPLETE_GET_STATUS', props<{ content : ServerStatusResult }>()); 6 | export const errorGetServerStatus = createAction('[SERVER] ERROR_GET_STATUS'); 7 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/stores/server/models/serverstatus.model.ts: -------------------------------------------------------------------------------- 1 | export class ServerStatusResult { 2 | isRunning: boolean = false; 3 | } 4 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/stores/statemachineinstances/models/instancestateevent.model.ts: -------------------------------------------------------------------------------- 1 | export class InstanceStateEvent { 2 | name: string = ""; 3 | source: string = ""; 4 | type: string = ""; 5 | input: any; 6 | } 7 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/stores/statemachineinstances/models/instancestatehistory.model.ts: -------------------------------------------------------------------------------- 1 | export class InstanceStateHistory { 2 | data: string = ""; 3 | status: string = ""; 4 | timestamp: string = ""; 5 | } 6 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/stores/statemachineinstances/models/statemachineinstance-details.model.ts: -------------------------------------------------------------------------------- 1 | import { InstanceState } from "./instancestate.model"; 2 | 3 | export class StateMachineInstanceDetails { 4 | id: string = ""; 5 | workflowDefId: string = ""; 6 | workflowDefName: string = ""; 7 | workflowDefDescription: string = ""; 8 | status: string = ""; 9 | createDateTime: Date | undefined; 10 | output: any; 11 | states: InstanceState[] = []; 12 | } 13 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/stores/statemachineinstances/models/statemachineinstance.model.ts: -------------------------------------------------------------------------------- 1 | export class StateMachineInstance { 2 | id: string = ""; 3 | workflowDefTechnicalId: string = ""; 4 | workflowDefId: string = ""; 5 | workflowDefName: string = ""; 6 | workflowDefVersion: number = 0; 7 | workflowDefDescription: string = ""; 8 | status: string = ""; 9 | createDateTime: Date | undefined; 10 | } 11 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/stores/statemachines/models/operation-types.model.ts: -------------------------------------------------------------------------------- 1 | export class OperationTypes { 2 | public static AsyncApi: string = "asyncapi"; 3 | public static Rest: string = "rest"; 4 | public static Custom: string = "custom"; 5 | } 6 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/stores/statemachines/models/statemachine.model.ts: -------------------------------------------------------------------------------- 1 | export class StateMachine { 2 | technicalId: string = ""; 3 | id: string = ""; 4 | version: string = ""; 5 | name: string = ""; 6 | description: string = ""; 7 | createDateTime: Date | null = null; 8 | updateDateTime: Date | null = null; 9 | } 10 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/stores/statemachines/models/statemachineadded.model.ts: -------------------------------------------------------------------------------- 1 | export class StateMachineAdded { 2 | id: string = ""; 3 | createDateTime: Date | undefined; 4 | } 5 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/stores/vpn/models/vpn.model.ts: -------------------------------------------------------------------------------- 1 | export class VpnResult { 2 | name: string = ""; 3 | description: string = ""; 4 | createDateTime: Date | null = null; 5 | updateDateTime: Date | null = null; 6 | } 7 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/styles.scss: -------------------------------------------------------------------------------- 1 | @import '~@angular/material/theming'; 2 | 3 | @import 'styles/app.scss'; 4 | @import 'styles/theme.scss'; 5 | @import 'styles/component.themes.scss'; 6 | 7 | @include mat-core(); 8 | 9 | .my-theme { 10 | @include angular-material-theme($my-theme); 11 | @include component-themes($my-theme); 12 | } 13 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/styles/component.themes.scss: -------------------------------------------------------------------------------- 1 | @mixin app-theme($theme) { 2 | $primary: map-get($theme, primary); 3 | 4 | .mat-row.highlight { 5 | background-color: whitesmoke; 6 | } 7 | } 8 | 9 | @mixin component-themes($theme) { 10 | @include app-theme($theme); 11 | } 12 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/src/styles/theme.scss: -------------------------------------------------------------------------------- 1 | $my-theme-primary: mat-palette($mat-indigo); 2 | $my-theme-accent: mat-palette($mat-amber, A200, A100, A400); 3 | $my-theme-warn: mat-palette($mat-red, 600); 4 | 5 | // create theme (use mat-dark-theme for themes with dark backgrounds) 6 | $my-theme: mat-light-theme( 7 | $my-theme-primary, 8 | $my-theme-accent, 9 | $my-theme-warn 10 | ); 11 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */ 2 | { 3 | "extends": "./tsconfig.json", 4 | "compilerOptions": { 5 | "outDir": "./out-tsc/app", 6 | "types": [] 7 | }, 8 | "files": [ 9 | "src/main.ts", 10 | "src/polyfills.ts" 11 | ], 12 | "include": [ 13 | "src/**/*.d.ts" 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /src/Clients/FaasNet.Website/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */ 2 | { 3 | "extends": "./tsconfig.json", 4 | "compilerOptions": { 5 | "outDir": "./out-tsc/spec", 6 | "types": [ 7 | "jasmine" 8 | ] 9 | }, 10 | "files": [ 11 | "src/test.ts", 12 | "src/polyfills.ts" 13 | ], 14 | "include": [ 15 | "src/**/*.spec.ts", 16 | "src/**/*.d.ts" 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /src/Common/FaasNet.Common/FaasNet.Common.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | net5.0 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/Common/FaasNet.Domain/BaseSearchParameter.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.Domain 2 | { 3 | public class BaseSearchParameter 4 | { 5 | public int StartIndex { get; set; } 6 | public int Count { get; set; } 7 | public string OrderBy { get; set; } 8 | public SortOrders Order { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Common/FaasNet.Domain/BaseSearchResult.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace FaasNet.Domain 5 | { 6 | public class BaseSearchResult where T : class 7 | { 8 | public BaseSearchResult() 9 | { 10 | Content = new List(); 11 | } 12 | 13 | public int StartIndex { get; set; } 14 | public int Count { get; set; } 15 | public long TotalLength { get; set; } 16 | public ICollection Content { get; set; } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/Common/FaasNet.Domain/DomainEvent.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.Domain 2 | { 3 | public abstract class DomainEvent 4 | { 5 | public DomainEvent(string id, string aggregateId) 6 | { 7 | Id = id; 8 | AggregateId = aggregateId; 9 | } 10 | 11 | public string Id { get; private set; } 12 | public string AggregateId { get; private set; } 13 | public int AggregateVersion { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/Common/FaasNet.Domain/Exceptions/BadRequestException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace FaasNet.Domain.Exceptions 4 | { 5 | public class BadRequestException : Exception 6 | { 7 | public BadRequestException(string code, string message) : base(message) { } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/Common/FaasNet.Domain/Exceptions/BusinessRuleException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace FaasNet.Domain.Exceptions 4 | { 5 | public class BusinessRuleException : Exception 6 | { 7 | public BusinessRuleException(string code, string message) : base(message) 8 | { 9 | Code = code; 10 | } 11 | 12 | public string Code { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/Common/FaasNet.Domain/Exceptions/DomainException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace FaasNet.Domain.Exceptions 4 | { 5 | public class DomainException : Exception 6 | { 7 | public DomainException(string code, string message) : base(message) 8 | { 9 | Code = code; 10 | } 11 | 12 | public string Code { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/Common/FaasNet.Domain/Exceptions/NotFoundException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace FaasNet.Domain.Exceptions 4 | { 5 | public class NotFoundException : Exception 6 | { 7 | public NotFoundException(string code, string message) : base(message) 8 | { 9 | Code = code; 10 | } 11 | 12 | public string Code { get; private set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/Common/FaasNet.Domain/FaasNet.Domain.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | netstandard2.1 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/Common/FaasNet.Domain/IntegrationEvent.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.Domain 2 | { 3 | public class IntegrationEvent 4 | { 5 | public IntegrationEvent(string id, string aggregateId) 6 | { 7 | Id = id; 8 | AggregateId = aggregateId; 9 | } 10 | 11 | public string Id { get; set; } 12 | public string AggregateId { get; set; } 13 | public string CorrelationId { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/Common/FaasNet.Domain/SortOrders.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.Domain 2 | { 3 | public enum SortOrders 4 | { 5 | ASC = 0, 6 | DESC = 1 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/Common/FaasNet.EventStore.EF/FaasNet.EventStore.EF.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net5.0 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/Common/FaasNet.EventStore.EF/Models/Snapshot.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.EventStore.EF.Models 2 | { 3 | public class Snapshot 4 | { 5 | public int Version { get; set; } 6 | public string AggregateId { get; set; } 7 | public int LastEvtOffset { get; set; } 8 | public string Type { get; set; } 9 | public string SerializedContent { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/Common/FaasNet.EventStore.EF/Models/Subscription.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.EventStore.EF.Models 2 | { 3 | public class Subscription 4 | { 5 | public string GroupId { get; set; } 6 | public string TopicName { get; set; } 7 | public long Offset { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/Common/FaasNet.EventStore/EventStoreOptions.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.EventStore 2 | { 3 | public class EventStoreOptions 4 | { 5 | public EventStoreOptions() 6 | { 7 | SnapshotFrequency = 5; 8 | } 9 | 10 | public int SnapshotFrequency { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/Common/FaasNet.EventStore/FaasNet.EventStore.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net5.0 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/Common/FaasNet.EventStore/ICommitAggregateHelper.cs: -------------------------------------------------------------------------------- 1 | using FaasNet.Domain; 2 | using System.Threading; 3 | using System.Threading.Tasks; 4 | 5 | namespace FaasNet.EventStore 6 | { 7 | public interface ICommitAggregateHelper 8 | { 9 | Task Commit(T domain, CancellationToken cancellationToken) where T : AggregateRoot; 10 | Task Get(string aggregateId, CancellationToken cancellationToken) where T : AggregateRoot; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/Common/FaasNet.EventStore/IEventStoreProducer.cs: -------------------------------------------------------------------------------- 1 | using FaasNet.Domain; 2 | using System.Threading; 3 | using System.Threading.Tasks; 4 | 5 | namespace FaasNet.EventStore 6 | { 7 | public interface IEventStoreProducer 8 | { 9 | Task Append(string topicName, T domainEvt, CancellationToken cancellationToken) where T : DomainEvent; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/Common/FaasNet.EventStore/IEventStoreSnapshotRepository.cs: -------------------------------------------------------------------------------- 1 | using FaasNet.Domain; 2 | using System.Threading; 3 | using System.Threading.Tasks; 4 | 5 | namespace FaasNet.EventStore 6 | { 7 | public interface IEventStoreSnapshotRepository 8 | { 9 | Task Add(T domain, CancellationToken cancellationToken) where T : AggregateRoot; 10 | Task GetLatest(string id, CancellationToken cancellationToken) where T : AggregateRoot; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/Common/FaasNet.EventStore/IQueryProjection.cs: -------------------------------------------------------------------------------- 1 | using System.Threading; 2 | using System.Threading.Tasks; 3 | 4 | namespace FaasNet.EventStore 5 | { 6 | public interface IQueryProjection 7 | { 8 | Task Start(CancellationToken cancellationToken); 9 | void Stop(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/Common/FaasNet.EventStore/ISubscriptionRepository.cs: -------------------------------------------------------------------------------- 1 | using System.Threading; 2 | using System.Threading.Tasks; 3 | 4 | namespace FaasNet.EventStore 5 | { 6 | public interface ISubscriptionRepository 7 | { 8 | Task Commit(string groupId, string topicName, long offset, CancellationToken cancellationToken); 9 | Task GetCurrentOffset(string groupId, string topicName, CancellationToken cancellationToken); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/Common/FaasNet.EventStore/Models/SerializedEvent.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace FaasNet.EventStore.Models 4 | { 5 | public class SerializedEvent 6 | { 7 | public string Topic { get; set; } 8 | public string Type { get; set; } 9 | public byte[] Payload { get; set; } 10 | public DateTime CreationDateTime { get; set; } 11 | } 12 | } -------------------------------------------------------------------------------- /src/Common/FaasNet.EventStoreDB/EventStoreDBOptions.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.EventStoreDB 2 | { 3 | public class EventStoreDBOptions 4 | { 5 | public string ConnectionString { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/Common/FaasNet.EventStoreDB/FaasNet.EventStoreDB.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net5.0 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/Common/FaasNet.Lock/FaasNet.Lock.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | net5.0 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/Common/FaasNet.Lock/IDistributedLock.cs: -------------------------------------------------------------------------------- 1 | using System.Threading; 2 | using System.Threading.Tasks; 3 | 4 | namespace FaasNet.Lock 5 | { 6 | public interface IDistributedLock 7 | { 8 | Task TryAcquireLock(string id, CancellationToken token); 9 | Task ReleaseLock(string id, CancellationToken token); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/Common/FaasNet.Lock/ServiceCollectionExtensions.cs: -------------------------------------------------------------------------------- 1 | using FaasNet.Lock; 2 | 3 | namespace Microsoft.Extensions.DependencyInjection 4 | { 5 | public static class ServiceCollectionExtensions 6 | { 7 | public static IServiceCollection AddLock(this IServiceCollection services) 8 | { 9 | return services.AddSingleton(); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Client/Exceptions/RuntimeClientException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace FaasNet.EventMesh.Client.Exceptions 4 | { 5 | public class RuntimeClientException : Exception 6 | { 7 | public RuntimeClientException(string message) : base(message) 8 | { 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Client/Exceptions/RuntimeClientSessionClosedException.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.EventMesh.Client.Exceptions 2 | { 3 | public class RuntimeClientSessionClosedException : RuntimeClientException 4 | { 5 | public RuntimeClientSessionClosedException(string message) : base(message) { } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Client/Messages/AddClientResponse.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.EventMesh.Client.Messages 2 | { 3 | public class AddClientResponse: Package 4 | { 5 | } 6 | } -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Client/Messages/GetAllPluginsRequest.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.EventMesh.Client.Messages 2 | { 3 | public class GetAllPluginsRequest : Package 4 | { 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Client/Messages/GetAllVpnRequest.cs: -------------------------------------------------------------------------------- 1 | using FaasNet.RaftConsensus.Client.Messages; 2 | 3 | namespace FaasNet.EventMesh.Client.Messages 4 | { 5 | public class GetAllVpnRequest : Package 6 | { 7 | public override void Serialize(WriteBufferContext context) 8 | { 9 | base.Serialize(context); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Core/ApplicationDomains/Commands/RemoveApplicationDomainCommand.cs: -------------------------------------------------------------------------------- 1 | using MediatR; 2 | 3 | namespace FaasNet.EventMesh.Core.ApplicationDomains.Commands 4 | { 5 | public class RemoveApplicationDomainCommand : IRequest 6 | { 7 | public string ApplicationDomainId { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Core/ApplicationDomains/Commands/Results/AddApplicationDomainResult.cs: -------------------------------------------------------------------------------- 1 | 2 | namespace FaasNet.EventMesh.Core.ApplicationDomains.Commands.Results 3 | { 4 | public class AddApplicationDomainResult 5 | { 6 | public string Id { get; set; } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Core/ApplicationDomains/Commands/UpdateApplicationDomainCommand.cs: -------------------------------------------------------------------------------- 1 | using FaasNet.EventMesh.Core.ApplicationDomains.Queries.Results; 2 | using MediatR; 3 | using System.Collections.Generic; 4 | 5 | namespace FaasNet.EventMesh.Core.ApplicationDomains.Commands 6 | { 7 | public class UpdateApplicationDomainCommand : IRequest 8 | { 9 | public string ApplicationDomainId { get; set; } 10 | public IEnumerable Applications { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Core/ApplicationDomains/IApplicationDomainService.cs: -------------------------------------------------------------------------------- 1 | using FaasNet.EventMesh.Core.ApplicationDomains.Queries.Results; 2 | using System.Threading; 3 | using System.Threading.Tasks; 4 | 5 | namespace FaasNet.EventMesh.Core.ApplicationDomains 6 | { 7 | public interface IApplicationDomainService 8 | { 9 | Task Get(string id, CancellationToken cancellationToken); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Core/ApplicationDomains/Queries/GetAllApplicationDomainsQuery.cs: -------------------------------------------------------------------------------- 1 | using FaasNet.EventMesh.Core.ApplicationDomains.Queries.Results; 2 | using MediatR; 3 | using System.Collections.Generic; 4 | 5 | namespace FaasNet.EventMesh.Core.ApplicationDomains.Queries 6 | { 7 | public class GetAllApplicationDomainsQuery : IRequest> 8 | { 9 | public string Vpn { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Core/ApplicationDomains/Queries/GetApplicationDomainQuery.cs: -------------------------------------------------------------------------------- 1 | using FaasNet.EventMesh.Core.ApplicationDomains.Queries.Results; 2 | using MediatR; 3 | 4 | namespace FaasNet.EventMesh.Core.ApplicationDomains.Queries 5 | { 6 | public class GetApplicationDomainQuery : IRequest 7 | { 8 | public string ApplicationDomainId { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Core/Clients/Commands/AddClientCommand.cs: -------------------------------------------------------------------------------- 1 | using FaasNet.EventMesh.Core.Clients.Commands.Results; 2 | using MediatR; 3 | using System.Collections.Generic; 4 | 5 | namespace FaasNet.EventMesh.Core.Clients.Commands 6 | { 7 | public class AddClientCommand : IRequest 8 | { 9 | public string Vpn { get; set; } 10 | public string ClientId { get; set; } 11 | public ICollection Purposes { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Core/Clients/Commands/DeleteClientCommand.cs: -------------------------------------------------------------------------------- 1 | using MediatR; 2 | 3 | namespace FaasNet.EventMesh.Core.Clients.Commands 4 | { 5 | public class DeleteClientCommand : IRequest 6 | { 7 | public string Id { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Core/Clients/Commands/Results/AddClientResult.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.EventMesh.Core.Clients.Commands.Results 2 | { 3 | public class AddClientResult 4 | { 5 | public string Id { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Core/Clients/Queries/GetAllClientsQuery.cs: -------------------------------------------------------------------------------- 1 | using FaasNet.EventMesh.Core.Clients.Queries.Results; 2 | using MediatR; 3 | using System.Collections.Generic; 4 | 5 | namespace FaasNet.EventMesh.Core.Clients.Queries 6 | { 7 | public class GetAllClientsQuery : IRequest> 8 | { 9 | public string Vpn { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Core/Clients/Queries/GetClientQuery.cs: -------------------------------------------------------------------------------- 1 | using FaasNet.EventMesh.Core.Clients.Queries.Results; 2 | using MediatR; 3 | 4 | namespace FaasNet.EventMesh.Core.Clients.Queries 5 | { 6 | public class GetClientQuery : IRequest 7 | { 8 | public string Id { get; set; } 9 | } 10 | } -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Core/EventMeshOptions.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.EventMesh.Core 2 | { 3 | public class EventMeshOptions 4 | { 5 | public EventMeshOptions() 6 | { 7 | Urn = "localhost"; 8 | Port = 4000; 9 | StateMachineClientId = "stateMachineClientId"; 10 | } 11 | 12 | public string Urn { get; set; } 13 | public int Port { get; set; } 14 | public string StateMachineClientId { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Core/MessageDefinitions/Commands/PublishMessageDefinitionCommand.cs: -------------------------------------------------------------------------------- 1 | using FaasNet.EventMesh.Core.MessageDefinitions.Commands.Results; 2 | using MediatR; 3 | 4 | namespace FaasNet.EventMesh.Core.MessageDefinitions.Commands 5 | { 6 | public class PublishMessageDefinitionCommand : IRequest 7 | { 8 | public string Id { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Core/MessageDefinitions/Commands/Results/AddMessageDefinitionReslt.cs: -------------------------------------------------------------------------------- 1 | using MediatR; 2 | 3 | namespace FaasNet.EventMesh.Core.MessageDefinitions.Commands.Results 4 | { 5 | public class AddMessageDefinitionReslt : IRequest 6 | { 7 | public string Id { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Core/MessageDefinitions/Commands/Results/PublishMessageDefinitionResult.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.EventMesh.Core.MessageDefinitions.Commands.Results 2 | { 3 | public class PublishMessageDefinitionResult 4 | { 5 | public string Id { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Core/MessageDefinitions/Commands/UpdateMessageDefinitionCommand.cs: -------------------------------------------------------------------------------- 1 | using MediatR; 2 | 3 | namespace FaasNet.EventMesh.Core.MessageDefinitions.Commands 4 | { 5 | public class UpdateMessageDefinitionCommand : IRequest 6 | { 7 | public string Id { get; set; } 8 | public string Description { get; set; } 9 | public string JsonSchema { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Core/MessageDefinitions/Queries/GetAllLatestMessageDefQuery.cs: -------------------------------------------------------------------------------- 1 | using FaasNet.EventMesh.Core.MessageDefinitions.Queries.Results; 2 | using MediatR; 3 | using System.Collections.Generic; 4 | 5 | namespace FaasNet.EventMesh.Core.MessageDefinitions.Queries 6 | { 7 | public class GetAllLatestMessageDefQuery : IRequest> 8 | { 9 | public string ApplicationDomainId { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Core/Server/Queries/GetServerStatusQuery.cs: -------------------------------------------------------------------------------- 1 | using FaasNet.EventMesh.Core.Server.Queries.Results; 2 | using MediatR; 3 | 4 | namespace FaasNet.EventMesh.Core.Server.Queries 5 | { 6 | public class GetServerStatusQuery : IRequest 7 | { 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Core/Server/Queries/Results/ServerStatusResult.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.EventMesh.Core.Server.Queries.Results 2 | { 3 | public class ServerStatusResult 4 | { 5 | public bool IsRunning { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Core/Vpn/Commands/AddVpnBridgeCommand.cs: -------------------------------------------------------------------------------- 1 | using MediatR; 2 | 3 | namespace FaasNet.EventMesh.Core.Vpn.Commands 4 | { 5 | public class AddVpnBridgeCommand : IRequest 6 | { 7 | public string Vpn { get; set; } 8 | public string Urn { get; set; } 9 | public int Port { get; set; } 10 | public string TargetVpn { get; set; } 11 | } 12 | } -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Core/Vpn/Commands/AddVpnCommand.cs: -------------------------------------------------------------------------------- 1 | using MediatR; 2 | 3 | namespace FaasNet.EventMesh.Core.Vpn.Commands 4 | { 5 | public class AddVpnCommand : IRequest 6 | { 7 | public string Name { get; set; } 8 | public string Description { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Core/Vpn/Commands/DeleteVpnCommand.cs: -------------------------------------------------------------------------------- 1 | using MediatR; 2 | 3 | namespace FaasNet.EventMesh.Core.Vpn.Commands 4 | { 5 | public class DeleteVpnCommand : IRequest 6 | { 7 | public string Vpn { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Core/Vpn/IVpnService.cs: -------------------------------------------------------------------------------- 1 | using FaasNet.EventMesh.Core.Vpn.Queries.Results; 2 | using System.Threading; 3 | using System.Threading.Tasks; 4 | 5 | namespace FaasNet.EventMesh.Core.Vpn 6 | { 7 | public interface IVpnService 8 | { 9 | Task Get(string name, CancellationToken cancellationToken); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Core/Vpn/Queries/GetAllVpnQuery.cs: -------------------------------------------------------------------------------- 1 | using FaasNet.EventMesh.Core.Vpn.Queries.Results; 2 | using MediatR; 3 | using System.Collections.Generic; 4 | 5 | namespace FaasNet.EventMesh.Core.Vpn.Queries 6 | { 7 | public class GetAllVpnQuery : IRequest> 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Core/Vpn/Queries/GetVpnQuery.cs: -------------------------------------------------------------------------------- 1 | using FaasNet.EventMesh.Core.Vpn.Queries.Results; 2 | using MediatR; 3 | 4 | namespace FaasNet.EventMesh.Core.Vpn.Queries 5 | { 6 | public class GetVpnQuery : IRequest 7 | { 8 | public string Vpn { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Plugin/FaasNet.EventMesh.Plugin.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | net6.0 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Plugin/IPlugin.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.Extensions.DependencyInjection; 2 | 3 | namespace FaasNet.EventMesh.Plugin 4 | { 5 | public interface IPlugin where T : class 6 | { 7 | void Load(IServiceCollection services, T options); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Plugin/PluginConstants.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.EventMesh.Plugin 2 | { 3 | public static class PluginConstants 4 | { 5 | public const string ConfigurationFileName = "appsettings.json"; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Plugin/PluginEntry.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.EventMesh.Plugin 2 | { 3 | public class PluginEntry 4 | { 5 | public string Name { get; set; } 6 | public string Description { get; set; } 7 | public string DllName { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Protocols.AMQP/FixedWidth.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.EventMesh.Protocols.AMQP 2 | { 3 | public static class FixedWidth 4 | { 5 | public const int ULong = 8; 6 | public const int UInt = 4; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Protocols.AMQP/Handlers/IRequestHandler.cs: -------------------------------------------------------------------------------- 1 | using System.Threading; 2 | using System.Threading.Tasks; 3 | 4 | namespace FaasNet.EventMesh.Protocols.AMQP.Handlers 5 | { 6 | public interface IRequestHandler 7 | { 8 | string RequestName { get; } 9 | Task Handle(StateObject state, RequestParameter parameter, CancellationToken cancellationToken); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Protocols.AMQP/Sasl/SaslPlainProfile.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.EventMesh.Protocols.AMQP.Sasl 2 | { 3 | public class SaslPlainProfile 4 | { 5 | public string User { get; set; } 6 | public string Password { get; set; } 7 | 8 | 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Protocols.AMQP/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Name": "ProtocolAmqp", 3 | "Description": "Support AMQP protocol", 4 | "DllName": "FaasNet.EventMesh.Protocols.AMQP.dll" 5 | } -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Protocols.WebSocket/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Name": "ProtocolWebsocket", 3 | "Description": "Support Websocket protocol", 4 | "DllName": "FaasNet.EventMesh.Protocols.WebSocket.dll" 5 | } -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Protocols/IProxy.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | 3 | namespace FaasNet.EventMesh.Protocols 4 | { 5 | public interface IProxy 6 | { 7 | Task Start(); 8 | void Stop(); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Protocols/ServerBuilderExtensions.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.Common 2 | { 3 | public static class ServerBuilderExtensions 4 | { 5 | public static ServerBuilder AddProxy(this ServerBuilder serverBuilder) 6 | { 7 | return serverBuilder; 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Protocols/ServiceCollectionExtensions.cs: -------------------------------------------------------------------------------- 1 | namespace Microsoft.Extensions.DependencyInjection 2 | { 3 | public static class ServiceCollectionExtensions 4 | { 5 | public static IServiceCollection AddProxy(this IServiceCollection services) 6 | { 7 | return services; 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Runtime/ErrorCodes.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.EventMesh.Runtime 2 | { 3 | public class ErrorCodes 4 | { 5 | public static string UNKNOWN_APPLICATION_DOMAIN = "UNKNOWN_APPLICATION_DOMAIN"; 6 | public static string UNKNOWN_MESSAGEDEF = "UNKNOWN_MESSAGEDEF"; 7 | public static string BRIDGE_ALREADY_EXISTS = "BRIDGE_ALREADY_EXISTS"; 8 | public static string MESSAGEDEF_ALREADY_EXISTS = "MESSAGEDEF_ALREADY_EXISTS"; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Runtime/Handlers/IMessageHandler.cs: -------------------------------------------------------------------------------- 1 | using FaasNet.EventMesh.Client.Messages; 2 | using FaasNet.RaftConsensus.Core; 3 | using System.Collections.Generic; 4 | using System.Threading; 5 | using System.Threading.Tasks; 6 | 7 | namespace FaasNet.EventMesh.Runtime.Handlers 8 | { 9 | public interface IMessageHandler 10 | { 11 | Commands Command { get; } 12 | Task Run(Package package, IEnumerable peers, CancellationToken cancellationToken); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Runtime/Models/QueueMessage.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.EventMesh.Runtime.Models 2 | { 3 | public class QueueMessage 4 | { 5 | public string Value { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Runtime/Models/Topic.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.EventMesh.Runtime.Models 2 | { 3 | public class Topic 4 | { 5 | public string Name { get; set; } 6 | public string BrokerName { get; set; } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Seed.AMQP/FaasNet.EventMesh.Sink.AMQP.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | net6.0 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Seed.Kafka/FaasNet.EventMesh.Seed.Kafka.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | net6.0 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Seed.RocksDB/FaasNet.EventMesh.Seed.RocksDB.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | net6.0 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Seed.VpnBridge/FaasNet.EventMesh.Seed.VpnBridge.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | net6.0 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Service/EventMeshServerOptions.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.EventMesh.Service 2 | { 3 | public class EventMeshServerOptions 4 | { 5 | public int Port { get; set; } = 4000; 6 | public string ExposedUrl { get; set; } = "localhost"; 7 | public int ExposedPort { get; set; } = 4000; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Service/PluginLoadContext.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.Loader; 2 | 3 | namespace FaasNet.EventMesh.Service 4 | { 5 | public class PluginLoadContext : AssemblyLoadContext 6 | { 7 | private AssemblyDependencyResolver _resolver; 8 | 9 | 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Service/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "FaasNet.EventMesh.Service": { 4 | "commandName": "Project", 5 | "launchBrowser": true 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Service/appsettings.dockerfirstnode.json: -------------------------------------------------------------------------------- 1 | { 2 | "Port": 4000, 3 | "ExposedUrl": "evtmeshnode1", 4 | "ExposedPort": 4000 5 | } 6 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Service/appsettings.dockersecondnode.json: -------------------------------------------------------------------------------- 1 | { 2 | "Port": 4000, 3 | "ExposedUrl": "evtmeshnode2", 4 | "ExposedPort": 4000 5 | } 6 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Service/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Port": 4000, 3 | "ExposedUrl": "localhost", 4 | "ExposedPort": 4000 5 | } 6 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Service/plugin.discoveryetcd.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "Name": "DiscoveryEtcd", 4 | "IsActive": true, 5 | "Options": { 6 | "ConnectionString": "http://etcd:2379" 7 | } 8 | } 9 | ] -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Sink.AMQP/ServerBuilderExtensions.cs: -------------------------------------------------------------------------------- 1 | using FaasNet.EventMesh.Sink.AMQP; 2 | using System; 3 | 4 | namespace FaasNet.Common 5 | { 6 | public static class ServerBuilderExtensions 7 | { 8 | public static ServerBuilder AddAMQPSeed(this ServerBuilder serverBuilder, Action amqpOptionsCallback = null) 9 | { 10 | serverBuilder.AddAMQPSeed(amqpOptionsCallback); 11 | return serverBuilder; 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Sink.AMQP/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Name": "SinkAMQP", 3 | "Description": "Consume events from AMQP server", 4 | "DllName": "FaasNet.EventMesh.Sink.AMQP.dll" 5 | } -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Sink.AMQP/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "3" 2 | services: 3 | rabbitmq: 4 | image: "rabbitmq:3-management" 5 | ports: 6 | - "5672:5672" 7 | - "15672:15672" 8 | volumes: 9 | - "rabbitmq_data:/data" 10 | volumes: 11 | rabbitmq_data: -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Sink.Kafka/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Name": "SinkKafka", 3 | "Description": "Consume events from Kafka server", 4 | "DllName": "FaasNet.EventMesh.Sink.Kafka.dll" 5 | } -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Sink.RocksDB/FaasNet.EventMesh.Sink.RocksDB.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | net6.0 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Sink.VpnBridge/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Name": "SinkVpnBridge", 3 | "Description": "Consume events from VPN Bridge", 4 | "DllName": "FaasNet.EventMesh.Sink.VpnBridge.dll" 5 | } -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.Sink/ISinkJob.cs: -------------------------------------------------------------------------------- 1 | using System.Threading; 2 | using System.Threading.Tasks; 3 | 4 | namespace FaasNet.EventMesh.Sink 5 | { 6 | public interface ISinkJob 7 | { 8 | Task Start(CancellationToken cancellationToken); 9 | Task Stop(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.SqlServer.Startup/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "FaasNet.EventMesh.SqlServer.Startup": { 4 | "commandName": "Project", 5 | "launchBrowser": true, 6 | "environmentVariables": { 7 | "ASPNETCORE_ENVIRONMENT": "Development" 8 | }, 9 | "applicationUrl": "http://localhost:5002" 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.SqlServer.Startup/appsettings.Docker.json: -------------------------------------------------------------------------------- 1 | { 2 | "ConnectionStrings": { 3 | "EventMesh": "Data Source=mssql-entry.faas.svc.cluster.local;Initial Catalog=EventMesh;User ID=sa;Password=D54DE7hHpkG9" 4 | } 5 | } -------------------------------------------------------------------------------- /src/EventMesh/FaasNet.EventMesh.SqlServer.Startup/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "ConnectionStrings": { 3 | "EventMesh": "Data Source=THABART;Initial Catalog=EventMesh;Integrated Security=True" 4 | }, 5 | "RabbitMQConnectionString": "amqp://guest:guest@127.0.0.1:30007/" 6 | } -------------------------------------------------------------------------------- /src/EventMesh/OpenTelemetry.Exporter.OpenTelemetryProtocol.Logs/.publicApi/net462/PublicAPI.Shipped.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/src/EventMesh/OpenTelemetry.Exporter.OpenTelemetryProtocol.Logs/.publicApi/net462/PublicAPI.Shipped.txt -------------------------------------------------------------------------------- /src/EventMesh/OpenTelemetry.Exporter.OpenTelemetryProtocol.Logs/.publicApi/net462/PublicAPI.Unshipped.txt: -------------------------------------------------------------------------------- 1 | OpenTelemetry.Logs.OtlpLogExporterHelperExtensions 2 | static OpenTelemetry.Logs.OtlpLogExporterHelperExtensions.AddOtlpExporter(this OpenTelemetry.Logs.OpenTelemetryLoggerOptions loggerOptions, System.Action configure = null) -> OpenTelemetry.Logs.OpenTelemetryLoggerOptions 3 | -------------------------------------------------------------------------------- /src/EventMesh/OpenTelemetry.Exporter.OpenTelemetryProtocol.Logs/.publicApi/netstandard2.0/PublicAPI.Shipped.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/src/EventMesh/OpenTelemetry.Exporter.OpenTelemetryProtocol.Logs/.publicApi/netstandard2.0/PublicAPI.Shipped.txt -------------------------------------------------------------------------------- /src/EventMesh/OpenTelemetry.Exporter.OpenTelemetryProtocol.Logs/.publicApi/netstandard2.0/PublicAPI.Unshipped.txt: -------------------------------------------------------------------------------- 1 | OpenTelemetry.Logs.OtlpLogExporterHelperExtensions 2 | static OpenTelemetry.Logs.OtlpLogExporterHelperExtensions.AddOtlpExporter(this OpenTelemetry.Logs.OpenTelemetryLoggerOptions loggerOptions, System.Action configure = null) -> OpenTelemetry.Logs.OpenTelemetryLoggerOptions 3 | -------------------------------------------------------------------------------- /src/EventMesh/OpenTelemetry.Exporter.OpenTelemetryProtocol.Logs/.publicApi/netstandard2.1/PublicAPI.Shipped.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/src/EventMesh/OpenTelemetry.Exporter.OpenTelemetryProtocol.Logs/.publicApi/netstandard2.1/PublicAPI.Shipped.txt -------------------------------------------------------------------------------- /src/EventMesh/OpenTelemetry.Exporter.OpenTelemetryProtocol.Logs/.publicApi/netstandard2.1/PublicAPI.Unshipped.txt: -------------------------------------------------------------------------------- 1 | OpenTelemetry.Logs.OtlpLogExporterHelperExtensions 2 | static OpenTelemetry.Logs.OtlpLogExporterHelperExtensions.AddOtlpExporter(this OpenTelemetry.Logs.OpenTelemetryLoggerOptions loggerOptions, System.Action configure = null) -> OpenTelemetry.Logs.OpenTelemetryLoggerOptions 3 | -------------------------------------------------------------------------------- /src/EventMesh/OpenTelemetry.Exporter.OpenTelemetryProtocol/.publicApi/net462/PublicAPI.Unshipped.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/src/EventMesh/OpenTelemetry.Exporter.OpenTelemetryProtocol/.publicApi/net462/PublicAPI.Unshipped.txt -------------------------------------------------------------------------------- /src/EventMesh/OpenTelemetry.Exporter.OpenTelemetryProtocol/.publicApi/net6.0/PublicAPI.Unshipped.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/src/EventMesh/OpenTelemetry.Exporter.OpenTelemetryProtocol/.publicApi/net6.0/PublicAPI.Unshipped.txt -------------------------------------------------------------------------------- /src/EventMesh/OpenTelemetry.Exporter.OpenTelemetryProtocol/.publicApi/netstandard2.0/PublicAPI.Unshipped.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/src/EventMesh/OpenTelemetry.Exporter.OpenTelemetryProtocol/.publicApi/netstandard2.0/PublicAPI.Unshipped.txt -------------------------------------------------------------------------------- /src/EventMesh/OpenTelemetry.Exporter.OpenTelemetryProtocol/.publicApi/netstandard2.1/PublicAPI.Unshipped.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/src/EventMesh/OpenTelemetry.Exporter.OpenTelemetryProtocol/.publicApi/netstandard2.1/PublicAPI.Unshipped.txt -------------------------------------------------------------------------------- /src/EventMesh/OpenTelemetry.Exporter.OpenTelemetryProtocol/Implementation/README.md: -------------------------------------------------------------------------------- 1 | # OpenTelemetry Protocol Implementation 2 | 3 | `.proto` files under `Implementation\` are copied from the 4 | [`opentelemetry-proto`](https://github.com/open-telemetry/opentelemetry-proto/commit/1a931b4b57c34e7fd8f7dddcaa9b7587840e9c08) 5 | repo. 6 | 7 | Trace proto files marked as stable. 8 | -------------------------------------------------------------------------------- /src/EventMesh/OpenTelemetry.Exporter.OpenTelemetryProtocol/Implementation/opentelemetry/proto/collector/README.md: -------------------------------------------------------------------------------- 1 | # OpenTelemetry Collector Proto 2 | 3 | This package describes the OpenTelemetry collector protocol. 4 | 5 | ## Packages 6 | 7 | 1. `common` package contains the common messages shared between different services. 8 | 2. `trace` package contains the Trace Service protos. 9 | 3. `metrics` package contains the Metrics Service protos. 10 | -------------------------------------------------------------------------------- /src/EventMesh/OpenTelemetry.Exporter.OpenTelemetryProtocol/Implementation/opentelemetry/proto/collector/logs/v1/logs_service_http.yaml: -------------------------------------------------------------------------------- 1 | # This is an API configuration to generate an HTTP/JSON -> gRPC gateway for the 2 | # OpenTelemetry service using github.com/grpc-ecosystem/grpc-gateway. 3 | type: google.api.Service 4 | config_version: 3 5 | http: 6 | rules: 7 | - selector: opentelemetry.proto.collector.logs.v1.LogsService.Export 8 | post: /v1/logs 9 | body: "*" -------------------------------------------------------------------------------- /src/EventMesh/OpenTelemetry.Exporter.OpenTelemetryProtocol/Implementation/opentelemetry/proto/collector/metrics/v1/metrics_service_http.yaml: -------------------------------------------------------------------------------- 1 | # This is an API configuration to generate an HTTP/JSON -> gRPC gateway for the 2 | # OpenTelemetry service using github.com/grpc-ecosystem/grpc-gateway. 3 | type: google.api.Service 4 | config_version: 3 5 | http: 6 | rules: 7 | - selector: opentelemetry.proto.collector.metrics.v1.MetricsService.Export 8 | post: /v1/metrics 9 | body: "*" -------------------------------------------------------------------------------- /src/EventMesh/OpenTelemetry.Exporter.OpenTelemetryProtocol/Implementation/opentelemetry/proto/collector/trace/v1/trace_service_http.yaml: -------------------------------------------------------------------------------- 1 | # This is an API configuration to generate an HTTP/JSON -> gRPC gateway for the 2 | # OpenTelemetry service using github.com/grpc-ecosystem/grpc-gateway. 3 | type: google.api.Service 4 | config_version: 3 5 | http: 6 | rules: 7 | - selector: opentelemetry.proto.collector.trace.v1.TraceService.Export 8 | post: /v1/trace 9 | body: "*" -------------------------------------------------------------------------------- /src/Function/FaasNet.Function.Core/ErrorCodes.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.Function.Core 2 | { 3 | public static class ErrorCodes 4 | { 5 | public const string UNKNOWN_FUNCTION = "UNKNOWN_FUNCTION"; 6 | public const string FUNCTION_ALREADY_EXISTS = "FUNCTION_ALREADY_EXISTS"; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/Function/FaasNet.Function.Core/Factories/HttpClientFactory.cs: -------------------------------------------------------------------------------- 1 | using System.Net.Http; 2 | 3 | namespace FaasNet.Function.Core.Factories 4 | { 5 | public class HttpClientFactory : IHttpClientFactory 6 | { 7 | public HttpClient Build() 8 | { 9 | return new HttpClient(); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/Function/FaasNet.Function.Core/Factories/IHttpClientFactory.cs: -------------------------------------------------------------------------------- 1 | using System.Net.Http; 2 | 3 | namespace FaasNet.Function.Core.Factories 4 | { 5 | public interface IHttpClientFactory 6 | { 7 | HttpClient Build(); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/Function/FaasNet.Function.Core/Functions/Commands/InvokeFunctionCommand.cs: -------------------------------------------------------------------------------- 1 | using MediatR; 2 | using Newtonsoft.Json.Linq; 3 | 4 | namespace FaasNet.Function.Core.Functions.Commands 5 | { 6 | public class InvokeFunctionCommand : IRequest 7 | { 8 | public string Id { get; set; } 9 | public JObject Configuration { get; set; } 10 | public JToken Input { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/Function/FaasNet.Function.Core/Functions/Commands/PublishFunctionCommand.cs: -------------------------------------------------------------------------------- 1 | using MediatR; 2 | 3 | namespace FaasNet.Function.Core.Functions.Commands 4 | { 5 | public class PublishFunctionCommand : IRequest 6 | { 7 | public string Name { get; set; } 8 | public string Description { get; set; } 9 | public string Image { get; set; } 10 | public string Version { get; set; } 11 | public string Command { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Function/FaasNet.Function.Core/Functions/Commands/UnpublishFunctionCommand.cs: -------------------------------------------------------------------------------- 1 | using MediatR; 2 | 3 | namespace FaasNet.Function.Core.Functions.Commands 4 | { 5 | public class UnpublishFunctionCommand : IRequest 6 | { 7 | public string Id { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/Function/FaasNet.Function.Core/Functions/Queries/GetFunctionConfigurationQuery.cs: -------------------------------------------------------------------------------- 1 | using MediatR; 2 | using Newtonsoft.Json.Linq; 3 | 4 | namespace FaasNet.Function.Core.Functions.Queries 5 | { 6 | public class GetFunctionConfigurationQuery : IRequest 7 | { 8 | public string Id { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Function/FaasNet.Function.Core/Functions/Queries/GetFunctionDetailsQuery.cs: -------------------------------------------------------------------------------- 1 | using MediatR; 2 | using Newtonsoft.Json.Linq; 3 | 4 | namespace FaasNet.Function.Core.Functions.Queries 5 | { 6 | public class GetFunctionDetailsQuery : IRequest 7 | { 8 | public string Id { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Function/FaasNet.Function.Core/Functions/Queries/GetFunctionMonitoringQuery.cs: -------------------------------------------------------------------------------- 1 | using MediatR; 2 | using Newtonsoft.Json.Linq; 3 | 4 | namespace FaasNet.Function.Core.Functions.Queries 5 | { 6 | public class GetFunctionMonitoringQuery : IRequest 7 | { 8 | public string Id { get; set; } 9 | public string Query { get; set; } 10 | public bool IsRange { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/Function/FaasNet.Function.Core/Functions/Queries/GetFunctionQuery.cs: -------------------------------------------------------------------------------- 1 | using FaasNet.Function.Core.Functions.Queries.Results; 2 | using MediatR; 3 | 4 | namespace FaasNet.Function.Core.Functions.Queries 5 | { 6 | public class GetFunctionQuery : IRequest 7 | { 8 | public string Id { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Function/FaasNet.Function.Core/Functions/Queries/SearchFunctionsQuery.cs: -------------------------------------------------------------------------------- 1 | using FaasNet.Domain; 2 | using FaasNet.Function.Core.Functions.Queries.Results; 3 | using MediatR; 4 | 5 | namespace FaasNet.Function.Core.Functions.Queries 6 | { 7 | public class SearchFunctionsQuery : BaseSearchParameter, IRequest> 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Function/FaasNet.Function.Core/Helpers/IPrometheusHelper.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.Function.Core.Helpers 2 | { 3 | public interface IPrometheusHelper 4 | { 5 | void Add(string name); 6 | void Remove(string name); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/Function/FaasNet.Function.Core/Helpers/PrometheusLabel.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace FaasNet.Function.Core.Helpers 4 | { 5 | public class PrometheusLabel 6 | { 7 | [JsonProperty(PropertyName = "job")] 8 | public string Job { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Function/FaasNet.Function.Core/ServerBuilder.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.Extensions.DependencyInjection; 2 | 3 | namespace FaasNet.Function.Core 4 | { 5 | public class ServerBuilder 6 | { 7 | internal ServerBuilder(IServiceCollection services) 8 | { 9 | Services = services; 10 | } 11 | 12 | public IServiceCollection Services { get; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/Function/FaasNet.Function.EF/FaasNet.Function.EF.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | net5.0 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/Function/FaasNet.Function.SqlServer.Startup/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "FaasNet.Function.SqlServer.Startup": { 4 | "commandName": "Project", 5 | "launchBrowser": true, 6 | "environmentVariables": { 7 | "ASPNETCORE_ENVIRONMENT": "Development" 8 | }, 9 | "applicationUrl": "http://localhost:5003" 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /src/Function/FaasNet.Function.SqlServer.Startup/appsettings.Docker.json: -------------------------------------------------------------------------------- 1 | { 2 | "ConnectionStrings": { 3 | "Function": "Data Source=mssql-entry.faas.svc.cluster.local;Initial Catalog=Function;User ID=sa;Password=D54DE7hHpkG9" 4 | }, 5 | "PrometheusFilePath": "/shared/targets.json", 6 | "KubernetesApi": "http://faas-kubernetes-entry.faas.svc.cluster.local", 7 | "PromotheusApi": "http://faas-prometheus-entry.faas.svc.cluster.local" 8 | } -------------------------------------------------------------------------------- /src/Function/FaasNet.Function.SqlServer.Startup/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "ConnectionStrings": { 3 | "Function": "Data Source=THABART;Initial Catalog=Function;Integrated Security=True" 4 | }, 5 | "KubernetesApi": "http://localhost:5010", 6 | "PromotheusApi": "" 7 | } -------------------------------------------------------------------------------- /src/Function/FaasNet.Function.Transform/Mapping.cs: -------------------------------------------------------------------------------- 1 | using FaasNet.Function.Attributes; 2 | 3 | namespace FaasNet.Function.Transform 4 | { 5 | public class Mapping 6 | { 7 | [Translation("fr", "Input")] 8 | [Translation("en", "Input")] 9 | public string Input { get; set; } 10 | [Translation("fr", "Output")] 11 | [Translation("en", "Output")] 12 | public string Output { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/Function/FaasNet.Function.Transform/TransformConfiguration.cs: -------------------------------------------------------------------------------- 1 | using FaasNet.Function.Attributes; 2 | using System.Collections.Generic; 3 | 4 | namespace FaasNet.Function.Transform 5 | { 6 | [FuncInfo("Transform", "v1")] 7 | public class TransformConfiguration 8 | { 9 | [Translation("fr", "Règles de mapping")] 10 | [Translation("en", "Mappings")] 11 | public List Mappings { get; set; } 12 | } 13 | } -------------------------------------------------------------------------------- /src/Function/FaasNet.Function/FaasNet.Function.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | net5.0 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /src/Function/FaasNet.Function/Models/ConfigurationTranslation.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.Function.Models 2 | { 3 | public class ConfigurationTranslation 4 | { 5 | public ConfigurationTranslation(string language, string description) 6 | { 7 | Language = language; 8 | Description = description; 9 | } 10 | 11 | public string Language { get; set; } 12 | public string Description { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/Function/FaasNet.Function/Parameters/FunctionParameter.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json.Linq; 2 | 3 | namespace FaasNet.Function.Parameters 4 | { 5 | public class FunctionParameter 6 | { 7 | public T Configuration { get; set; } 8 | public JObject Input { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Function/FaasNet.Kubernetes/Commands/InvokeFunctionCommand.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.Kubernetes.Commands 2 | { 3 | public class InvokeFunctionCommand 4 | { 5 | public string Id { get; set; } 6 | public object Content { get; set; } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/Function/FaasNet.Kubernetes/Commands/PublishFunctionCommand.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.Kubernetes.Commands 2 | { 3 | public class PublishFunctionCommand 4 | { 5 | public string Id { get; set; } 6 | public string Image { get; set; } 7 | public string Version { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/Function/FaasNet.Kubernetes/FaasNet.Kubernetes.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net5.0 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/Function/FaasNet.Kubernetes/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "ApiDesigner.Kubernetes": { 4 | "commandName": "Project", 5 | "environmentVariables": { 6 | "ASPNETCORE_ENVIRONMENT": "Development" 7 | }, 8 | "applicationUrl": "http://localhost:5010" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/Function/FaasNet.Kubernetes/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "DetailedErrors": true, 3 | "Logging": { 4 | "LogLevel": { 5 | "Default": "Information", 6 | "Microsoft": "Warning", 7 | "Microsoft.Hosting.Lifetime": "Information" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Function/FaasNet.Kubernetes/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*", 10 | "IsLocal": true 11 | } 12 | -------------------------------------------------------------------------------- /src/Gateway/FaasNet.Gateway.Startup/FaasNet.Gateway.Startup.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | net5.0 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/Gateway/FaasNet.Gateway.Startup/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "FaasNet.Gateway.SqlServer.Startup": { 4 | "commandName": "Project", 5 | "environmentVariables": { 6 | "ASPNETCORE_ENVIRONMENT": "Development" 7 | }, 8 | "applicationUrl": "http://localhost:5006" 9 | } 10 | } 11 | } -------------------------------------------------------------------------------- /src/Other/FaasNet.Bus.Startup/Consumers/ClientAddedEvent.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.Bus.Startup.Consumers 2 | { 3 | public class ClientAddedEvent 4 | { 5 | public string FirstName { get; set; } 6 | public string LastName { get; set; } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/Other/FaasNet.Bus.Startup/FaasNet.Bus.Startup.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | net5.0 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/Other/FaasNet.Bus.Startup/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "FaasNet.Bus.Startup": { 4 | "commandName": "Project", 5 | "environmentVariables": { 6 | "ASPNETCORE_ENVIRONMENT": "Development" 7 | }, 8 | "applicationUrl": "http://localhost:7000" 9 | } 10 | } 11 | } -------------------------------------------------------------------------------- /src/RaftConsensus/FaasNet.RaftConsensus.Client/FaasNet.RaftConsensus.Client.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | net6.0 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/RaftConsensus/FaasNet.RaftConsensus.Client/IPAddressHelper.cs: -------------------------------------------------------------------------------- 1 | using System.Linq; 2 | using System.Net; 3 | using System.Net.Sockets; 4 | 5 | namespace FaasNet.RaftConsensus.Client 6 | { 7 | public static class IPAddressHelper 8 | { 9 | public static IPAddress ResolveIPAddress(string url) 10 | { 11 | var hostEntry = Dns.GetHostEntry(url); 12 | return hostEntry.AddressList.First(a => a.AddressFamily == AddressFamily.InterNetwork); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/RaftConsensus/FaasNet.RaftConsensus.Client/Messages/Consensus/LeaderHeartbeatRequest.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.RaftConsensus.Client.Messages.Consensus 2 | { 3 | public class LeaderHeartbeatRequest : ConsensusPackage 4 | { 5 | } 6 | } -------------------------------------------------------------------------------- /src/RaftConsensus/FaasNet.RaftConsensus.Client/Messages/Consensus/LeaderHeartbeatResult.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.RaftConsensus.Client.Messages.Consensus 2 | { 3 | public class LeaderHeartbeatResult : ConsensusPackage 4 | { 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/RaftConsensus/FaasNet.RaftConsensus.Client/Messages/Consensus/VoteRequest.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.RaftConsensus.Client.Messages.Consensus 2 | { 3 | public class VoteRequest : ConsensusPackage 4 | { 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/RaftConsensus/FaasNet.RaftConsensus.Client/Messages/Gossip/GossipGetClusterNodesRequest.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.RaftConsensus.Client.Messages.Gossip 2 | { 3 | public class GossipGetClusterNodesRequest : GossipPackage 4 | { 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/RaftConsensus/FaasNet.RaftConsensus.Client/Messages/Gossip/GossipHeartbeatRequest.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.RaftConsensus.Client.Messages.Gossip 2 | { 3 | public class GossipHeartbeatRequest : GossipPackage 4 | { 5 | 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/RaftConsensus/FaasNet.RaftConsensus.Client/StandardEntityTypes.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.RaftConsensus.Client 2 | { 3 | public static class StandardEntityTypes 4 | { 5 | public const string Cluster = "CLUSTER_NODE"; 6 | public const string Peer = "PEER"; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/RaftConsensus/FaasNet.RaftConsensus.Core/Constants.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.RaftConsensus.Core 2 | { 3 | public class Constants 4 | { 5 | public const int DefaultPort = 4889; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/RaftConsensus/FaasNet.RaftConsensus.Core/FileLogStoreOptions.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.RaftConsensus.Core 2 | { 3 | public class FileLogStoreOptions 4 | { 5 | public FileLogStoreOptions() 6 | { 7 | 8 | } 9 | 10 | public string LogFilePath { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/RaftConsensus/FaasNet.RaftConsensus.Core/Models/ClusterNode.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.RaftConsensus.Core.Models 2 | { 3 | public class ClusterNode 4 | { 5 | public string Url { get; set; } 6 | public int Port { get; set; } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/RaftConsensus/FaasNet.RaftConsensus.Core/Models/LogRecord.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Diagnostics; 3 | 4 | namespace FaasNet.RaftConsensus.Core.Models 5 | { 6 | [DebuggerDisplay("Value = {Value}, Index = {Index}")] 7 | public class LogRecord 8 | { 9 | public long Index { get; set; } 10 | public string Value { get; set; } 11 | public DateTime InsertionDateTime { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/RaftConsensus/FaasNet.RaftConsensus.Discovery.Config/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Name": "DiscoveryConfigFile", 3 | "Description": "Use configuration file to discover peers", 4 | "DllName": "FaasNet.RaftConsensus.Discovery.Config.dll" 5 | } -------------------------------------------------------------------------------- /src/RaftConsensus/FaasNet.RaftConsensus.Discovery.Etcd/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Name": "DiscoveryEtcd", 3 | "Description": "Use etcd to discover the nodes", 4 | "DllName": "FaasNet.RaftConsensus.Discovery.Etcd.dll" 5 | } -------------------------------------------------------------------------------- /src/RaftConsensus/FaasNet.RaftConsensus.RocksDB/FaasNet.RaftConsensus.RocksDB.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | net6.0 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/RaftConsensus/architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simpleidserver/FaasNet/ebc67483410e3da47fe37ca60ab98038e34c1dd3/src/RaftConsensus/architecture.png -------------------------------------------------------------------------------- /src/Samples/FaasNet.EventMesh.AMQPClient/FaasNet.EventMesh.AMQPClient.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exe 5 | net6.0 6 | enable 7 | enable 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/Samples/FaasNet.EventMesh.AmqpSink/AmqpServerDockerFile: -------------------------------------------------------------------------------- 1 | FROM rabbitmq:3.10-management 2 | RUN rabbitmq-plugins enable --offline rabbitmq_amqp1_0 -------------------------------------------------------------------------------- /src/Samples/FaasNet.EventMesh.AmqpSink/README.md: -------------------------------------------------------------------------------- 1 | Deploy one RabbitMQ server with AMQP1.0 support 2 | 3 | ``` 4 | docker build -t amqpserver -f AmqpServerDockerFile . 5 | docker run --name rabbitmq -p 5672:5672 -p 15672:15672 amqpserver 6 | ``` -------------------------------------------------------------------------------- /src/Samples/FaasNet.EventMesh.EtcdCluster/README.md: -------------------------------------------------------------------------------- 1 | Configure a cluster of two EventMesh peers and use ETCD discovery method. -------------------------------------------------------------------------------- /src/Samples/FaasNet.EventMesh.EtcdDiscovery/README.md: -------------------------------------------------------------------------------- 1 | Download the file 2 | 3 | ``` 4 | https://raw.githubusercontent.com/simpleidserver/FaasNet/master/Samples/FaasNet.EventMesh.EtcdDiscovery/docker-compose.yml 5 | ``` 6 | 7 | Open a command prompt and execute the command below to deploy ETCD. 8 | 9 | ``` 10 | docker-compose up 11 | ``` -------------------------------------------------------------------------------- /src/Samples/FaasNet.EventMesh.EtcdDiscovery/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '2' 2 | services: 3 | Etcd: 4 | image: 'bitnami/etcd:latest' 5 | environment: 6 | - ALLOW_NONE_AUTHENTICATION=yes 7 | - ETCD_ADVERTISE_CLIENT_URLS=http://etcd:2379 8 | ports: 9 | - 23790:2379 10 | - 23800:2380 -------------------------------------------------------------------------------- /src/Samples/FaasNet.EventMesh.KafkaSink/README.md: -------------------------------------------------------------------------------- 1 | Download the file 2 | 3 | ``` 4 | https://raw.githubusercontent.com/simpleidserver/FaasNet/master/Samples/FaasNet.EventMesh.KafkaSink/docker-compose.yml 5 | ``` 6 | 7 | Open a command prompt and execute the command below to deploy Apache Kafka. 8 | 9 | ``` 10 | docker-compose up 11 | ``` -------------------------------------------------------------------------------- /src/Samples/FaasNet.EventMesh.TwoCluster/README.md: -------------------------------------------------------------------------------- 1 | Deploy two EventMesh cluster. -------------------------------------------------------------------------------- /src/Samples/FaasNet.EventMesh.TwoCluster/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '2' 2 | services: 3 | evtmeshnode1: 4 | image: 'simpleidserver/faaseventmesh:0.0.6' 5 | environment: 6 | ASPNETCORE_ENVIRONMENT: "dockerfirstnode" 7 | ports: 8 | - "4001:4000/udp" 9 | evtmeshnode2: 10 | image: 'simpleidserver/faaseventmesh:0.0.6' 11 | environment: 12 | ASPNETCORE_ENVIRONMENT: "dockersecondnode" 13 | ports: 14 | - "4002:4000/udp" -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Core/AsyncApi/Queries/GetAsyncApiOperationQuery.cs: -------------------------------------------------------------------------------- 1 | using FaasNet.StateMachine.Core.OpenApi.Results; 2 | using MediatR; 3 | 4 | namespace FaasNet.StateMachine.Core.AsyncApi.Queries 5 | { 6 | public class GetAsyncApiOperationQuery : IRequest 7 | { 8 | public string Endpoint { get; set; } 9 | public string OperationId { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Core/AsyncApi/Queries/GetAsyncApiOperationsQuery.cs: -------------------------------------------------------------------------------- 1 | using FaasNet.StateMachine.Runtime.AsyncAPI.v2.Models; 2 | using MediatR; 3 | using System.Collections.Generic; 4 | 5 | namespace FaasNet.StateMachine.Core.AsyncApi.Queries 6 | { 7 | public class GetAsyncApiOperationsQuery : IRequest> 8 | { 9 | public string Endpoint { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Core/AsyncApi/Results/GetAsyncApiOperationResult.cs: -------------------------------------------------------------------------------- 1 | using FaasNet.StateMachine.Runtime.AsyncAPI.v2.Models; 2 | 3 | namespace FaasNet.StateMachine.Core.OpenApi.Results 4 | { 5 | public class GetAsyncApiOperationResult 6 | { 7 | public Operation AsyncApiOperation { get; set; } 8 | public Components Components { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Core/Clients/FunctionResult.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.StateMachine.Core.Clients 2 | { 3 | public class FunctionResult 4 | { 5 | public string Id { get; set; } 6 | public string Name { get; set; } 7 | public string Image { get; set; } 8 | public string Version { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Core/Clients/IFunctionService.cs: -------------------------------------------------------------------------------- 1 | using System.Threading; 2 | using System.Threading.Tasks; 3 | 4 | namespace FaasNet.StateMachine.Core.Clients 5 | { 6 | public interface IFunctionService 7 | { 8 | Task Get(string image, string version, CancellationToken cancellationToken); 9 | Task Publish(FunctionResult functionResult, CancellationToken cancellationToken); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Core/StateMachineInstances/Queries/GetStateMachineInstanceQuery.cs: -------------------------------------------------------------------------------- 1 | using FaasNet.StateMachine.Core.StateMachineInstances.Results; 2 | using MediatR; 3 | 4 | namespace FaasNet.StateMachine.Core.StateMachineInstances.Queries 5 | { 6 | public class GetStateMachineInstanceQuery : IRequest 7 | { 8 | public string Id { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Core/StateMachineOptions.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.StateMachine.Core 2 | { 3 | public class StateMachineOptions 4 | { 5 | public StateMachineOptions() 6 | { 7 | StateMachineWorkerUrl = "http://localhost:5010"; 8 | } 9 | 10 | public string FunctionApiBaseUrl { get; set; } 11 | public string StateMachineWorkerUrl { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Core/StateMachines/Commands/AddEmptyStateMachineCommand.cs: -------------------------------------------------------------------------------- 1 | using MediatR; 2 | 3 | namespace FaasNet.StateMachine.Core.StateMachines.Commands 4 | { 5 | public class AddEmptyStateMachineCommand : IRequest 6 | { 7 | public string Name { get; set; } 8 | public string Description { get; set; } 9 | public string Vpn { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Core/StateMachines/Commands/AddStateMachineCommand.cs: -------------------------------------------------------------------------------- 1 | using FaasNet.StateMachine.Core.StateMachines.Results; 2 | using FaasNet.StateMachine.Runtime.Domains.Definitions; 3 | using MediatR; 4 | 5 | namespace FaasNet.StateMachine.Core.StateMachines.Commands 6 | { 7 | public class AddStateMachineCommand : IRequest 8 | { 9 | public StateMachineDefinitionAggregate WorkflowDefinition { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Core/StateMachines/Commands/StartStateMachineCommand.cs: -------------------------------------------------------------------------------- 1 | using FaasNet.StateMachine.Core.StateMachines.Results; 2 | using MediatR; 3 | 4 | namespace FaasNet.StateMachine.Core.StateMachines.Commands 5 | { 6 | public class StartStateMachineCommand : IRequest 7 | { 8 | public string Id { get; set; } 9 | public string Input { get; set; } 10 | public string Parameters { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Core/StateMachines/Commands/UpdateStateMachineCommand.cs: -------------------------------------------------------------------------------- 1 | using FaasNet.StateMachine.Core.StateMachines.Results; 2 | using FaasNet.StateMachine.Runtime.Domains.Definitions; 3 | using MediatR; 4 | 5 | namespace FaasNet.StateMachine.Core.StateMachines.Commands 6 | { 7 | public class UpdateStateMachineCommand : IRequest 8 | { 9 | public string Id { get; set; } 10 | public StateMachineDefinitionAggregate WorkflowDefinition { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Core/StateMachines/Commands/UpdateStateMachineInfoCommand.cs: -------------------------------------------------------------------------------- 1 | using MediatR; 2 | 3 | namespace FaasNet.StateMachine.Core.StateMachines.Commands 4 | { 5 | public class UpdateStateMachineInfoCommand : IRequest 6 | { 7 | public string Id { get; set; } 8 | public string Name { get; set; } 9 | public string Description { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Core/StateMachines/Queries/GetLastStateMachineDetailsQuery.cs: -------------------------------------------------------------------------------- 1 | using FaasNet.StateMachine.Runtime.Domains.Definitions; 2 | using MediatR; 3 | 4 | namespace FaasNet.StateMachine.Core.StateMachines.Queries 5 | { 6 | public class GetLastStateMachineDetailsQuery : IRequest 7 | { 8 | public string Id { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Core/StateMachines/Queries/GetStateMachineDetailsQuery.cs: -------------------------------------------------------------------------------- 1 | using FaasNet.StateMachine.Runtime.Domains.Definitions; 2 | using MediatR; 3 | 4 | namespace FaasNet.StateMachine.Core.StateMachines.Queries 5 | { 6 | public class GetStateMachineDetailsQuery : IRequest 7 | { 8 | public string Id { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Core/StateMachines/Results/AddStateMachineResult.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace FaasNet.StateMachine.Core.StateMachines.Results 4 | { 5 | public class AddStateMachineResult 6 | { 7 | public string Id { get; set; } 8 | public DateTime CreateDateTime { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Core/StateMachines/Results/StartStateMachineResult.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace FaasNet.StateMachine.Core.StateMachines.Results 4 | { 5 | public class StartStateMachineResult 6 | { 7 | public string Id { get; set; } 8 | public DateTime LaunchDateTime { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.EF/FaasNet.StateMachine.EF.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | net6.0 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Exporter/StateMachineExporterOptions.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.StateMachine.Exporter 2 | { 3 | public class StateMachineExporterOptions 4 | { 5 | public StateMachineExporterOptions() 6 | { 7 | GroupId = "StateMachineExporter"; 8 | } 9 | 10 | public string GroupId { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.ExporterHost/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "EventStoreDBConnectionString": "esdb://127.0.0.1:30062?tls=false", 3 | "ElasticSearchUrl": "https://elastic:7o0V9amx965nfwsXD7G2s72L@localhost:30070" 4 | } -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.IntegrationEvents/FaasNet.StateMachine.IntegrationEvents.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | netstandard2.1 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Runtime/AsyncAPI/AsyncApiResult.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.StateMachine.Runtime.AsyncAPI 2 | { 3 | public class AsyncApiResult 4 | { 5 | public AsyncApiResult(string url, string operationId) 6 | { 7 | Url = url; 8 | OperationId = operationId; 9 | } 10 | 11 | public string Url { get; } 12 | public string OperationId { get; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Runtime/AsyncAPI/Channels/Amqp/AmqpUrlResult.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.StateMachine.Runtime.AsyncAPI.Channels.Amqp 2 | { 3 | public class AmqpUrlResult 4 | { 5 | public AmqpUrlResult(string url, int? port) 6 | { 7 | Url = url; 8 | Port = port; 9 | } 10 | 11 | 12 | public string Url { get; } 13 | public int? Port { get; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Runtime/AsyncAPI/Channels/Amqp/IAmqpChannelClientFactory.cs: -------------------------------------------------------------------------------- 1 | using RabbitMQ.Client; 2 | using System.Collections.Generic; 3 | 4 | namespace FaasNet.StateMachine.Runtime.AsyncAPI.Channels.Amqp 5 | { 6 | public interface IAmqpChannelClientFactory 7 | { 8 | string SecurityType { get; } 9 | IConnectionFactory Build(string url, Dictionary parameters); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Runtime/AsyncAPI/Exceptions/AsyncAPIException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace FaasNet.StateMachine.Runtime.AsyncAPI.Exceptions 4 | { 5 | public class AsyncAPIException : Exception 6 | { 7 | public AsyncAPIException(string message) : base(message) { } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Runtime/AsyncAPI/v2/Models/Bindings/Amqp/AmqpChannelBindingQueue.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.StateMachine.Runtime.AsyncAPI.v2.Models.Bindings.Amqp 2 | { 3 | public class AmqpChannelBindingQueue 4 | { 5 | /// 6 | /// The name of the queue. 7 | /// 8 | public string Name { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Runtime/Builders/IFunctionBuilder.cs: -------------------------------------------------------------------------------- 1 | using FaasNet.StateMachine.Runtime.Domains.Definitions; 2 | 3 | namespace FaasNet.StateMachine.Runtime.Builders 4 | { 5 | public interface IFunctionBuilder 6 | { 7 | StateMachineDefinitionFunction Build(); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Runtime/Builders/IStateBuilder.cs: -------------------------------------------------------------------------------- 1 | using FaasNet.StateMachine.Runtime.Domains.Definitions; 2 | 3 | namespace FaasNet.StateMachine.Runtime.Builders 4 | { 5 | public interface IStateBuilder 6 | { 7 | BaseStateMachineDefinitionState Build(); 8 | IStateBuilder SetOutputFilter(string filter); 9 | IStateBuilder SetName(string name); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Runtime/Domains/Definitions/StateMachineDefinitionDefaultCondition.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.StateMachine.Runtime.Domains.Definitions 2 | { 3 | public class StateMachineDefinitionDefaultCondition 4 | { 5 | public string Transition { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Runtime/Domains/Definitions/StateMachineDefinitionOperationStateAction.cs: -------------------------------------------------------------------------------- 1 | 2 | namespace FaasNet.StateMachine.Runtime.Domains.Definitions 3 | { 4 | public class StateMachineDefinitionOperationStateAction 5 | { 6 | public string Name { get; set; } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Runtime/Domains/Definitions/StateMachineDefinitionStatus.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.StateMachine.Runtime.Domains.Definitions 2 | { 3 | public enum StateMachineDefinitionStatus 4 | { 5 | CREATE = 0, 6 | INACTIVE = 1, 7 | ACTIVE = 2 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Runtime/Domains/Enums/StateMachineDefinitionActionModes.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.Serialization; 2 | 3 | namespace FaasNet.StateMachine.Runtime.Domains.Enums 4 | { 5 | public enum StateMachineDefinitionActionModes 6 | { 7 | [EnumMember(Value = "sequential")] 8 | Sequential = 0, 9 | [EnumMember(Value = "parallel")] 10 | Parallel = 1 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Runtime/Domains/Enums/StateMachineDefinitionEventConditionTypes.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.StateMachine.Runtime.Domains.Enums 2 | { 3 | public enum StateMachineDefinitionEventConditionTypes 4 | { 5 | DATA = 0, 6 | EVENT = 1 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Runtime/Domains/Enums/StateMachineDefinitionEventKinds.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.StateMachine.Runtime.Domains.Enums 2 | { 3 | public enum StateMachineDefinitionEventKinds 4 | { 5 | Consumed = 0, 6 | Produced = 1 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Runtime/Domains/Enums/StateMachineDefinitionForeachStateModes.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.StateMachine.Runtime.Domains.Enums 2 | { 3 | public enum StateMachineDefinitionForeachStateModes 4 | { 5 | Sequential = 0, 6 | Parallel = 1 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Runtime/Domains/Enums/StateMachineDefinitionStartStateTypes.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.StateMachine.Runtime.Domains.Enums 2 | { 3 | public enum StateMachineDefinitionStartStateTypes 4 | { 5 | IMMEDIATE = 0, 6 | SCHEDULED = 1 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Runtime/Domains/Enums/StateMachineDefinitionTypes.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.StateMachine.Runtime.Domains.Enums 2 | { 3 | public enum StateMachineDefinitionTypes 4 | { 5 | REST = 0, 6 | ASYNCAPI = 1, 7 | RPC = 2, 8 | GRAPHSQL = 3, 9 | ODATA = 4, 10 | EXPRESSION = 5, 11 | CUSTOM = 6 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Runtime/Domains/Enums/StateMachineInstanceStateEventStates.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.StateMachine.Runtime.Domains.Enums 2 | { 3 | public enum StateMachineInstanceStateEventStates 4 | { 5 | CREATED = 0, 6 | CONSUMED = 1, 7 | PROCESSED = 2 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Runtime/Domains/Enums/StateMachineInstanceStateStatus.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.StateMachine.Runtime.Domains.Enums 2 | { 3 | public enum StateMachineInstanceStateStatus 4 | { 5 | CREATE = 0, 6 | ACTIVE = 1, 7 | PENDING = 2, 8 | COMPLETE = 3, 9 | ERROR = 4 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Runtime/Domains/Enums/StateMachineInstanceStatus.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.StateMachine.Runtime.Domains.Enums 2 | { 3 | public enum StateMachineInstanceStatus 4 | { 5 | ACTIVE = 1, 6 | TERMINATE = 2, 7 | FAILED = 3 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Runtime/Exceptions/BusinessException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace FaasNet.StateMachine.Runtime.Exceptions 4 | { 5 | public class BusinessException : Exception 6 | { 7 | public BusinessException(string message) : base(message) 8 | { 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Runtime/Exceptions/ConcurrentAccessException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace FaasNet.StateMachine.Runtime.Exceptions 4 | { 5 | public class ConcurrentAccessException : Exception 6 | { 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Runtime/Exceptions/OpenAPIException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace FaasNet.StateMachine.Runtime.Exceptions 4 | { 5 | public class OpenAPIException : Exception 6 | { 7 | public OpenAPIException(string message) : base(message) { } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Runtime/Exceptions/ProcessorException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace FaasNet.StateMachine.Runtime.Exceptions 4 | { 5 | public class ProcessorException : Exception 6 | { 7 | public ProcessorException(string message) : base(message) { } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Runtime/Factories/HttpClientFactory.cs: -------------------------------------------------------------------------------- 1 | using System.Net.Http; 2 | 3 | namespace FaasNet.StateMachine.Runtime.Factories 4 | { 5 | public class HttpClientFactory : IHttpClientFactory 6 | { 7 | public HttpClient Build() 8 | { 9 | return new HttpClient(); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Runtime/Factories/IHttpClientFactory.cs: -------------------------------------------------------------------------------- 1 | using System.Net.Http; 2 | 3 | namespace FaasNet.StateMachine.Runtime.Factories 4 | { 5 | public interface IHttpClientFactory 6 | { 7 | HttpClient Build(); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Runtime/JSchemas/FaasNetJsonSchema.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | using NJsonSchema; 3 | 4 | namespace FaasNet.StateMachine.Runtime.JSchemas 5 | { 6 | [JsonConverter(typeof(JsonSchemaConverter))] 7 | public class FaasNetJsonSchema : JsonSchema 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Runtime/OpenAPI/IRequestBodyBuilder.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json.Linq; 2 | using System.Net.Http; 3 | 4 | namespace FaasNet.StateMachine.Runtime.OpenAPI 5 | { 6 | public interface IRequestBodyBuilder 7 | { 8 | string[] ContentTypes { get; } 9 | HttpContent Build(string contentType, JToken input); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Runtime/Processors/IStateProcessor.cs: -------------------------------------------------------------------------------- 1 | using FaasNet.StateMachine.Runtime.Domains.Enums; 2 | using System.Threading; 3 | using System.Threading.Tasks; 4 | 5 | namespace FaasNet.StateMachine.Runtime.Processors 6 | { 7 | public interface IStateProcessor 8 | { 9 | StateMachineDefinitionStateTypes Type { get; } 10 | Task Process(StateMachineInstanceExecutionContext executionContext, CancellationToken cancellationToken); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Runtime/Serializer/TreeNodeTypes.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.StateMachine.Runtime.Serializer 2 | { 3 | public enum TreeNodeTypes 4 | { 5 | PROPERTY = 0, 6 | ARRAY = 1, 7 | OBJECT = 2 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.SqlServer.Startup/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "FaasNet.StateMachine.SqlServer.Startup": { 4 | "commandName": "Project", 5 | "launchBrowser": true, 6 | "environmentVariables": { 7 | "ASPNETCORE_ENVIRONMENT": "Development" 8 | }, 9 | "applicationUrl": "http://localhost:5004" 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.SqlServer.Startup/ServerlessWorkflows/HelloWorld.yml: -------------------------------------------------------------------------------- 1 | id: helloWorld 2 | version: 1 3 | name: name 4 | description: description 5 | start: 6 | stateName: c7285af5-7766-4108-92c5-c3ca8e4c2270 7 | states: 8 | - data: 9 | result: Hello World! 10 | end: true 11 | id: c7285af5-7766-4108-92c5-c3ca8e4c2270 12 | name: helloWorld 13 | type: inject 14 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.SqlServer.Startup/appsettings.Docker.json: -------------------------------------------------------------------------------- 1 | { 2 | "ConnectionStrings": { 3 | "Runtime": "Data Source=mssql-entry.faas.svc.cluster.local;Initial Catalog=Runtime;User ID=sa;Password=D54DE7hHpkG9" 4 | } 5 | } -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.SqlServer.Startup/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "ConnectionStrings": { 3 | "Runtime": "Data Source=THABART;Initial Catalog=StateMachineApi;Integrated Security=True" 4 | }, 5 | "RabbitMQConnectionString": "amqp://guest:guest@127.0.0.1:30007/", 6 | "ElasticSearchUrl": "https://elastic:Qksz8DFN7G4Cv6sqsT761478@localhost:30070", 7 | "StateMachineWorkerUrl": "http://localhost:5010" 8 | } -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Worker.EF/FaasNet.StateMachine.Worker.EF.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | net6.0 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Worker.EventMesh/FaasNet.StateMachine.Worker.EventMesh.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | net6.0 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Worker/Handlers/IIntegrationEventHandler.cs: -------------------------------------------------------------------------------- 1 | using FaasNet.Domain; 2 | using System.Threading; 3 | using System.Threading.Tasks; 4 | 5 | namespace FaasNet.StateMachine.Worker.Handlers 6 | { 7 | public interface IIntegrationEventHandler where T : IntegrationEvent 8 | { 9 | Task Process(T evt, CancellationToken cancellationToken); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Worker/IEventConsumerStore.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Threading; 3 | using System.Threading.Tasks; 4 | 5 | namespace FaasNet.StateMachine.Worker 6 | { 7 | public interface IEventConsumerStore: IDisposable 8 | { 9 | Task Init(CancellationToken cancellationToken); 10 | Task Stop(CancellationToken cancellationToken); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Worker/IIntegrationEventProcessor.cs: -------------------------------------------------------------------------------- 1 | using FaasNet.Domain; 2 | using System.Collections.Generic; 3 | using System.Threading; 4 | using System.Threading.Tasks; 5 | 6 | namespace FaasNet.StateMachine.Worker 7 | { 8 | public interface IIntegrationEventProcessor 9 | { 10 | Task Process(List integrationEvts, CancellationToken cancellationToken); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.Worker/StateMachineWorkerOptions.cs: -------------------------------------------------------------------------------- 1 | namespace FaasNet.StateMachine.Worker 2 | { 3 | public class StateMachineWorkerOptions 4 | { 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachine.WorkerHost/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "FaasNet.StateMachine.WorkerHost": { 4 | "commandName": "Project", 5 | "launchBrowser": true, 6 | "environmentVariables": { 7 | "ASPNETCORE_ENVIRONMENT": "Development" 8 | }, 9 | "applicationUrl": "http://localhost:5010" 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachineInstance.Persistence.ES/FaasNet.StateMachineInstance.Persistence.ES.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | net6.0 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachineInstance.Persistence/FaasNet.StateMachineInstance.Persistence.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | net6.0 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /src/StateMachines/FaasNet.StateMachineInstance.Persistence/SearchWorkflowInstanceParameter.cs: -------------------------------------------------------------------------------- 1 | using FaasNet.Domain; 2 | 3 | namespace FaasNet.StateMachineInstance.Persistence 4 | { 5 | public class SearchWorkflowInstanceParameter : BaseSearchParameter 6 | { 7 | public string Vpn { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/Templates/EventMeshServer.Template/README.txt: -------------------------------------------------------------------------------- 1 | # Generate example 2 | 3 | "./node_modules/.bin/ag" --output "./pubsub" "./examples/pubsub.json" "." --force-write -------------------------------------------------------------------------------- /src/Templates/EventMeshServer.Template/pubsub/AsyncapiEventMeshClient/AsyncapiEventMeshClient.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net5.0 5 | AsyncapiEventMeshClient 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /src/Templates/EventMeshServer.Template/pubsub/AsyncapiEventMeshRunner/AsyncapiEventMeshRunner.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exe 5 | net5.0 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/Templates/FaasNet.Templates/templates/EventMeshServerInMemory/EventMeshServerInMemory.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | Exe 4 | net5.0 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /src/Templates/FaasNet.Templates/templates/EventMeshServerKafka/EventMeshServer.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | Exe 4 | net5.0 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /src/Templates/FaasNet.Templates/templates/EventMeshServerRabbitMQ/EventMeshServer.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | Exe 4 | net5.0 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /src/Templates/FaasNet.Templates/templates/EventMeshServerUIInMemory/App.razor: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Sorry, there's nothing at this address. 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/Templates/FaasNet.Templates/templates/EventMeshServerUIInMemory/EventMeshServer.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | net5.0 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/Templates/FaasNet.Templates/templates/EventMeshServerUIInMemory/Services/ViewClientState.cs: -------------------------------------------------------------------------------- 1 | using FaasNet.EventMesh.Runtime.Models; 2 | 3 | namespace EventMeshServer.Services 4 | { 5 | public class ViewClientState 6 | { 7 | public Client Client { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/Templates/FaasNet.Templates/templates/EventMeshServerUIInMemory/Shared/Breadcrumb.razor: -------------------------------------------------------------------------------- 1 | 2 | @foreach(var item in Items) 3 | { 4 | @item.Text 5 | } 6 | 7 | 8 | @code { 9 | [Parameter] 10 | public ICollection Items { get; set; } 11 | } 12 | -------------------------------------------------------------------------------- /src/Templates/FaasNet.Templates/templates/EventMeshServerUIInMemory/Shared/Breadcrumb.razor.css: -------------------------------------------------------------------------------- 1 | .breadcrumb { 2 | background-color: transparent !important; 3 | padding: 0.75rem 1rem !important; 4 | border-radius: unset !important; 5 | margin-bottom: 0 !important; 6 | border-bottom: 1px solid #eff3f5; 7 | } 8 | 9 | .breadcrumb .breadcrumb-item { 10 | font-size: 0.8em !important; 11 | } 12 | -------------------------------------------------------------------------------- /src/Templates/FaasNet.Templates/templates/EventMeshServerUIInMemory/Shared/NavMenu.razor.css: -------------------------------------------------------------------------------- 1 | .logo { 2 | text-align: center; 3 | } 4 | 5 | .logo img { 6 | width: 100px; 7 | } 8 | 9 | .nav-item ::deep .active { 10 | background-color: #eaeaea; 11 | } 12 | 13 | .nav-item ::deep a, 14 | .nav-item ::deep a:visited, 15 | .nav-item ::deep a:focus { 16 | color: rgba(0, 0, 0, 0.87); 17 | } -------------------------------------------------------------------------------- /src/Templates/FaasNet.Templates/templates/EventMeshServerUIInMemory/Shared/ServerLayout.razor: -------------------------------------------------------------------------------- 1 | @inherits LayoutComponentBase 2 | @layout MainLayout 3 | 4 | 5 | 6 | 7 | Status 8 | Clients 9 | 10 | @Body 11 | 12 | -------------------------------------------------------------------------------- /src/Templates/FaasNet.Templates/templates/EventMeshServerUIInMemory/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "DetailedErrors": true, 3 | "Logging": { 4 | "LogLevel": { 5 | "Default": "Information", 6 | "Microsoft": "Warning", 7 | "Microsoft.Hosting.Lifetime": "Information" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Templates/FaasNet.Templates/templates/EventMeshServerUIInMemory/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /src/Templates/FaasNet.Templates/templates/FaasNet.Function/HelloWorldConfiguration.cs: -------------------------------------------------------------------------------- 1 | using FaasNet.Function.Attributes; 2 | 3 | namespace Function 4 | { 5 | [FuncInfo("HelloWorld", "v1")] 6 | public class HelloWorldConfiguration 7 | { 8 | [Translation("fr", "Titre")] 9 | [Translation("en", "Title")] 10 | public string FirstName { get; set; } 11 | } 12 | } -------------------------------------------------------------------------------- /tests/FaasNet.StateMachine.Core.Tests/Controllers/CreditController.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Mvc; 2 | 3 | namespace FaasNet.StateMachine.Core.Tests.Controllers 4 | { 5 | [Route("credit")] 6 | public class CreditController : Controller 7 | { 8 | [HttpGet(Name = "creditCheck")] 9 | public IActionResult Check() 10 | { 11 | return Ok(); 12 | } 13 | } 14 | } 15 | --------------------------------------------------------------------------------
Sorry, there's nothing at this address.