Add '-runner-image' and '-docker-image' flags

This commit is contained in:
Moto Ishizawa 2020-02-03 16:56:52 +09:00
parent ffdbe5cee9
commit e6952f5ca1
2 changed files with 24 additions and 8 deletions

View File

@ -36,7 +36,6 @@ import (
)
const (
defaultImage = "summerwind/actions-runner:latest"
containerName = "runner"
)
@ -51,6 +50,8 @@ type RunnerReconciler struct {
Log logr.Logger
Scheme *runtime.Scheme
GitHubClient *github.Client
RunnerImage string
DockerImage string
}
// +kubebuilder:rbac:groups=actions.summerwind.dev,resources=runners,verbs=get;list;watch;create;update;patch;delete
@ -196,9 +197,9 @@ func (r *RunnerReconciler) newPod(runner v1alpha1.Runner) (corev1.Pod, error) {
group int64 = 0
)
image := runner.Spec.Image
if image == "" {
image = defaultImage
runnerImage := runner.Spec.Image
if runnerImage == "" {
runnerImage = r.RunnerImage
}
pod := corev1.Pod{
@ -211,7 +212,7 @@ func (r *RunnerReconciler) newPod(runner v1alpha1.Runner) (corev1.Pod, error) {
Containers: []corev1.Container{
{
Name: containerName,
Image: image,
Image: runnerImage,
ImagePullPolicy: "Always",
Env: []corev1.EnvVar{
{
@ -239,7 +240,7 @@ func (r *RunnerReconciler) newPod(runner v1alpha1.Runner) (corev1.Pod, error) {
},
{
Name: "docker",
Image: "docker:19.03.5-dind",
Image: r.DockerImage,
VolumeMounts: []corev1.VolumeMount{
{
Name: "docker",

19
main.go
View File

@ -34,6 +34,11 @@ import (
// +kubebuilder:scaffold:imports
)
const (
defaultRunnerImage = "summerwind/actions-runner:v2.165.1"
defaultDockerImage = "docker:19.03.5-dind"
)
var (
scheme = runtime.NewScheme()
setupLog = ctrl.Log.WithName("setup")
@ -47,11 +52,19 @@ func init() {
}
func main() {
var metricsAddr string
var enableLeaderElection bool
var (
metricsAddr string
enableLeaderElection bool
runnerImage string
dockerImage string
)
flag.StringVar(&metricsAddr, "metrics-addr", ":8080", "The address the metric endpoint binds to.")
flag.BoolVar(&enableLeaderElection, "enable-leader-election", false,
"Enable leader election for controller manager. Enabling this will ensure there is only one active controller manager.")
flag.StringVar(&runnerImage, "runner-image", defaultRunnerImage, "The image name of self-hosted runner container.")
flag.StringVar(&dockerImage, "docker-image", defaultDockerImage, "The image name of docker sidecar container.")
flag.Parse()
ghToken := os.Getenv("GITHUB_TOKEN")
@ -85,6 +98,8 @@ func main() {
Log: ctrl.Log.WithName("controllers").WithName("Runner"),
Scheme: mgr.GetScheme(),
GitHubClient: ghClient,
RunnerImage: runnerImage,
DockerImage: dockerImage,
}
if err = runnerReconciler.SetupWithManager(mgr); err != nil {