sparse-intern-71089
03/14/2021, 6:42 PMclever-cartoon-41433
03/14/2021, 7:06 PMfunction toContainerURL(containerName: string): pulumi.Output<string> {
return registryUrl.apply(host => {
return redisUri.apply(uri => {
const client = redis.createClient(uri);
const redisKey = "main_" + branch + "_" + containerName + "_digest"
const digestPath = gitlabC.require("ci_project_path") + "src/pulumi/digests/" + containerName;
const ret = new Promise<string>(function (resolve, reject) {
try {
if (fs.existsSync(digestPath)) {
const digest = fs.readFileSync(digestPath).toString().trim()
client.set(redisKey, digest)
<http://pulumi.log.info|pulumi.log.info>("Successfully found container hash for " + containerName)
resolve(host + "/" + toContainerPath(containerName) + "@" + digest)
} else {
client.get(redisKey, function (_, reply: string | null) {
if (!reply) {
reject("No such key")
} else {
<http://pulumi.log.info|pulumi.log.info>("Successfully found container hash for " + containerName)
resolve(host + "/" + toContainerPath(containerName) + "@" + reply)
}
})
}
} catch (ex) {
reject("Error connecting to redis")
}
})
return ret
})
})
}
clever-cartoon-41433
03/14/2021, 7:07 PMlittle-cartoon-10569
03/14/2021, 7:34 PMlittle-cartoon-10569
03/14/2021, 7:34 PMlittle-cartoon-10569
03/14/2021, 7:37 PMlittle-cartoon-10569
03/14/2021, 7:37 PMclever-cartoon-41433
03/14/2021, 7:44 PMclever-cartoon-41433
03/14/2021, 7:44 PMfunction toContainerURL(containerName: string): pulumi.Output<string> {
return pulumi.all([registryUrl, redisUri]).apply(([host, uri]) => {
const client = redis.createClient(uri);
const redisKey = "main_" + branch + "_" + containerName + "_digest"
const digestPath = gitlabC.require("ci_project_path") + "src/pulumi/digests/" + containerName;
return new Promise<string>(function (resolve, reject) {
try {
if (fs.existsSync(digestPath)) {
const digest = fs.readFileSync(digestPath).toString().trim()
client.set(redisKey, digest)
<http://pulumi.log.info|pulumi.log.info>("Successfully found container hash for " + containerName + " in filesystem")
resolve(host + "/" + toContainerPath(containerName) + "@" + digest)
} else {
client.get(redisKey, function (err, reply: string | null) {
if (err) {
reject(err)
} else if (!reply) {
reject("No such key")
} else {
<http://pulumi.log.info|pulumi.log.info>("Successfully found container hash for " + containerName + " in redis")
resolve(host + "/" + toContainerPath(containerName) + "@" + reply)
}
})
}
} catch (ex) {
reject("Error connecting to redis: " + ex)
}
})
})
}
clever-cartoon-41433
03/14/2021, 7:44 PMlittle-cartoon-10569
03/14/2021, 7:45 PMclever-cartoon-41433
03/14/2021, 7:45 PMlittle-cartoon-10569
03/14/2021, 7:46 PMclever-cartoon-41433
03/14/2021, 7:47 PMclever-cartoon-41433
03/14/2021, 7:48 PMclever-cartoon-41433
03/14/2021, 7:48 PMclever-cartoon-41433
03/14/2021, 7:48 PMlittle-cartoon-10569
03/14/2021, 7:49 PMclever-cartoon-41433
03/14/2021, 7:49 PMSuccessfully found container hash for examiner in redis
, are called every time.clever-cartoon-41433
03/14/2021, 7:50 PMclever-cartoon-41433
03/14/2021, 7:51 PMlittle-cartoon-10569
03/14/2021, 7:51 PMclever-cartoon-41433
03/14/2021, 7:52 PMfunction makeExaminer() {
const basename = "examiner";
const appLabels = {app: basename};
const port = 80
new k8s.apps.v1.Deployment(basename, {
metadata: {
labels: appLabels,
annotations: {
"<http://pulumi.com/skipAwait|pulumi.com/skipAwait>": "true",
}
},
spec: {
replicas: 1,
selector: {matchLabels: appLabels},
template: {
metadata: {
labels: appLabels,
},
spec: {
containers: [
{
name: basename,
image: toContainerURL(basename),
..
clever-cartoon-41433
03/14/2021, 7:53 PMclever-cartoon-41433
03/14/2021, 7:54 PMclever-cartoon-41433
03/14/2021, 7:58 PMclever-cartoon-41433
03/14/2021, 7:59 PMclever-cartoon-41433
03/14/2021, 8:10 PMfunction toContainerURL(containerName: string): pulumi.Output<string> {
return pulumi.all([registryUrl, redisUri]).apply(([host, uri]) => {
const client = redis.createClient(uri);
const redisKey = "main_" + branch + "_" + containerName + "_digest"
const digestPath = gitlabC.require("ci_project_path") + "src/pulumi/digests/" + containerName;
if (fs.existsSync(digestPath)) {
const digest = fs.readFileSync(digestPath).toString().trim()
client.set(redisKey, digest)
<http://pulumi.log.info|pulumi.log.info>("Successfully found container hash for " + containerName + " in filesystem")
return host + "/" + toContainerPath(containerName) + "@" + digest
} else {
let ret = ""
client.get(redisKey, function (err, reply: string | null) {
if (err) {
throw err
} else if (!reply) {
throw "No such key"
} else {
<http://pulumi.log.info|pulumi.log.info>("Successfully found container hash for " + containerName + " in redis")
ret = host + "/" + toContainerPath(containerName) + "@" + reply
}
})
while(ret == "") {}
return ret
}
})
}
Unironically just doing thislittle-cartoon-10569
03/14/2021, 8:10 PMlittle-cartoon-10569
03/14/2021, 8:11 PMclever-cartoon-41433
03/14/2021, 8:12 PMclever-cartoon-41433
03/14/2021, 8:12 PMlittle-cartoon-10569
03/14/2021, 8:12 PMclever-cartoon-41433
03/14/2021, 8:12 PMlittle-cartoon-10569
03/14/2021, 8:12 PMlittle-cartoon-10569
03/14/2021, 8:13 PMclever-cartoon-41433
03/14/2021, 8:13 PMclever-cartoon-41433
03/14/2021, 8:13 PMlittle-cartoon-10569
03/14/2021, 8:14 PMlittle-cartoon-10569
03/14/2021, 8:14 PMclever-cartoon-41433
03/14/2021, 8:14 PMlittle-cartoon-10569
03/14/2021, 8:14 PMlittle-cartoon-10569
03/14/2021, 8:15 PMresolve("nginx")
does it do the same as putting in a constant "nginx"?clever-cartoon-41433
03/14/2021, 8:16 PMclever-cartoon-41433
03/14/2021, 8:25 PMclever-cartoon-41433
03/14/2021, 8:25 PMlittle-cartoon-10569
03/14/2021, 8:26 PM<http://pulumi.log.info|pulumi.log.info>
and resolve(somestrings)
, it hangs...clever-cartoon-41433
03/14/2021, 8:28 PMclever-cartoon-41433
03/14/2021, 8:28 PMclever-cartoon-41433
03/14/2021, 8:28 PMlittle-cartoon-10569
03/14/2021, 8:31 PMlittle-cartoon-10569
03/14/2021, 8:32 PMlittle-cartoon-10569
03/14/2021, 8:33 PMclever-cartoon-41433
03/14/2021, 8:38 PMclever-cartoon-41433
03/14/2021, 8:40 PMlittle-cartoon-10569
03/14/2021, 8:40 PMlittle-cartoon-10569
03/14/2021, 8:41 PMlittle-cartoon-10569
03/14/2021, 8:41 PMclever-cartoon-41433
03/14/2021, 8:41 PMlittle-cartoon-10569
03/14/2021, 8:43 PMresolve("nginx")
works but resolve(host + "/" + toContainerPath(containerName) + "@" + digest)
doesn't, even though host + "/" + toContainerPath(containerName) + "@" + digest
is a valid string. So.. I'm stumped.clever-cartoon-41433
03/14/2021, 8:46 PM<http://registry.infra.leonardcyber.com/leonard-cyber/main/dean/examiner@sha256:d0d4fbfcaf2cfacce3dde187a3e5780b87af8fbbcbb6cabd3b457f3e3f316f69|registry.infra.leonardcyber.com/leonard-cyber/main/dean/examiner@sha256:d0d4fbfcaf2cfacce3dde187a3e5780b87af8fbbcbb6cabd3b457f3e3f316f69>
little-cartoon-10569
03/14/2021, 8:48 PMImage tags consist of lowercase and uppercase letters, digits, underscores (_), periods (.), and dashes (-).
There are additional rules about where you can place the separator characters (_, -, and .) inside an image tag.
little-cartoon-10569
03/14/2021, 8:48 PMlittle-cartoon-10569
03/14/2021, 8:49 PMlittle-cartoon-10569
03/14/2021, 8:49 PMlittle-cartoon-10569
03/14/2021, 8:49 PMdocker pull
from the command line to see which tag works? Or just look in your registry and check out the existing tags?clever-cartoon-41433
03/14/2021, 8:50 PMlittle-cartoon-10569
03/14/2021, 8:50 PMlittle-cartoon-10569
03/14/2021, 8:50 PMlittle-cartoon-10569
03/14/2021, 8:51 PMclever-cartoon-41433
03/14/2021, 8:52 PMclever-cartoon-41433
03/14/2021, 8:52 PMlittle-cartoon-10569
03/14/2021, 8:52 PMlittle-cartoon-10569
03/14/2021, 8:52 PMlittle-cartoon-10569
03/14/2021, 8:53 PMlittle-cartoon-10569
03/14/2021, 8:53 PMdocker pull <http://registry.infra.leonardcyber.com/leonard-cyber/main/dean/examiner@sha256:d0d4fbfcaf2cfacce3dde187a3e5780b87af8fbbcbb6cabd3b457f3e3f316f69|registry.infra.leonardcyber.com/leonard-cyber/main/dean/examiner@sha256:d0d4fbfcaf2cfacce3dde187a3e5780b87af8fbbcbb6cabd3b457f3e3f316f69>
clever-cartoon-41433
03/14/2021, 8:54 PMlittle-cartoon-10569
03/14/2021, 8:54 PMlittle-cartoon-10569
03/14/2021, 8:55 PMclever-cartoon-41433
03/14/2021, 8:58 PMclever-cartoon-41433
03/14/2021, 8:59 PMlittle-cartoon-10569
03/14/2021, 9:00 PMclever-cartoon-41433
03/14/2021, 9:09 PMclever-cartoon-41433
03/14/2021, 9:10 PMclever-cartoon-41433
03/14/2021, 9:44 PMfunction toContainerURL(containerName: string): pulumi.Output<string> {
return pulumi.all([registryUrl, redisUri]).apply(([host, uri]) => {
const client = redis.createClient(uri);
return new Promise<string>(function (resolve, reject) {
resolve("nginx:latest")
})
})
}
^ failclever-cartoon-41433
03/14/2021, 9:45 PMfunction toContainerURL(containerName: string): pulumi.Output<string> {
return pulumi.all([registryUrl, redisUri]).apply(([host, uri]) => {
//const client = redis.createClient(uri);
return new Promise<string>(function (resolve, reject) {
resolve("nginx:latest")
})
})
}
^ succeedlittle-cartoon-10569
03/14/2021, 9:49 PMup
? Maybe wrap that line in isDryRun()
?clever-cartoon-41433
03/14/2021, 10:02 PMclever-cartoon-41433
03/14/2021, 10:04 PMclever-cartoon-41433
03/14/2021, 10:04 PMclever-cartoon-41433
03/14/2021, 10:10 PMclever-cartoon-41433
03/14/2021, 10:11 PMlittle-cartoon-10569
03/14/2021, 10:16 PMclever-cartoon-41433
03/14/2021, 10:25 PMlittle-cartoon-10569
03/14/2021, 10:40 PM