Champs RootSync et RepoSync

Cette page fournit une référence pour les champs des objets RootSync, RepoSync et ResourceGroup. Pour en savoir plus sur le fonctionnement de ces objets, consultez Architecture de Config Sync.

Champs RootSync et RepoSync

Les objets de ressources RootSync et RepoSync ont les mêmes champs, à l'exception des champs RootSync suivants :

  • spec.helm.namespace
  • spec.helm.deployNamespace
  • spec.override.roleRefs

Configuration du format source

Clé Description
spec.sourceFormat Spécifie le format de la source de vérité. Facultatif.
La validation de ce champ est sensible à la casse.
  • Pour les objets RootSync, la valeur doit être hierarchy ou unstructured. La valeur par défaut est hierarchy si aucune valeur n'est spécifiée, mais la valeur unstructured est recommandée.
  • Pour les objets RepoSync, la valeur par défaut est unstructured et ne peut pas être modifiée.
Pour en savoir plus, consultez les guides de format non structuré et hiérarchique.

Configuration pour le type de source

Clé Description
spec.sourceType sourceType spécifie le type de source de vérité. Doit être défini sur git, oci ou helm. Facultatif.
Défini sur git s'il n'est pas spécifié. La validation de ce champ est sensible à la casse.

Configuration pour le dépôt Git

Clé Description
spec.git.auth Type de secret configuré pour l'accès au dépôt Git. La valeur doit être ssh, cookiefile, gcenode, gcpserviceaccount, githubapp, token ou none. La validation de ce champ est sensible à la casse. Obligatoire.
spec.git.gcpServiceAccountEmail Compte de service Cloud de Confiance by S3NS utilisé pour annoter le compte de service Kubernetes du contrôleur RootSync ou RepoSync. Ce champ n'est utilisé que lorsque spec.git.auth est défini sur gcpserviceaccount.
spec.git.branch Branche du dépôt Git à partir de laquelle la synchronisation doit être effectuée. Ce champ est facultatif et la valeur par défaut est master. Nous vous recommandons d'utiliser le champ spec.git.revision pour spécifier un nom de branche. Si les deux champs sont utilisés, le champ spec.git.revision est prioritaire sur spec.git.branch.
spec.git.dir Chemin d'accès absolu du dépôt Git vers le répertoire racine contenant la configuration que vous souhaitez synchroniser. Valeur par défaut : répertoire racine (/) du dépôt.
spec.git.period Durée entre deux synchronisations consécutives. Valeur par défaut : 15s.
spec.git.repo URL du dépôt Git à partir de laquelle la synchronisation doit être effectuée. Obligatoire.
spec.git.revision Révision Git (branche, tag ou commit) à partir de laquelle la synchronisation doit être effectuée. Ce champ est facultatif et la valeur par défaut est HEAD. Lorsque vous utilisez un hachage, il doit s'agir d'un hachage complet et non d'une forme abrégée.
spec.git.secretRef.name Nom du secret permettant de se connecter à la source Git fiable.
spec.git.noSSLVerify1 noSSLVerify spécifie s'il faut activer ou désactiver la validation du certificat SSL. Valeur par défaut : "false".
Si noSSLVerify est défini sur true, il indique à Git d'ignorer la validation du certificat SSL.
spec.git.caCertSecretRef.name1 Nom du secret contenant le certificat de l'autorité de certification. Si ce champ est fourni, le serveur Git doit utiliser un certificat émis par cette autorité de certification. Le certificat de l'autorité de certification doit être stocké dans le secret sous une clé nommée "cert".

Configuration du proxy pour le dépôt Git

Si les règles de sécurité de votre organisation vous obligent à acheminer le trafic via un proxy HTTP(S), vous pouvez utiliser l'URI du proxy pour configurer Config Sync de manière à communiquer avec votre hôte Git.

Clé Description
spec.git.proxy URL de proxy avec un schéma permettant de configurer l'accès au dépôt Git à l'aide d'un proxy. Par exemple : https://proxy.internal.business.co:443
Le proxy Git accepte les URL https, http et sans fioritures, mais http est déconseillé pour des raisons de sécurité.
Si vous utilisez un http ou une URL simple, assurez-vous que la communication entre votre serveur proxy et l'hôte Git est sécurisée.
Ce champ n'a d'effet que lorsque spec.git.auth est défini sur cookiefile, none ou token.

