Skip to main content

Check out Port for yourself 

ArgoCD

This page will walk you through the installation of the Port execution agent in your Kubernetes cluster using ArgoCD, utilizing its Helm Capabilities.

info
  • You can observe the Helm chart and the available parameters here.
  • For the full chart versions list refer to the Releases page.

Prerequisites

  • kubectl must be installed to apply your installation manifest.
  • Helm must be installed to use the chart. Please refer to the Helm documentation for further details about the installation.
  • ArgoCD must be installed in your Kubernetes cluster. Please refer to ArgoCD's documentation for further details about the installation.
  • You will need your Port credentials.
  • The connection credentials to Kafka are provided to you by Port.
  • If you want to trigger a GitLab Pipeline, you need to have a GitLab trigger token

Installation

  1. In your git repo, create a directory called argocd.
mkdir argocd
  1. Inside your argocd directory create another directory for the current installation. For our example we use my-port-agent.
mkdir -p argocd/my-port-agent
  1. Create a values.yaml file in your my-port-agent directory, you can use it to override the helm chart values. Commit the changes to your git repository.

  2. Install the my-port-agent ArgoCD Application by creating the following my-port-agent.yaml manifest:

    Remember to replace the placeholders for YOUR_ORG_ID, YOUR_KAFKA_CONSUMER_GROUP, YOUR_PORT_CLIENT_ID YOUR_PORT_CLIENT_SECRET and YOUR_GIT_REPO_URL.

    Multiple sources ArgoCD documentation can be found here.

    ArgoCD Application
    apiVersion: argoproj.io/v1alpha1
    kind: Application
    metadata:
    name: my-port-agent
    namespace: argocd
    spec:
    destination:
    namespace: my-port-agent
    server: https://kubernetes.default.svc
    project: default
    sources:
    - repoURL: 'https://port-labs.github.io/helm-charts/'
    chart: port-agent
    targetRevision: 0.7.2
    helm:
    valueFiles:
    - $values/argocd/my-port-agent/values.yaml
    parameters:
    - name: env.normal.KAFKA_CONSUMER_GROUP_ID
    value: YOUR_KAFKA_CONSUMER_GROUP
    - name: env.normal.PORT_ORG_ID
    value: YOUR_ORG_ID
    - name: env.secret.PORT_CLIENT_ID
    value: YOUR_PORT_CLIENT_ID
    - name: env.secret.PORT_CLIENT_SECRET
    value: YOUR_PORT_CLIENT_SECRET
    - repoURL: YOUR_GIT_REPO_URL
    targetRevision: main
    ref: values
    syncPolicy:
    automated:
    prune: true
    selfHeal: true
    syncOptions:
    - CreateNamespace=true

  3. Apply your application manifest with kubectl:

    kubectl apply -f my-port-agent.yaml

Done! The exporter will begin creating and updating objects from your Kubernetes cluster as Port entities shortly.

Next Steps

  • Refer to the usage guide to set up a self-service action that sends a webhook.
  • Customize the payload mapping to control the payload sent to the target.