services/google/gkehub/beta/feature_membership.yaml (705 lines of code) (raw):
# Copyright 2025 Google LLC. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
info:
title: GkeHub/FeatureMembership
description: The GkeHub FeatureMembership resource
x-dcl-struct-name: FeatureMembership
x-dcl-has-iam: false
x-dcl-mutex: '{{project}}/{{location}}/{{feature}}'
paths:
get:
description: The function used to get information about a FeatureMembership
parameters:
- name: featureMembership
required: true
description: A full instance of a FeatureMembership
apply:
description: The function used to apply information about a FeatureMembership
parameters:
- name: featureMembership
required: true
description: A full instance of a FeatureMembership
delete:
description: The function used to delete a FeatureMembership
parameters:
- name: featureMembership
required: true
description: A full instance of a FeatureMembership
deleteAll:
description: The function used to delete all FeatureMembership
parameters:
- name: project
required: true
schema:
type: string
- name: location
required: true
schema:
type: string
- name: feature
required: true
schema:
type: string
list:
description: The function used to list information about many FeatureMembership
parameters:
- name: project
required: true
schema:
type: string
- name: location
required: true
schema:
type: string
- name: feature
required: true
schema:
type: string
components:
schemas:
FeatureMembership:
title: FeatureMembership
x-dcl-id: projects/{{project}}/locations/{{location}}/features/{{feature}}/memberships/{{membership}}
x-dcl-parent-container: project
x-dcl-has-create: true
x-dcl-has-iam: false
x-dcl-read-timeout: 0
x-dcl-apply-timeout: 0
x-dcl-delete-timeout: 0
type: object
required:
- project
- location
- feature
- membership
properties:
configmanagement:
type: object
x-dcl-go-name: Configmanagement
x-dcl-go-type: FeatureMembershipConfigmanagement
description: Config Management-specific spec.
properties:
binauthz:
type: object
x-dcl-go-name: Binauthz
x-dcl-go-type: FeatureMembershipConfigmanagementBinauthz
description: '**DEPRECATED** Binauthz configuration for the cluster.
This field will be ignored and should not be set.'
x-dcl-server-default: true
properties:
enabled:
type: boolean
x-dcl-go-name: Enabled
description: Whether binauthz is enabled in this cluster.
x-dcl-parameter: true
configSync:
type: object
x-dcl-go-name: ConfigSync
x-dcl-go-type: FeatureMembershipConfigmanagementConfigSync
description: Config Sync configuration for the cluster.
x-dcl-send-empty: true
properties:
deploymentOverrides:
type: array
x-dcl-go-name: DeploymentOverrides
description: The override configurations for the Config Sync Deployments.
x-dcl-send-empty: true
x-dcl-list-type: list
items:
type: object
x-dcl-go-type: FeatureMembershipConfigmanagementConfigSyncDeploymentOverrides
properties:
containers:
type: array
x-dcl-go-name: Containers
description: The override configurations for the containers
in the Deployment.
x-dcl-send-empty: true
x-dcl-list-type: list
items:
type: object
x-dcl-go-type: FeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers
properties:
containerName:
type: string
x-dcl-go-name: ContainerName
description: The name of the container.
cpuLimit:
type: string
x-dcl-go-name: CpuLimit
description: The CPU limit of the container.
cpuRequest:
type: string
x-dcl-go-name: CpuRequest
description: The CPU request of the container.
memoryLimit:
type: string
x-dcl-go-name: MemoryLimit
description: The memory limit of the container.
memoryRequest:
type: string
x-dcl-go-name: MemoryRequest
description: The memory request of the container.
deploymentName:
type: string
x-dcl-go-name: DeploymentName
description: The name of the Deployment.
deploymentNamespace:
type: string
x-dcl-go-name: DeploymentNamespace
description: The namespace of the Deployment.
enabled:
type: boolean
x-dcl-go-name: Enabled
description: Enables the installation of ConfigSync. If set to true,
ConfigSync resources will be created and the other ConfigSync
fields will be applied if exist. If set to false, all other ConfigSync
fields will be ignored, ConfigSync resources will be deleted.
If omitted, ConfigSync resources will be managed depends on the
presence of the git or oci field.
git:
type: object
x-dcl-go-name: Git
x-dcl-go-type: FeatureMembershipConfigmanagementConfigSyncGit
properties:
gcpServiceAccountEmail:
type: string
x-dcl-go-name: GcpServiceAccountEmail
description: The GCP Service Account Email used for auth when
secretType is gcpServiceAccount.
x-dcl-references:
- resource: Iam/ServiceAccount
field: email
httpsProxy:
type: string
x-dcl-go-name: HttpsProxy
description: URL for the HTTPS proxy to be used when communicating
with the Git repo.
policyDir:
type: string
x-dcl-go-name: PolicyDir
description: 'The path within the Git repository that represents
the top level of the repo to sync. Default: the root directory
of the repository.'
secretType:
type: string
x-dcl-go-name: SecretType
description: Type of secret configured for access to the Git
repo. Must be one of ssh, cookiefile, gcenode, token, gcpserviceaccount
or none. The validation of this is case-sensitive.
syncBranch:
type: string
x-dcl-go-name: SyncBranch
description: 'The branch of the repository to sync from. Default:
master.'
syncRepo:
type: string
x-dcl-go-name: SyncRepo
description: The URL of the Git repository to use as the source
of truth.
syncRev:
type: string
x-dcl-go-name: SyncRev
description: Git revision (tag or hash) to check out. Default
HEAD.
syncWaitSecs:
type: string
x-dcl-go-name: SyncWaitSecs
description: 'Period in seconds between consecutive syncs. Default:
15.'
metricsGcpServiceAccountEmail:
type: string
x-dcl-go-name: MetricsGcpServiceAccountEmail
description: 'Deprecated: If Workload Identity Federation for GKE
is enabled, Google Cloud Service Account is no longer needed for
exporting Config Sync metrics: https://cloud.google.com/kubernetes-engine/enterprise/config-sync/docs/how-to/monitor-config-sync-cloud-monitoring#custom-monitoring.'
x-dcl-references:
- resource: Iam/ServiceAccount
field: email
x-dcl-deprecated: true
oci:
type: object
x-dcl-go-name: Oci
x-dcl-go-type: FeatureMembershipConfigmanagementConfigSyncOci
properties:
gcpServiceAccountEmail:
type: string
x-dcl-go-name: GcpServiceAccountEmail
description: 'The GCP Service Account Email used for auth when
secret_type is gcpserviceaccount. '
x-dcl-references:
- resource: Iam/ServiceAccount
field: email
policyDir:
type: string
x-dcl-go-name: PolicyDir
description: 'The absolute path of the directory that contains
the local resources. Default: the root directory of the image.'
secretType:
type: string
x-dcl-go-name: SecretType
description: Type of secret configured for access to the OCI
Image. Must be one of gcenode, gcpserviceaccount or none.
The validation of this is case-sensitive.
syncRepo:
type: string
x-dcl-go-name: SyncRepo
description: The OCI image repository URL for the package to
sync from. e.g. LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME.
syncWaitSecs:
type: string
x-dcl-go-name: SyncWaitSecs
description: 'Period in seconds(int64 format) between consecutive
syncs. Default: 15.'
preventDrift:
type: boolean
x-dcl-go-name: PreventDrift
description: Set to true to enable the Config Sync admission webhook
to prevent drifts. If set to `false`, disables the Config Sync
admission webhook and does not prevent drifts.
x-dcl-server-default: true
sourceFormat:
type: string
x-dcl-go-name: SourceFormat
description: Specifies whether the Config Sync Repo is in "hierarchical"
or "unstructured" mode.
stopSyncing:
type: boolean
x-dcl-go-name: StopSyncing
description: 'Set to true to stop syncing configs for a single cluster.
Default: false.'
hierarchyController:
type: object
x-dcl-go-name: HierarchyController
x-dcl-go-type: FeatureMembershipConfigmanagementHierarchyController
description: Hierarchy Controller configuration for the cluster.
x-dcl-send-empty: true
properties:
enableHierarchicalResourceQuota:
type: boolean
x-dcl-go-name: EnableHierarchicalResourceQuota
description: Whether hierarchical resource quota is enabled in this
cluster.
x-dcl-send-empty: true
enablePodTreeLabels:
type: boolean
x-dcl-go-name: EnablePodTreeLabels
description: Whether pod tree labels are enabled in this cluster.
x-dcl-send-empty: true
enabled:
type: boolean
x-dcl-go-name: Enabled
description: '**DEPRECATED** Configuring Hierarchy Controller through
the configmanagement feature is no longer recommended. Use https://github.com/kubernetes-sigs/hierarchical-namespaces
instead.'
x-dcl-send-empty: true
management:
type: string
x-dcl-go-name: Management
x-dcl-go-type: FeatureMembershipConfigmanagementManagementEnum
description: Set this field to MANAGEMENT_AUTOMATIC to enable Config
Sync auto-upgrades, and set this field to MANAGEMENT_MANUAL or MANAGEMENT_UNSPECIFIED
to disable Config Sync auto-upgrades.
x-dcl-server-default: true
enum:
- MANAGEMENT_UNSPECIFIED
- MANAGEMENT_AUTOMATIC
- MANAGEMENT_MANUAL
policyController:
type: object
x-dcl-go-name: PolicyController
x-dcl-go-type: FeatureMembershipConfigmanagementPolicyController
description: '**DEPRECATED** Configuring Policy Controller through the
configmanagement feature is no longer recommended. Use the policycontroller
feature instead.'
properties:
auditIntervalSeconds:
type: string
x-dcl-go-name: AuditIntervalSeconds
description: Sets the interval for Policy Controller Audit Scans
(in seconds). When set to 0, this disables audit functionality
altogether.
enabled:
type: boolean
x-dcl-go-name: Enabled
description: Enables the installation of Policy Controller. If false,
the rest of PolicyController fields take no effect.
exemptableNamespaces:
type: array
x-dcl-go-name: ExemptableNamespaces
description: The set of namespaces that are excluded from Policy
Controller checks. Namespaces do not need to currently exist on
the cluster.
x-dcl-send-empty: true
x-dcl-list-type: list
items:
type: string
x-dcl-go-type: string
logDeniesEnabled:
type: boolean
x-dcl-go-name: LogDeniesEnabled
description: Logs all denies and dry run failures.
monitoring:
type: object
x-dcl-go-name: Monitoring
x-dcl-go-type: FeatureMembershipConfigmanagementPolicyControllerMonitoring
description: 'Specifies the backends Policy Controller should export
metrics to. For example, to specify metrics should be exported
to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring",
"prometheus"]. Default: ["cloudmonitoring", "prometheus"]'
x-dcl-server-default: true
properties:
backends:
type: array
x-dcl-go-name: Backends
description: ' Specifies the list of backends Policy Controller
will export to. Specifying an empty value `[]` disables metrics
export.'
x-dcl-server-default: true
x-dcl-send-empty: true
x-dcl-list-type: list
items:
type: string
x-dcl-go-type: FeatureMembershipConfigmanagementPolicyControllerMonitoringBackendsEnum
enum:
- MONITORING_BACKEND_UNSPECIFIED
- PROMETHEUS
- CLOUD_MONITORING
mutationEnabled:
type: boolean
x-dcl-go-name: MutationEnabled
description: Enable or disable mutation in policy controller. If
true, mutation CRDs, webhook and controller deployment will be
deployed to the cluster.
referentialRulesEnabled:
type: boolean
x-dcl-go-name: ReferentialRulesEnabled
description: Enables the ability to use Constraint Templates that
reference to objects other than the object currently being evaluated.
templateLibraryInstalled:
type: boolean
x-dcl-go-name: TemplateLibraryInstalled
description: Installs the default template library along with Policy
Controller.
version:
type: string
x-dcl-go-name: Version
description: Optional. Version of ACM to install. Defaults to the latest
version.
x-dcl-server-default: true
feature:
type: string
x-dcl-go-name: Feature
description: The name of the feature
x-kubernetes-immutable: true
x-dcl-references:
- resource: Gkehub/Feature
field: name
parent: true
x-dcl-parameter: true
location:
type: string
x-dcl-go-name: Location
description: The location of the feature
x-kubernetes-immutable: true
x-dcl-parameter: true
membership:
type: string
x-dcl-go-name: Membership
description: The name of the membership
x-kubernetes-immutable: true
x-dcl-references:
- resource: Gkehub/Membership
field: name
x-dcl-parameter: true
membershipLocation:
type: string
x-dcl-go-name: MembershipLocation
description: The location of the membership
x-kubernetes-immutable: true
x-dcl-parameter: true
mesh:
type: object
x-dcl-go-name: Mesh
x-dcl-go-type: FeatureMembershipMesh
description: Manage Mesh Features
properties:
controlPlane:
type: string
x-dcl-go-name: ControlPlane
x-dcl-go-type: FeatureMembershipMeshControlPlaneEnum
description: '**DEPRECATED** Whether to automatically manage Service
Mesh control planes. Possible values: CONTROL_PLANE_MANAGEMENT_UNSPECIFIED,
AUTOMATIC, MANUAL'
enum:
- CONTROL_PLANE_MANAGEMENT_UNSPECIFIED
- AUTOMATIC
- MANUAL
management:
type: string
x-dcl-go-name: Management
x-dcl-go-type: FeatureMembershipMeshManagementEnum
description: 'Whether to automatically manage Service Mesh. Possible
values: MANAGEMENT_UNSPECIFIED, MANAGEMENT_AUTOMATIC, MANAGEMENT_MANUAL'
enum:
- MANAGEMENT_UNSPECIFIED
- MANAGEMENT_AUTOMATIC
- MANAGEMENT_MANUAL
policycontroller:
type: object
x-dcl-go-name: Policycontroller
x-dcl-go-type: FeatureMembershipPolicycontroller
description: Policy Controller-specific spec.
required:
- policyControllerHubConfig
properties:
policyControllerHubConfig:
type: object
x-dcl-go-name: PolicyControllerHubConfig
x-dcl-go-type: FeatureMembershipPolicycontrollerPolicyControllerHubConfig
description: Policy Controller configuration for the cluster.
properties:
auditIntervalSeconds:
type: integer
format: int64
x-dcl-go-name: AuditIntervalSeconds
description: Sets the interval for Policy Controller Audit Scans
(in seconds). When set to 0, this disables audit functionality
altogether.
constraintViolationLimit:
type: integer
format: int64
x-dcl-go-name: ConstraintViolationLimit
description: The maximum number of audit violations to be stored
in a constraint. If not set, the internal default of 20 will be
used.
deploymentConfigs:
type: object
additionalProperties:
type: object
x-dcl-go-type: FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs
properties:
containerResources:
type: object
x-dcl-go-name: ContainerResources
x-dcl-go-type: FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources
description: Container resource requirements.
x-dcl-conflicts:
- replicaCount
- podAffinity
- podTolerations
properties:
limits:
type: object
x-dcl-go-name: Limits
x-dcl-go-type: FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits
description: Limits describes the maximum amount of compute
resources allowed for use by the running container.
properties:
cpu:
type: string
x-dcl-go-name: Cpu
description: CPU requirement expressed in Kubernetes
resource units.
memory:
type: string
x-dcl-go-name: Memory
description: Memory requirement expressed in Kubernetes
resource units.
requests:
type: object
x-dcl-go-name: Requests
x-dcl-go-type: FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests
description: Requests describes the amount of compute
resources reserved for the container by the kube-scheduler.
properties:
cpu:
type: string
x-dcl-go-name: Cpu
description: CPU requirement expressed in Kubernetes
resource units.
memory:
type: string
x-dcl-go-name: Memory
description: Memory requirement expressed in Kubernetes
resource units.
podAffinity:
type: string
x-dcl-go-name: PodAffinity
x-dcl-go-type: FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodAffinityEnum
description: 'Pod affinity configuration. Possible values:
AFFINITY_UNSPECIFIED, NO_AFFINITY, ANTI_AFFINITY'
x-dcl-conflicts:
- replicaCount
- containerResources
- podTolerations
enum:
- AFFINITY_UNSPECIFIED
- NO_AFFINITY
- ANTI_AFFINITY
podTolerations:
type: array
x-dcl-go-name: PodTolerations
description: Pod tolerations of node taints.
x-dcl-conflicts:
- replicaCount
- containerResources
- podAffinity
x-dcl-send-empty: true
x-dcl-list-type: list
items:
type: object
x-dcl-go-type: FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations
properties:
effect:
type: string
x-dcl-go-name: Effect
description: Matches a taint effect.
key:
type: string
x-dcl-go-name: Key
description: Matches a taint key (not necessarily unique).
operator:
type: string
x-dcl-go-name: Operator
description: Matches a taint operator.
value:
type: string
x-dcl-go-name: Value
description: Matches a taint value.
replicaCount:
type: integer
format: int64
x-dcl-go-name: ReplicaCount
description: Pod replica count.
x-dcl-conflicts:
- containerResources
- podAffinity
- podTolerations
x-dcl-go-name: DeploymentConfigs
description: Map of deployment configs to deployments ("admission",
"audit", "mutation").
x-dcl-server-default: true
exemptableNamespaces:
type: array
x-dcl-go-name: ExemptableNamespaces
description: The set of namespaces that are excluded from Policy
Controller checks. Namespaces do not need to currently exist on
the cluster.
x-dcl-send-empty: true
x-dcl-list-type: list
items:
type: string
x-dcl-go-type: string
installSpec:
type: string
x-dcl-go-name: InstallSpec
x-dcl-go-type: FeatureMembershipPolicycontrollerPolicyControllerHubConfigInstallSpecEnum
description: 'Configures the mode of the Policy Controller installation.
Possible values: INSTALL_SPEC_UNSPECIFIED, INSTALL_SPEC_NOT_INSTALLED,
INSTALL_SPEC_ENABLED, INSTALL_SPEC_SUSPENDED, INSTALL_SPEC_DETACHED'
enum:
- INSTALL_SPEC_UNSPECIFIED
- INSTALL_SPEC_NOT_INSTALLED
- INSTALL_SPEC_ENABLED
- INSTALL_SPEC_SUSPENDED
- INSTALL_SPEC_DETACHED
logDeniesEnabled:
type: boolean
x-dcl-go-name: LogDeniesEnabled
description: Logs all denies and dry run failures.
monitoring:
type: object
x-dcl-go-name: Monitoring
x-dcl-go-type: FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring
description: 'Specifies the backends Policy Controller should export
metrics to. For example, to specify metrics should be exported
to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring",
"prometheus"]. Default: ["cloudmonitoring", "prometheus"]'
x-dcl-server-default: true
properties:
backends:
type: array
x-dcl-go-name: Backends
description: ' Specifies the list of backends Policy Controller
will export to. Specifying an empty value `[]` disables metrics
export.'
x-dcl-server-default: true
x-dcl-send-empty: true
x-dcl-list-type: list
items:
type: string
x-dcl-go-type: FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringBackendsEnum
enum:
- MONITORING_BACKEND_UNSPECIFIED
- PROMETHEUS
- CLOUD_MONITORING
mutationEnabled:
type: boolean
x-dcl-go-name: MutationEnabled
description: Enables the ability to mutate resources using Policy
Controller.
policyContent:
type: object
x-dcl-go-name: PolicyContent
x-dcl-go-type: FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent
description: Specifies the desired policy content on the cluster.
x-dcl-server-default: true
properties:
bundles:
type: object
additionalProperties:
type: object
x-dcl-go-type: FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles
properties:
exemptedNamespaces:
type: array
x-dcl-go-name: ExemptedNamespaces
description: The set of namespaces to be exempted from
the bundle.
x-dcl-send-empty: true
x-dcl-list-type: list
items:
type: string
x-dcl-go-type: string
x-dcl-go-name: Bundles
description: map of bundle name to BundleInstallSpec. The bundle
name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData`
annotation on a constraint.
templateLibrary:
type: object
x-dcl-go-name: TemplateLibrary
x-dcl-go-type: FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary
description: Configures the installation of the Template Library.
x-dcl-server-default: true
properties:
installation:
type: string
x-dcl-go-name: Installation
x-dcl-go-type: FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryInstallationEnum
description: 'Configures the manner in which the template
library is installed on the cluster. Possible values:
INSTALLATION_UNSPECIFIED, NOT_INSTALLED, ALL'
enum:
- INSTALLATION_UNSPECIFIED
- NOT_INSTALLED
- ALL
referentialRulesEnabled:
type: boolean
x-dcl-go-name: ReferentialRulesEnabled
description: Enables the ability to use Constraint Templates that
reference to objects other than the object currently being evaluated.
version:
type: string
x-dcl-go-name: Version
description: Optional. Version of Policy Controller to install. Defaults
to the latest version.
x-dcl-server-default: true
project:
type: string
x-dcl-go-name: Project
description: The project of the feature
x-kubernetes-immutable: true
x-dcl-references:
- resource: Cloudresourcemanager/Project
field: name
parent: true
x-dcl-parameter: true