ResourceRegistry v1alpha1

apiVersion: search.karmada.io/v1alpha1

import "github.com/karmada-io/karmada/pkg/apis/search/v1alpha1"

ResourceRegistry

ResourceRegistry represents the configuration of the cache scope, mainly describes which resources in which clusters should be cached.


ResourceRegistrySpec

ResourceRegistrySpec defines the desired state of ResourceRegistry.


  • resourceSelectors ([]ResourceSelector), required

    ResourceSelectors specifies the resources type that should be cached by cache system.

    ResourceSelector specifies the resources type and its scope.

    • resourceSelectors.apiVersion (string), required

      APIVersion represents the API version of the target resources.

    • resourceSelectors.kind (string), required

      Kind represents the kind of the target resources.

    • resourceSelectors.namespace (string)

      Namespace of the target resource. Default is empty, which means all namespaces.

  • targetCluster (ClusterAffinity), required

    TargetCluster specifies the clusters where the cache system collect resource from.

    ClusterAffinity represents the filter to select clusters.

    • targetCluster.clusterNames ([]string)

      ClusterNames is the list of clusters to be selected.

    • targetCluster.exclude ([]string)

      ExcludedClusters is the list of clusters to be ignored.

    • targetCluster.fieldSelector (FieldSelector)

      FieldSelector is a filter to select member clusters by fields. The key(field) of the match expression should be ‘provider’, ‘region’, or ‘zone’, and the operator of the match expression should be ‘In’ or ‘NotIn’. If non-nil and non-empty, only the clusters match this filter will be selected.

      FieldSelector is a field filter.

      • targetCluster.fieldSelector.matchExpressions ([][NodeSelectorRequirement](../common-definitions/node-selector-requirement#nodeselectorrequirement))

        A list of field selector requirements.

    • targetCluster.labelSelector (LabelSelector)

      LabelSelector is a filter to select member clusters by labels. If non-nil and non-empty, only the clusters match this filter will be selected.

  • backendStore (BackendStoreConfig)

    BackendStore specifies the location where to store the cached items.

    BackendStoreConfig specifies backend store.

    • backendStore.openSearch (OpenSearchConfig)

      OpenSearch is a community-driven, open source search and analytics suite. Refer to website(https://opensearch.org/) for more details about OpenSearch.

      OpenSearchConfig holds the necessary configuration for client to access and config an OpenSearch server.

      • backendStore.openSearch.addresses ([]string), required

        Addresses is a list of node endpoint(e.g. ‘https://localhost:9200‘) to use. For the ‘node’ concept, please refer to: https://opensearch.org/docs/latest/opensearch/index/#clusters-and-nodes

      • backendStore.openSearch.secretRef (LocalSecretReference)

        SecretRef represents the secret contains mandatory credentials to access the server. The secret should hold credentials as follows: - secret.data.userName - secret.data.password

        LocalSecretReference is a reference to a secret within the enclosing namespace.

        • backendStore.openSearch.secretRef.name (string), required

          Name is the name of resource being referenced.

        • backendStore.openSearch.secretRef.namespace (string), required

          Namespace is the namespace for the resource being referenced.

ResourceRegistryStatus

ResourceRegistryStatus defines the observed state of ResourceRegistry


  • conditions ([]Condition)

    Conditions contain the different condition statuses.

    Condition contains details for one aspect of the current state of this API Resource.

    • conditions.lastTransitionTime (Time), required

      lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.

      Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.

    • conditions.message (string), required

      message is a human readable message indicating details about the transition. This may be an empty string.

    • conditions.reason (string), required

      reason contains a programmatic identifier indicating the reason for the condition’s last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.

    • conditions.status (string), required

      status of the condition, one of True, False, Unknown.

    • conditions.type (string), required

      type of condition in CamelCase or in foo.example.com/CamelCase.

    • conditions.observedGeneration (int64)

      observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.

ResourceRegistryList

ResourceRegistryList is a collection of ResourceRegistry.


  • apiVersion: search.karmada.io/v1alpha1

  • kind: ResourceRegistryList

  • metadata (ListMeta)

  • items ([][ResourceRegistry](../search-resources/resource-registry-v1alpha1#resourceregistry)), required

    Items holds a list of ResourceRegistry.

Operations


get read the specified ResourceRegistry

HTTP Request

GET /apis/search.karmada.io/v1alpha1/resourceregistries/{name}

Parameters

  • name (in path): string, required

    name of the ResourceRegistry

  • pretty (in query): string

    pretty

Response

200 (ResourceRegistry): OK

get read status of the specified ResourceRegistry

HTTP Request

GET /apis/search.karmada.io/v1alpha1/resourceregistries/{name}/status

Parameters

  • name (in path): string, required

    name of the ResourceRegistry

  • pretty (in query): string

    pretty

Response

200 (ResourceRegistry): OK

list list or watch objects of kind ResourceRegistry

HTTP Request

GET /apis/search.karmada.io/v1alpha1/resourceregistries

Parameters

Response

200 (ResourceRegistryList): OK

create create a ResourceRegistry

HTTP Request

POST /apis/search.karmada.io/v1alpha1/resourceregistries

Parameters

Response

200 (ResourceRegistry): OK

201 (ResourceRegistry): Created

202 (ResourceRegistry): Accepted

update replace the specified ResourceRegistry

HTTP Request

PUT /apis/search.karmada.io/v1alpha1/resourceregistries/{name}

Parameters

Response

200 (ResourceRegistry): OK

201 (ResourceRegistry): Created

update replace status of the specified ResourceRegistry

HTTP Request

PUT /apis/search.karmada.io/v1alpha1/resourceregistries/{name}/status

Parameters

Response

200 (ResourceRegistry): OK

201 (ResourceRegistry): Created

patch partially update the specified ResourceRegistry

HTTP Request

PATCH /apis/search.karmada.io/v1alpha1/resourceregistries/{name}

Parameters

  • name (in path): string, required

    name of the ResourceRegistry

  • body: Patch, required

  • dryRun (in query): string

    dryRun

  • fieldManager (in query): string

    fieldManager

  • fieldValidation (in query): string

    fieldValidation

  • force (in query): boolean

    force

  • pretty (in query): string

    pretty

Response

200 (ResourceRegistry): OK

201 (ResourceRegistry): Created

patch partially update status of the specified ResourceRegistry

HTTP Request

PATCH /apis/search.karmada.io/v1alpha1/resourceregistries/{name}/status

Parameters

  • name (in path): string, required

    name of the ResourceRegistry

  • body: Patch, required

  • dryRun (in query): string

    dryRun

  • fieldManager (in query): string

    fieldManager

  • fieldValidation (in query): string

    fieldValidation

  • force (in query): boolean

    force

  • pretty (in query): string

    pretty

Response

200 (ResourceRegistry): OK

201 (ResourceRegistry): Created

delete delete a ResourceRegistry

HTTP Request

DELETE /apis/search.karmada.io/v1alpha1/resourceregistries/{name}

Parameters

Response

200 (Status): OK

202 (Status): Accepted

deletecollection delete collection of ResourceRegistry

HTTP Request

DELETE /apis/search.karmada.io/v1alpha1/resourceregistries

Parameters

Response

200 (Status): OK