3.7. Utiliser Tekton Hub avec OpenShift Pipelines


Important

Tekton Hub est une fonctionnalité d'aperçu technologique uniquement. Les fonctionnalités de l'aperçu technologique ne sont pas prises en charge par les accords de niveau de service (SLA) de production de Red Hat et peuvent ne pas être complètes sur le plan fonctionnel. Red Hat ne recommande pas de les utiliser en production. Ces fonctionnalités offrent un accès anticipé aux fonctionnalités des produits à venir, ce qui permet aux clients de tester les fonctionnalités et de fournir un retour d'information pendant le processus de développement.

Pour plus d'informations sur la portée de l'assistance des fonctionnalités de l'aperçu technologique de Red Hat, voir Portée de l'assistance des fonctionnalités de l'aperçu technologique.

Tekton Hub vous aide à découvrir, rechercher et partager des tâches et des pipelines réutilisables pour vos flux de travail CI/CD. Une instance publique de Tekton Hub est disponible sur hub.tekton.dev. Les administrateurs de clusters peuvent également installer et déployer une instance personnalisée de Tekton Hub en modifiant les configurations dans la ressource personnalisée (CR) TektonHub.

Tekton Hub est un composant optionnel ; les administrateurs de clusters ne peuvent pas l'installer en utilisant la ressource personnalisée (CR) TektonConfig. Pour installer et gérer Tekton Hub, utilisez la CR TektonHub.

Vous pouvez installer Tekton Hub sur votre cluster en utilisant deux modes :

  • Without autorisation de connexion et évaluation des artefacts du centre Tekton
  • with autorisation de connexion et évaluation des artefacts du centre Tekton
Note

Si vous utilisez Github Enterprise ou Gitlab Enterprise, installez et déployez Tekton Hub dans le même réseau que le serveur d'entreprise. Par exemple, si le serveur d'entreprise fonctionne derrière un VPN, déployez Tekton Hub sur un cluster qui est également derrière le VPN.

3.7.1.1. Installation du Tekton Hub sans login et rating

Vous pouvez installer Tekton Hub sur votre cluster automatiquement avec la configuration par défaut. Lorsque vous utilisez la configuration par défaut, Tekton Hub ne prend pas en charge la connexion avec autorisation et les évaluations pour les artefacts Tekton Hub.

Conditions préalables

  • Assurez-vous que Red Hat OpenShift Pipelines Operator est installé dans l'espace de noms par défaut openshift-pipelines sur le cluster.

Procédure

  1. Créez un CR TektonHub similaire à l'exemple suivant.

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonHub
    metadata:
      name: hub
    spec:
      targetNamespace: openshift-pipelines 
    1
    
      db:                      # Optional: If you want to use custom database
        secret: tekton-hub-db  # Name of db secret should be `tekton-hub-db`
    
      categories:              # Optional: If you want to use custom categories
        - Automation
        - Build Tools
        - CLI
        - Cloud
        - Code Quality
        - ...
    
      catalogs:                # Optional: If you want to use custom catalogs
        - name: tekton
          org: tektoncd
          type: community
          provider: github
          url: https://github.com/tektoncd/catalog
          revision: main
    
      scopes:                   # Optional: If you want to add new users
        - name: agent:create
          users: [abc, qwe, pqr]
        - name: catalog:refresh
          users: [abc, qwe, pqr]
        - name: config:refresh
          users: [abc, qwe, pqr]
    
      default:                   # Optional: If you want to add custom default scopes
        scopes:
          - rating:read
          - rating:write
    
      api:
        catalogRefreshInterval: 30m 
    2
    Copy to Clipboard Toggle word wrap
    1
    L'espace de noms dans lequel Tekton Hub doit être installé ; la valeur par défaut est openshift-pipelines.
    2
    Intervalle de temps après lequel le catalogue se rafraîchit automatiquement. Les unités de temps prises en charge sont les secondes (s), les minutes (m), les heures (h), les jours (d) et les semaines (w). L'intervalle par défaut est de 30 minutes.
    Note

    Si vous ne fournissez pas de valeurs personnalisées pour les champs facultatifs dans le CR TektonHub, les valeurs par défaut configurées dans la carte de configuration de l'API Tekton Hub sont utilisées.

  2. Appliquer la CR TektonHub.

    $ oc apply -f <tekton-hub-cr>.yaml
    Copy to Clipboard Toggle word wrap
  3. Vérifiez l'état de l'installation. Le CR TektonHub peut prendre un certain temps avant d'atteindre un état stable.

    $ oc get tektonhub.operator.tekton.dev
    Copy to Clipboard Toggle word wrap

    Exemple de sortie

    NAME   VERSION   READY   REASON   APIURL                    UIURL
    hub    v1.9.0    True             https://api.route.url/    https://ui.route.url/
    Copy to Clipboard Toggle word wrap

