// creating app with name f1 => apptype = Compose_f1
        // create app with name f1 (fabric:/f1)
        // service name is from docker compose file
        public async Task CreateApp(string appName, string imagePath, int replicaCount)
        {
            var yaml = $"version: \"3\"\r\nservices:\r\n    {appName}Service:\r\n        image: {imagePath}\r\n        ports:\r\n             - \"{_nextAvailablePort++}:1337/http\"\r\n        deploy:\r\n            replicas: {replicaCount}";
            var composeApplication = new ComposeApplication(appName, yaml);
            await _clusterManager.CreateComposeApp(composeApplication);

            //todo add locks
            _sfApps[appName] = new ServiceFabricApp(appName, $"{appName}Service");
        }
Exemple #2
0
 public async Task CreateComposeApp(ComposeApplication composeApplication)
 {
     using (var response = await _client.PutAsJsonAsync(
                $"/ComposeDeployments/$/Create?api-version=4.0-preview&timeout=60",
                new
     {
         ApplicationName = composeApplication.ApplicationName,
         ComposeFileContent = composeApplication.ComposeFileContent,
     }))
     {
         response.EnsureSuccessStatusCode();
     }
 }