Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introducing a run-on-start option #44

Closed
wants to merge 1 commit into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 9 additions & 4 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ func init() {
pflag.Bool("start-disabled", false, "Whether or not to start the server disabled")
pflag.Bool("debug", false, "Start the server in debug mode")
pflag.Bool("once", false, "Run Ansible Puller just once, then exit")
pflag.Bool("run-on-start", true, "Runs Ansible as soon as the service starts")

err := viper.ReadInConfig()
if err != nil {
Expand Down Expand Up @@ -287,12 +288,16 @@ func ansibleRun() error {
}

func main() {
if viper.GetBool("once") {
// Runs Ansible puller when the service is first started
logrus.Infoln("Launching Ansible Runner")
if viper.GetBool("once") || viper.GetBool("run-on-start") {

if err := ansibleRun(); err != nil {
logrus.Fatalln("Ansible run failed due to: " + err.Error())
}

return
if viper.GetBool("once") {
return
}
}

promVersion.WithLabelValues(Version).Set(1)
Expand Down Expand Up @@ -330,7 +335,7 @@ func main() {
}()

go func() {
logrus.Infoln(fmt.Sprintf("Launching Ansible Runner. Runs %d minutes (with %d mintues jitter) apart.", viper.GetInt("sleep"), viper.GetInt("sleep-jitter")))
logrus.Infoln(fmt.Sprintf("Runs every %d minutes with %d mintues of jitter.", viper.GetInt("sleep"), viper.GetInt("sleep-jitter")))
for range runChan {
start := time.Now()
err := ansibleRun()
Expand Down