LogoLogo
PipekitPricingBlogPipekit StatusRelease Notes
  • Introduction
  • Getting Started
  • CLI
    • Cron Workflows
  • Pipekit Agent
    • Helm Install
  • Pipekit
    • Authentication
      • Okta
    • Runs
    • Pipes
      • Managing Pipes
        • Run Conditions
        • Secrets
        • Alerting
      • Pipe Runs
        • Run Graph (DAG)
        • Pod Logs
        • Workflow Logs
        • Workflow YAML
      • Cron Workflows
      • Externally Triggered Workflows
    • Metrics
    • Templates
    • Clusters
    • Organization
      • Creating an Organization
      • Managing Users
      • Managing Alert Providers
      • Settings
      • Permissions
  • Python SDK
    • Jupyter Notebooks
    • Python Scripts
  • Self-Hosting Pipekit
    • Dependencies and Pre-requisites
    • Container Images
    • Kubernetes Permissions
    • Self-Hosted Pipekit Helm Chart
    • License Key
    • Initial Login and Break Glass Account
    • Integrating with your Git Provider
    • Configuring SSO
  • Additional Information
    • Free Trial Cluster
  • REST API
Powered by GitBook
On this page
  • Pipekit Web UI
  • Grant workflow repository pull access
  • Pipekit CLI
  • Disabling a Pipe
  • Deleting a Pipe
  1. Pipekit
  2. Pipes

Managing Pipes

Last updated 9 months ago

Pipekit Web UI

To create a new Pipe, go to the and click the + Add pipe button.

From here, choose the Organization the Pipe will belong to, the repo containing the Workflow yaml, and provide a human-friendly name and description.

You can choose to permit the running Workflow to access the git repository containing the Workflow yaml. This is useful if the workflow itself needs to access the git repository, for example to obtain stored code. To do this, tick Grant workflow repository pull access. For more information, refer to the section.

You should then choose the for the Pipe. These are the git events that trigger the Pipe to run.

Grant workflow repository pull access

By checking Grant workflow repository pull access, you can grant a Workflow access to the git repository containing the Workflow yaml. This is done by automatically generating a ssh key and adding it to your git provider. The key is then injected into your cluster as a secret and mounted to your workflow at runtime for you you to use.

The generated key is mounted into the /root directory of your containers, and is available at the path /root/.ssh/ssh-deploy-key for both Github and Gitlab.

Here is a simplified example of how you could use the key to access a private repository in your workflow:

apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  generateName: clone-repo-
spec:
  entrypoint: clone-repo
  volumeClaimTemplates:
  - metadata:
      name: code
    spec:
      accessModes: [ "ReadWriteMany" ]
      storageClassName: nfs
      resources:
        requests:
          storage: 1Gi
  templates:
  - name: clone-repo
    container:
      image: alpine
      command:
        - sh
        - -c
        - |
          apk --update add openssh-client git
          eval `ssh-agent -s`
          mkdir -p /workdir/src/github.com/my_org
          cd /workdir/src/github.com/my_org
          ssh-add /root/.ssh/ssh-deploy-key
          ssh-keyscan github.com > /root/.ssh/known_hosts
          git config --global --add safe.directory '*'
          git clone git@github.com:my_org/my_repo.git
          cd my_repo
          git checkout $GIT_COMMIT
      volumeMounts:
      - name: code
        mountPath: /workdir
      resources:
        requests:
          memory: 1Gi
          cpu: 100m

SSH keys are only made available to the Workflow that is triggered by the Pipe. If you have a Workflow that triggers another Workflow or uses workflowTemplates, the keys will not be passed to the second Workflow, or the workflowTemplate.

Pipekit CLI

You cannot grant workflow repository pull access, or choose run conditions when submitting a Pipe via the CLI.

Disabling a Pipe

If you wish for a Pipe to no longer run, you can disable it. To disable a pipe, you can toggle the switch on the Pipe. This action will prevent any further runs of the Pipe from being triggered. If you change your mind, you can re-enable the Pipe by toggling the switch back on.

Deleting a Pipe

If you wish to delete a Pipe, go to the Pipe UI, and then the settings tab, then click the Delete button. You will be asked to confirm the deletion.

Deleting a Pipe will also delete all Runs and logs associated with the Pipe. Everything associated with the Workflow will be lost when a Pipe is deleted.

You can submit a Pipe to Pipekit using the Pipekit CLI. For more information, refer to the .

Pipes tab in Pipekit
run conditions
Grant workflow repository pull access
Pipekit CLI documentation