blob: 11058b3a2f65eaee22bd02cceb60203d329a2d6d [file] [log] [blame]
Serge Bazanskibe538db2020-11-12 00:22:42 +01001// Copyright 2017 The kubecfg authors
2//
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8// http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15
16package main
17
18import (
19 "os"
20
21 log "github.com/sirupsen/logrus"
22
23 "code.hackerspace.pl/hscloud/cluster/tools/kartongips/cmd"
24 "code.hackerspace.pl/hscloud/cluster/tools/kartongips/pkg/kubecfg"
25)
26
27// Version is overridden using `-X main.version` during release builds
28var version = "(dev build)"
29
30func main() {
31 cmd.Version = version
32
33 if err := cmd.RootCmd.Execute(); err != nil {
34 // PersistentPreRunE may not have been run for early
35 // errors, like invalid command line flags.
36 logFmt := cmd.NewLogFormatter(log.StandardLogger().Out)
37 log.SetFormatter(logFmt)
38 log.Error(err.Error())
39
40 switch err {
41 case kubecfg.ErrDiffFound:
42 os.Exit(10)
43 default:
44 os.Exit(1)
45 }
46 }
47}