3.7.1.2. Installation du Tekton Hub avec login et rating

Vous pouvez installer Tekton Hub sur votre cluster avec une configuration personnalisée qui prend en charge la connexion avec autorisation et les évaluations pour les artefacts Tekton Hub.

Conditions préalables

  • Assurez-vous que Red Hat OpenShift Pipelines Operator est installé dans l'espace de noms par défaut openshift-pipelines sur le cluster.

Procédure

  1. Créez une application OAuth avec votre hébergeur de référentiel Git, et notez l'identifiant et le secret du client. Les hébergeurs supportés sont GitHub, GitLab et BitBucket.

  2. Modifiez le fichier <tekton_hub_root>/config/02-api/20-api-secret.yaml pour y inclure les secrets de l'API Tekton Hub. Par exemple :

    apiVersion: v1
    kind: Secret
    metadata:
      name: tekton-hub-api
      namespace: openshift-pipelines
    type: Opaque
    stringData:
      GH_CLIENT_ID: 
    1
    
      GH_CLIENT_SECRET: 
    2
    
      GL_CLIENT_ID: 
    3
    
      GL_CLIENT_SECRET: 
    4
    
      BB_CLIENT_ID: 
    5
    
      BB_CLIENT_SECRET: 
    6
    
      JWT_SIGNING_KEY: 
    7
    
      ACCESS_JWT_EXPIRES_IN: 
    8
    
      REFRESH_JWT_EXPIRES_IN: 
    9
    
      AUTH_BASE_URL: 
    10
    
      GHE_URL: 
    11
    
      GLE_URL: 
    12
    Copy to Clipboard Toggle word wrap
    1
    L'identifiant du client de l'application GitHub OAuth.
    2
    Le secret du client de l'application OAuth de GitHub.
    3
    L'identifiant du client de l'application GitLab OAuth.
    4
    Le secret du client de l'application OAuth de GitLab.
    5
    L'identifiant du client de l'application BitBucket OAuth.
    6
    Le secret du client de l'application BitBucket OAuth.
    7
    Chaîne longue et aléatoire utilisée pour signer le jeton Web JSON (JWT) créé pour les utilisateurs.
    8
    Ajoutez la limite de temps après laquelle le jeton d'accès expire. Par exemple, 1m, où m représente les minutes. Les unités de temps prises en charge sont les secondes (s), les minutes (m), les heures (h), les jours (d) et les semaines (w).
    9
    Ajoutez la limite de temps après laquelle le jeton de rafraîchissement expire. Par exemple, 1m, où m indique les minutes. Les unités de temps prises en charge sont les secondes (s), les minutes (m), les heures (h), les jours (d) et les semaines (w). Assurez-vous que le délai d'expiration défini pour le rafraîchissement du jeton est supérieur au délai d'expiration défini pour l'accès au jeton.
    10
    URL de la route pour l'application OAuth.
    11
    URL de GitHub Enterprise, si vous vous authentifiez à l'aide de GitHub Enterprise. Ne fournissez pas l'URL du catalogue comme valeur de ce champ.
    12
    URL de GitLab Enterprise, si vous vous authentifiez avec GitLab Enterprise. Ne fournissez pas l'URL du catalogue comme valeur pour ce champ.
    Note

    Vous pouvez supprimer les champs inutilisés pour les fournisseurs de services d'hébergement de référentiel Git qui ne sont pas pertinents pour votre déploiement.

  3. Créez un CR TektonHub similaire à l'exemple suivant.

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonHub
    metadata:
      name: hub
    spec:
      targetNamespace: openshift-pipelines 
    1
    
      db: 
    2
    
        secret: tekton-hub-db 
    3
    
    
      categories: 
    4
    
        - Automation
        - Build Tools
        - CLI
        - Cloud
        - Code Quality
          ...
    
      catalogs: 
    5
    
        - name: tekton
          org: tektoncd
          type: community
          provider: github
          url: https://github.com/tektoncd/catalog
          revision: main
    
      scopes: 
    6
    
        - name: agent:create
          users: [<username>]
        - name: catalog:refresh
          users: [<username>]
        - name: config:refresh
          users: [<username>]
    
      default: 
    7
    
        scopes:
          - rating:read
          - rating:write
    
      api:
        catalogRefreshInterval: 30m 
    8
    Copy to Clipboard Toggle word wrap
    1
    L'espace de noms dans lequel Tekton Hub doit être installé ; la valeur par défaut est openshift-pipelines.
    2
    Facultatif : Base de données personnalisée, telle qu'une base de données Crunchy Postgres.
    3
    Le nom du secret de la base de données doit être tekton-hub-db.
    4
    Facultatif : Catégories personnalisées pour les tâches et les pipelines dans Tekton Hub.
    5
    En option : Catalogues personnalisés pour Tekton Hub.
    6
    Optionnel : Utilisateurs supplémentaires. Vous pouvez mentionner plusieurs utilisateurs, tels que [<username_1>, <username_2>, <username_3>].
    7
    Facultatif : Portées par défaut personnalisées.
    8
    Intervalle de temps après lequel le catalogue se rafraîchit automatiquement. Les unités de temps prises en charge sont les secondes (s), les minutes (m), les heures (h), les jours (d) et les semaines (w). L'intervalle par défaut est de 30 minutes.
    Note

    Si vous ne fournissez pas de valeurs personnalisées pour les champs facultatifs dans le CR TektonHub, les valeurs par défaut configurées dans la carte de configuration de l'API Tekton Hub sont utilisées.

  4. Appliquer la CR TektonHub.

    $ oc apply -f <tekton-hub-cr>.yaml
    Copy to Clipboard Toggle word wrap
  5. Vérifiez l'état de l'installation. Le CR TektonHub peut prendre un certain temps avant d'atteindre un état stable.

    $ oc get tektonhub.operator.tekton.dev
    Copy to Clipboard Toggle word wrap

    Exemple de sortie

    NAME   VERSION   READY   REASON   APIURL                    UIURL
    hub    v1.9.0    True             https://api.route.url/    https://ui.route.url/
    Copy to Clipboard Toggle word wrap

