Skip to content

Commit

Permalink
Add kubebb-core to cluster-component
Browse files Browse the repository at this point in the history
  • Loading branch information
nkwangleiGIT committed Jan 28, 2024
1 parent a5113d0 commit 605047e
Show file tree
Hide file tree
Showing 26 changed files with 2,407 additions and 3 deletions.
7 changes: 4 additions & 3 deletions charts/cluster-component/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,17 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.1.4
version: 0.2.0

# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes.
appVersion: "0.1.0"
appVersion: "0.2.0"

dependencies:
- name: kubebb-core
version: 0.1.20
- name: cert-manager
version: 0.1.0
condition: cert-manager.enabled
Expand All @@ -32,7 +34,6 @@ dependencies:
condition: metallb.enabled
- name: ingress-nginx
version: 4.2.5
# pre560 will use customized ingress-nginx, for v560, will use OSS one directly
condition: ingress-nginx.enabled
- name: openebs
version: 3.3.1
Expand Down
24 changes: 24 additions & 0 deletions charts/cluster-component/charts/kubebb-core/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
apiVersion: v2
name: kubebb-core
annotations:
core.kubebb.k8s.com.cn/displayname: "内核"
core.kubebb.k8s.com.cn/restrict-tenants: "system-tenant"
core.kubebb.k8s.com.cn/restricted-namespaces: "kubebb-system"
description: Kubebb Core provides core implementations on Component Lifecycle Management.Our design and development follows operator pattern which extends kubernetes APIs.
type: application
version: 0.1.20
appVersion: v0.1.5
icon: https://avatars.githubusercontent.com/u/85277200
keywords:
- repository
- helm
- lifecycle-management
sources:
- https://github.com/kubebb/core
maintainers:
- name: bjwswang
url: https://github.com/bjwswang
- name: Abirdcfly
url: https://github.com/Abirdcfly
- name: 0xff-dev
url: https://github.com/0xff-dev
19 changes: 19 additions & 0 deletions charts/cluster-component/charts/kubebb-core/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Kubebb Core Helm Chart

This chart bootstraps a Kubebb Core deployment on a [Kubernetes](http://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.

## Usage

```shell
helm repo add kubebb https://kubebb.github.io/components
kubectl create ns kubebb-system
helm install -nkubebb-system kubebb-core kubebb/kubebb-core
```

## Configuration

| Parameter | Description | Default |
|-------------------------------------------|-----------------------------------------------|---------------------------------------------------------|
| `deployment.image` | Image for kubebb core controller | `kubebb/core:v0.1.1` |
| `deployment.imagePullPolcy` | Image pull policy for kubebb core controller | `IfNotPresent` |
| `deployment.resources` | Resouce request and limits for kubebb core controller | see the values.yaml |

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,185 @@
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.9.2
creationTimestamp: null
name: components.core.kubebb.k8s.com.cn
spec:
group: core.kubebb.k8s.com.cn
names:
kind: Component
listKind: ComponentList
plural: components
shortNames:
- cp
- cps
singular: component
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: 'Component is the Schema for the components API In general, Component
will be automatically generated by the controller without user creation
to display the content of the component in the Repository, Spec should add
the necessary configuration if possible (currently left blank), and Status
should display as much information about this component as possible. Displaying
information in Status ensures that it cannot be unintentionally modified
by users. Used to management components - kubebb-system: public - user-namespace:
private'
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: ComponentSpec defines the desired state of Component
properties:
creator:
type: string
type: object
status:
description: ComponentStatus defines the observed state of Component
properties:
deprecated:
description: The current component is not in the return list of URLs
and will not be deleted but marked as deprecated by this field.
type: boolean
description:
description: 'FIXME: some fields(like description) may change when
version update, how to deal with it? A one-sentence description
of the chart'
type: string
displayName:
description: DisplayName of the component that comes from the helm
chart's latest annotation
type: string
home:
description: The URL to a relevant project page, git repo, or contact
person
type: string
icon:
description: The URL to an icon file.
type: string
keywords:
description: A list of string keywords
items:
type: string
type: array
maintainers:
description: Maintainers is a list of maintainers
items:
description: Maintainer describes a Chart maintainer. inspire by
https://github.com/helm/helm/blob/2398830f183b6d569224ae693ae9215fed5d1372/pkg/chart/metadata.go#L26
properties:
email:
description: Email is an optional email address to contact the
named maintainer
type: string
name:
description: Name is a user name or organization name
type: string
url:
description: URL is an optional URL to an address for the named
maintainer
type: string
type: object
type: array
name:
description: The name of the component may come from helm chart name
type: string
repository:
description: RepositoryRef is a reference to the Repository
properties:
apiVersion:
description: API version of the referent.
type: string
fieldPath:
description: 'If referring to a piece of an object instead of
an entire object, this string should contain a valid JSON/Go
field access statement, such as desiredState.manifest.containers[2].
For example, if the object reference is to a container within
a pod, this would take on a value like: "spec.containers{name}"
(where "name" refers to the name of the container that triggered
the event) or if no container name is specified "spec.containers[2]"
(container with index 2 in this pod). This syntax is chosen
only to have some well-defined way of referencing a part of
an object. TODO: this design is not final and this field is
subject to change in the future.'
type: string
kind:
description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
type: string
namespace:
description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
type: string
resourceVersion:
description: 'Specific resourceVersion to which this reference
is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
type: string
uid:
description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
type: string
type: object
x-kubernetes-map-type: atomic
sources:
description: Source is the URL to the source code of this Component
items:
type: string
type: array
versions:
description: versions contains all version of one component.
items:
description: ComponentVersion Indicates the fields required for
a specific version of Component.
properties:
annotations:
additionalProperties:
type: string
type: object
appVersion:
type: string
createdAt:
format: date-time
type: string
deprecated:
type: boolean
digest:
type: string
updatedAt:
format: date-time
type: string
version:
type: string
required:
- appVersion
- createdAt
- deprecated
- digest
- updatedAt
- version
type: object
type: array
required:
- name
- repository
- versions
type: object
type: object
served: true
storage: true
subresources:
status: {}
Loading

0 comments on commit 605047e

Please sign in to comment.