Intro

Intro

What is togomak?

togomak is a powerful, build pipeline orchestration tool, and a drop-in replacement for your CI/CD execution environment that could run anywhere. It uses HCL (HashiCorp Configuration Language) for a declarative pipeline, parallel-by-default workflow.

togomak.hcl
togomak {
  version = 2
}
 
locals {
  tagline = "togomak is a build orchestration tool"
}
 
stage "greet" {
  script = "echo ${ansifmt("green", local.tagline)}"
}
 
stage "hello" {
  script = "echo Hope you have a good day!"
}
 
stage "sweet_container" {
  depends_on = [stage.hello]
  container {
    image = "ubuntu:latest"
  }
  script = "cat /etc/os-release | grep PRETTY_NAME"
}
$ togomak
INFO [stage=greet] [+] greet
INFO [stage=hello] [+] hello
INFO [stage=hello] Hope you have a good day!
INFO [stage=greet] togomak is a build orchestration tool
INFO [stage=sweet_container] [+] sweet_container
INFO [stage=sweet_container 🐳] image ubuntu:latest does not exist, pulling...
INFO [stage=sweet_container 🐳] Still pulling image ubuntu:latest... (Pulling fs layer)  [1s elapsed] 
INFO [stage=sweet_container 🐳] Still pulling image ubuntu:latest... (Downloading)  [1s elapsed] 
INFO [stage=sweet_container 🐳] Still pulling image ubuntu:latest... (Downloading)  [6s elapsed] 
INFO [stage=sweet_container 🐳] Still pulling image ubuntu:latest... (Verifying Checksum)  [9s elapsed] 
INFO [stage=sweet_container 🐳] Still pulling image ubuntu:latest... (Download complete) [ [9s elapsed] 
INFO [stage=sweet_container 🐳] Still pulling image ubuntu:latest... (Extracting)  [9s elapsed] 
INFO [stage=sweet_container 🐳] Still pulling image ubuntu:latest... (Pull complete)  [11s elapsed] 
INFO [stage=sweet_container 🐳] Still pulling image ubuntu:latest... (Digest: sha256:aabed3296a3d45cede1dc866a24476c4d7e093aa806263c27ddaadbdce3c1054)  [11s elapsed] 
INFO [stage=sweet_container 🐳] Still pulling image ubuntu:latest... (Status: Downloaded newer image for ubuntu:latest)  [11s elapsed] 
INFO [stage=sweet_container 🐳] PRETTY_NAME="Ubuntu 22.04.3 LTS"
INFO [stage=sweet_container 🐳] Completed pulling image ubuntu:latest in [11s elapsed]
INFO took 13.53s