Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,181 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.18.0
creationTimestamp: null
name: kbsconfigs.confidentialcontainers.org
spec:
group: confidentialcontainers.org
names:
kind: KbsConfig
listKind: KbsConfigList
plural: kbsconfigs
singular: kbsconfig
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: KbsConfig is the Schema for the kbsconfigs API
properties:
apiVersion:
description: |-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type: string
kind:
description: |-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
metadata:
type: object
spec:
description: KbsConfigSpec defines the desired state of KbsConfig
properties:
KbsDeploymentSpec:
description: KbsDeploymentSpec is the struct for trustee deployment
options
properties:
replicas:
description: |-
Number of desired trustee pods. This is a pointer to distinguish between explicit
zero and not specified. Defaults to 1.
format: int32
type: integer
type: object
KbsEnvVars:
additionalProperties:
type: string
description: |-
KbsEnvVars injects environment variables in the trustee pods
For example, RUST_LOG=debug enables logging with DEBUG severity
type: object
ibmSEConfigSpec:
description: IbmSEConfigSpec is the struct that hosts the IBMSE specific
configuration
properties:
certStorePvc:
description: certStorePvc is the name of the PeristentVolumeClaim
where certificates/keys are mounted
type: string
type: object
kbsAsConfigMapName:
description: |-
KbsAsConfigMapName is the name of the configmap that contains the KBS AS configuration
Required only when MicroservicesDeployment is set
type: string
kbsAttestationPolicyConfigMapName:
description: KbsAttestationPolicyConfigMapName is the name of the
configmap that contains the Attestation Policy
type: string
kbsAuthSecretName:
description: KbsAuthSecretName is the name of the secret that contains
the KBS auth secret
type: string
kbsConfigMapName:
description: KbsConfigMapName is the name of the configmap that contains
the KBS configuration
type: string
kbsDeploymentType:
description: |-
KbsDeploymentType is the type of KBS deployment
It can assume one of the following values:
AllInOneDeployment: all the KBS components will be deployed in the same container
MicroservicesDeployment: all the KBS components will be deployed in separate containers
Default value is AllInOneDeployment
enum:
- AllInOneDeployment
- MicroservicesDeployment
type: string
kbsHttpsCertSecretName:
description: KbsHttpsCertSecretName is the name of the secret that
contains the KBS https certificate
type: string
kbsHttpsKeySecretName:
description: KbsHttpsKeySecretName is the name of the secret that
contains the KBS https private key
type: string
kbsLocalCertCacheSpec:
description: KbsLocalCertCacheSpec is the struct for mounting local
certificates into trustee file system
properties:
secrets:
description: Secrets is a list of certificate cache entries, each
containing a secret name and mount path
items:
description: KbsLocalCertCacheEntry defines a single certificate
cache entry with secret and mount path
properties:
mountPath:
description: |-
MountPath is the destination path in the trustee file system
The default path is "/etc/kbs/certs" if not specified by the user
type: string
secretName:
description: SecretName is the name of the secret that maps
to a local directory containing the certificates
type: string
required:
- secretName
type: object
type: array
type: object
kbsResourcePolicyConfigMapName:
description: KbsResourcePolicyConfigMapName is the name of the configmap
that contains the Resource Policy
type: string
kbsRvpsConfigMapName:
description: |-
KbsRvpsConfigMapName is the name of the configmap that contains the KBS RVPS configuration
Required only when MicroservicesDeployment is set
type: string
kbsRvpsRefValuesConfigMapName:
description: kbsRvpsRefValuesConfigMapName is the name of the configmap
that contains the RVPS reference values
type: string
kbsSecretResources:
description: KbsSecretResources is an array of secret names that contain
the keys required by clients
items:
type: string
type: array
kbsServiceType:
description: |-
KbsServiceType is the type of service to create for KBS
Default value is ClusterIP
type: string
tdxConfigSpec:
description: TdxConfigSpec is the struct that hosts the TDX specific
configuration
properties:
kbsTdxConfigMapName:
description: kbsTdxConfigMapName is the name of the configmap
containing sgx_default_qcnl.conf file
type: string
type: object
type: object
status:
description: KbsConfigStatus defines the observed state of KbsConfig
properties:
isReady:
description: IsReady is true when the KBS configuration is ready
type: boolean
type: object
type: object
served: true
storage: true
subresources:
status: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: null
storedVersions: null
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
apiVersion: v1
kind: Service
metadata:
creationTimestamp: null
labels:
app.kubernetes.io/component: kube-rbac-proxy
app.kubernetes.io/created-by: trustee-operator
app.kubernetes.io/instance: controller-manager-metrics-service
app.kubernetes.io/managed-by: kustomize
app.kubernetes.io/name: service
app.kubernetes.io/part-of: trustee-operator
control-plane: controller-manager
name: trustee-operator-controller-manager-metrics-service
spec:
ports:
- name: https
port: 8443
protocol: TCP
targetPort: https
selector:
control-plane: controller-manager
status:
loadBalancer: {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
creationTimestamp: null
name: trustee-operator-metrics-reader
rules:
- nonResourceURLs:
- /metrics
verbs:
- get
Loading
Loading