public SwarmServiceUpdateJob(ACRConfig config, ACRPayload payload) { var image = payload.GetImageName(); ServiceName = config.Services[image]; LoginCommand = $"docker login -u \"{config.Username}\" -p \"{config.Password}\" {config.Registry}"; UpdateCommand = $"docker service update --force {ServiceName} --with-registry-auth --image={config.Registry}/{image}"; }
public IActionResult Post(Guid token, [FromBody] ACRPayload payload) { var image = payload?.GetImageName(); if (token != this.config.Token || string.IsNullOrEmpty(image)) { logger.LogWarning($"WebHook Request Failed: Bad Token [{token}] or Image [{image}]"); return(BadRequest()); } else if (!config.Services.ContainsKey(image)) { logger.LogWarning($"WebHook Request Failed: Invalid image [{image}]"); return(BadRequest()); } logger.LogInformation($"WebHook Request Succeeded: For image [{image}]"); Program.DeploymentQueue.AddJob(new SwarmServiceUpdateJob(config, payload)); return(Ok()); }