create-connector
Skill2 starsChanged 7 months agoApache-2.0Archived repositoryView on GitHub
Generate Harness Connector YAML for integrations and create/test via MCP. Use when user says "create connector", "git connector", "aws connector", "docker connector", "cloud connector", or wants to connect Harness to external services.
We split this skill into the rules it gives an agent
8 rules. About 0 are common, 4 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 328
Always test the connection after creation using harness_execute with action test_connection.
- Distinctive: line 329
Verify that referenced secrets exist before creating the connector.
- Distinctive: line 335
Verify credentials/tokens are valid and not expired
- Distinctive: line 336
Check network connectivity (delegate may need access)
- Distinctive: line 337
Ensure proper IAM permissions for cloud connectors
- Very specific: line 341
Use format: account.secret_name for account-level secrets
- Very specific: line 342
Use just secret_name for project-level secrets
- Very specific: line 345
Use delegateSelectors to target connectors at specific delegates
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Create Connector
Generate Harness Connector YAML and create/test via MCP.
Instructions
- Identify connector type - Determine what service to connect (Git provider, cloud provider, container registry, Kubernetes cluster)
- Generate YAML using the templates below, filling in credentials and endpoint details
- Create via MCP using
harness_createwith resource_typeconnector - Test connection using
harness_executewith actiontest_connectionto verify
Git Connectors
GitHub
connector:
name: GitHub
identifier: github_connector
type: Github
spec:
url: https://github.com/myorg
type: Account # Account or Repo
authentication:
type: Http
spec:
type: UsernameToken
spec:
username: myuser
tokenRef: github_pat # Secret reference
apiAccess:
type: Token
spec:
tokenRef: github_pat
executeOnDelegate: falseGitLab
connector:
name: GitLab
identifier: gitlab_connector
type: Gitlab
spec:
url: https://gitlab.com/myorg
type: Account
authentication:
type: Http
spec:
type: UsernameToken
spec:
username: myuser
tokenRef: gitlab_tokenBitbucket
connector:
name: Bitbucket
identifier: bitbucket_connector
type: Bitbucket
spec:
url: https://bitbucket.org/myorg
type: Account
authentication:
type: Http
spec:
type: UsernameToken
spec:
username: myuser
tokenRef: bitbucket_app_passwordCloud Connectors
AWS
connector:
name: AWS
identifier: aws_connector
type: Aws
spec:
credential:
type: ManualConfig # ManualConfig, InheritFromDelegate, Irsa, OidcAuthentication
spec:
accessKeyRef: aws_access_key
secretKeyRef: aws_secret_key
delegateSelectors: [] # Optional: target specific delegates
executeOnDelegate: falseGCP
connector:
name: GCP
identifier: gcp_connector
type: Gcp
spec:
credential:
type: ManualConfig # ManualConfig, InheritFromDelegate, OidcAuthentication
spec:
secretKeyRef: gcp_service_account_key
executeOnDelegate: falseAzure
connector:
name: Azure
identifier: azure_connector
type: Azure
spec:
credential:
type: ManualConfig
spec:
auth:
type: Secret
spec:
secretRef: azure_client_secret
applicationId: <app_id>
tenantId: <tenant_id>
azureEnvironmentType: AZURE # AZURE, AZURE_US_GOVERNMENT
executeOnDelegate: falseRegistry Connectors
Docker Hub
connector:
name: Docker Hub
identifier: dockerhub
type: DockerRegistry
spec:
dockerRegistryUrl: https://index.docker.io/v2/
providerType: DockerHub
auth:
type: UsernamePassword
spec:
username: myuser
passwordRef: dockerhub_passwordAWS ECR
connector:
name: ECR
identifier: ecr_connector
type: Aws
spec:
credential:
type: ManualConfig
spec:
accessKeyRef: aws_access_key
secretKeyRef: aws_secret_keyKubernetes Connector
connector:
name: K8s Cluster
identifier: k8s_connector
type: K8sCluster
spec:
credential:
type: ManualConfig # ManualConfig, InheritFromDelegate
spec:
masterUrl: https://k8s-api.example.com
auth:
type: ServiceAccount
spec:
serviceAccountTokenRef: k8s_sa_token
caCertRef: k8s_ca_certHelm Repository Connector
HTTP Helm Repo
connector:
name: Helm Repo
identifier: helm_repo
type: HttpHelmRepo
spec:
helmRepoUrl: https://charts.example.com
auth:
type: UsernamePassword # UsernamePassword or Anonymous
spec:
username: myuser
passwordRef: helm_password
delegateSelectors: []OCI Helm Repo
connector:
name: OCI Helm
identifier: oci_helm
type: OciHelmRepo
spec:
helmRepoUrl: oci://registry.example.com/charts
auth:
type: UsernamePassword
spec:
username: myuser
passwordRef: oci_passwordArtifact Repository Connectors
Nexus
connector:
name: Nexus
identifier: nexus_connector
type: Nexus
spec:
nexusServerUrl: https://nexus.example.com
version: "3.x" # "2.x" or "3.x"
auth:
type: UsernamePassword
spec:
username: admin
passwordRef: nexus_passwordArtifactory
connector:
name: Artifactory
identifier: artifactory_connector
type: Artifactory
spec:
artifactoryServerUrl: https://artifactory.example.com
auth:
type: UsernamePassword
spec:
username: admin
passwordRef: artifactory_passwordTicketing Connectors
Jira
connector:
name: Jira
identifier: jira_connector
type: Jira
spec:
jiraUrl: https://mycompany.atlassian.net
auth:
type: UsernamePassword
spec:
username: user@company.com
passwordRef: jira_api_tokenServiceNow
connector:
name: ServiceNow
identifier: servicenow_connector
type: ServiceNow
spec:
serviceNowUrl: https://mycompany.service-now.com
auth:
type: UsernamePassword
spec:
username: admin
usernameRef: snow_username
passwordRef: snow_passwordCreating and Testing via MCP
Create connector:
Call MCP tool: harness_create
Parameters:
resource_type: "connector"
org_id: "<organization>"
project_id: "<project>"
body: <connector YAML>Test connection:
Call MCP tool: harness_execute
Parameters:
resource_type: "connector"
action: "test_connection"
resource_id: "<connector_identifier>"
org_id: "<organization>"
project_id: "<project>"Browse available connector types:
Call MCP tool: harness_list
Parameters:
resource_type: "connector_catalogue"Examples
- "Create a GitHub connector with PAT" - Github type with token auth
- "Set up AWS connector" - Aws type with access key credentials
- "Create Docker Hub connector" - DockerRegistry type
- "Connect to my K8s cluster" - K8sCluster with service account
- "Create a Helm repo connector" - HttpHelmRepo type for chart repositories
- "Set up Jira connector" - Jira type for approval and ticketing integration
- "Create Nexus connector" - Nexus type for artifact repository
Performance Notes
- Always test the connection after creation using
harness_executewith actiontest_connection. - Verify that referenced secrets exist before creating the connector.
- For cloud connectors, confirm IAM permissions match the intended usage (read-only vs. read-write).
Troubleshooting
Connection Test Fails
- Verify credentials/tokens are valid and not expired
- Check network connectivity (delegate may need access)
- Ensure proper IAM permissions for cloud connectors
Secret References
- Secrets must exist before creating the connector
- Use format:
account.secret_namefor account-level secrets - Use just
secret_namefor project-level secrets
Delegate Selectors
- Use
delegateSelectorsto target connectors at specific delegates - Required when the service is only reachable from specific network locations
- Match delegate tags exactly (case-sensitive)
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 1
- harness/harness-skills★ 12798% same
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository30 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- .github/copilot-instructions.mdCopilot instructions
- .cursor/rules/harness.mdcCursor rule
- analyze-costsSkill
- audit-reportSkill
- chaos-experimentSkill
- create-agentSkill
- create-agent-templateSkill
- create-environmentSkill
- create-infrastructureSkill
- create-pipelineSkill
- create-pipeline-v1Skill
- create-policySkill
- create-secretSkill
- create-serviceSkill
- create-templateSkill
- create-triggerSkill
- debug-pipelineSkill
- dora-metricsSkill
- gitops-statusSkill
- manage-delegatesSkill
- manage-feature-flagsSkill
- manage-rolesSkill
- manage-usersSkill
- migrate-pipelineSkill
- run-pipelineSkill
- scorecard-reviewSkill
- security-reportSkill
- template-usageSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

