public static FibContainerBuilder From(string baseImageReference, Credential credential) { if (credential == null || string.IsNullOrEmpty(credential.UserName) || string.IsNullOrEmpty(credential.Password)) { return(From(baseImageReference)); } return(From(RegistryImage.Named(baseImageReference).AddCredential(credential.UserName, credential.Password))); }
//public FibContainerBuilder AddImageCredential(Credential credential) //{ // credential = credential ?? throw new ArgumentNullException(nameof(credential)); //} public FibContainerBuilder(RegistryImage baseImage, BuildConfiguration.Builder buildConfigurationBuilder) { baseImage = baseImage ?? throw new ArgumentNullException(nameof(baseImage)); this.buildConfigurationBuilder = buildConfigurationBuilder ?? throw new ArgumentNullException(nameof(buildConfigurationBuilder)); ImageConfiguration imageConfiguration = ImageConfiguration.CreateBuilder(baseImage.GetImageReference()) .SetCredentialRetrievers(baseImage.GetCredentialRetrievers()) .Build(); buildConfigurationBuilder.SetBaseImageConfiguration(imageConfiguration); }
/** * Gets a new {@link Containerizer} that containerizes to a container registry. * * @param registryImage the {@link RegistryImage} that defines target container registry and * credentials * @return a new {@link Containerizer} */ public static Containerizer To(RegistryImage registryImage) { registryImage = registryImage ?? throw new ArgumentNullException(nameof(registryImage)); ImageConfiguration imageConfiguration = ImageConfiguration.CreateBuilder(registryImage.GetImageReference()) .SetCredentialRetrievers(registryImage.GetCredentialRetrievers()) .Build(); return(new Containerizer( DescriptionForDockerRegistry, imageConfiguration, StepsRunnerFactory, true)); StepsRunner StepsRunnerFactory(BuildConfiguration buildConfiguration) => StepsRunner.Begin(buildConfiguration) .RetrieveTargetRegistryCredentials() .AuthenticatePush() .PullBaseImage() .PullAndCacheBaseImageLayers() .PushBaseImageLayers() .BuildAndCacheApplicationLayers() .BuildImage() .PushContainerConfiguration() .PushApplicationLayers() .PushImage(); }
/** * Starts building the container from a base image. * * @param registryImage the {@link RegistryImage} that defines base container registry and * credentials * @return a new {@link FibContainerBuilder} to continue building the container */ public static FibContainerBuilder From(RegistryImage registryImage) { return(new FibContainerBuilder(registryImage)); }
/** * Starts building the container from a base image. The base image should be publicly-available. * For a base image that requires credentials, use {@link #from(RegistryImage)}. * * @param baseImageReference the base image reference * @return a new {@link FibContainerBuilder} to continue building the container */ public static FibContainerBuilder From(ImageReference baseImageReference) { return(From(RegistryImage.Named(baseImageReference))); }
/** Instantiate with {@link Fib#from}. */ public FibContainerBuilder(RegistryImage baseImage) : this(baseImage, BuildConfiguration.CreateBuilder()) { }