Les administrateurs de clusters peuvent utiliser une base de données personnalisée avec Tekton Hub, au lieu de la base de données PostgreSQL par défaut installée par l'Opérateur. Vous pouvez associer une base de données personnalisée au moment de l'installation, et l'utiliser avec les interfaces db-migration, api, et ui fournies par Tekton Hub. Vous pouvez également associer une base de données personnalisée à Tekton Hub même après l'installation de la base de données par défaut.

Procédure

  1. Créez un secret nommé tekton-hub-db dans l'espace de noms cible avec les clés suivantes :

    • POSTGRES_HOST
    • POSTGRES_DB
    • POSTGRES_USER
    • POSTGRES_PASSWORD
    • POSTGRES_PORT

      Exemple : Secrets de base de données personnalisés

      apiVersion: v1
      kind: Secret
      metadata:
        name: tekton-hub-db
        labels:
          app: tekton-hub-db
      type: Opaque
      stringData:
        POSTGRES_HOST: <The name of the host of the database>
        POSTGRES_DB: <Name of the database>
        POSTGRES_USER: <The name of user account>
        POSTGRES_PASSWORD: <The password of user account>
        POSTGRES_PORT: <The port that the database is listening on>
      ...
      Copy to Clipboard Toggle word wrap

      Note

      L'espace de noms cible par défaut est openshift-pipelines.

  2. Dans le CR TektonHub, définissez la valeur de l'attribut secret de la base de données sur tekton-hub-db.

    Exemple : Ajout d'un secret de base de données personnalisé

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonHub
    metadata:
      name: hub
    spec:
      targetNamespace: openshift-pipelines
      db:
        secret: tekton-hub-db
      api:
        hubConfigUrl: https://raw.githubusercontent.com/tektoncd/hub/main/config.yaml
        catalogRefreshInterval: 30m
    ...
    Copy to Clipboard Toggle word wrap

  3. Utilisez la mise à jour de TektonHub CR pour associer la base de données personnalisée à Tekton Hub.

    1. Si vous associez la base de données personnalisée au moment de l'installation de Tekton Hub sur votre cluster, appliquez la mise à jour de TektonHub CR.

      $ oc apply -f <tekton-hub-cr>.yaml
      Copy to Clipboard Toggle word wrap
    2. Si vous associez la base de données personnalisée une fois l'installation de Tekton Hub terminée, remplacez la CR TektonHub existante par la CR TektonHub mise à jour.

      $ oc replace -f <tekton-hub-cr>.yaml
      Copy to Clipboard Toggle word wrap
  4. Vérifiez l'état de l'installation. Le CR TektonHub peut prendre un certain temps avant d'atteindre un état stable.

    $ oc get tektonhub.operator.tekton.dev
    Copy to Clipboard Toggle word wrap

    Exemple de sortie

    NAME   VERSION   READY   REASON   APIURL                    UIURL
    hub    v1.9.0    True             https://api.route.url/    https://ui.route.url/
    Copy to Clipboard Toggle word wrap

