| # |
| # Licensed to the Apache Software Foundation (ASF) under one or more |
| # contributor license agreements. See the NOTICE file distributed with |
| # this work for additional information regarding copyright ownership. |
| # The ASF licenses this file to You 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. |
| # |
| |
| apiVersion: apiextensions.k8s.io/v1 |
| kind: CustomResourceDefinition |
| metadata: |
| name: submarines.submarine.apache.org |
| labels: |
| app.kubernetes.io/name: submarine-operator |
| app.kubernetes.io/version: "0.8.0" |
| app.kubernetes.io/component: submarine-operator |
| app.kubernetes.io/managed-by: Helm |
| spec: |
| group: submarine.apache.org |
| names: |
| kind: Submarine |
| listKind: SubmarineList |
| plural: submarines |
| singular: submarine |
| shortNames: |
| - sm |
| categories: |
| - all |
| scope: Namespaced |
| versions: |
| - name: v1 |
| schema: |
| openAPIV3Schema: |
| description: Submarine is the Schema for the submarines 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: SubmarineSpec defines the desired state of Submarine |
| properties: |
| common: |
| description: Common is the spec that defines some submarine common |
| configurations |
| properties: |
| image: |
| description: Image is the basic image used in initcontainer in |
| some submarine resources |
| properties: |
| busybox: |
| description: BusyboxImage is the image used by the submarine |
| service resource (server...) to check whether the minio |
| is started in the initcontainer |
| type: string |
| mc: |
| description: McImage is the image used by the submarine service |
| resource (server...) to check whether the minio is started |
| in the initcontainer |
| type: string |
| pullSecrets: |
| description: PullSecrets is a specified array of imagePullSecrets. |
| This secrets must be manually created in the namespace. |
| items: |
| type: string |
| type: array |
| type: object |
| required: |
| - image |
| type: object |
| database: |
| description: Database is the spec that defines the submarine database |
| properties: |
| image: |
| description: Image is the submarine database's docker image |
| type: string |
| mysqlRootPasswordSecret: |
| description: 'MysqlRootPasswordSecret is the mysql root password |
| secret, this secret need password key: MYSQL_ROOT_PASSWORD' |
| type: string |
| storageSize: |
| description: StorageSize is the storage size of the database |
| type: string |
| required: |
| - storageSize |
| type: object |
| minio: |
| description: Minio is the spec that defines the submarine minio |
| properties: |
| accessKey: |
| description: AccessKey defines the access_key of minio |
| type: string |
| enabled: |
| description: Enabled defines whether to enable minio or not |
| type: boolean |
| image: |
| description: Image is the submarine minio's docker image |
| type: string |
| secretKey: |
| description: SecretKey defines the secret_key of minio |
| type: string |
| storageSize: |
| description: StorageSize defines the storage size of minio |
| type: string |
| required: |
| - enabled |
| - storageSize |
| type: object |
| mlflow: |
| description: Mlflow is the spec that defines the submarine mlflow |
| properties: |
| enabled: |
| description: Enabled defines whether to enable mlflow or not |
| type: boolean |
| image: |
| description: Image is the submarine mlflow's docker image |
| type: string |
| storageSize: |
| description: StorageSize defines the storage size of mlflow |
| type: string |
| required: |
| - enabled |
| - storageSize |
| type: object |
| server: |
| description: Server is the spec that defines the submarine server |
| properties: |
| env: |
| description: Envs is the extra environments that submarine server |
| requires |
| items: |
| description: EnvVar represents an environment variable present |
| in a Container. |
| properties: |
| name: |
| description: Name of the environment variable. Must be a |
| C_IDENTIFIER. |
| type: string |
| value: |
| description: 'Variable references $(VAR_NAME) are expanded |
| using the previously defined environment variables in |
| the container and any service environment variables. If |
| a variable cannot be resolved, the reference in the input |
| string will be unchanged. Double $$ are reduced to a single |
| $, which allows for escaping the $(VAR_NAME) syntax: i.e. |
| "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". |
| Escaped references will never be expanded, regardless |
| of whether the variable exists or not. Defaults to "".' |
| type: string |
| valueFrom: |
| description: Source for the environment variable's value. |
| Cannot be used if value is not empty. |
| properties: |
| configMapKeyRef: |
| description: Selects a key of a ConfigMap. |
| properties: |
| key: |
| description: The key to select. |
| type: string |
| name: |
| description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Add other useful fields. apiVersion, kind, |
| uid?' |
| type: string |
| optional: |
| description: Specify whether the ConfigMap or its |
| key must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| fieldRef: |
| description: 'Selects a field of the pod: supports metadata.name, |
| metadata.namespace, `metadata.labels[''<KEY>'']`, |
| `metadata.annotations[''<KEY>'']`, spec.nodeName, |
| spec.serviceAccountName, status.hostIP, status.podIP, |
| status.podIPs.' |
| properties: |
| apiVersion: |
| description: Version of the schema the FieldPath |
| is written in terms of, defaults to "v1". |
| type: string |
| fieldPath: |
| description: Path of the field to select in the |
| specified API version. |
| type: string |
| required: |
| - fieldPath |
| type: object |
| resourceFieldRef: |
| description: 'Selects a resource of the container: only |
| resources limits and requests (limits.cpu, limits.memory, |
| limits.ephemeral-storage, requests.cpu, requests.memory |
| and requests.ephemeral-storage) are currently supported.' |
| properties: |
| containerName: |
| description: 'Container name: required for volumes, |
| optional for env vars' |
| type: string |
| divisor: |
| anyOf: |
| - type: integer |
| - type: string |
| description: Specifies the output format of the |
| exposed resources, defaults to "1" |
| pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ |
| x-kubernetes-int-or-string: true |
| resource: |
| description: 'Required: resource to select' |
| type: string |
| required: |
| - resource |
| type: object |
| secretKeyRef: |
| description: Selects a key of a secret in the pod's |
| namespace |
| properties: |
| key: |
| description: The key of the secret to select from. Must |
| be a valid secret key. |
| type: string |
| name: |
| description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Add other useful fields. apiVersion, kind, |
| uid?' |
| type: string |
| optional: |
| description: Specify whether the Secret or its key |
| must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| type: object |
| required: |
| - name |
| type: object |
| type: array |
| image: |
| description: Image is the submarine server's docker image |
| type: string |
| replicas: |
| description: Replicas is the number of submarine server's replica |
| format: int32 |
| minimum: 1 |
| type: integer |
| required: |
| - replicas |
| type: object |
| tensorboard: |
| description: Tensorboard is the spec that defines the submarine tensorboard |
| properties: |
| enabled: |
| description: Enabled defines whether to enable tensorboard or |
| not |
| type: boolean |
| image: |
| description: Image is the submarine tensorboard's docker image |
| type: string |
| storageSize: |
| description: StorageSize defines the storage size of tensorboard |
| type: string |
| required: |
| - enabled |
| - storageSize |
| type: object |
| version: |
| description: Version is the submarine docker image version |
| type: string |
| virtualservice: |
| description: Virtualservice is the spec that defines the submarine |
| virtualservice |
| properties: |
| gateways: |
| description: Hosts is the submarine virtualservice's gateways |
| items: |
| type: string |
| type: array |
| hosts: |
| description: Hosts is the submarine virtualservice's destination |
| hosts |
| items: |
| type: string |
| type: array |
| type: object |
| required: |
| - database |
| - minio |
| - mlflow |
| - server |
| - tensorboard |
| - version |
| type: object |
| status: |
| description: SubmarineStatus defines the observed state of Submarine |
| properties: |
| availableDatabaseReplicas: |
| description: AvailableServerReplicas is the current available replicas |
| of submarine database |
| format: int32 |
| type: integer |
| availableServerReplicas: |
| description: AvailableServerReplicas is the current available replicas |
| of submarine server |
| format: int32 |
| type: integer |
| submarineState: |
| description: SubmarineState tells the overall submarine state. |
| properties: |
| errorMessage: |
| type: string |
| state: |
| description: SubmarineStateType represents the type of the current |
| state of a submarine. |
| type: string |
| required: |
| - state |
| type: object |
| required: |
| - availableDatabaseReplicas |
| - availableServerReplicas |
| type: object |
| type: object |
| served: true |
| storage: true |
| subresources: |
| status: {} |
| status: |
| acceptedNames: |
| kind: "" |
| plural: "" |
| conditions: [] |
| storedVersions: [] |