Installation
TOC
IntroductionPrerequisitesPod Security Requirements for InstallationInstall Connectors OperatorInstall ConnectorsCoreInstall ConnectorsGit (Optional)Install ConnectorsGitLab (Optional)Install ConnectorsOCI (Optional)Install ConnectorsK8S (Optional)Install ConnectorsMaven (Optional)Install ConnectorsPyPI (Optional)Install ConnectorsNPM (Optional)Install ConnectorsHarbor (Optional)Uninstall ConnectorsCustom ConfigurationConnectorsCore ConfigurationConnectorsGit ConfigurationConnectorsOCI ConfigurationAdditional ConfigurationsTroubleshootingconnectors-csi is not readyIntroduction
The Connectors system has a modular architecture with the following components:
- Connectors Operator: The central management component that handles the deployment and lifecycle of other connector components
- ConnectorsCore: Required core component that provides the foundation for all connector types
- ConnectorsGit: Optional component that adds support for Git services (GitHub, GitLab, etc.)
- ConnectorsGitLab: Optional component that adds support for GitLab-specific features (GitLab CLI, enhanced authentication)
- ConnectorsOCI: Optional component that adds support for container registries (Harbor, Distribution, etc.)
- ConnectorsK8S: Optional component that adds support for Kubernetes clusters
- ConnectorsMaven: Optional component that adds support for Maven registries (e.g., Maven Central, or Maven repositories hosted on Sonatype Nexus).
- ConnectorsPyPI: Optional component that adds support for Python package registries (e.g., PyPI, or Python repositories hosted on Sonatype Nexus).
- ConnectorsNPM: Optional component that adds support for Node.js package registries (e.g., npm, or Node.js repositories hosted on Sonatype Nexus).
- ConnectorsHarbor: Optional component that adds support for Harbor container registries. This document provides instructions for installing and configuring the Connectors system.
Prerequisites
Before installing, ensure you have:
- A kubernetes cluster
- A kubectl cli configured to communicate with your cluster
- Admin permissions on the cluster
- Connectors Operator is
Readyon ACP Operator Hub
Pod Security Requirements for Installation
Kubernetes enforces Pod Security Standards (PSS) at the namespace level. The Connectors system consists of components with different privilege requirements:
Note: If the namespace is configured with an insufficient policy (e.g., restricted or baseline for CSI components), the CSI driver will fail to start due to blocked privileged operations. Conversely, applying privileged where not needed broadens the namespace's attack surface.
Install Connectors Operator
First, install the Connectors Operator which manages the lifecycle of all other components.
-
Create a namespace for the operator:
-
Apply the operator subscription YAML:
-
Verify the operator is running:
You should see the connectors-operator pod running:
-
Verify that the Custom Resource Definitions (CRDs) have been created:
You should see CRDs including:
Install ConnectorsCore
After the operator is running, install the required ConnectorsCore component:
-
Create a namespace for connector components (if not already created):
-
Create the ConnectorsCore custom resource:
-
Monitor the deployment progress:
-
Wait until the status shows that ConnectorsCore is ready:
-
Verify that the core pods are running:
You should see core components including:
-
Verify that the CRDs required for connector functionality are installed:
You should see:
Install ConnectorsGit (Optional)
To add support for Git services like GitHub, GitLab, etc., install the ConnectorsGit component:
-
Create the ConnectorsGit custom resource:
-
Monitor the deployment progress:
-
Wait until the status shows that ConnectorsGit is ready:
-
Verify that the Git plugin is running:
You should see:
-
Verify that the Git ConnectorClass has been created:
You should see:
Install ConnectorsGitLab (Optional)
To add support for GitLab-specific features (GitLab CLI, enhanced authentication), install the ConnectorsGitLab component:
-
Create the ConnectorsGitLab custom resource:
-
Monitor the deployment progress:
-
Wait until the status shows that ConnectorsGitLab is ready:
-
Verify that the GitLab ConnectorClass has been created:
You should see:
Install ConnectorsOCI (Optional)
To add support for container registries, like Harbor, Distribution, etc., install the ConnectorsOCI component:
-
Create the ConnectorsOCI custom resource:
ClusterIP Expose:
NodePort Expose:
Ingress Expose:
-
Monitor the deployment progress:
-
Wait until the status shows that ConnectorsOCI is ready:
-
Verify that the OCI plugin is running:
-
Verify that the OCI ConnectorClass has been created:
Install ConnectorsK8S (Optional)
To add support for integration with Kubernetes clusters, install the ConnectorsK8S component:
-
Create the ConnectorsK8S custom resource:
-
Monitor the deployment progress:
-
Wait until the status shows that ConnectorsOCI is ready:
-
Verify that the Kubernetes ConnectorClass is ready:
Install ConnectorsMaven (Optional)
To add support for integration with Maven registries, install the ConnectorsMaven component:
-
Create the ConnectorsMaven custom resource:
-
Monitor the deployment progress:
-
Wait until the status shows that ConnectorsMaven is ready:
-
Verify that the Kubernetes ConnectorClass is ready:
Install ConnectorsPyPI (Optional)
To add support for integration with PyPI registries, install the ConnectorsPyPI component:
-
Create the ConnectorsPyPI custom resource:
-
Monitor the deployment progress:
-
Verify that the Kubernetes ConnectorClass is ready:
Install ConnectorsNPM (Optional)
To add support for integration with NPM registries, install the ConnectorsNPM component:
-
Create the ConnectorsNPM custom resource:
-
Monitor the deployment progress:
-
Verify that the NPM ConnectorClass is ready:
Install ConnectorsHarbor (Optional)
To add support for integration with Harbor registries, install the ConnectorsHarbor component:
-
Create the ConnectorsHarbor custom resource:
-
Monitor the deployment progress:
-
Verify that the Harbor ConnectorClass is ready:
Uninstall Connectors
To uninstall the Connectors system, remove components in the reverse order of installation.
-
Delete the optional components first (if installed):
-
Delete the core component:
-
Delete the operator:
-
Delete the namespaces:
Custom Configuration
You can customize the deployment of connector components to better suit your environment. All connector components share a similar configuration structure.
ConnectorsCore Configuration
When creating the ConnectorsCore resource, you can specify custom configuration:
ConnectorsGit Configuration
Custom configuration for the Git plugin:
ConnectorsOCI Configuration
Custom configuration for the OCI plugin:
Additional Configurations
For advanced deployments, you can also specify:
Troubleshooting
connectors-csi is not ready
If daemonset/connectors-csi is not ready, check the events of the connectors-csi pod.
A common error looks like:
This means the namespace's Pod Security level is too restrictive for the CSI driver.
Fix
- Ensure the namespace is configured with the
privilegedPod Security level. - Update the namespace with the correct labels.
- Restart the
connectors-csiDaemonSet.
For details, see Pod Security Requirements for Installation.