Configuration de l'image OCI

Config Sync nécessite que la couche OCI soit compressée au format tar ou tar+gzip.

Les autres formats (par exemple, tar+bz2) ne seront pas reconnus par Config Sync. Le passage d'un dépôt valide à une image OCI avec un format non compatible entraînera l'élimination des ressources gérées sans erreur.

Clé Description
spec.oci.auth Type d'authentification configuré pour l'accès à l'image OCI. La valeur doit être gcenode, k8sserviceaccount, gcpserviceaccount ou none. La validation de ce champ est sensible à la casse. Obligatoire.
spec.oci.gcpServiceAccountEmail Compte de service Cloud de Confiance by S3NS utilisé pour annoter le compte de service Kubernetes du contrôleur RootSync ou RepoSync. Ce champ n'est utilisé que lorsque spec.oci.auth est défini sur gcpserviceaccount.
spec.oci.dir Chemin d'accès absolu de l'image OCI vers le répertoire racine contenant la configuration que vous souhaitez synchroniser. Valeur par défaut : le répertoire racine (/) de l'image.
spec.oci.period Durée entre deux synchronisations consécutives. Valeur par défaut : 15s.
spec.oci.image L'URL de l'image OCI à partir de laquelle la synchronisation doit être effectuée. Obligatoire.
spec.oci.caCertSecretRef.name1

Nom du secret contenant le certificat de l'autorité de certification. Si ce champ est fourni, le serveur OCI doit utiliser un certificat émis par cette autorité de certification. Le certificat de l'autorité de certification doit être stocké dans le secret sous une clé nommée "cert".

Configuration du dépôt Helm

Clé Description
spec.helm.auth Type d'authentification configuré pour l'accès au dépôt Helm. La valeur doit être token, gcenode, k8sserviceaccount, gcpserviceaccount ou none. La validation de ce champ est sensible à la casse. Obligatoire.
spec.helm.gcpServiceAccountEmail Compte de service Cloud de Confiance by S3NS utilisé pour annoter le compte de service Kubernetes du contrôleur RootSync ou RepoSync. Ce champ n'est utilisé que lorsque spec.helm.auth est défini sur gcpserviceaccount.
spec.helm.secretRef.name Nom du Secret utilisé pour accéder au dépôt Helm. Ce champ n'est utilisé que lorsque spec.helm.auth est défini sur token.
spec.helm.repo URL du dépôt Helm à partir de laquelle la synchronisation doit être effectuée. Obligatoire.
spec.helm.chart Nom du chart Helm. Obligatoire.
spec.helm.version

Numéro de version du chart Helm. Par défaut : la dernière version.

Le champ "version" peut être spécifié en tant que valeur statique, en tant que plage de versions à partir de laquelle Config Sync extrait la dernière version, ou laissé vide pour indiquer que Config Sync doit extraire le dernier graphique. Config Sync détermine la "dernière" version en fonction de la gestion sémantique des versions. Si elle est spécifiée sous forme de plage ou laissée vide, Config Sync récupère à nouveau le graphique toutes les heures par défaut. Vous pouvez configurer la période de réextraction avec le champ spec.helm.period. Si la version est spécifiée comme la chaîne littérale "latest" (dernière), le graphique est récupéré à nouveau en fonction de spec.helm.period, comme avec les plages de versions ou les versions vides.

La syntaxe de la plage de versions est identique à la syntaxe de la plage de versions compatible avec la CLI Helm.

Si vous spécifiez la version sous forme de plage ou si vous laissez la valeur vide, cela peut entraîner une utilisation élevée du processeur pour les grands graphiques comportant de nombreuses versions. Vous pouvez utiliser spec.override pour augmenter la demande de processeur pour le conteneur helm-sync, comme dans l'exemple suivant :

    spec:
      override:
        resources:
        - containerName: helm-sync
          cpuRequest: "200m"
    
spec.helm.period

Durée pendant laquelle Config Sync attend avant d'extraire à nouveau le graphique.

