JFrog Crossplane Kinds Reference

Read a Kind entry, explore fields from the cluster, and find every Kind of the JFrog Crossplane providers.

The JFrog Crossplane providers support 260 Kinds. This page explains how to read a Kind entry and how to explore fields from your cluster. It then lists every Kind by provider and API group, with a link to the page that documents it.

How to Read a Kind Entry

The four provider reference pages list every Kind, grouped by provider and API group. Each entry contains the following:

  • Summary: What the Kind manages.
  • kubectl: The fully-qualified resource name (<plural>.<group>), which also shows the API group. The apiVersion is <group>/v1alpha1. The legacy cluster-scoped variant drops .m from the group.
  • Identifier: How the managed resource maps to the JFrog object. For more information, see How the JFrog Crossplane Providers Work.
  • Upstream: The JFrog Terraform resource that the Kind is built from. Its upstream documentation describes each field in detail. Field names there are snake_case.
  • Fields: The top-level spec.forProvider fields. You must set required fields in forProvider or initProvider.
  • Immutable, References, and Secrets, followed by caveats specific to the Kind.

Repository Kinds share most fields. For this reason, the provider reference pages document them per class (local, remote, virtual, federated). Each class documents the common fields once, then only the additional fields of each package type.

Explore Fields from the Cluster

The CustomResourceDefinitions (CRDs) installed in your cluster carry the full schema. The schema includes nested fields, types, allowed values, and descriptions. To explore it, run commands such as the following:

kubectl explain localdockerv2repositories.repository.artifactory.m.crossplane.io.spec.forProvider --recursive
kubectl explain securitypolicies.policy.xray.m.crossplane.io.spec.forProvider.rule.actions
kubectl get crds | grep -E '(artifactory|xray|project|platform)\.m\.crossplane\.io'

Manifest Skeleton

Every managed resource follows this skeleton:

apiVersion: <group>/v1alpha1
kind: <Kind>
metadata:
  name: <name>                     # usually the JFrog identifier
  namespace: team-a
  # annotations: {crossplane.io/external-name: <identifier if it differs from metadata.name>}
spec:
  providerConfigRef: {kind: ClusterProviderConfig, name: jfrog}
  # managementPolicies: ["*"]
  forProvider: {}                  # required fields go here (or in initProvider)
  # initProvider: {}               # values applied only at creation

In most Kinds, nested blocks that appear once are written as one-element YAML lists, for example adminPrivileges: [{...}] or blockDownload: [{...}]. kubectl explain shows <[]Object> for these blocks.

Kinds by Provider

The following table shows the number of Kinds for each provider and the page that documents them.

ProviderKindsReference page
provider-artifactory214Artifactory Provider Kinds
provider-xray21Xray Provider Kinds
provider-project8Project Provider Kinds
provider-platform17Platform Provider Kinds

Artifactory Kinds

The Artifactory Provider Kinds page documents all Artifactory Kinds.

API groupKinds
artifact (2)Artifact, ItemProperties
configuration (16)ArchivePolicy, Backup, GeneralSecurity, LdapGroupSetting, LdapGroupSettingV2, LdapSetting, LdapSettingV2, MailServer, OauthSettings, PackageCleanupPolicy, PropertySet, Proxy, ReleaseBundleV2CleanupPolicy, RepositoryLayout, SamlSettings, TrashcanConfig
lifecycle (2)ReleaseBundleV2, ReleaseBundleV2Promotion
replication (5)LocalRepositoryMultiReplication, LocalRepositorySingleReplication, PullReplication, PushReplication, RemoteRepositoryReplication
repository (150)Named <Class><PackageType>Repository: Local (40), Remote (40), Virtual (33), Federated (37). For the package types of each class, see Package Types.
security (11)APIKey, Certificate, DistributionPublicKey, GlobalEnvironment, Group, KeyPair, PasswordExpirationPolicy, PermissionTarget, ScopedToken, UserLockPolicy, VaultConfiguration
user (4)AnonymousUser, ManagedUser, UnmanagedUser, User
webhook (24)A <Domain>Webhook and a <Domain>CustomWebhook Kind for each of 12 domains: ArtifactLifecycle, ArtifactProperty, Artifact, ArtifactoryReleaseBundle, Build, Destination, Distribution, Docker, ReleaseBundleV2Promotion, ReleaseBundleV2, ReleaseBundle, User. For the Kind names, see Webhooks.

Xray Kinds

The Xray Provider Kinds page documents all Xray Kinds.

API groupKinds
configuration (7)BinaryManagerBuilds, BinaryManagerReleaseBundlesV2, BinaryManagerRepos, CatalogLabels, RepositoryConfig, Settings, WorkersCount
policy (7)CurationPolicy, CustomCurationCondition, CustomIssue, IgnoreRule, LicensePolicy, OperationalRiskPolicy, SecurityPolicy
report (5)ExposuresReport, LicensesReport, OperationalRisksReport, ViolationsReport, VulnerabilitiesReport
watch (1)Watch
webhook (1)Webhook

Project Kinds

The Project Provider Kinds page documents all Project Kinds.

API groupKinds
access (3)Group, Role, User
project (2)Environment, Project
repository (3)Repository, ShareRepository, ShareRepositoryWithAll

Platform Kinds

The Platform Provider Kinds page documents all Platform Kinds.

API groupKinds
access (6)GlobalRole, Group, GroupMembers, Permission, SCIMGroup, SCIMUser
authentication (6)AWSIAMRole, CrowdSettings, HTTPSSOSettings, OIDCConfiguration, OIDCIdentityMapping, SAMLSettings
configuration (3)License, ReverseProxy, WorkersService
lifecycle (2)Lifecycle, LifecycleStage

Several providers share short Kind names, such as Group, User, Permission, Role, Repository, and Webhook. Use fully-qualified names with kubectl to avoid this ambiguity.

Next Steps


Did this page help you?