Coder Social home page Coder Social logo

component-base's Introduction

component-base

Purpose

Implement KEP 32: https://github.com/kubernetes/enhancements/blob/master/keps/sig-cluster-lifecycle/wgs/783-component-base/README.md

The proposal is essentially about refactoring the Kubernetes core package structure in a way that all core components may share common code around:

  • ComponentConfig implementation
  • flag and command handling
  • HTTPS serving
  • delegated authn/z
  • logging.

Compatibility

There are NO compatibility guarantees for this repository, yet. It is in direct support of Kubernetes, so branches will track Kubernetes and be compatible with that repo. As we more cleanly separate the layers, we will review the compatibility guarantee. We have a goal to make this easier to use in the future.

Where does it come from?

This repository is synced from https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/component-base. Code changes are made in that location, merged into k8s.io/kubernetes and later synced here.

Things you should NOT do

  1. Directly modify any files in this repo. Those are driven from k8s.io/kubernetes/staging/src/k8s.io/component-base.
  2. Expect compatibility. This repo is changing quickly in direct support of Kubernetes.

OWNERS

WG Component Standard is working on this refactoring process, which is happening incrementally, starting in the v1.14 cycle. SIG API Machinery and SIG Cluster Lifecycle owns the code.

component-base's People

Contributors

alexzielenski avatar andrewsykim avatar aojea avatar apelisse avatar benluddy avatar catherinef-dev avatar cici37 avatar dashpole avatar dgrisonnet avatar dims avatar draveness avatar humblec avatar jdnurme avatar jefftree avatar jiahuif avatar jpbetz avatar justaugustus avatar k8s-publishing-bot avatar liggitt avatar logicalhan avatar madhavjivrajani avatar mikespreitzer avatar pacoxu avatar pohly avatar rainbowmango avatar serathius avatar sttts avatar tahsinrahman avatar thockin avatar yoyinzyc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

component-base's Issues

Migrate `component-base` to use Lease API

Support for endpoints and configmaps is removed in K8s 1.24 with kubernetes/kubernetes#106852.
More details about the motivation to switch to leases - ref kubernetes/kubernetes#80289.

To preserve the backwards-compatibility, resource lock for migration purposes (endpointsleases, configmapsleases) should be used when switching from the legacy resource locks (endpoints, configmaps)

component-base is currently using endpoints . We want to migrate this to endpointsleases and finally to leases.

Upgrade go.opentelemetry.io dependencies

The go.opentelemetry.io dependencies are still on some older versions.

The sig-storage upgraded these libs in our csi-lib-utils(kubernetes-csi/csi-lib-utils#140) but the versions are not compatible with what is in the component-base under certain dependency chain.

This causes upgrading dependencies in the csi sidecars failed. For example, the external-provisioner is depending on both csi-lib-utils and component base, in this scenario there is conflict in upgrading.

Similar issue in other repos: open-telemetry/opentelemetry-go#2938
Can component-base update the libs to newer versions?

Information About Issues

From @stealthybox
component-base is an automated staging repository from k/k, so most of the issues end up on kubernetes/kubernetes or their associated component's repo's.
See:

  • Project Board
  • k/k Issues/PR's needing Review
    The wg label has also been used in other orgs and repos such as kubernetes-sigs/kubebuilder.
    For repos outside of the kubernetes org, I've just been adding links to the respective issues on the Project Board.

Missing kube-api can be configured in the command line

traces utils.go

The most fundamental is that TracingConfiguration does not yet provide a complete configuration

func NewProvider(ctx context.Context, baseSampler sdktrace.Sampler, resourceOpts []resource.Option, opts ...otlpgrpc.Option) trace.TracerProvider {
 opts = append(opts, otlpgrpc.WithInsecure())

 driver := otlpgrpc.NewDriver(opts...)
 exporter, err := otlp.NewExporter(ctx, driver)
 if err != nil {
  klog.Fatalf("Failed to create OTLP exporter: %v", err)
 }

 res, err := resource.New(ctx, resourceOpts...)
 if err != nil {
  klog.Fatalf("Failed to create resource: %v", err)
 }

 // TODO Missing customization
 bsp := sdktrace.NewBatchSpanProcessor(exporter)

 return sdktrace.NewTracerProvider(
  // TODO Missing customization
  sdktrace.WithSampler(sdktrace.ParentBased(baseSampler)),
  sdktrace.WithSpanProcessor(bsp),
  sdktrace.WithResource(res),
 )
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.