Skip to content
This repository has been archived by the owner on Nov 2, 2023. It is now read-only.

feat: rename UnitedDeployment to YurtAppSet #62

Merged
merged 1 commit into from
Jul 1, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
# Yurt-app-manager

This repository contains 4 CRD/controllers: NodePool, UnitedDeployment, YurtAppDaemon and YurtIngress.
This repository contains 4 CRD/controllers: NodePool, YurtAppSet, YurtAppDaemon and YurtIngress.

The NodePool provides a convenient management experience for a pool of nodes within the same region or site.
The UnitedDeployment defines a new edge application management methodology of using per node pool workload.
The YurtAppSet defines a new edge application management methodology of using per node pool workload.
The YurtAppDaemon provides a similar K8S DaemonSet support for user app workload from the NodePool level.
The YurtIngress is responsible to deploy configurable ingress controller to the user specified NodePools.

For details of the design, please see the documents below:
NodePool and UnitedDeployment: [document](https://github.com/openyurtio/openyurt/blob/master/docs/enhancements/20201211-nodepool_uniteddeployment.md).
NodePool and YurtAppSet: [document](https://github.com/openyurtio/openyurt/blob/master/docs/enhancements/20201211-nodepool_uniteddeployment.md).
YurtAppDaemon: [document](https://github.com/openyurtio/openyurt/blob/master/docs/enhancements/20210729-yurtappdaemon.md).
YurtIngress: [document](https://github.com/openyurtio/openyurt/blob/master/docs/proposals/20210628-nodepool-ingress-support.md).

## Getting Start

Since the OpenYurt is extended from the upstream Kubernetes using only plugins,
the NodePool, UnitedDeployment, YurtAppDaemon and YurtIngress can be used with upstream Kubernetes as well.
the NodePool, YurtAppSet, YurtAppDaemon and YurtIngress can be used with upstream Kubernetes as well.
But to make the best use of them, we recommend using them with the OpenYurt.
For a complete example, please check out the [tutorial](docs/yurt-app-manager-tutorial.md).

Expand Down
2 changes: 1 addition & 1 deletion charts/yurt-app-manager/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
apiVersion: v2
name: yurt-app-manager
description: The controller manager that contains the nodepool controller and uniteddeployment controller.
description: The controller manager that contains the nodepool controller and yurtappset controller.

# A chart can be either an 'application' or a 'library' chart.
#
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,16 @@ metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.7.0
creationTimestamp: null
name: uniteddeployments.apps.openyurt.io
name: yurtappsets.apps.openyurt.io
spec:
group: apps.openyurt.io
names:
kind: UnitedDeployment
listKind: UnitedDeploymentList
plural: uniteddeployments
kind: YurtAppSet
listKind: YurtAppSetList
plural: yurtappsets
shortNames:
- ud
singular: uniteddeployment
- yas
singular: yurtappset
scope: Namespaced
versions:
- additionalPrinterColumns:
Expand All @@ -37,7 +37,7 @@ spec:
name: v1alpha1
schema:
openAPIV3Schema:
description: UnitedDeployment is the Schema for the uniteddeployments API
description: YurtAppSet is the Schema for the yurtappsets API
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
Expand All @@ -52,7 +52,7 @@ spec:
metadata:
type: object
spec:
description: UnitedDeploymentSpec defines the desired state of UnitedDeployment.
description: YurtAppSetSpec defines the desired state of YurtAppSet.
properties:
revisionHistoryLimit:
description: Indicates the number of histories to be conserved. If
Expand Down Expand Up @@ -111,15 +111,15 @@ spec:
pools:
description: Contains the details of each pool. Each element in
this array represents one pool which will be provisioned and
managed by UnitedDeployment.
managed by YurtAppSet.
items:
description: Pool defines the detail of a pool.
properties:
name:
description: Indicates pool name as a DNS_LABEL, which will
be used to generate pool workload name prefix in the format
'<deployment-name>-<pool-name>-'. Name should be unique
between all of the pools under one UnitedDeployment. Name
between all of the pools under one YurtAppSet. Name
is NodePool Name
type: string
nodeSelectorTerm:
Expand Down Expand Up @@ -286,20 +286,20 @@ spec:
- selector
type: object
status:
description: UnitedDeploymentStatus defines the observed state of UnitedDeployment.
description: YurtAppSetStatus defines the observed state of YurtAppSet.
properties:
collisionCount:
description: Count of hash collisions for the UnitedDeployment. The
UnitedDeployment controller uses this field as a collision avoidance
description: Count of hash collisions for the YurtAppSet. The
YurtAppSet controller uses this field as a collision avoidance
mechanism when it needs to create the name for the newest ControllerRevision.
format: int32
type: integer
conditions:
description: Represents the latest available observations of a UnitedDeployment's
description: Represents the latest available observations of a YurtAppSet's
current state.
items:
description: UnitedDeploymentCondition describes current state of
a UnitedDeployment.
description: YurtAppSetCondition describes current state of
a YurtAppSet.
properties:
lastTransitionTime:
description: Last time the condition transitioned from one status
Expand All @@ -323,11 +323,11 @@ spec:
type: array
currentRevision:
description: CurrentRevision, if not empty, indicates the current
version of the UnitedDeployment.
version of the YurtAppSet.
type: string
observedGeneration:
description: ObservedGeneration is the most recent generation observed
for this UnitedDeployment. It corresponds to the UnitedDeployment's
for this YurtAppSet. It corresponds to the YurtAppSet's
generation, which is updated on mutation by the API Server.
format: int64
type: integer
Expand Down
6 changes: 3 additions & 3 deletions charts/yurt-app-manager/templates/NOTES.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
This application contains 4 CRD/controllers: NodePool, UnitedDeployment, YurtAppDaemon and YurtIngress.
This application contains 4 CRD/controllers: NodePool, YurtAppSet, YurtAppDaemon and YurtIngress.

The NodePool provides a convenient management experience for a pool of nodes within the same region or site.
The UnitedDeployment defines a new edge application management methodology of using per node pool workload.
The YurtAppSet defines a new edge application management methodology of using per node pool workload.
The YurtAppDaemon provides a similar K8S DaemonSet support for user app workload from the NodePool level.
The YurtIngress is responsible to deploy configurable ingress controller to the user specified NodePools.
The YurtIngress is responsible to deploy configurable ingress controller to the user specified NodePools.
6 changes: 3 additions & 3 deletions charts/yurt-app-manager/templates/clusterrole.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ rules:
- apiGroups:
- apps.openyurt.io
resources:
- uniteddeployments
- yurtappsets
verbs:
- create
- delete
Expand All @@ -114,7 +114,7 @@ rules:
- apiGroups:
- apps.openyurt.io
resources:
- uniteddeployments/status
- yurtappsets/status
verbs:
- get
- patch
Expand Down Expand Up @@ -312,4 +312,4 @@ rules:
resources:
- roles
verbs:
- '*'
- '*'
Original file line number Diff line number Diff line change
Expand Up @@ -31,12 +31,12 @@ webhooks:
name: {{ include "yurt-app-manager.fullname" . }}
namespace: {{ .Release.Namespace }}
port: {{ .Values.service.port }}
path: /mutate-apps-openyurt-io-v1alpha1-uniteddeployment
path: /mutate-apps-openyurt-io-v1alpha1-yurtappset
admissionReviewVersions:
- v1
sideEffects: None
failurePolicy: Fail
name: muniteddeployment.kb.io
name: myurtappset.kb.io
rules:
- apiGroups:
- apps.openyurt.io
Expand All @@ -46,7 +46,7 @@ webhooks:
- CREATE
- UPDATE
resources:
- uniteddeployments
- yurtappsets
- clientConfig:
caBundle: Cg==
service:
Expand All @@ -68,4 +68,4 @@ webhooks:
- CREATE
- UPDATE
resources:
- yurtappdaemons
- yurtappdaemons
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,12 @@ webhooks:
name: {{ include "yurt-app-manager.fullname" . }}
namespace: {{ .Release.Namespace }}
port: {{ .Values.service.port }}
path: /validate-apps-openyurt-io-v1alpha1-uniteddeployment
path: /validate-apps-openyurt-io-v1alpha1-yurtappset
admissionReviewVersions:
- v1
sideEffects: None
failurePolicy: Fail
name: vuniteddeployment.kb.io
name: vyurtappset.kb.io
rules:
- apiGroups:
- apps.openyurt.io
Expand All @@ -47,7 +47,7 @@ webhooks:
- CREATE
- UPDATE
resources:
- uniteddeployments
- yurtappsets
- clientConfig:
caBundle: Cg==
service:
Expand Down Expand Up @@ -92,4 +92,4 @@ webhooks:
- UPDATE
- DELETE
resources:
- yurtingresses
- yurtingresses
2 changes: 1 addition & 1 deletion cmd/yurt-app-manager/app/core.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,9 @@ import (
"k8s.io/client-go/rest"
"k8s.io/client-go/tools/leaderelection/resourcelock"
"k8s.io/klog"
"sigs.k8s.io/controller-runtime/pkg/log/zap"
ctrl "sigs.k8s.io/controller-runtime"
"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/log/zap"
// +kubebuilder:scaffold:imports
)

Expand Down
48 changes: 24 additions & 24 deletions config/setup/all_in_one.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.2.9
creationTimestamp: null
name: uniteddeployments.apps.openyurt.io
name: yurtappsets.apps.openyurt.io
spec:
additionalPrinterColumns:
- JSONPath: .status.readyReplicas
Expand All @@ -152,18 +152,18 @@ spec:
type: date
group: apps.openyurt.io
names:
kind: UnitedDeployment
listKind: UnitedDeploymentList
plural: uniteddeployments
kind: YurtAppSet
listKind: YurtAppSetList
plural: yurtappsets
shortNames:
- ud
singular: uniteddeployment
- yas
singular: yurtappset
scope: Namespaced
subresources:
status: {}
validation:
openAPIV3Schema:
description: UnitedDeployment is the Schema for the uniteddeployments API
description: YurtAppSet is the Schema for the yurtappsets API
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'
Expand All @@ -174,7 +174,7 @@ spec:
metadata:
type: object
spec:
description: UnitedDeploymentSpec defines the desired state of UnitedDeployment.
description: YurtAppSetSpec defines the desired state of YurtAppSet.
properties:
revisionHistoryLimit:
description: Indicates the number of histories to be conserved. If unspecified, defaults to 10.
Expand Down Expand Up @@ -214,12 +214,12 @@ spec:
description: Topology describes the pods distribution detail between each of pools.
properties:
pools:
description: Contains the details of each pool. Each element in this array represents one pool which will be provisioned and managed by UnitedDeployment.
description: Contains the details of each pool. Each element in this array represents one pool which will be provisioned and managed by YurtAppSet.
items:
description: Pool defines the detail of a pool.
properties:
name:
description: Indicates pool name as a DNS_LABEL, which will be used to generate pool workload name prefix in the format '<deployment-name>-<pool-name>-'. Name should be unique between all of the pools under one UnitedDeployment. Name is NodePool Name
description: Indicates pool name as a DNS_LABEL, which will be used to generate pool workload name prefix in the format '<deployment-name>-<pool-name>-'. Name should be unique between all of the pools under one YurtAppSet. Name is NodePool Name
type: string
nodeSelectorTerm:
description: Indicates the node selector to form the pool. Depending on the node selector, pods provisioned could be distributed across multiple groups of nodes. A pool's nodeSelectorTerm is not allowed to be updated.
Expand Down Expand Up @@ -272,16 +272,16 @@ spec:
- selector
type: object
status:
description: UnitedDeploymentStatus defines the observed state of UnitedDeployment.
description: YurtAppSetStatus defines the observed state of YurtAppSet.
properties:
collisionCount:
description: Count of hash collisions for the UnitedDeployment. The UnitedDeployment controller uses this field as a collision avoidance mechanism when it needs to create the name for the newest ControllerRevision.
description: Count of hash collisions for the YurtAppSet. The YurtAppSet controller uses this field as a collision avoidance mechanism when it needs to create the name for the newest ControllerRevision.
format: int32
type: integer
conditions:
description: Represents the latest available observations of a UnitedDeployment's current state.
description: Represents the latest available observations of a YurtAppSet's current state.
items:
description: UnitedDeploymentCondition describes current state of a UnitedDeployment.
description: YurtAppSetCondition describes current state of a YurtAppSet.
properties:
lastTransitionTime:
description: Last time the condition transitioned from one status to another.
Expand All @@ -302,10 +302,10 @@ spec:
type: object
type: array
currentRevision:
description: CurrentRevision, if not empty, indicates the current version of the UnitedDeployment.
description: CurrentRevision, if not empty, indicates the current version of the YurtAppSet.
type: string
observedGeneration:
description: ObservedGeneration is the most recent generation observed for this UnitedDeployment. It corresponds to the UnitedDeployment's generation, which is updated on mutation by the API Server.
description: ObservedGeneration is the most recent generation observed for this YurtAppSet. It corresponds to the YurtAppSet's generation, which is updated on mutation by the API Server.
format: int64
type: integer
poolReplicas:
Expand Down Expand Up @@ -823,7 +823,7 @@ rules:
- apiGroups:
- apps.openyurt.io
resources:
- uniteddeployments
- yurtappsets
verbs:
- create
- delete
Expand All @@ -835,7 +835,7 @@ rules:
- apiGroups:
- apps.openyurt.io
resources:
- uniteddeployments/status
- yurtappsets/status
verbs:
- get
- patch
Expand Down Expand Up @@ -1163,9 +1163,9 @@ webhooks:
service:
name: yurt-app-webhook-service
namespace: kube-system
path: /mutate-apps-openyurt-io-v1alpha1-uniteddeployment
path: /mutate-apps-openyurt-io-v1alpha1-yurtappset
failurePolicy: Fail
name: muniteddeployment.kb.io
name: myurtappset.kb.io
rules:
- apiGroups:
- apps.openyurt.io
Expand All @@ -1175,7 +1175,7 @@ webhooks:
- CREATE
- UPDATE
resources:
- uniteddeployments
- yurtappsets
- clientConfig:
caBundle: Cg==
service:
Expand Down Expand Up @@ -1226,9 +1226,9 @@ webhooks:
service:
name: yurt-app-webhook-service
namespace: kube-system
path: /validate-apps-openyurt-io-v1alpha1-uniteddeployment
path: /validate-apps-openyurt-io-v1alpha1-yurtappset
failurePolicy: Fail
name: vuniteddeployment.kb.io
name: vyurtappset.kb.io
rules:
- apiGroups:
- apps.openyurt.io
Expand All @@ -1238,7 +1238,7 @@ webhooks:
- CREATE
- UPDATE
resources:
- uniteddeployments
- yurtappsets
- clientConfig:
caBundle: Cg==
service:
Expand Down
Loading