jenkinsci / kubernetes-operator

Kubernetes native Jenkins Operator
https://jenkinsci.github.io/kubernetes-operator
Other
598 stars 235 forks source link

Project status updates and roadmap #802

Open brokenpip3 opened 1 year ago

brokenpip3 commented 1 year ago

Hi community! :wave:

As you may notice I stepped up to try to maintain this project from the previous maintainers. I'm happy :rocket: about this new role and I will try to do my best to keep this project rolling :)

I want to share with the community what I think should be our new roadmap in order to gather comments, feedbacks and suggestions.

Current situation Right now the operator is still alive and working against the latest jenkins lts version due to the PRs I made in the past weeks but the overall health is not great, we need to fix some basic stuff (see below) before moving forward and start adding new features.

Future This is what I thought: (happy to receive any feedback) we should plan 3 new major releases:

Community We are looking for new contributors/maintainers, any help we can get from the community will be great and will help the project to move faster! :rocket: Also we need a new "community" place to discuss, right now we have 2 options:

Like I said any suggestions, criticism and support will be appreciated :bow:

rkrzewski commented 1 year ago

@brokenpip3, thank you so much for stepping up as the maintainer!

For those that are struggling to keep their v0.7.1 operator instance running, and are willing to do a bit of pre-release testing, here's a snippet of my values.yaml with important settings that allowed me to start an up-to-date LTS Jenkins today:

operator:
  image: quay.io/jenkins-kubernetes-operator/operator:d91a729
jenkins:
  image: jenkins/jenkins:2.387.1-lts
  basePlugins:
   - name: kubernetes
     version: 3883.v4d70a_a_a_df034
   - name: workflow-job
     version: 1284.v2fe8ed4573d4
   - name: workflow-aggregator
     version: 596.v8c21c963d92d
   - name: git
     version: 5.0.0
   - name: job-dsl
     version: "1.81"
   - name: configuration-as-code
     version: 1569.vb_72405b_80249
   - name: kubernetes-credentials-provider
     version: 1.209.v862c6e5fb_1ef

The plugin versions are correct as of today, see #797

brokenpip3 commented 1 year ago

Hi all,

after discussing with the kubernetes and cdf slack admin I created our own gitter channel. You can join it using the gitter webchat or any matrix client, will update the docs shortly about that (https://github.com/jenkinsci/kubernetes-operator/pull/809).

Come to say Hi! :)

brokenpip3 commented 1 year ago

Hi all, I just release a beta version of the 0.8, if possible will be great to receive any feedback before the stable version will be released, thanks!

rkrzewski commented 1 year ago

I'm running v0.8.0-beta since yesterday, no problems so far :sunglasses:

A small suggestion for future pre-releases: you could name them -beta1 or -rc1 etc in case more than one is needed.

brokenpip3 commented 1 year ago

@rkrzewski thanks a lot for the feedback, very appreciated :)

Yes beta1 should be more appropriate, will do next time.

brokenpip3 commented 1 year ago

Fyi I started working on 0.9 here: https://github.com/jenkinsci/kubernetes-operator/tree/version-9.0, for the moment I only updated (like the original plan) golang from 15 to 20.x and the operator-skd from 1.3.0 to 1.28.0 (following each version upgrade notes) plus most of the golang libraries we use. Obv nothing is working atm, will need more effort in the following weeks, will update the community as soon I will have something that is working correctly.

brokenpip3 commented 1 year ago

Hi all,

We have just released the new 0.8.0-beta.2 version. This release is highly likely to become the stable 0.8.0 version soon, assuming no issues are found.

For now, our focus will shift to working on the 0.9.0 version, which will include updates to Golang and the operator-sdk, as mentioned previously. During this time, we will not be introducing any new features. Any new feature development will be planned after the initial release of 0.9.0.

Thank you all for your support and stay tuned for further updates!

mortenbirkelund commented 1 year ago

@brokenpip3 I just upgraded to 0.8.0-beta.2. 3 out of 4 improvements seems to solve issues I have been struggling with, so very happy so far.

However, it seems like the default version for workflow-job and git is not compatible with the jenkins version.

2023-07-03T14:51:42.032Z    WARN    controller-jenkins  The plugin you specified as code is incompatible with this jenkins version: plugin '{workflow-job 1308.v58d48a_763b_31 }' version, actual '1316.vd2290d3341a_f' {"cr": "master"}
github.com/go-logr/zapr.(*zapLogger).Info
    /go/pkg/mod/github.com/go-logr/zapr@v0.2.0/zapr.go:126
github.com/jenkinsci/kubernetes-operator/pkg/configuration/base.(*JenkinsBaseConfigurationReconciler).verifyPlugins
    /workspace/pkg/configuration/base/plugin.go:39
github.com/jenkinsci/kubernetes-operator/pkg/configuration/base.(*JenkinsBaseConfigurationReconciler).Reconcile
    /workspace/pkg/configuration/base/reconciler.go:107