La valeur par défaut est de 1 heure. Le champ accepte les valeurs de chaîne, par exemple "30s" ou "5m". Pour en savoir plus, consultez la documentation Go sur les entrées valides.

Si la version du graphique est une plage, utilise le tag littéral "latest" ou est laissée vide pour indiquer que Config Sync doit extraire la dernière version, le graphique est réextrait en fonction de spec.helm.period. Si la version du graphique est spécifiée comme une version statique unique, le graphique n'est pas récupéré à nouveau.

spec.helm.releaseName Nom de la version Helm.
spec.helm.namespace Cette option s'exclut mutuellement avec spec.helm.deployNamespace.
namespace définit l'espace de noms cible pour une version. Ce champ n'est utilisé qu'avec les objets RootSync. Il ne définit un espace de noms que pour les ressources dont les modèles contiennent namespace: {{ .Release.Namespace }}. La valeur spécifiée dans spec.helm.namespace n'est utilisée que comme valeur de Release.Namespace déclarée dans vos modèles Helm. Pour les ressources dont les modèles ne contiennent pas namespace: {{ .Release.Namespace }}, l'espace de noms default sera utilisé. Par défaut : default
spec.helm.deployNamespace Cette option s'exclut mutuellement avec spec.helm.namespace.
deployNamespace spécifie l'espace de noms dans lequel déployer le graphique. La définition de ce champ utilise la fonction kpt set-namespace, qui permet à Config Sync de remplacer les champs namespace des ressources du graphique, y compris metadata.namespace des ressources à l'échelle de l'espace de noms, metadata.name des objets Namespace et les références d'espace de noms dans certains types de ressources spéciaux.
Si deployNamespace n'est pas défini, les ressources pour lesquelles metadata.namespace n'est pas défini sont déployées dans l'espace de noms par défaut.
spec.helm.values

Valeurs à utiliser à la place des valeurs par défaut qui accompagnent le graphique. Mettez en forme les valeurs de la même manière que dans le fichier values.yaml par défaut. Exemple :

values:
  foo:
    bar: val1
  quz:
  - val2
  - val3

Si valuesFileRefs est également spécifié, les champs de values remplacent ceux de valuesFileRefs.

Pour en savoir plus, consultez l'exemple de fichier manifeste Helm.

spec.helm.includeCRDs Indique si le modèle Helm doit générer des CustomResourceDefinitions. Valeur par défaut : false
spec.helm.valuesFileRefs

Liste de références aux objets du cluster qui représentent les valeurs à utiliser à la place des valeurs par défaut qui accompagnent le graphique. Seuls les ConfigMaps sont acceptés. Le ConfigMap doit être immuable et se trouver dans le même espace de noms que RootSync ou RepoSync.

Les ConfigMaps sont immuables. Pour modifier le fichier valuesFile après la synchronisation, vous devez créer un ConfigMap avec un autre nom et mettre à jour RootSync ou RepoSync spec.valuesFileRefs.name.

Lorsque plusieurs fichiers de valeurs sont spécifiés, les clés en double dans les fichiers ultérieurs remplacent la valeur des fichiers précédents. Cela équivaut à transmettre plusieurs fichiers de valeurs à l'interface de ligne de commande Helm. Si spec.helm.values est également spécifié, les champs de values remplacent ceux de valuesFileRefs.

Chaque élément de la liste doit contenir les informations suivantes :

  • name (obligatoire) : nom de l'objet ConfigMap
  • dataKey (facultatif) : clé de données de l'objet à partir duquel lire les valeurs. Par défaut : values.yaml

Pour savoir comment modifier les valeurs, consultez Synchroniser les charts Helm.

spec.helm.caCertSecretRef.name1

Nom du secret contenant le certificat de l'autorité de certification. Si ce champ est fourni, le serveur Helm doit utiliser un certificat émis par cette autorité de certification. Le certificat de l'autorité de certification doit être stocké dans le secret sous une clé nommée "cert".

Configuration permettant de remplacer les requêtes et les limites de ressources d'un rapprochement racine ou d'un espace de noms

