fix: update Go to 1.26 and replace deprecated scheme.Builder (fixes #192 CI) (#194)

* Bump the actions-deps group across 1 directory with 3 updates

Bumps the actions-deps group with 3 updates in the /operator directory: [k8s.io/apimachinery](https://github.com/kubernetes/apimachinery), [k8s.io/client-go](https://github.com/kubernetes/client-go) and [sigs.k8s.io/controller-runtime](https://github.com/kubernetes-sigs/controller-runtime).


Updates `k8s.io/apimachinery` from 0.35.4 to 0.36.0
- [Commits](https://github.com/kubernetes/apimachinery/compare/v0.35.4...v0.36.0)

Updates `k8s.io/client-go` from 0.35.4 to 0.36.0
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.35.4...v0.36.0)

Updates `sigs.k8s.io/controller-runtime` from 0.23.3 to 0.24.0
- [Release notes](https://github.com/kubernetes-sigs/controller-runtime/releases)
- [Changelog](https://github.com/kubernetes-sigs/controller-runtime/blob/main/RELEASE.md)
- [Commits](https://github.com/kubernetes-sigs/controller-runtime/compare/v0.23.3...v0.24.0)

---
updated-dependencies:
- dependency-name: k8s.io/apimachinery
  dependency-version: 0.36.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions-deps
- dependency-name: k8s.io/client-go
  dependency-version: 0.36.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions-deps
- dependency-name: sigs.k8s.io/controller-runtime
  dependency-version: 0.24.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions-deps
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix: update Go version to 1.26 and replace deprecated scheme.Builder

- Bump CI Go version from 1.25.9 to 1.26, matching the go directive in
  operator/go.mod which was updated to go 1.26.0 by the dependency bump.
- Replace the deprecated sigs.k8s.io/controller-runtime/pkg/scheme.Builder
  with a local groupVersionSchemeBuilder backed by k8s.io/apimachinery's
  runtime.SchemeBuilder, fixing the SA1019 staticcheck failure introduced
  by the controller-runtime v0.24.0 upgrade.

* fix: bump Dockerfile base image to golang:1.26

go.mod requires go >= 1.26.0; the golang:1.25 builder image sets
GOTOOLCHAIN=local which prevents toolchain downloads, causing
'go mod download' to fail. Bump both operator and adapter Dockerfiles
to golang:1.26.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Security Agent <security-agent@tetrate.io>
6 files changed
tree: 9bdfe2c9687ee424f8edc29babbb6ad739fcbce7
  1. .github/
  2. adapter/
  3. build/
  4. dist/
  5. docs/
  6. hack/
  7. operator/
  8. test/
  9. .asf.yaml
  10. .dockerignore
  11. .gitignore
  12. .licenserc.yaml
  13. CHANGES.md
  14. CONTRIBUTING.md
  15. golangci.yml
  16. LICENSE
  17. Makefile
  18. NOTICE
  19. README.md
README.md

Apache SkyWalking Cloud on Kubernetes

A bridge project between Apache SkyWalking and Kubernetes.

SWCK is a platform for the SkyWalking user that provisions, upgrades, maintains SkyWalking relevant components, and makes them work natively on Kubernetes.

Features

  • Java Agent Injector: Inject the java agent into the application pod natively.
    • Inject the java agent into the application pod.
    • Leverage a global configuration to simplify the agent and injector setup.
    • Use the annotation to customize specific workloads.
    • Synchronize injecting status to JavaAgent CR for monitoring purposes.
  • Operator: Provision and maintain SkyWalking backend components.
  • Custom Metrics Adapter: Provides custom metrics coming from SkyWalking OAP cluster for autoscaling by Kubernetes HPA

Quick Start

You can follow the Getting Started to deploy swck on a testing Kubernetes cluster quickly and try out the skywalking components end to end.

Java Agent Injector

  • Install the Operator
  • Label the namespace with swck-injection=enabled
$ kubectl label namespace default(your namespace) swck-injection=enabled
  • Add label swck-java-agent-injected: "true" to the workloads

For more details, please read Java agent injector

Operator

  • To install the operator in an existing cluster, ensure you have cert-manager installed.
  • Apply the manifests for the Controller and CRDs in release/config:
kubectl apply -f skywalking-swck-<SWCK_VERSION>-bin/config/operator-bundle.yaml
  • Also, you could deploy the operator quickly based on Master Branch or Stable Release:
kubectl apply -k "github.com/apache/skywalking-swck/operator/config/default"

or

kubectl apply -k "github.com/apache/skywalking-swck/operator/config/default?ref=v0.8.0"

For more details, please refer to deploy operator

Custom Metrics Adapter

  • Deploy the OAP server by referring to Operator Quick Start.
  • Apply the manifests for an adapter in release/adapter/config:
kubectl apply -f skywalking-swck-<SWCK_VERSION>-bin/config/adapter-bundle.yaml
  • Also, you could deploy the adapter quickly based on Master Branch or Stable Release:
kubectl apply -k "github.com/apache/skywalking-swck/adapter/config"

or

kubectl apply -k "github.com/apache/skywalking-swck/adapter/config?ref=v0.8.0"

For more details, please read Custom metrics adapter

Contributing

For developers who want to contribute to this project, see Contribution Guide. What's more, we have a guide about how to add new CRDs and Controllers, see How to add new CRD and Controller in SWCK.

License

Apache 2.0 License.