Les administrateurs de clusters peuvent installer la base de données Crunchy Postgres et configurer Tekton Hub pour l'utiliser à la place de la base de données par défaut.

Conditions préalables

  • Installez l'opérateur Crunchy Postgres depuis le Hub de l'opérateur.
  • Créer une instance Postgres qui initie une base de données Postgres Crunchy.

Procédure

  1. Entrez dans le pod Crunchy Postgres.

    Exemple : Entrer dans la nacelle test-instance1-m7hh-0

    $ oc exec -it -n openshift-operators test-instance1-m7hh-0 -- /bin/sh
    
    Defaulting container name to database.
    Use 'oc describe pod/test-instance1-m7hh-0 -n openshift-operators' to see all of the containers in this pod.
    sh-4.4$ psql -U postgres
    psql (14.4)
    Type "help" for help.
    Copy to Clipboard Toggle word wrap

  2. Trouvez le fichier pg_hba.conf.

    postgres=# SHOW hba_file;
             hba_file
    --------------------------
     /pgdata/pg14/pg_hba.conf
    (1 row)
    
    postgres=#
    Copy to Clipboard Toggle word wrap
  3. Quitter la base de données.
  4. Vérifiez que le fichier pg_hba.conf contient l'entrée host all all 0.0.0.0/0 md5, nécessaire pour accéder à toutes les connexions entrantes. En outre, ajoutez l'entrée à la fin du fichier pg_hba.conf.

    Exemple : pg_hba.conf file

    sh-4.4$ cat /pgdata/pg14/pg_hba.conf
    
    # Do not edit this file manually!
    # It will be overwritten by Patroni!
    local all "postgres" peer
    hostssl replication "_crunchyrepl" all cert
    hostssl "postgres" "_crunchyrepl" all cert
    host all "_crunchyrepl" all reject
    hostssl all all all md5
    host  all  all 0.0.0.0/0 md5
    Copy to Clipboard Toggle word wrap

  5. Enregistrez le fichier pg_hba.conf et rechargez la base de données.

    sh-4.4$ psql -U postgres
    psql (14.4)
    Type "help" for help.
    
    postgres=# SHOW hba_file;
             hba_file
    --------------------------
     /pgdata/pg14/pg_hba.conf
    (1 row)
    
    postgres=# SELECT pg_reload_conf();
     pg_reload_conf
    ----------------
     t
    (1 row)
    Copy to Clipboard Toggle word wrap
  6. Quitter la base de données.
  7. Décoder la valeur secrète de l'hôte Crunchy Postgres.

    Exemple : Décoder la valeur secrète d'un hôte Crunchy Postgres

    $ echo 'aGlwcG8tcHJpbWFyeS5vcGVuc2hpZnQtb3BlcmF0b3JzLnN2YyA=' | base64 --decode
    test-primary.openshift-operators.svc
    Copy to Clipboard Toggle word wrap

  8. Créez un secret nommé tekton-hub-db dans l'espace de noms cible avec les clés suivantes :

    • POSTGRES_HOST
    • POSTGRES_DB
    • POSTGRES_USER
    • POSTGRES_PASSWORD
    • POSTGRES_PORT

      Exemple : Secrets de base de données personnalisés

      apiVersion: v1
      kind: Secret
      metadata:
        name: tekton-hub-db
        labels:
          app: tekton-hub-db
      type: Opaque
      stringData:
        POSTGRES_HOST: test-primary.openshift-operators.svc
        POSTGRES_DB: test
        POSTGRES_USER: test
        POSTGRES_PASSWORD: woXOisU5>ocJiTF7y{{;1[Q(
        POSTGRES_PORT: '5432'
      ...
      Copy to Clipboard Toggle word wrap

    Note

    L'espace de noms cible par défaut est openshift-pipelines.

  9. Dans le CR TektonHub, définissez la valeur de l'attribut secret de la base de données sur tekton-hub-db.

    Exemple : Ajout d'un secret de base de données personnalisé

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonHub
    metadata:
      name: hub
    spec:
      targetNamespace: openshift-pipelines
      db:
        secret: tekton-hub-db
    ...
    Copy to Clipboard Toggle word wrap

  10. Utilisez la mise à jour de TektonHub CR pour associer la base de données personnalisée à Tekton Hub.

    $ oc apply -f <tekton-hub-cr>.yaml
    Copy to Clipboard Toggle word wrap
  11. Vérifiez l'état de l'installation. Le CR TektonHub peut prendre un certain temps avant d'atteindre un état stable.

    $ oc get tektonhub.operator.tekton.dev
    Copy to Clipboard Toggle word wrap

    Exemple de sortie

    NAME   VERSION   READY   REASON   APIURL                    UIURL
    hub    v1.9.0    True             https://api.route.url/    https://ui.route.url/
    Copy to Clipboard Toggle word wrap

Tekton Hub supporte l'utilisation de Crunchy Postgres comme base de données personnalisée. Pour un Tekton Hub préinstallé avec une base de données par défaut, les administrateurs de cluster peuvent utiliser Crunchy Postgres comme base de données personnalisée après avoir migré les données du Tekton Hub de la base de données interne ou par défaut vers la base de données externe Crunchy Postgres.

Procédure

  1. Décharge les données existantes de la base de données interne ou par défaut dans un fichier dans le pod.

    Exemple : Vider les données

    $ pg_dump -Ft -h localhost -U postgres hub -f /tmp/hub.dump
    Copy to Clipboard Toggle word wrap

  2. Copiez le fichier contenant le vidage des données sur votre système local.

    Format de la commande

    $ oc cp -n <namespace> <podName>:<path-to-hub.dump> <path-to-local-system>
    Copy to Clipboard Toggle word wrap

$ oc cp -n openshift-pipelines tekton-hub-db-7d6d888c67-p7mdr:/tmp/hub.dump /home/test_user/Downloads/hub.dump
Copy to Clipboard Toggle word wrap
  1. Copiez le fichier qui contient le dumping de données du système local vers le pod qui exécute la base de données externe Crunchy Postgres.

    Format de la commande

    $ oc cp -n <namespace> <path-to-local-system> <podName>:<path-to-hub.dump>
    Copy to Clipboard Toggle word wrap

$ oc cp -n openshift-operators /home/test_user/Downloads/hub.dump test-instance1-spnz-0:/tmp/hub.dump
Copy to Clipboard Toggle word wrap
  1. Restaurer les données de la base de données Crunchy Postgres. format .command
$ pg_restore -d <nom-de-la-base-de-données> -h localhost -U postgres <chemin-où-le-fichier-est-copié>
Copy to Clipboard Toggle word wrap

Exemple

$ pg_restore -d test -h localhost -U postgres /tmp/hub.dump
Copy to Clipboard Toggle word wrap

  1. Accédez au pod Crunchy Postgres. Exemple : Accéder au pod test-instance1-m7hh-0

    $ oc exec -it -n openshift-operators test-instance1-m7hh-0 -- /bin/sh
    
    Defaulting container name to database.
    Use 'oc describe pod/test-instance1-m7hh-0 -n openshift-operators' to see all of the containers in this pod.
    sh-4.4$ psql -U postgres
    psql (14.4)
    Type "help" for help.
    Copy to Clipboard Toggle word wrap
  2. Trouvez le fichier pg_hba.conf.

    postgres=# SHOW hba_file;
             hba_file
    --------------------------
     /pgdata/pg14/pg_hba.conf
    (1 row)
    
    postgres=#
    Copy to Clipboard Toggle word wrap
  3. Quitter la base de données.
  4. Vérifiez si le fichier pg_hba.conf contient l'entrée host all all 0.0.0.0/0 md5, qui est nécessaire pour accéder à toutes les connexions entrantes. Si nécessaire, ajoutez l'entrée à la fin du fichier pg_hba.conf.

    Exemple : pg_hba.conf file

    sh-4.4$ cat /pgdata/pg14/pg_hba.conf
    
    # Do not edit this file manually!
    # It will be overwritten by Patroni!
    local all "postgres" peer
    hostssl replication "_crunchyrepl" all cert
    hostssl "postgres" "_crunchyrepl" all cert
    host all "_crunchyrepl" all reject
    hostssl all all all md5
    host  all  all 0.0.0.0/0 md5
    Copy to Clipboard Toggle word wrap

  5. Enregistrez le fichier pg_hba.conf et rechargez la base de données.

    sh-4.4$ psql -U postgres
    psql (14.4)
    Type "help" for help.
    
    postgres=# SHOW hba_file;
             hba_file
    --------------------------
     /pgdata/pg14/pg_hba.conf
    (1 row)
    
    postgres=# SELECT pg_reload_conf();
     pg_reload_conf
    ----------------
     t
    (1 row)
    Copy to Clipboard Toggle word wrap
  6. Quitter la base de données.
  7. Vérifiez qu'un secret nommé tekton-hub-db dans l'espace de noms cible possède les clés suivantes :

    • POSTGRES_HOST
    • POSTGRES_DB
    • POSTGRES_USER
    • POSTGRES_PASSWORD
    • POSTGRES_PORT

      Exemple : Secrets de base de données personnalisés

      apiVersion: v1
      kind: Secret
      metadata:
        name: tekton-hub-db
        labels:
          app: tekton-hub-db
      type: Opaque
      stringData:
        POSTGRES_HOST: test-primary.openshift-operators.svc
        POSTGRES_DB: test
        POSTGRES_USER: test
        POSTGRES_PASSWORD: woXOisU5>ocJiTF7y{{;1[Q(
        POSTGRES_PORT: '5432'
      ...
      Copy to Clipboard Toggle word wrap

      Note

      La valeur du champ POSTGRES_HOST est encodée comme un secret. Vous pouvez décoder la valeur de l'hôte Crunchy Postgres en utilisant l'exemple suivant.

      exemple : Décoder la valeur secrète d'un hôte Crunchy Postgres

      $ echo 'aGlwcG8tcHJpbWFyeS5vcGVuc2hpZnQtb3BlcmF0b3JzLnN2YyA=' | base64 --decode
      test-primary.openshift-operators.svc
      Copy to Clipboard Toggle word wrap
  8. Vérifiez que dans la CR TektonHub, la valeur de l'attribut secret de la base de données est tekton-hub-db.

    Exemple : TektonHub CR avec le nom du secret de la base de données

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonHub
    metadata:
      name: hub
    spec:
      targetNamespace: openshift-pipelines
      db:
        secret: tekton-hub-db
    ...
    Copy to Clipboard Toggle word wrap

  9. Pour associer la base de données externe Crunchy Postgres à Tekton Hub, remplacez tout CR TektonHub existant par le CR TektonHub mis à jour.

    $ oc replace -f <updated-tekton-hub-cr>.yaml
    Copy to Clipboard Toggle word wrap
  10. Vérifiez l'état du Tekton Hub. La mise à jour de TektonHub CR peut prendre un certain temps avant d'atteindre un état stable.

    $ oc get tektonhub.operator.tekton.dev
    Copy to Clipboard Toggle word wrap

    Exemple de sortie

    NAME   VERSION   READY   REASON   APIURL                    UIURL
    hub    v1.9.0    True             https://api.route.url/    https://ui.route.url/
    Copy to Clipboard Toggle word wrap

Les administrateurs de clusters peuvent mettre à jour Tekton Hub avec des catégories, des catalogues, des portées et des portées par défaut personnalisés qui reflètent le contexte de leur organisation.

Procédure

  1. Facultatif : Modifiez les champs categories, catalogs, scopes, et default:scopes dans le Tekton Hub CR.

    Note

    Les informations par défaut pour les catégories, le catalogue, les champs d'application et les champs d'application par défaut sont tirées de la carte de configuration de l'API Tekton Hub. Si vous fournissez des valeurs personnalisées dans le CR TektonHub, elles remplacent les valeurs par défaut.

  2. Appliquer le moyeu Tekton CR.

    $ oc apply -f <tekton-hub-cr>.yaml
    Copy to Clipboard Toggle word wrap
  3. Observer l'état du moyeu Tekton.

    $ oc get tektonhub.operator.tekton.dev
    Copy to Clipboard Toggle word wrap

    Exemple de sortie

    NAME   VERSION   READY   REASON   APIURL                  UIURL
    hub    v1.9.0    True             https://api.route.url   https://ui.route.url
    Copy to Clipboard Toggle word wrap

L'intervalle de rafraîchissement du catalogue par défaut pour Tekton Hub est de 30 minutes. Les administrateurs de cluster peuvent modifier l'intervalle de rafraîchissement automatique du catalogue en modifiant la valeur du champ catalogRefreshInterval dans le CR TektonHub.

Procédure

  1. Modifier la valeur du champ catalogRefreshInterval dans le CR TektonHub.

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonHub
    metadata:
      name: hub
    spec:
      targetNamespace: openshift-pipelines 
    1
    
      api:
        catalogRefreshInterval: 30m 
    2
    Copy to Clipboard Toggle word wrap
    1
    L'espace de noms dans lequel Tekton Hub est installé ; la valeur par défaut est openshift-pipelines.
    2
    Intervalle de temps après lequel le catalogue se rafraîchit automatiquement. Les unités de temps prises en charge sont les secondes (s), les minutes (m), les heures (h), les jours (d) et les semaines (w). L'intervalle par défaut est de 30 minutes.
  2. Appliquer la CR TektonHub.

    $ oc apply -f <tekton-hub-cr>.yaml
    Copy to Clipboard Toggle word wrap
  3. Vérifiez l'état de l'installation. Le CR TektonHub peut prendre un certain temps avant d'atteindre un état stable.

    $ oc get tektonhub.operator.tekton.dev
    Copy to Clipboard Toggle word wrap

    Exemple de sortie

    NAME   VERSION   READY   REASON   APIURL                    UIURL
    hub    v1.9.0    True             https://api.route.url/    https://ui.route.url/
    Copy to Clipboard Toggle word wrap

Les administrateurs de clusters peuvent ajouter de nouveaux utilisateurs à Tekton Hub avec différents champs d'application.

Procédure

  1. Modifiez le CR TektonHub pour ajouter de nouveaux utilisateurs avec des champs d'application différents.

    ...
    scopes:
      - name: agent:create
        users: [<username_1>, <username_2>] 
    1
    
      - name: catalog:refresh
        users: [<username_3>, <username_4>]
      - name: config:refresh
        users: [<username_5>, <username_6>]
    
    default:
      scopes:
        - rating:read
        - rating:write
    ...
    Copy to Clipboard Toggle word wrap
    1
    Les noms d'utilisateur enregistrés auprès du fournisseur de services d'hébergement du dépôt Git.
    Note

    Un nouvel utilisateur qui se connecte au Tekton Hub pour la première fois n'aura que le champ d'application par défaut. Pour activer des champs d'application supplémentaires, assurez-vous que le nom d'utilisateur de l'utilisateur est ajouté dans le champ scopes du CR TektonHub.

  2. Appliquer la mise à jour de TektonHub CR.

    $ oc apply -f <tekton-hub-cr>.yaml
    Copy to Clipboard Toggle word wrap
  3. Vérifiez l'état du Tekton Hub. La mise à jour de TektonHub CR peut prendre un certain temps avant d'atteindre un état stable.

    $ oc get tektonhub.operator.tekton.dev
    Copy to Clipboard Toggle word wrap

    Exemple de sortie

    NAME   VERSION   READY   REASON   APIURL                    UIURL
    hub    v1.9.0    True             https://api.route.url/    https://ui.route.url/
    Copy to Clipboard Toggle word wrap

  4. Actualiser la configuration.

    $ curl -X POST -H "Authorization: <access-token>" \ 
    1
    
        --header "Content-Type: application/json" \
        --data '{"force": true} \
        <api-route>/system/config/refresh
    Copy to Clipboard Toggle word wrap
    1
    Le jeton JWT.

Lorsque vous installez Tekton Hub avec Red Hat OpenShift Pipelines Operator 1.8, l'autorisation de connexion et les évaluations pour les artefacts Tekton Hub sont désactivées pour l'installation par défaut. Cependant, lorsque vous mettez à niveau l'Opérateur de 1.7 à 1.8, l'instance de Tekton Hub sur votre cluster ne désactive pas automatiquement l'autorisation de connexion et les évaluations.

Pour désactiver l'autorisation de connexion et les évaluations pour Tekton Hub après avoir mis à jour l'Opérateur de 1.7 à 1.8, suivez les étapes de la procédure suivante.

Conditions préalables

  • Assurez-vous que Red Hat OpenShift Pipelines Operator est installé dans l'espace de noms par défaut openshift-pipelines sur le cluster.

Procédure

  1. Supprimez le secret API Tekton Hub existant que vous avez créé lors de l'installation manuelle de Tekton Hub pour Operator 1.7.

    oc delete secret tekton-hub-api -n <targetNamespace> 
    1
    Copy to Clipboard Toggle word wrap
    1
    L'espace de noms commun pour le secret de l'API Tekton Hub et le CR Tekton Hub. Par défaut, l'espace de noms cible est openshift-pipelines.
  2. Supprimer l'objet TektonInstallerSet pour l'API Tekton Hub.

    $ oc get tektoninstallerset -o name | grep tekton-hub-api | xargs oc delete
    Copy to Clipboard Toggle word wrap
    Note

    Après la suppression, l'Opérateur crée automatiquement un nouveau jeu d'installation Tekton Hub API.

    Attendez et vérifiez l'état du Tekton Hub. Passez aux étapes suivantes lorsque la colonne READY affiche True.

    $ oc get tektonhub hub
    Copy to Clipboard Toggle word wrap

    Exemple de sortie

    NAME   VERSION        READY   REASON   APIURL                                                                                                  UIURL
    hub    1.8.0          True             https://tekton-hub-api-openshift-pipelines.apps.example.com   https://tekton-hub-ui-openshift-pipelines.apps.example.com
    Copy to Clipboard Toggle word wrap

  3. Supprimer l'objet ConfigMap pour l'interface utilisateur du Tekton Hub.

    $ oc delete configmap tekton-hub-ui -n <targetNamespace> 
    1
    Copy to Clipboard Toggle word wrap
    1
    L'espace de noms commun pour l'interface utilisateur du Tekton Hub et le Tekton Hub CR. Par défaut, l'espace de noms cible est openshift-pipelines.
  4. Supprimer l'objet TektonInstallerSet pour l'interface utilisateur du Tekton Hub.

    $ oc get tektoninstallerset -o name | grep tekton-hub-ui | xargs oc delete
    Copy to Clipboard Toggle word wrap
    Note

    Après la suppression, l'Opérateur crée automatiquement un nouveau jeu d'installation Tekton Hub UI.

    Attendez et vérifiez l'état du Tekton Hub. Passez aux étapes suivantes lorsque la colonne READY affiche True.

    $ oc get tektonhub hub
    Copy to Clipboard Toggle word wrap

    Exemple de sortie

    NAME   VERSION        READY   REASON   APIURL                                                                                                  UIURL
    hub    1.8.0          True             https://tekton-hub-api-openshift-pipelines.apps.example.com   https://tekton-hub-ui-openshift-pipelines.apps.example.com
    Copy to Clipboard Toggle word wrap

Retour au début
Red Hat logoGithubredditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance. Découvrez nos récentes mises à jour.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez le Blog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

Theme

© 2025 Red Hat