Vous pouvez remplacer les conteneurs git-sync, oci-sync, helm-sync, hydration-controller et reconciler. Le remplacement partiel est autorisé : lorsqu'une valeur de remplacement pour une requête ou une limite de ressource n'est pas fournie, la valeur de ressource par défaut de la requête ou de la limite est utilisée.

Pour les clusters Autopilot, Config Sync ignore les remplacements de limites de ressources. Les remplacements de demandes de ressources ne sont appliqués que lorsqu'une ou plusieurs demandes de ressources sont supérieures au résultat ajusté correspondant déclaré dans l'annotation, ou qu'une ou plusieurs demandes de ressources sont inférieures à l'entrée correspondante déclarée dans les annotations. Pour plus d'informations, consultez la section Configuration requise pour Config Sync.

Clé Description
spec.override.resources1 Liste des remplacements de requêtes et de limites de ressources du conteneur. Facultatif.
Chaque élément de la liste contient trois champs :
  • containerName : ce champ peut être défini sur git-sync, oci-sync, helm-sync, hydration-controller ou reconciler.
  • cpuRequest (facultatif)
  • cpuLimit (facultatif)
  • memoryRequest (facultatif)
  • memoryLimit (facultatif)

Si aucune valeur de remplacement n'est définie pour une requête ou une limite de ressource, la requête ou la limite de ressource par défaut est utilisée.

Configuration permettant de remplacer le niveau de journalisation d'un conteneur dans un rapprochement racine ou d'espace de noms

Lorsque la valeur de remplacement du niveau de journalisation n'est pas définie, le niveau de journalisation est configuré sur la valeur par défaut. Le niveau de journalisation par défaut pour tous les conteneurs d'un rapprocheur RootSync ou RepoSync est défini sur 0, à l'exception du conteneur git-sync, pour lequel il est défini sur 5. La valeur de remplacement du niveau de journalisation acceptée est comprise entre 0 et 10 (inclus).

Clé Description
spec.override.logLevels Liste des valeurs de remplacement du niveau de journalisation du conteneur. Facultatif.
Chaque élément de la liste contient deux champs :
  • containerName : ce champ peut être défini sur git-sync, oci-sync, helm-sync, hydration-controller ou reconciler.
  • logLevel

Si aucune valeur de remplacement n'est définie pour le niveau de journal d'un conteneur, la valeur de niveau de journal par défaut est utilisée.

Configuration du nombre de commits Git à récupérer

Clé Description
spec.override.gitSyncDepth1 gitSyncDepth vous permet de remplacer le nombre de commits Git à récupérer.
Doit être inférieur ou égal à 0.
Config Sync effectue un clone complet si ce champ est égal à 0, et un clone superficiel si ce champ est supérieur à 0.
Si ce champ n'est pas renseigné, Config Sync le configure automatiquement.

Configuration de la capture de l'état au niveau des ressources

Clé Description
spec.override.statusMode1 statusMode vous permet d'activer ou de désactiver la capture de l'état au niveau des ressources.
La valeur par défaut est enabled.
Pour désactiver la capture de l'état au niveau des ressources, définissez ce champ sur disabled.

Configuration du remplacement du délai d'expiration du rapprochement

Clé Description
spec.override.reconcileTimeout1 reconcileTimeout vous permet d'ignorer le délai d'attente des ressources d'un groupe d'application avant d'abandonner. Toutes les ressources d'un commit peuvent appartenir à plusieurs groupes d'applications en fonction des dépendances.
Le délai avant expiration par défaut est 5m.
Utilisez la chaîne pour spécifier cette valeur de champ, telle que 30s ou 5m.

Configuration du remplacement du délai d'expiration des requêtes envoyées au serveur d'API

Clé Description
spec.override.apiServerTimeout1 apiServerTimeout vous permet de remplacer le délai avant expiration des requêtes envoyées au serveur d'API. Le délai avant expiration par défaut est de 15 secondes, spécifié sous la forme 15s
. Utilisez la chaîne pour spécifier cette valeur de champ, telle que 30s ou 5m.

Configuration de l'accès au shell lors du processus de rendu

Clé Description
spec.override.enableShellInRendering1 enableShellInRendering indique si l'accès au shell doit être activé ou désactivé lors du processus de rendu. Les bases distantes Kustomize nécessitent un accès au shell. La définition de ce champ sur true active l'accès au shell lors du processus de rendu et permet d'extraire des bases distantes à partir de dépôts publics.
La valeur par défaut est false.

Configuration de la stratégie d'espace de noms (RootSync uniquement)

Clé Description
spec.override.namespaceStrategy1 namespaceStrategy contrôle la façon dont le rapprocheur gère les configurations d'espace de noms manquantes des objets à l'échelle d'un espace de noms déclarés dans la source. Ne s'applique que lorsque vous utilisez le format source unstructured.
  • implicit : le réconciliateur crée implicitement des espaces de noms s'ils n'existent pas, même s'ils ne sont pas déclarés dans la source. Les espaces de noms implicites sont créés avec l'annotation "prevent deletion" et gérés par Config Sync.
  • explicit : le réconciliateur ne créera que les espaces de noms explicitement déclarés dans la source.

La valeur par défaut est implicit.

Configuration des liaisons RBAC (RootSync uniquement)

Clé Description
spec.override.roleRefs1 roleRefs est une liste de rôles ou de ClusterRoles pour lesquels créer des liaisons. Chaque élément de la liste contient les champs suivants :
  • kind (obligatoire) : fait référence au type de ressource RBAC. Les valeurs acceptées sont Role et ClusterRole..
  • name (obligatoire) : nom de la ressource Role ou ClusterRole.
  • namespace (facultatif) : indique l'espace de noms dans lequel un RoleBinding doit être créé. Pour les objets ClusterRole, détermine si un RoleBinding ou un ClusterRoleBinding est créé. Pour les objets Role, doit être défini sur le même espace de noms que le rôle.

Si elle n'est pas définie, un ClusterRoleBinding à cluster-admin sera créé.

État des objets