github.com/jenkinsci/kubernetes-operator/controllers.(*JenkinsReconciler).reconcile
    /workspace/controllers/jenkins_controller.go:252
github.com/jenkinsci/kubernetes-operator/controllers.(*JenkinsReconciler).Reconcile
    /workspace/controllers/jenkins_controller.go:136
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler
    /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.7.0/pkg/internal/controller/controller.go:263
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem
    /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.7.0/pkg/internal/controller/controller.go:235
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1.1
    /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.7.0/pkg/internal/controller/controller.go:198
k8s.io/apimachinery/pkg/util/wait.JitterUntilWithContext.func1
    /go/pkg/mod/k8s.io/apimachinery@v0.20.2/pkg/util/wait/wait.go:185
k8s.io/apimachinery/pkg/util/wait.BackoffUntil.func1
    /go/pkg/mod/k8s.io/apimachinery@v0.20.2/pkg/util/wait/wait.go:155
k8s.io/apimachinery/pkg/util/wait.BackoffUntil
    /go/pkg/mod/k8s.io/apimachinery@v0.20.2/pkg/util/wait/wait.go:156
k8s.io/apimachinery/pkg/util/wait.JitterUntil
    /go/pkg/mod/k8s.io/apimachinery@v0.20.2/pkg/util/wait/wait.go:133
k8s.io/apimachinery/pkg/util/wait.JitterUntilWithContext
    /go/pkg/mod/k8s.io/apimachinery@v0.20.2/pkg/util/wait/wait.go:185
k8s.io/apimachinery/pkg/util/wait.UntilWithContext
    /go/pkg/mod/k8s.io/apimachinery@v0.20.2/pkg/util/wait/wait.go:99
2023-07-03T14:51:42.033Z    WARN    controller-jenkins  The plugin you specified as code is incompatible with this jenkins version: plugin '{git 5.0.2 }' version, actual '5.1.0'   {"cr": "master"}
github.com/go-logr/zapr.(*zapLogger).Info
    /go/pkg/mod/github.com/go-logr/zapr@v0.2.0/zapr.go:126
github.com/jenkinsci/kubernetes-operator/pkg/configuration/base.(*JenkinsBaseConfigurationReconciler).verifyPlugins
    /workspace/pkg/configuration/base/plugin.go:39
github.com/jenkinsci/kubernetes-operator/pkg/configuration/base.(*JenkinsBaseConfigurationReconciler).Reconcile
    /workspace/pkg/configuration/base/reconciler.go:107
github.com/jenkinsci/kubernetes-operator/controllers.(*JenkinsReconciler).reconcile
    /workspace/controllers/jenkins_controller.go:252
github.com/jenkinsci/kubernetes-operator/controllers.(*JenkinsReconciler).Reconcile
    /workspace/controllers/jenkins_controller.go:136
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler
    /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.7.0/pkg/internal/controller/controller.go:263
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem
    /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.7.0/pkg/internal/controller/controller.go:235
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1.1
    /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.7.0/pkg/internal/controller/controller.go:198
k8s.io/apimachinery/pkg/util/wait.JitterUntilWithContext.func1
    /go/pkg/mod/k8s.io/apimachinery@v0.20.2/pkg/util/wait/wait.go:185
k8s.io/apimachinery/pkg/util/wait.BackoffUntil.func1
    /go/pkg/mod/k8s.io/apimachinery@v0.20.2/pkg/util/wait/wait.go:155
k8s.io/apimachinery/pkg/util/wait.BackoffUntil
    /go/pkg/mod/k8s.io/apimachinery@v0.20.2/pkg/util/wait/wait.go:156
k8s.io/apimachinery/pkg/util/wait.JitterUntil
    /go/pkg/mod/k8s.io/apimachinery@v0.20.2/pkg/util/wait/wait.go:133
k8s.io/apimachinery/pkg/util/wait.JitterUntilWithContext
    /go/pkg/mod/k8s.io/apimachinery@v0.20.2/pkg/util/wait/wait.go:185
k8s.io/apimachinery/pkg/util/wait.UntilWithContext
    /go/pkg/mod/k8s.io/apimachinery@v0.20.2/pkg/util/wait/wait.go:99

But I am happy to see that these 2 imcompatibilties is no longer putting jenkins into a restart loop.

maslakov commented 1 year ago

Hi there. The 0.8.0-beta.2 is almost two month old and there is no issue planned for this milestone left. Are there any timeline when "beta" will be removed and we may consider it as a stable release?

brokenpip3 commented 1 year ago

it's already considered stable :) But you are probably right, I should release it officially, will try to do it in the following days.

maslakov commented 1 year ago

@brokenpip3 sorry to bother you, but any chance to have 0.8.0 official release soon? Thank you!

brokenpip3 commented 3 months ago

Hi community :wave:

A new version is out!

https://github.com/jenkinsci/kubernetes-operator/releases/tag/v0.8.1