parent
							
								
									3cd124dce3
								
							
						
					
					
						commit
						ae09e6ebb7
					
				|  | @ -42,6 +42,9 @@ spec: | ||||||
|         {{- if .Values.githubAPICacheDuration }} |         {{- if .Values.githubAPICacheDuration }} | ||||||
|         - "--github-api-cache-duration={{ .Values.githubAPICacheDuration }}" |         - "--github-api-cache-duration={{ .Values.githubAPICacheDuration }}" | ||||||
|         {{- end }} |         {{- end }} | ||||||
|  |         {{- if .Values.logLevel }} | ||||||
|  |         - "--log-level={{ .Values.logLevel }}" | ||||||
|  |         {{- end }} | ||||||
|         command: |         command: | ||||||
|         - "/manager" |         - "/manager" | ||||||
|         env: |         env: | ||||||
|  |  | ||||||
|  | @ -34,6 +34,9 @@ spec: | ||||||
|       - args: |       - args: | ||||||
|         - "--metrics-addr=127.0.0.1:8080" |         - "--metrics-addr=127.0.0.1:8080" | ||||||
|         - "--sync-period={{ .Values.githubWebhookServer.syncPeriod }}" |         - "--sync-period={{ .Values.githubWebhookServer.syncPeriod }}" | ||||||
|  |         {{- if .Values.githubWebhookServer.logLevel }} | ||||||
|  |         - "--log-level={{ .Values.githubWebhookServer.logLevel }}" | ||||||
|  |         {{- end }} | ||||||
|         command: |         command: | ||||||
|         - "/github-webhook-server" |         - "/github-webhook-server" | ||||||
|         env: |         env: | ||||||
|  |  | ||||||
|  | @ -27,6 +27,7 @@ import ( | ||||||
| 
 | 
 | ||||||
| 	actionsv1alpha1 "github.com/summerwind/actions-runner-controller/api/v1alpha1" | 	actionsv1alpha1 "github.com/summerwind/actions-runner-controller/api/v1alpha1" | ||||||
| 	"github.com/summerwind/actions-runner-controller/controllers" | 	"github.com/summerwind/actions-runner-controller/controllers" | ||||||
|  | 	zaplib "go.uber.org/zap" | ||||||
| 	"k8s.io/apimachinery/pkg/runtime" | 	"k8s.io/apimachinery/pkg/runtime" | ||||||
| 	clientgoscheme "k8s.io/client-go/kubernetes/scheme" | 	clientgoscheme "k8s.io/client-go/kubernetes/scheme" | ||||||
| 	_ "k8s.io/client-go/plugin/pkg/client/auth/exec" | 	_ "k8s.io/client-go/plugin/pkg/client/auth/exec" | ||||||
|  | @ -42,6 +43,13 @@ var ( | ||||||
| 	setupLog = ctrl.Log.WithName("setup") | 	setupLog = ctrl.Log.WithName("setup") | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
|  | const ( | ||||||
|  | 	logLevelDebug = "debug" | ||||||
|  | 	logLevelInfo  = "info" | ||||||
|  | 	logLevelWarn  = "warn" | ||||||
|  | 	logLevelError = "error" | ||||||
|  | ) | ||||||
|  | 
 | ||||||
| func init() { | func init() { | ||||||
| 	_ = clientgoscheme.AddToScheme(scheme) | 	_ = clientgoscheme.AddToScheme(scheme) | ||||||
| 
 | 
 | ||||||
|  | @ -63,6 +71,7 @@ func main() { | ||||||
| 
 | 
 | ||||||
| 		enableLeaderElection bool | 		enableLeaderElection bool | ||||||
| 		syncPeriod           time.Duration | 		syncPeriod           time.Duration | ||||||
|  | 		logLevel             string | ||||||
| 	) | 	) | ||||||
| 
 | 
 | ||||||
| 	webhookSecretToken = os.Getenv("GITHUB_WEBHOOK_SECRET_TOKEN") | 	webhookSecretToken = os.Getenv("GITHUB_WEBHOOK_SECRET_TOKEN") | ||||||
|  | @ -73,6 +82,7 @@ func main() { | ||||||
| 	flag.BoolVar(&enableLeaderElection, "enable-leader-election", false, | 	flag.BoolVar(&enableLeaderElection, "enable-leader-election", false, | ||||||
| 		"Enable leader election for controller manager. Enabling this will ensure there is only one active controller manager.") | 		"Enable leader election for controller manager. Enabling this will ensure there is only one active controller manager.") | ||||||
| 	flag.DurationVar(&syncPeriod, "sync-period", 10*time.Minute, "Determines the minimum frequency at which K8s resources managed by this controller are reconciled. When you use autoscaling, set to a lower value like 10 minute, because this corresponds to the minimum time to react on demand change") | 	flag.DurationVar(&syncPeriod, "sync-period", 10*time.Minute, "Determines the minimum frequency at which K8s resources managed by this controller are reconciled. When you use autoscaling, set to a lower value like 10 minute, because this corresponds to the minimum time to react on demand change") | ||||||
|  | 	flag.StringVar(&logLevel, "log-level", logLevelDebug, `The verbosity of the logging. Valid values are "debug", "info", "warn", "error". Defaults to "debug".`) | ||||||
| 	flag.Parse() | 	flag.Parse() | ||||||
| 
 | 
 | ||||||
| 	if webhookSecretToken == "" { | 	if webhookSecretToken == "" { | ||||||
|  | @ -86,7 +96,19 @@ func main() { | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	logger := zap.New(func(o *zap.Options) { | 	logger := zap.New(func(o *zap.Options) { | ||||||
| 		o.Development = true | 		switch logLevel { | ||||||
|  | 		case logLevelDebug: | ||||||
|  | 			o.Development = true | ||||||
|  | 		case logLevelInfo: | ||||||
|  | 			lvl := zaplib.NewAtomicLevelAt(zaplib.InfoLevel) | ||||||
|  | 			o.Level = &lvl | ||||||
|  | 		case logLevelWarn: | ||||||
|  | 			lvl := zaplib.NewAtomicLevelAt(zaplib.WarnLevel) | ||||||
|  | 			o.Level = &lvl | ||||||
|  | 		case logLevelError: | ||||||
|  | 			lvl := zaplib.NewAtomicLevelAt(zaplib.ErrorLevel) | ||||||
|  | 			o.Level = &lvl | ||||||
|  | 		} | ||||||
| 	}) | 	}) | ||||||
| 
 | 
 | ||||||
| 	ctrl.SetLogger(logger) | 	ctrl.SetLogger(logger) | ||||||
|  |  | ||||||
							
								
								
									
										2
									
								
								go.mod
								
								
								
								
							
							
						
						
									
										2
									
								
								go.mod
								
								
								
								
							|  | @ -15,10 +15,10 @@ require ( | ||||||
| 	github.com/prometheus/client_golang v0.9.2 | 	github.com/prometheus/client_golang v0.9.2 | ||||||
| 	github.com/stretchr/testify v1.4.0 // indirect | 	github.com/stretchr/testify v1.4.0 // indirect | ||||||
| 	github.com/teambition/rrule-go v1.6.2 | 	github.com/teambition/rrule-go v1.6.2 | ||||||
|  | 	go.uber.org/zap v1.9.1 | ||||||
| 	golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45 | 	golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45 | ||||||
| 	k8s.io/api v0.0.0-20190918155943-95b840bb6a1f | 	k8s.io/api v0.0.0-20190918155943-95b840bb6a1f | ||||||
| 	k8s.io/apimachinery v0.0.0-20190913080033-27d36303b655 | 	k8s.io/apimachinery v0.0.0-20190913080033-27d36303b655 | ||||||
| 	k8s.io/client-go v0.0.0-20190918160344-1fbdaa4c8d90 | 	k8s.io/client-go v0.0.0-20190918160344-1fbdaa4c8d90 | ||||||
| 	k8s.io/utils v0.0.0-20190801114015-581e00157fb1 |  | ||||||
| 	sigs.k8s.io/controller-runtime v0.4.0 | 	sigs.k8s.io/controller-runtime v0.4.0 | ||||||
| ) | ) | ||||||
|  |  | ||||||
							
								
								
									
										3
									
								
								go.sum
								
								
								
								
							
							
						
						
									
										3
									
								
								go.sum
								
								
								
								
							|  | @ -112,7 +112,6 @@ github.com/golang/protobuf v1.3.2 h1:6nsPYzhq5kReh6QImI3k5qWzO4PEbvbIW2cwSfR/6xs | ||||||
| github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= | github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= | ||||||
| github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= | github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= | ||||||
| github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= | github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= | ||||||
| github.com/google/go-cmp v0.3.0 h1:crn/baboCvb5fXaQ0IJ1SGTsTVrWpDsCWC8EGETZijY= |  | ||||||
| github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= | github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= | ||||||
| github.com/google/go-cmp v0.3.1 h1:Xye71clBPdm5HgqGwUkwhbynsUJZhDbS20FvLhQ2izg= | github.com/google/go-cmp v0.3.1 h1:Xye71clBPdm5HgqGwUkwhbynsUJZhDbS20FvLhQ2izg= | ||||||
| github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= | github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= | ||||||
|  | @ -216,7 +215,6 @@ github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a h1:9a8MnZMP0X2nL | ||||||
| github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= | github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= | ||||||
| github.com/remyoudompheng/bigfft v0.0.0-20170806203942-52369c62f446/go.mod h1:uYEyJGbgTkfkS4+E/PavXkNJcbFIpEtjt2B0KDQ5+9M= | github.com/remyoudompheng/bigfft v0.0.0-20170806203942-52369c62f446/go.mod h1:uYEyJGbgTkfkS4+E/PavXkNJcbFIpEtjt2B0KDQ5+9M= | ||||||
| github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= | github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= | ||||||
| github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4= |  | ||||||
| github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= | github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= | ||||||
| github.com/soheilhy/cmux v0.1.3/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= | github.com/soheilhy/cmux v0.1.3/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= | ||||||
| github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= | github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= | ||||||
|  | @ -233,7 +231,6 @@ github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+ | ||||||
| github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= | github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= | ||||||
| github.com/stretchr/testify v0.0.0-20151208002404-e3a8ff8ce365/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= | github.com/stretchr/testify v0.0.0-20151208002404-e3a8ff8ce365/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= | ||||||
| github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= | github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= | ||||||
| github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= |  | ||||||
| github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= | github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= | ||||||
| github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= | github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= | ||||||
| github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= | github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= | ||||||
|  |  | ||||||
							
								
								
									
										22
									
								
								main.go
								
								
								
								
							
							
						
						
									
										22
									
								
								main.go
								
								
								
								
							|  | @ -27,6 +27,7 @@ import ( | ||||||
| 	actionsv1alpha1 "github.com/summerwind/actions-runner-controller/api/v1alpha1" | 	actionsv1alpha1 "github.com/summerwind/actions-runner-controller/api/v1alpha1" | ||||||
| 	"github.com/summerwind/actions-runner-controller/controllers" | 	"github.com/summerwind/actions-runner-controller/controllers" | ||||||
| 	"github.com/summerwind/actions-runner-controller/github" | 	"github.com/summerwind/actions-runner-controller/github" | ||||||
|  | 	zaplib "go.uber.org/zap" | ||||||
| 	"k8s.io/apimachinery/pkg/runtime" | 	"k8s.io/apimachinery/pkg/runtime" | ||||||
| 	clientgoscheme "k8s.io/client-go/kubernetes/scheme" | 	clientgoscheme "k8s.io/client-go/kubernetes/scheme" | ||||||
| 	_ "k8s.io/client-go/plugin/pkg/client/auth/gcp" | 	_ "k8s.io/client-go/plugin/pkg/client/auth/gcp" | ||||||
|  | @ -38,6 +39,11 @@ import ( | ||||||
| const ( | const ( | ||||||
| 	defaultRunnerImage = "summerwind/actions-runner:latest" | 	defaultRunnerImage = "summerwind/actions-runner:latest" | ||||||
| 	defaultDockerImage = "docker:dind" | 	defaultDockerImage = "docker:dind" | ||||||
|  | 
 | ||||||
|  | 	logLevelDebug = "debug" | ||||||
|  | 	logLevelInfo  = "info" | ||||||
|  | 	logLevelWarn  = "warn" | ||||||
|  | 	logLevelError = "error" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| var ( | var ( | ||||||
|  | @ -66,6 +72,7 @@ func main() { | ||||||
| 		runnerImage string | 		runnerImage string | ||||||
| 		dockerImage string | 		dockerImage string | ||||||
| 		namespace   string | 		namespace   string | ||||||
|  | 		logLevel    string | ||||||
| 
 | 
 | ||||||
| 		commonRunnerLabels commaSeparatedStringSlice | 		commonRunnerLabels commaSeparatedStringSlice | ||||||
| 	) | 	) | ||||||
|  | @ -89,10 +96,23 @@ func main() { | ||||||
| 	flag.DurationVar(&syncPeriod, "sync-period", 10*time.Minute, "Determines the minimum frequency at which K8s resources managed by this controller are reconciled. When you use autoscaling, set to a lower value like 10 minute, because this corresponds to the minimum time to react on demand change. . If you're tweaking this in order to make autoscaling more responsive, you'll probably want to tweak github-api-cache-duration, too") | 	flag.DurationVar(&syncPeriod, "sync-period", 10*time.Minute, "Determines the minimum frequency at which K8s resources managed by this controller are reconciled. When you use autoscaling, set to a lower value like 10 minute, because this corresponds to the minimum time to react on demand change. . If you're tweaking this in order to make autoscaling more responsive, you'll probably want to tweak github-api-cache-duration, too") | ||||||
| 	flag.Var(&commonRunnerLabels, "common-runner-labels", "Runner labels in the K1=V1,K2=V2,... format that are inherited all the runners created by the controller. See https://github.com/summerwind/actions-runner-controller/issues/321 for more information") | 	flag.Var(&commonRunnerLabels, "common-runner-labels", "Runner labels in the K1=V1,K2=V2,... format that are inherited all the runners created by the controller. See https://github.com/summerwind/actions-runner-controller/issues/321 for more information") | ||||||
| 	flag.StringVar(&namespace, "watch-namespace", "", "The namespace to watch for custom resources. Set to empty for letting it watch for all namespaces.") | 	flag.StringVar(&namespace, "watch-namespace", "", "The namespace to watch for custom resources. Set to empty for letting it watch for all namespaces.") | ||||||
|  | 	flag.StringVar(&logLevel, "log-level", logLevelDebug, `The verbosity of the logging. Valid values are "debug", "info", "warn", "error". Defaults to "debug".`) | ||||||
| 	flag.Parse() | 	flag.Parse() | ||||||
| 
 | 
 | ||||||
| 	logger := zap.New(func(o *zap.Options) { | 	logger := zap.New(func(o *zap.Options) { | ||||||
| 		o.Development = true | 		switch logLevel { | ||||||
|  | 		case logLevelDebug: | ||||||
|  | 			o.Development = true | ||||||
|  | 		case logLevelInfo: | ||||||
|  | 			lvl := zaplib.NewAtomicLevelAt(zaplib.InfoLevel) | ||||||
|  | 			o.Level = &lvl | ||||||
|  | 		case logLevelWarn: | ||||||
|  | 			lvl := zaplib.NewAtomicLevelAt(zaplib.WarnLevel) | ||||||
|  | 			o.Level = &lvl | ||||||
|  | 		case logLevelError: | ||||||
|  | 			lvl := zaplib.NewAtomicLevelAt(zaplib.ErrorLevel) | ||||||
|  | 			o.Level = &lvl | ||||||
|  | 		} | ||||||
| 	}) | 	}) | ||||||
| 
 | 
 | ||||||
| 	ghClient, err = c.NewClient() | 	ghClient, err = c.NewClient() | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue