Champs RootSync et RepoSync

Cette page fournit une référence pour les ressources RootSync, RepoSync et ResourceGroup.

Vous pouvez utiliser les ressources RootSync et RepoSync pour configurer Config Sync.

Les objets RootSync configurent Config Sync pour surveiller la source spécifiée et appliquent au cluster les objets correspondants. RootSyncs permet de gérer n'importe quelle ressource du cluster avec des autorisations cluster-admin.

Les objets RepoSync configurent Config Sync pour surveiller la source spécifiée et appliquent des objets de cette source à un espace de noms spécifique du cluster. Les objets RepoSync permettent de gérer les ressources à l'échelle d'un espace de noms dans cet espace de noms avec des autorisations personnalisées spécifiées par l'utilisateur.

La ressource ResourceGroup est utilisée par Config Sync pour conserver l'inventaire des objets qu'elle appliquait précédemment et gère actuellement. Config Sync crée un objet ResourceGroup pour chaque RootSync et RepoSync sur le cluster. Cela permet à Config Sync de supprimer les objets supprimés de la source, et d'agréger l'état de synchronisation et de rapprochement des objets. Vous n'avez pas besoin de créer vos propres objets ResourceGroup, ni de modifier ceux gérés par Config Sync.

Utiliser des objets RootSync et RepoSync

Si vous avez installé Config Sync à l'aide de Google Cloud Console ou de Google Cloud CLI, le service Hub crée automatiquement un objet RootSync nommé root-sync. Pour savoir comment créer des objets RootSync supplémentaires, consultez la section Contrôler les dépôts racine dans un dépôt racine.

Si vous avez installé Config Sync à l'aide de kubectl, consultez Contrôler les dépôts racine dans un dépôt racine pour créer des objets RootSync.

Pour créer des objets RepoSync, consultez les sections Contrôler les dépôts d'espaces de noms dans un dépôt racine ou Contrôler les dépôts d'espaces de noms dans un dépôt d'espaces de noms.

En plus de synchroniser les objets Kubernetes entièrement affichés, vous pouvez également configurer Config Sync pour utiliser un dépôt avec des configurations Kustomize ou des charts Helm.

Cycle de vie des objets RootSync, RepoSync et ResourceGroup

Les définitions de ressources personnalisées RootSync, RepoSync et ResourceGroup sont installées lorsque vous installez Config Sync.

Le schéma suivant montre comment Config Sync crée les ressources RootSync, RepoSync et ResourceGroup :

Activation de l'opérateur

Une fois créé, le gestionnaire de rapprochement gère le cycle de vie du rapprochement racine et de chaque processus de rapprochement des espaces de noms :

Activation du rapprochement

Champs RootSync et RepoSync

Les CRD RootSync et RepoSync utilisent les mêmes champs, à l'exception des champs RootSync uniquement suivants:

  • spec.sourceFormat
  • spec.helm.namespace
  • spec.helm.deployNamespace

Configuration du format source

Clé Description
spec.sourceFormat sourceFormat spécifie le format du dépôt. 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 en savoir plus, consultez les guides sur les formats non structurés et hiérarchiques.

Configuration pour le type de source

À partir de la version 1.12.0 d'Anthos Config Management, Config Sync est compatible avec la synchronisation à partir d'images OCI (aperçu). À partir de la version 1.13.0 d'Anthos Config Management, Config Sync est compatible avec la synchronisation à partir de dépôts Helm (aperçu). spec.sourceType est configuré pour spécifier le type de source.

Clé Description
spec.sourceType sourceType spécifie le type de source de vérité. Doit être 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.
Vous ne pouvez spécifier qu'un seul spec.git et un spec.oci selon le type de source.

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, token ou none. La validation de ce champ est sensible à la casse. Obligatoire.
spec.git.gcpServiceAccountEmail Compte de service Google Cloud 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. Valeur par défaut : master
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 (tag, commit ou hachage) à récupérer. Valeur par défaut : HEAD
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.
Ce champ est compatible avec Anthos Config Management version 1.8.2 et ultérieure.
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 CA 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 schéma pour 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 https, http et les URL sans ornements, mais http n'est pas recommandé pour des raisons de sécurité.
Si vous utilisez une URL http ou une URL sans ornements, 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 si spec.git.auth correspond à 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'une image REPO valide à une image OCI dans un format non compatible entraîne 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, gcpserviceaccount ou none. La validation de ce champ est sensible à la casse. Obligatoire.
spec.oci.gcpServiceAccountEmail Compte de service Google Cloud 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.

Configuration du dépôt Helm

Clé Description
spec.helm.auth Type d'authentification configuré pour l'accès au dépôt Helm. Doit être token, gcenode, gcpserviceaccount ou none. La validation de ce champ est sensible à la casse. Obligatoire.
spec.helm.gcpServiceAccountEmail Compte de service Google Cloud 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](doc-path/how-to/installez-kubectl#helm-access) 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 duquel effectuer la synchronisation. Obligatoire.
spec.helm.chart Nom du graphique Helm Obligatoire.
spec.helm.version Numéro de version du graphique Helm. Par défaut: la dernière version.
spec.helm.releaseName Nom de la version Helm.
spec.helm.namespace spec.helm.deployNamespace s'exclut mutuellement.
namespace définit l'espace de noms cible d'une version. Ce champ n'est utilisé qu'avec des objets RootSync. Il ne définit qu'un espace de noms 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 la 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 est utilisé. Valeur par défaut: default
spec.helm.deployNamespace spec.helm.namespace s'exclut mutuellement.
deployNamespace spécifie l'espace de noms dans lequel déployer le graphique. La définition de ce champ exploite la fonction d'espace de noms kpt set, qui permet à Config Sync de remplacer les champs namespace des ressources du graphique, y compris metadata.namespace des ressources à l'échelle d'un espace de noms, metadata.name des objets Namespace et des 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 avec le fichier values.yaml par défaut. Exemple :

values:
  foo:
    bar: val1
  quz:
  - val2
  - val3
Ce champ est compatible avec Anthos Config Management 1.13.1 et ses versions ultérieures. Pour en savoir plus, consultez l'exemple de fichier manifeste Helm.
spec.helm.includeCRDs Spécifie si le modèle Helm doit générer des CustomResourceDefinitions. Valeur par défaut : false
spec.helm.period Durée entre deux synchronisations consécutives. Valeur par défaut : 15s Les graphiques ne sont pas récupérés si un numéro de version est spécifié. Il n'est pas possible de resynchroniser les graphiques avec la dernière version dans Preview.

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

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 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 du nombre de commits Git à récupérer

Clé Description
spec.override.gitSyncDepth1 gitSyncDepth vous permet d'ignorer le nombre de commits Git à extraire.
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 permettant de remplacer le délai avant expiration des requêtes envoyées au serveur d'API

Clé Description
spec.override.apiServerTimeout1 apiServerTimeout vous permet d'ignorer le délai avant expiration des requêtes adressées au serveur d'API. Le délai avant expiration par défaut est 5s.
Utilisez une chaîne pour spécifier cette valeur de champ, par exemple 30s ou 5m.

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

Clé Description
spec.override.enableShellInRendering1 enableShellInRendering indique s'il faut activer ou désactiver l'accès au shell dans le 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.

É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 en cours de récupération.
status.source.helmStatus.chart Nom du graphique Helm en cours de récupération.
status.source.commit Hachage du commit ou du condensé le plus récent récupéré à partir de l'URL source.
status.source.errors Liste des erreurs survenues lors de la lecture à partir du dépôt.
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 graphique Helm affichée
status.rendering.helmStatus.chart Nom du graphique Helm affiché
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 survenues lors du rendu des ressources à partir de la modification indiquée par status.rendering.commit.
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.
status.conditions Dernières observations disponibles de l'état actuel du RootSync.

1 Si vous avez créé un fichier de configuration RootSync après l'installation avec la console Google Cloud ou Google Cloud CLI, vous pouvez écraser ce champ. Pour obtenir la liste complète, consultez la section Champs modifiables.

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 de synchronisation racine gérés et non gérés

Il existe deux façons d'installer Config Sync:

Pour la plupart des installations, Config Sync est géré par le service Hub, en fonction de vos entrées à l'API Google Cloud, et plus particulièrement la section spec.configSync de l'API Config Management à appliquer.

Pour Anthos sur VMware, Config Sync est géré par l'utilisateur avec kubectl ou tout autre client Kubernetes.

Si votre installation Config Sync est gérée par le service Hub, votre RootSync initiale peut également être gérée par le service Hub. Cela vous permet d'amorcer GitOps sur votre cluster à l'aide de l'API config-management et du client Google Cloud de votre choix, tel que Google Cloud Console, Google Cloud CLI, Config Connector, Terraform, etc. Cette RootSync initialement gérée sera nommée root-sync.

Ce root-sync sera créé en fonction de vos entrées dans l'API Google Cloud, en particulier la configuration de la spécification d'application pour Config Sync. Étant donné que cette API n'expose qu'un sous-ensemble des champs RootSync, ces champs sont considérés comme gérés dans le root-sync, tandis que les autres champs sont considérés comme non gérés. Les champs gérés ne peuvent être modifiés qu'à l'aide de l'API Google Cloud. Les champs non gérés peuvent être modifiés à l'aide de kubectl ou de tout autre client Kubernetes.

Consultez Créer et modifier un fichier de configuration RootSync pour découvrir comment exporter le fichier YAML root-sync, le modifier localement et l'appliquer à nouveau.

Pour créer des RootSyncs ou RepoSyncs supplémentaires, vous pouvez utiliser kubectl ou un autre client Kubernetes. Vous pouvez également utiliser le root-sync initial pour gérer des RootSyncs et RepoSyncs supplémentaires avec GitOps en ajoutant leurs fichiers manifestes YAML à la source fiable à partir de laquelle root-sync est configuré pour la synchronisation. Cette méthode ne peut pas être utilisée pour gérer la configuration du root-sync initial, car certains de ses champs sont gérés par le service Hub. Pour gérer le root-sync avec GitOps, utilisez Config Connector ou Terraform.

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

Clé Description
spec.git.noSSLVerify noSSLVerify indique si la validation de certificat SSL doit être activée ou désactivée. Valeur par défaut : false.
Si noSSLVerify est défini sur true, il demande à Git d'ignorer la vérification du certificat SSL.
spec.git.caCertSecretRef.name 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 CA doit être stocké dans le secret sous une clé nommée "cert".
spec.override.resources Liste des demandes de ressources de conteneurs et des remplacements de limite. Facultatif.
Chaque élément de la liste contient trois champs :
  • containerName: ce champ peut être git-sync, oci-sync, hydration-controller ou reconciler.
  • cpuRequest (facultatif)
  • cpuLimit (facultatif)
  • memoryRequest (facultatif)
  • memoryLimit (facultatif)

Lorsqu'aucune valeur de remplacement n'est définie pour une demande ou une limite de ressources, la valeur de ressource par défaut de la demande ou de la limite est utilisée.
spec.override.gitSyncDepth gitSyncDepth vous permet d'ignorer le nombre de commits Git à récupérer.
Ne doit pas être inférieur à zéro.
Config Sync effectue un clone complet si ce champ est défini sur 0, et un clone superficiel si ce champ est supérieur à 0.
Si ce champ n'est pas fourni, Config Sync le configure automatiquement.
spec.override.statusMode 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.
spec.override.reconcileTimeout reconcileTimeout vous permet d'ignorer le seuil de temps nécessaire au rapprochement des ressources d'un groupe d'applications avant d'abandonner. Toutes les ressources d'un commit peuvent se trouver dans plusieurs groupes d'application en fonction des dépendances.
Le délai avant expiration par défaut est 5m.
Utilisez une chaîne pour spécifier la valeur de ce champ (par exemple, 30s ou 5m).
spec.override.enableShellInRendering enableShellInRendering indique s'il faut activer ou désactiver l'accès au shell dans le processus de rendu. Les bases distantes Kustomize nécessitent un accès au shell. Définir ce champ sur true permet d'accéder à l'interface système dans le processus de rendu et d'extraire des bases distantes à partir de dépôts publics.
La valeur par défaut est false.

Exemples de RS

Les sections suivantes présentent des exemples de RS 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: init
    dir: config-sync-quickstart/multirepo/root
    auth: none
    period: 30s

RS RepoSync

L'exemple suivant illustre 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: init
    dir: config-sync-quickstart/multirepo/root
    auth: none
    period: 30s

Étapes suivantes