Consider composable non-CRD blocks for workflows / dependencies
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 25/100
Piste de recherche
Commencez par lire les concepts de workflow model, Reconciler et Resolver référencés dans l’issue, puis inspectez AbstractNamedCRUDDependentResource et l’exemple RedisConfigMap. Comparez les déclarations actuelles de dépendances fondées sur les CRD et les annotations avec les blocs réutilisables demandés et les dépendances par ressource. Le travail est terminé lorsque le périmètre pris en charge et l’API des blocs de dépendances composables sont définis et démontrés, avec une couverture des ressources réutilisées telles que ConfigMaps, Secrets et PersistentVolumeClaims.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Currently, all dependencies using the workflow model (seem to) require either declaring them in their own CRD, or expanding on the blocks used inside a single Reconciler.
It would be nice to be able to define a block of dependencies that is reusable in scope. In my particular case, this is so that we can create separate building blocks for commonly reused entities (see datastores, etc) that do not necessarily meet the case for having a standalone CRD.
This is for two reasons:
- The entities themselves maybe managed by other operators and we are considering dependency / ready states for the particular operator.
- The the individual deployments themselves do not reflect something that is of a desired scope for its own CRD. In several cases, this may be because we are developing an application and the particular implementation under the hood may change, or it is something that doesn't necessarily warrant its own set of description.
- The development of commons libraries for shared patterns between operators or, in the case of multi-controller operators, between different pieces.
Additionally, having a mechanism by which dependencies can be mapped at the level of the individual resource, especially in the case of multiple config maps, secrets, volumeclaims, etc, can then be declared at the point of the dependent resource.
class RedisConfigMap<T: HasMetadata>(val app: App) : AbstractNamedCRUDDependentResource<ConfigMap, T>(ConfigMap::class.java)
{
companion object {
fun <T: HasMetadata> withDiscriminator(app: App) : AbstractNamedCRUDDependentResource<ConfigMap, T> {
return RedisConfigMap<T>(app).withDiscriminator()
}
}
override fun desired(primary: T?, context: Context<T>?): ConfigMap {
return ConfigMapBuilder()
.withNewMetadata()
.withNamespace(primary!!.metadata.name)
.withName(name())
.endMetadata()
.addToData("redis-config", "")
.build()
}
override fun name(): String {
return "${app.appName}-redis-config"
}
Is an example of a piece of code I am working on (it's Kotlin, so, bear with me -- and thank you glasskube!)
It would be nice if, instead of piling the configuration into annotations on the Resolver, individual resources could also support declaring their dependencies.
- Langage dominant
- Java
- Étoiles
- 943
- Forks
- 245
- Merge moyen
- 2 j 58 min
- PR mergées (30 j)
- 46
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de operator-framework/java-operator-sdk
-
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
operator-framework/java-operator-sdk#3568 · 1 commentaire · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
operator-framework/java-operator-sdk#3563 ·
Les mainteneurs répondent en général sous 1 jour
-
Support for Virtual ThreadsPeut-être pris @xstefank l’a pris il y a 55 jours. Ouverte
operator-framework/java-operator-sdk#3538 · 2 commentaires · 2 personnes assignées ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
operator-framework/java-operator-sdk#3498 · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
operator-framework/java-operator-sdk#3452 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de operator-framework/java-operator-sdk
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 83/100
jenkinsci/gitlab-plugin#1950 ·
-
It's not necessary to copy the memory block in the readWrite() of org.h2.store.fs.mem.FileMemDataOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
h2database/h2database#4435 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
micronaut-projects/micronaut-core#13717 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
ADORSYS-GIS/token-status-link#145 ·
Les mainteneurs répondent en général sous 3 jours
-
enhancement
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
helidon-io/helidon#12721 ·
Les mainteneurs répondent en général sous 1 jour