Managing Pipes
Pipekit Web UI
To create a new Pipe, go to the Pipes tab in Pipekit 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 Grant workflow repository pull access section.
You should then choose the run conditions 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 [email protected]:my_org/my_repo.git
cd my_repo
git checkout $GIT_COMMIT
volumeMounts:
- name: code
mountPath: /workdir
resources:
requests:
memory: 1Gi
cpu: 100m
Pipekit CLI
You can submit a Pipe to Pipekit using the Pipekit CLI. For more information, refer to the Pipekit CLI documentation.
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.
Last updated