Ejemplo n.º 1
0
        public SolutionComponent(FileInfo path, ProjectSettings settings)
        {
            _path = path;

            _dockerContainer = Docker
                               .ContainerFromImage("mcr.microsoft.com/dotnet/sdk:5.0", $"{settings.GetProjectName()}-dotnet-{Name}")
                               .EntryPoint("dotnet")
                               .WithVolume(path.Directory.FullName, "/usr/local/src", true);
        }
Ejemplo n.º 2
0
 private static Docker.Container CreateBaseContainer(
     FileSystemInfo path,
     ProjectSettings settings,
     string name)
 {
     return(Docker
            .ContainerFromImage("node", ClientComponent.ClientConfiguration.GetContainerName(settings, name))
            .EntryPoint("yarn")
            .WithVolume(Path.Combine(path.FullName, "src"), "/usr/local/src", true));
 }
Ejemplo n.º 3
0
        private CloudflareWorkerComponent(
            CloudflareWorkerConfiguration configuration,
            DirectoryInfo path,
            ProjectSettings settings)
        {
            _configuration = configuration;
            _path          = path;
            _settings      = settings;

            _dockerContainer = Docker
                               .ContainerFromImage("node", $"{settings.GetProjectName()}-cf-{configuration.Name}")
                               .EntryPoint("yarn")
                               .WithVolume(path.FullName, "/usr/src/app", true)
                               .EnvironmentVariable("DESTINATION_PORT", configuration.Settings.DestinationPort.ToString());

            _watchContainer = _dockerContainer
                              .WithName($"{_dockerContainer.Name}-watcher");
        }
Ejemplo n.º 4
0
        private CloudformationStackComponent(
            CloudformationStackConfiguration configuration,
            ProjectSettings settings,
            DirectoryInfo path,
            ProjectSettings projectSettings,
            Components.ComponentTree components)
        {
            _configuration   = configuration;
            _path            = path;
            _projectSettings = projectSettings;
            _components      = components;
            _tempDir         = new DirectoryInfo(Path.Combine(path.FullName, ".tmp"));

            var dataDir = new DirectoryInfo(configuration.GetDataDir(settings));

            if (!dataDir.Exists)
            {
                dataDir.Create();
            }

            var container = Docker
                            .ContainerFromImage(
                $"localstack/localstack:{configuration.Settings.LocalstackVersion}",
                configuration.GetContainerName(projectSettings),
                false)
                            .Detached()
                            .WithVolume(dataDir.FullName, "/tmp/localstack")
                            .WithDockerSocket()
                            .Port(configuration.Settings.MainPort, 8080)
                            .Port(configuration.Settings.ServicesPort, 4566)
                            .EnvironmentVariable("SERVICES", string.Join(",", (configuration.Settings.Services ?? new List <string>())))
                            .EnvironmentVariable("DATA_DIR", "/tmp/localstack/data")
                            .EnvironmentVariable("LAMBDA_REMOTE_DOCKER", "0")
                            .EnvironmentVariable("DEBUG", "1")
                            .EnvironmentVariable("LOCALSTACK_API_KEY", projectSettings.GetConfiguration("localstackApiKey"));

            _dockerContainer = configuration
                               .Settings
                               .PortMappings
                               .Aggregate(container, (current, portMapping) => current.WithArgument($"-p {portMapping}"));
        }