Clé Description
status.observedGeneration Génération (metadata.generation) de la spécification d'une ressource RootSync ou RepoSync qui a été observée et exécutée en dernier par Config Sync. Cette valeur peut être comparée à metadata.generation, qui est un entier, et mise à jour lors de la mutation de spécifications par le serveur d'API.
status.reconciler Nom du processus de rapprochement correspondant à la ressource de synchronisation.
status.source.gitStatus.repo URL du dépôt Git en cours de récupération.
status.source.gitStatus.revision Révision Git (tag, commit ou hachage) en cours de récupération.
status.source.gitStatus.branch Branche du dépôt Git en cours de récupération.
status.source.gitStatus.dir Chemin d'accès absolu du dépôt Git vers le répertoire racine contenant la configuration vers laquelle vous effectuez la synchronisation.
status.source.ociStatus.image URL de l'image OCI en cours de récupération.
status.source.ociStatus.dir Chemin d'accès absolu de l'image OCI vers le répertoire racine contenant la configuration vers laquelle vous effectuez la synchronisation.
status.source.helmStatus.repo URL du dépôt Helm en cours de récupération.
status.source.helmStatus.version Version du chart Helm récupérée.
status.source.helmStatus.chart Nom du chart Helm récupéré.
status.source.commit Hachage du commit ou du condensé le plus récent récupéré à partir de l'URL source.
status.source.errors Erreurs rencontrées lors de la lecture et de l'analyse des configurations à partir de la source de vérité. Il est possible que toutes les erreurs rencontrées ne soient pas incluses, car Config Sync les tronque s'il y en a trop.
status.source.errorSummary.totalCount Entier indiquant le nombre total d'erreurs rencontrées lors de la lecture et de l'analyse des configurations à partir de la source de vérité.
status.source.errorSummary.truncated Valeur booléenne indiquant si le champ status.source.errors inclut toutes les erreurs rencontrées lors de la lecture et de l'analyse des configurations à partir de la source de vérité.
status.source.errorSummary.errorCountAfterTruncation Nombre entier indiquant le nombre d'erreurs dans le champ status.source.errors.
status.rendering.gitStatus.repo URL du dépôt Git en cours de rendu.
status.rendering.gitStatus.revision Révision Git (tag, commit ou hachage) en cours de rendu.
status.rendering.gitStatus.branch Branche du dépôt Git en cours de rendu.
status.rendering.gitStatus.dir Chemin d'accès absolu du dépôt Git vers le répertoire racine contenant la configuration vers laquelle vous effectuez le rendu.
status.rendering.ociStatus.image URL de l'image OCI affichée.
status.rendering.ociStatus.dir Chemin absolu de l'image OCI vers le répertoire racine contenant la configuration du rendu.
status.rendering.helmStatus.repo URL du dépôt Helm en cours de rendu.
status.rendering.helmStatus.version Version du chart Helm en cours de rendu.
status.rendering.helmStatus.chart Nom du graphique Helm en cours de rendu.
status.rendering.commit Hachage du commit ou du condensé le plus récent affiché. Cette valeur est mise à jour même lorsqu'un commit ou un condensé n'est que partiellement synchronisé en raison d'une erreur.
status.rendering.errors Liste des erreurs rencontrées lors du rendu des ressources à partir de la modification indiquée par status.rendering.commit. Il est possible que toutes les erreurs rencontrées ne soient pas incluses, car Config Sync tronque les erreurs s'il y en a trop.
status.rendering.errorSummary.totalCount Nombre entier indiquant le nombre total d'erreurs rencontrées lors du rendu des configurations à partir de la source de vérité.
status.rendering.errorSummary.truncated Valeur booléenne indiquant si le champ status.rendering.errors inclut toutes les erreurs rencontrées lors du rendu des configurations à partir de la source de vérité.
status.rendering.errorSummary.errorCountAfterTruncation Nombre entier indiquant le nombre d'erreurs dans le champ status.rendering.errors.
status.sync.gitStatus.repo URL du dépôt Git en cours de synchronisation.
status.sync.gitStatus.revision Révision Git (tag, commit ou hachage) en cours de synchronisation.
status.sync.gitStatus.branch Branche du dépôt Git en cours de synchronisation.
status.sync.gitStatus.dir Chemin d'accès absolu du dépôt Git vers le répertoire racine contenant la configuration vers laquelle vous effectuez la synchronisation.
status.sync.ociStatus.image URL de l'image OCI en cours de synchronisation.
status.sync.ociStatus.dir Chemin d'accès absolu de l'image OCI vers le répertoire racine contenant la configuration vers laquelle vous effectuez la synchronisation.
status.sync.helmStatus.repo URL du dépôt Helm en cours de synchronisation.
status.sync.helmStatus.version Version du chart Helm en cours de synchronisation.
status.sync.helmStatus.chart Nom du graphique Helm en cours de synchronisation.
status.sync.commit Hachage du commit ou du condensé le plus récent qui a été synchronisé avec le cluster. Cette valeur est mise à jour même lorsqu'un commit ou un condensé n'est que partiellement synchronisé en raison d'une erreur.
status.sync.errors Liste des erreurs survenues lors de l'application des ressources à partir de la modification indiquée par status.sync.commit. Il est possible que toutes les erreurs rencontrées ne soient pas incluses, car Config Sync tronque les erreurs s'il y en a trop.
status.sync.errorSummary.totalCount Entier qui suit le nombre total d'erreurs rencontrées lors de l'application des configurations à partir de la source de vérité.
status.sync.errorSummary.truncated Valeur booléenne indiquant si le champ status.sync.errors inclut toutes les erreurs rencontrées lors de l'application des configurations à partir de la source de vérité.
status.sync.errorSummary.errorCountAfterTruncation Nombre entier indiquant le nombre d'erreurs dans le champ status.sync.errors.
status.conditions Liste des conditions de suivi de l'état actuel d'un objet RootSync ou RepoSync.
Lorsque le champ type d'une condition est défini sur Reconciling ou Stalled :
  • Cette condition indique l'état du gestionnaire de rapprochement lors de la création et de la gestion du rapprochement pour cet objet RootSync ou RepoSync.
  • Le champ errors de la condition suit les erreurs rencontrées lors du rapprochement de l'objet RootSync ou RepoSync.
  • Le champ errorSummary de la condition résume les erreurs du champ errors de la condition.
  • Le champ errorsSourceRefs de la condition est vide.
