gitextract_py2cqu4t/ ├── .gitattributes ├── .gitignore ├── Docs/ │ ├── Continuous_Integration.md │ ├── Contributor_Guide.md │ ├── Deploy&Host_an_App_in_YAMS.md │ ├── Deploy_Orleans_App_in_YAMS.md │ ├── Deploy_YAMS.md │ ├── Overview.md │ └── YAMS_Storage.md ├── Etg.Yams.sln ├── Etg.Yams.sln.DotSettings ├── LICENSE ├── README.md ├── SECURITY.md ├── Samples/ │ ├── Etg.Yams.ARM/ │ │ ├── Etg.Yams.ARM.sln │ │ ├── Etg.Yams.Host/ │ │ │ ├── App.config │ │ │ ├── Etg.Yams.Host.csproj │ │ │ ├── Program.cs │ │ │ ├── Properties/ │ │ │ │ └── AssemblyInfo.cs │ │ │ └── packages.config │ │ └── README.md │ ├── Etg.Yams.Cloud/ │ │ ├── Backend/ │ │ │ ├── Backend.csproj │ │ │ ├── Properties/ │ │ │ │ └── AssemblyInfo.cs │ │ │ ├── WorkerRole.cs │ │ │ ├── app.config │ │ │ └── packages.config │ │ ├── Etg.Yams.Cloud.MultipleClusters/ │ │ │ ├── BackendContent/ │ │ │ │ ├── GCSettingsManagement.ps1 │ │ │ │ ├── ServerGC.cmd │ │ │ │ └── diagnostics.wadcfgx │ │ │ ├── Etg.Yams.Cloud.MultipleClusters.ccproj │ │ │ ├── FrontendContent/ │ │ │ │ └── diagnostics.wadcfgx │ │ │ ├── ServiceConfiguration.Cloud.cscfg │ │ │ ├── ServiceConfiguration.Local.cscfg │ │ │ └── ServiceDefinition.csdef │ │ ├── Etg.Yams.Cloud.MultipleClusters.sln │ │ ├── Etg.Yams.Cloud.SingleCluster/ │ │ │ ├── Etg.Yams.Cloud.SingleCluster.ccproj │ │ │ ├── ServiceConfiguration.Cloud.cscfg │ │ │ ├── ServiceConfiguration.Local.cscfg │ │ │ ├── ServiceDefinition.csdef │ │ │ └── SingleClusterRoleContent/ │ │ │ ├── GCSettingsManagement.ps1 │ │ │ ├── ServerGC.cmd │ │ │ └── diagnostics.wadcfgx │ │ ├── Etg.Yams.Cloud.SingleCluster.sln │ │ ├── Etg.Yams.WorkerRole/ │ │ │ ├── Etg.Yams.WorkerRole.csproj │ │ │ ├── Properties/ │ │ │ │ ├── AssemblyInfo.cs │ │ │ │ └── SlowCheetah/ │ │ │ │ └── SlowCheetah.Transforms.targets │ │ │ ├── Utils/ │ │ │ │ ├── AzureUtils.cs │ │ │ │ └── DeploymentIdUtils.cs │ │ │ ├── WorkerRole.cs │ │ │ ├── WorkerRoleConfig.cs │ │ │ ├── app.config │ │ │ └── packages.config │ │ ├── Frontend/ │ │ │ ├── Frontend.csproj │ │ │ ├── Properties/ │ │ │ │ └── AssemblyInfo.cs │ │ │ ├── WorkerRole.cs │ │ │ ├── app.config │ │ │ └── packages.config │ │ └── SingleClusterRole/ │ │ ├── Properties/ │ │ │ └── AssemblyInfo.cs │ │ ├── SingleClusterRole.csproj │ │ ├── WorkerRole.cs │ │ ├── app.config │ │ └── packages.config │ ├── OrleansApp/ │ │ ├── GrainInterfaces/ │ │ │ ├── GrainInterfaces.csproj │ │ │ ├── IHelloGrain.cs │ │ │ ├── Properties/ │ │ │ │ └── AssemblyInfo.cs │ │ │ └── packages.config │ │ ├── Grains/ │ │ │ ├── Grains.csproj │ │ │ ├── HelloGrain.cs │ │ │ ├── Properties/ │ │ │ │ └── AssemblyInfo.cs │ │ │ └── packages.config │ │ ├── OrleansApp.sln │ │ ├── SiloHost/ │ │ │ ├── App.config │ │ │ ├── AppConfig.json │ │ │ ├── OrleansHostWrapper.cs │ │ │ ├── Program.cs │ │ │ ├── Properties/ │ │ │ │ └── AssemblyInfo.cs │ │ │ ├── SiloHost.csproj │ │ │ └── packages.config │ │ └── WebApp/ │ │ ├── App.config │ │ ├── App.cs │ │ ├── AppConfig.json │ │ ├── ApplicationController.cs │ │ ├── OrleansHelloController.cs │ │ ├── Properties/ │ │ │ └── AssemblyInfo.cs │ │ ├── Startup.cs │ │ ├── WebApp.csproj │ │ └── packages.config │ ├── Samples.sln │ ├── WebApp/ │ │ ├── PublishScripts/ │ │ │ ├── AzureWebsitePublishModule.psm1 │ │ │ ├── Configurations/ │ │ │ │ └── WebApp-WAWS-dev.json │ │ │ └── Publish-WebApplicationWebsite.ps1 │ │ ├── WebApp/ │ │ │ ├── App.config │ │ │ ├── App.cs │ │ │ ├── AppConfig.json │ │ │ ├── ApplicationController.cs │ │ │ ├── CoinFlipController.cs │ │ │ ├── Properties/ │ │ │ │ └── AssemblyInfo.cs │ │ │ ├── Startup.cs │ │ │ ├── WebApp.csproj │ │ │ └── packages.config │ │ └── WebApp.sln │ └── YamsStudio/ │ ├── AddNewApplicationDialog.xaml │ ├── AddNewApplicationDialog.xaml.cs │ ├── AddNewDeploymentDialog.xaml │ ├── AddNewDeploymentDialog.xaml.cs │ ├── App.config │ ├── App.xaml │ ├── App.xaml.cs │ ├── BusyWindow.xaml │ ├── BusyWindow.xaml.cs │ ├── ConnectToStorageAccountDialog.xaml │ ├── ConnectToStorageAccountDialog.xaml.cs │ ├── DeploymentInfo.cs │ ├── DeploymentRepositoryFactory.cs │ ├── DeploymentRepositoryManager.cs │ ├── IDeploymentRepositoryFactory.cs │ ├── MainWindow.xaml │ ├── MainWindow.xaml.cs │ ├── Properties/ │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ ├── Resources.resx │ │ ├── Settings.Designer.cs │ │ └── Settings.settings │ ├── SelectDirectoryControl.xaml │ ├── SelectDirectoryControl.xaml.cs │ ├── StorageAccountConnectionInfo.cs │ ├── UpdateVersionDialog.xaml │ ├── UpdateVersionDialog.xaml.cs │ ├── YamsStudio.csproj │ └── packages.config ├── src/ │ ├── AzureBlobStorageDeploymentRepository/ │ │ ├── AzureBlobStorageDeploymentRepository.csproj │ │ ├── BlobStorageDeploymentRepository.cs │ │ ├── Properties/ │ │ │ └── AssemblyInfo.cs │ │ ├── app.config │ │ └── packages.config │ ├── AzureBlobStorageUpdateSession/ │ │ ├── AzureBlobStorageUpdateSession.csproj │ │ ├── Properties/ │ │ │ └── AssemblyInfo.cs │ │ ├── UpdateSession/ │ │ │ ├── AzureStorageUpdateSessionDiModule.cs │ │ │ ├── AzureTableUpdateSessionManager.cs │ │ │ ├── IUpdateBlob.cs │ │ │ ├── IUpdateBlobFactory.cs │ │ │ ├── IUpdateSessionTable.cs │ │ │ ├── Retry/ │ │ │ │ ├── LockUpdateBlobErrorDetectionStrategy.cs │ │ │ │ ├── StartUpdateSessionRetryDecorator.cs │ │ │ │ ├── StorageExceptionErrorDetectionStrategy.cs │ │ │ │ ├── StorageExceptionUpdateSessionRetryDecorator.cs │ │ │ │ └── UpdateBlobFactoryRetryLockDecorator.cs │ │ │ ├── UpdateBlob.cs │ │ │ ├── UpdateBlobFactory.cs │ │ │ ├── UpdateBlobUnavailableException.cs │ │ │ ├── UpdateDomainEntity.cs │ │ │ ├── UpdateSessionStatus.cs │ │ │ ├── UpdateSessionTable.cs │ │ │ └── UpdateSessionTransaction.cs │ │ └── packages.config │ ├── AzureBlobUtils/ │ │ ├── AzureBlobUtils.csproj │ │ ├── BlobUtils.cs │ │ ├── Properties/ │ │ │ └── AssemblyInfo.cs │ │ └── packages.config │ ├── AzureUtils/ │ │ ├── AzureUtils.csproj │ │ ├── Lease/ │ │ │ ├── BlobLeaseFactory.cs │ │ │ ├── IBlobLease.cs │ │ │ ├── IBlobLeaseFactory.cs │ │ │ └── SelfRenewableBlobLease.cs │ │ ├── Properties/ │ │ │ └── AssemblyInfo.cs │ │ ├── Utils/ │ │ │ └── BlobUtils.cs │ │ ├── app.config │ │ └── packages.config │ ├── Common/ │ │ ├── Common.csproj │ │ ├── FileUtils.cs │ │ ├── Json/ │ │ │ ├── IJsonSerializer.cs │ │ │ └── JsonSerializer.cs │ │ ├── Properties/ │ │ │ └── AssemblyInfo.cs │ │ ├── Utils/ │ │ │ ├── DictionaryUtils.cs │ │ │ ├── FileUtils.cs │ │ │ ├── HashCodeUtils.cs │ │ │ ├── TaskExtensions.cs │ │ │ └── TraceUtils.cs │ │ └── packages.config │ ├── Etg.Yams/ │ │ ├── Etg.Yams.csproj │ │ ├── Etg.Yams.nuspec │ │ ├── NuGetPack.bat │ │ ├── Properties/ │ │ │ └── AssemblyInfo.cs │ │ ├── YamsServiceFactory.cs │ │ ├── app.config │ │ └── packages.config │ ├── Etg.Yams.Client/ │ │ ├── Etg.Yams.Client.csproj │ │ ├── Etg.Yams.Client.nuspec │ │ ├── IProcessArgsParser.cs │ │ ├── IYamsClient.cs │ │ ├── IYamsClientFactory.cs │ │ ├── NuGetPack.bat │ │ ├── ProcessArgsParser.cs │ │ ├── Properties/ │ │ │ └── AssemblyInfo.cs │ │ ├── YamsClient.cs │ │ ├── YamsClientConfig.cs │ │ ├── YamsClientConfigBuilder.cs │ │ ├── YamsClientFactory.cs │ │ ├── YamsClientOptions.cs │ │ └── packages.config │ ├── Etg.Yams.Core/ │ │ ├── Application/ │ │ │ ├── AppIdentity.cs │ │ │ ├── Application.cs │ │ │ ├── ApplicationConfig.cs │ │ │ ├── ApplicationConfigParser.cs │ │ │ ├── ApplicationConfigSymbolResolver.cs │ │ │ ├── ApplicationPool.cs │ │ │ ├── ConfigurableApplication.cs │ │ │ ├── ConfigurableApplicationFactory.cs │ │ │ ├── IApplication.cs │ │ │ ├── IApplicationConfigParser.cs │ │ │ ├── IApplicationConfigSymbolResolver.cs │ │ │ ├── IApplicationFactory.cs │ │ │ └── IApplicationPool.cs │ │ ├── Constants.cs │ │ ├── Deploy/ │ │ │ ├── AndDeploymentMatcher.cs │ │ │ ├── ClusterIdDeploymentMatcher.cs │ │ │ ├── IAppDeploymentMatcher.cs │ │ │ ├── IApplicationDeploymentDirectory.cs │ │ │ ├── PropertiesDeploymentMatcher.cs │ │ │ └── RemoteApplicationDeploymentDirectory.cs │ │ ├── Download/ │ │ │ ├── ApplicationDownloader.cs │ │ │ └── IApplicationDownloader.cs │ │ ├── Etg.Yams.Core.csproj │ │ ├── IYamsService.cs │ │ ├── Install/ │ │ │ ├── AppInstallConfig.cs │ │ │ ├── ApplicationInstaller.cs │ │ │ └── IApplicationInstaller.cs │ │ ├── Os/ │ │ │ ├── ISystem.cs │ │ │ ├── System.cs │ │ │ └── SystemExtensions.cs │ │ ├── Process/ │ │ │ ├── AbstractProcessDecorator.cs │ │ │ ├── GracefullShutdownProcessDecorator.cs │ │ │ ├── HealthProcessDecorator.cs │ │ │ ├── IProcess.cs │ │ │ ├── IProcessFactory.cs │ │ │ ├── IProcessStopper.cs │ │ │ ├── MonitorInitProcessDecorator.cs │ │ │ ├── Process.cs │ │ │ ├── ProcessFactory.cs │ │ │ ├── ProcessStopper.cs │ │ │ └── SelfRestartingProcess.cs │ │ ├── Properties/ │ │ │ └── AssemblyInfo.cs │ │ ├── Storage/ │ │ │ ├── BinariesNotFoundException.cs │ │ │ ├── Config/ │ │ │ │ ├── AppDeploymentConfig.cs │ │ │ │ ├── DeploymentConfig.cs │ │ │ │ ├── IDeploymentConfigSerializer.cs │ │ │ │ └── JsonDeploymentConfigSerializer.cs │ │ │ ├── ConflictResolutionMode.cs │ │ │ ├── DuplicateBinariesException.cs │ │ │ ├── IDeploymentRepository.cs │ │ │ ├── IDeploymentStatusReader.cs │ │ │ ├── IDeploymentStatusWriter.cs │ │ │ └── Status/ │ │ │ ├── AppDeploymentStatus.cs │ │ │ ├── ClusterDeploymentStatus.cs │ │ │ ├── DeploymentStatus.cs │ │ │ ├── IDeploymentStatusSerializer.cs │ │ │ ├── InstanceDeploymentStatus.cs │ │ │ └── JsonDeploymentStatusSerializer.cs │ │ ├── Update/ │ │ │ ├── ApplicationUpdateManager.cs │ │ │ ├── IApplicationUpdateManager.cs │ │ │ └── IUpdateSessionManager.cs │ │ ├── Utils/ │ │ │ ├── ApplicationUtils.cs │ │ │ ├── EnvironmentUtils.cs │ │ │ └── ProcessUtils.cs │ │ ├── Watcher/ │ │ │ ├── DeploymentWatcher.cs │ │ │ └── IDeploymentWatcher.cs │ │ ├── YamsConfig.cs │ │ ├── YamsConfigBuilder.cs │ │ ├── YamsDiModule.cs │ │ ├── YamsService.cs │ │ └── packages.config │ ├── Etg.Yams.Host/ │ │ ├── App.config │ │ ├── Etg.Yams.Host.csproj │ │ ├── Program.cs │ │ └── Properties/ │ │ └── AssemblyInfo.cs │ ├── Etg.Yams.Ipc/ │ │ ├── Etg.Yams.Ipc.csproj │ │ ├── IIpcConnection.cs │ │ ├── INamedPipe.cs │ │ ├── INamedPipeFactory.cs │ │ ├── IpcConnection.cs │ │ ├── NamedPipeClientAdapter.cs │ │ ├── NamedPipeFactory.cs │ │ ├── NamedPipeServerAdapter.cs │ │ └── Properties/ │ │ └── AssemblyInfo.cs │ └── Etg.Yams.Powershell/ │ ├── ConnectDeploymentRepositoryCmdlet.cs │ ├── Etg.Yams.Powershell.csproj │ ├── Etg.Yams.Powershell.nuspec │ ├── GetDeploymentConfigCmdlet.cs │ ├── GetDeploymentStatusCmdlet.cs │ ├── InstallApplicationsCmdlet.cs │ ├── NuGetPack.bat │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── SetDeploymentConfigCmdlet.cs │ ├── UninstallApplicationsCmdlet.cs │ ├── app.config │ └── packages.config └── test/ ├── AzureBlobStorageDeploymentRepositoryTest/ │ ├── AzureBlobStorageDeploymentRepositoryTest.csproj │ ├── BlobStorageDeploymentRepositoryTest.cs │ ├── Data/ │ │ └── DeploymentRepository/ │ │ └── DeploymentConfig.json │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── app.config │ └── packages.config ├── AzureBlobStorageUpdateSessionTest/ │ ├── AzureBlobStorageUpdateSessionTest.csproj │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── SimpleStubs.json │ ├── UpdateSession/ │ │ ├── AzureTableUpdateSessionManagerTests.cs │ │ ├── Retry/ │ │ │ ├── UpdateBlobFactoryRetryLockDecoratorTest.cs │ │ │ └── UpdateSessionManagerRetryDecoratorTest.cs │ │ └── UpdateBlobTest.cs │ └── packages.config ├── AzureTestUtils/ │ ├── AzureStorageEmulatorProxy.cs │ ├── AzureTestUtils.csproj │ ├── Fixtures/ │ │ └── AzureStorageEmulatorTestFixture.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ └── packages.config ├── AzureUtilsTest/ │ ├── AzureUtilsTest.csproj │ ├── BlobUtilsTest.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ └── packages.config ├── Etg.Yams.Core.Test/ │ ├── Application/ │ │ ├── ApplicationConfigParserTest.cs │ │ ├── ApplicationConfigSymbolResolverTest.cs │ │ ├── ApplicationPoolTest.cs │ │ └── ApplicationTest.cs │ ├── Client/ │ │ └── YamsProcessArgsParserTest.cs │ ├── Data/ │ │ ├── ApplicationConfigParser/ │ │ │ └── AppConfig.json │ │ ├── ApplicationPool/ │ │ │ └── test.myapp/ │ │ │ ├── 1.0.0/ │ │ │ │ └── AppConfig.json │ │ │ └── 1.0.1/ │ │ │ └── AppConfig.json │ │ ├── DeploymentConfig/ │ │ │ └── DeploymentConfig.json │ │ └── EndToEndTest/ │ │ ├── DeploymentConfig.json │ │ ├── DeploymentConfigFullIpcApp.json │ │ ├── DeploymentConfigGracefulShutdownApp.json │ │ ├── DeploymentConfigHeartBeatApp.json │ │ ├── DeploymentConfigMonitorInitApp.json │ │ ├── DeploymentConfigNoApps.json │ │ ├── DeploymentConfigUpdate.json │ │ ├── DeploymentConfigWithProperties.json │ │ ├── FullIpcApp/ │ │ │ └── 1.0.0/ │ │ │ └── AppConfig.json │ │ ├── GracefulShutdownApp/ │ │ │ └── 1.0.0/ │ │ │ └── AppConfig.json │ │ ├── HeartBeatApp/ │ │ │ └── 1.0.0/ │ │ │ └── AppConfig.json │ │ ├── MonitorInitApp/ │ │ │ └── 1.0.0/ │ │ │ └── AppConfig.json │ │ ├── test.app1/ │ │ │ ├── 1.0.0/ │ │ │ │ └── AppConfig.json │ │ │ └── 1.0.1/ │ │ │ └── AppConfig.json │ │ ├── test.app2/ │ │ │ ├── 1.1.0/ │ │ │ │ └── AppConfig.json │ │ │ └── 2.0.0-beta/ │ │ │ └── AppConfig.json │ │ ├── test.app3/ │ │ │ ├── 1.0.0/ │ │ │ │ └── AppConfig.json │ │ │ └── 1.1.0/ │ │ │ └── AppConfig.json │ │ └── test.app4/ │ │ └── 1.0.0/ │ │ └── AppConfig.json │ ├── EndToEndTest.cs │ ├── Etg.Yams.Core.Test.csproj │ ├── Etg.Yams.Test.xunit.runner.json │ ├── Install/ │ │ └── ApplicationInstallerTest.cs │ ├── Process/ │ │ ├── GracefulShutdownProcessDecoratorTest.cs │ │ ├── ProcessStopperTest.cs │ │ ├── ProcessTest.cs │ │ └── SelfRestartingProcessTest.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── Storage/ │ │ ├── DeploymentConfigTest.cs │ │ └── LocalDeploymentRepository.cs │ ├── System/ │ │ └── SystemExtensionsTest.cs │ ├── Update/ │ │ └── ApplicationUpdateManagerTest.cs │ ├── Utils/ │ │ ├── AssertUtils.cs │ │ └── TestUtils.cs │ ├── app.config │ ├── packages.config │ └── stubs/ │ ├── ApplicationFactoryStub.cs │ ├── ApplicationInstallerStub.cs │ ├── ApplicationPoolStub.cs │ ├── ApplicationStub.cs │ └── ProcessStub.cs ├── FullIpcProcess/ │ ├── App.config │ ├── FullIpcProcess.csproj │ ├── Program.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ └── packages.config ├── GracefullShutdownProcess/ │ ├── GracefullShutdownProcess.csproj │ ├── Program.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── app.config │ └── packages.config ├── HangingProcess/ │ ├── App.config │ ├── HangingProcess.csproj │ ├── Program.cs │ └── Properties/ │ └── AssemblyInfo.cs ├── HeartBeatProcess/ │ ├── App.config │ ├── HeartBeatProcess.csproj │ ├── Program.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ └── packages.config ├── MonitorInitProcess/ │ ├── MonitorInitProcess.csproj │ ├── Program.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── app.config │ └── packages.config ├── Stubs/ │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── SimpleStubs.json │ ├── Stubs.csproj │ └── packages.config ├── SuicidalProcess/ │ ├── App.config │ ├── Program.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ └── SuicidalProcess.csproj ├── TestProcess/ │ ├── App.config │ ├── Program.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ └── TestProcess.csproj └── TestUtils/ ├── AssertUtils.cs ├── AsyncUtils.cs ├── Properties/ │ └── AssemblyInfo.cs ├── TestUtils.csproj └── packages.config