-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #21 from kuidio/choreo
Choreo
- Loading branch information
Showing
784 changed files
with
52,132 additions
and
89,686 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
# deployment options | ||
|
||
- async design with a generic backend -> reocncilers needed | ||
- async design with etcd -> reconcilers needed | ||
- sync design with a generic backend | ||
- sync design with choreo | ||
|
||
|
||
async versus sync: | ||
- Async need a reconciler | ||
- Sync can have a special way to allocate before -> create/update/delete are special; watch/list are the same | ||
- Sync cannot be done with etcd as the storage interface changed | ||
- Sync -> We do a special init for both options -> main reason is to use a direct storage interface for saveALL and restore functions | ||
-> we init all 3 resources together due to the storage | ||
|
||
## How to select which objects should be rendered? | ||
|
||
- name: ENABLE_BE_AS (group) | ||
value: "sync,badgerdb" | "true" | ||
- name: ENABLE_BE_VLAN (group) | ||
value: "sync" | "true" | ||
- name: ENABLE_BE_IPAM (group) | ||
value: "sync" | "true" | ||
|
||
## Select between sync and async also per group | ||
|
||
-> using ENV flags | ||
|
||
|
||
## open | ||
|
||
- FieldSelector would be nice when listing the items to be able to check if they belong to the index | ||
- Update? How to handle | ||
- Conversion function for CRD(s) - how does this work ???? -> this will determine if we can keep choreo aligned or not | ||
|
||
Choreo -> we need a conversion function conversion function | ||
|
||
|
||
TODO: | ||
- align the rest interface from choreo with the rest interface of |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -6,4 +6,6 @@ Development | |
4. update artifact | ||
- reconciler | ||
- permissions | ||
- apiservice | ||
- apiservice | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
# sync startegy | ||
|
||
- create/delete index lock/unlock | ||
- when creating/deleting an index -> claims are called which cause a lock issue | ||
- we have a single lock on index create/delete and claim create/delete | ||
- we introduce a special dryrin flag since the delete has very few options if []string{"recursion"} is set we treat this as a special behavior | ||
|
||
## differences | ||
|
||
1. deleteIndex | ||
- sync: claims and entries get deleted | ||
- async: claims from index get deleted, but other not -> reconciler should trigger the status | ||
|
||
2. restart app -> restore | ||
- sync/async: create index need to be triggered (reconciler needed) | ||
|
||
3. status of index | ||
- sync/async: reconciler update status with status subresource (reconciler needed) | ||
|
||
4. order is important | ||
- sync: when something fails the client need to handle this; once accepted it remains in the system | ||
- async: reconciler tries to recover |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
# TODO | ||
|
||
- rework generic backend to also update MIN/MAX as aprt of index creation (similar to ipam) | ||
- proto generation (also needed for configserver) | ||
- add reconcilers for non IPAM resources |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
/* | ||
Copyright 2024 Nokia. | ||
Licensed under the Apache License, Version 2.0 (the "License"); | ||
you may not use this file except in compliance with the License. | ||
You may obtain a copy of the License at | ||
http://www.apache.org/licenses/LICENSE-2.0 | ||
Unless required by applicable law or agreed to in writing, software | ||
distributed under the License is distributed on an "AS IS" BASIS, | ||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
See the License for the specific language governing permissions and | ||
limitations under the License. | ||
*/ | ||
|
||
package all | ||
|
||
import ( | ||
_ "github.com/kuidio/kuid/apis/infra/register" | ||
_ "github.com/kuidio/kuid/apis/backend/as/register" | ||
_ "github.com/kuidio/kuid/apis/backend/ipam/register" | ||
_ "github.com/kuidio/kuid/apis/backend/vlan/register" | ||
_ "github.com/kuidio/kuid/apis/backend/genid/register" | ||
_ "github.com/kuidio/kuid/apis/backend/extcomm/register" | ||
|
||
) | ||
|
||
//vxlanbev1alpha1.AddToScheme, | ||
//extcommbev1alpha1.AddToScheme, |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.