Lorsque le type d'une condition est Syncing :
  • Cette condition indique l'état du réconciliateur lors de la synchronisation des ressources avec le cluster.
  • Le champ errors de la condition n'est pas utilisé et doit être ignoré.
  • Le champ errorsSourceRefs de la condition permet de suivre l'origine des erreurs. L'origine des erreurs peut être status.rendering.errors, status.source.errors ou status.sync.errors.
  • Le champ errorSummary de la condition résume les erreurs mentionnées dans le champ errorsSourceRefs.

1 Si vous avez créé un fichier de configuration RootSync après l'installation avec la console Cloud de Confiance ou Google Cloud CLI, vous pouvez remplacer ce champ.

Champs ResourceGroup

Champs de spécification et d'état

Clé Description
spec.resources Liste des identifiants (groupe, genre, espace de noms, nom) pour les ressources appliquées au cluster à partir du dépôt Git spécifié dans un RS RepoSync ou un RS RootSync. Facultatif.
Chaque élément de la liste contient quatre champs : group, kind, namespace et name.

Champs d'état

Clé Description
status.observedGeneration Génération (metadata.generation) de la spécification d'une ressource RootSync ou RepoSync qui a été observée et exécutée en dernier par le contrôleur ResourceGroup. Cette valeur peut être comparée à metadata.generation, qui est un entier, et mise à jour lors de la mutation de spécifications par le serveur d'API.
status.conditions Dernières conditions observées pour la ressource ResourceGroup actuelle. Les conditions sont de deux types : Reconciling et Stalled. Lorsque la condition de type Reconciling est définie sur "true", cela signifie que la ressource ResourceGroup est en cours de rapprochement. Lorsque la condition de type Stalled est définie sur "true", cela signifie que le rapprochement est bloqué. Lorsque les deux valeurs sont définies sur "false", cela signifie que la ressource ResourceGroup actuelle est rapprochée et que l'état est à jour.
status.resourceStatuses Liste des états des ressources incluses dans .spec.resources. Chaque élément contient l'identifiant (groupe, genre, espace de noms ou nom) et l'état d'une ressource. L'état est défini sur l'une des valeurs suivantes : InProgress, Current, Failed, Terminating, NotFound ou Unknown.

Champs root-sync non gérés

Les champs suivants de RootSync nommé root-sync ne sont pas gérés par le service de parc (hub) et peuvent être modifiés avec n'importe quel client Kubernetes :

Clé Description
spec.helm Tous les champs de configuration du dépôt Helm.
spec.override Tous les champs permettant de remplacer les configurations par défaut.
spec.git.noSSLVerify Spécifie s'il faut activer ou désactiver la validation du certificat SSL pour Git. La valeur par défaut est false.
spec.git.caCertSecretRef.name Nom du secret contenant le certificat de l'autorité de certification pour un dépôt Git.
spec.oci.caCertSecretRef.name Nom du secret contenant le certificat de l'autorité de certification pour un dépôt OCI.

Pour en savoir plus sur les champs gérés et non gérés dans les objets RootSync, consultez Comment le service Fleet gère les objets RootSync.

Exemples de RS

Les sections suivantes présentent des exemples de CR RootSync et RepoSync.

RS RootSync

L'exemple suivant montre un objet RootSync.

# root-sync.yaml
apiVersion: configsync.gke.io/v1beta1
kind: RootSync
metadata:
  name: root-sync
  namespace: config-management-system
spec:
  sourceType: git
  sourceFormat: unstructured
  git:
    repo: https://github.com/GoogleCloudPlatform/anthos-config-management-samples
    branch: main
    dir: config-sync-quickstart/multirepo/root
    auth: none
    period: 30s

RS RepoSync

L'exemple suivant montre un objet RepoSync.

# repo-sync.yaml
apiVersion: configsync.gke.io/v1beta1
kind: RepoSync
metadata:
  name: repo-sync
  namespace: gamestore
spec:
  sourceType: git
  sourceFormat: unstructured
  git:
    repo: https://github.com/GoogleCloudPlatform/anthos-config-management-samples
    branch: main
    dir: config-sync-quickstart/multirepo/root
    auth: none
    period: 30s

Étapes suivantes