Configure myks env-data with global repoURL pointing to Forgejo repo, switch destination from cluster name to in-cluster server URL, and disable placeholder cluster Secret generation. Add deploy key init Job that generates an SSH keypair, registers it with Forgejo, and creates the ArgoCD repository secret. Switch job images from bitnami/kubectl to alpine/k8s. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
340 lines
13 KiB
YAML
340 lines
13 KiB
YAML
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
a8r.io/repository: ssh://git@git.tr1ceracop.de:222/gitea_admin/k8s-and-chill.git
|
|
controller-gen.kubebuilder.io/version: v0.17.1
|
|
name: aiservices.hub.traefik.io
|
|
namespace: traefik
|
|
spec:
|
|
group: hub.traefik.io
|
|
names:
|
|
kind: AIService
|
|
listKind: AIServiceList
|
|
plural: aiservices
|
|
singular: aiservice
|
|
scope: Namespaced
|
|
versions:
|
|
- name: v1alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: AIService is a Kubernetes-like Service to interact with a text-based LLM provider. It defines the parameters and credentials required to interact with various LLM providers.
|
|
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: The desired behavior of this AIService.
|
|
properties:
|
|
anthropic:
|
|
description: Anthropic configures Anthropic backend.
|
|
properties:
|
|
model:
|
|
type: string
|
|
params:
|
|
description: Params holds the LLM hyperparameters.
|
|
properties:
|
|
frequencyPenalty:
|
|
type: number
|
|
maxTokens:
|
|
type: integer
|
|
presencePenalty:
|
|
type: number
|
|
temperature:
|
|
type: number
|
|
topP:
|
|
type: number
|
|
type: object
|
|
token:
|
|
description: SecretReference references a kubernetes secret.
|
|
properties:
|
|
secretName:
|
|
maxLength: 253
|
|
type: string
|
|
required:
|
|
- secretName
|
|
type: object
|
|
type: object
|
|
azureOpenai:
|
|
description: AzureOpenAI configures AzureOpenAI.
|
|
properties:
|
|
apiKeySecret:
|
|
description: SecretReference references a kubernetes secret.
|
|
properties:
|
|
secretName:
|
|
maxLength: 253
|
|
type: string
|
|
required:
|
|
- secretName
|
|
type: object
|
|
baseUrl:
|
|
type: string
|
|
deploymentName:
|
|
type: string
|
|
model:
|
|
type: string
|
|
params:
|
|
description: Params holds the LLM hyperparameters.
|
|
properties:
|
|
frequencyPenalty:
|
|
type: number
|
|
maxTokens:
|
|
type: integer
|
|
presencePenalty:
|
|
type: number
|
|
temperature:
|
|
type: number
|
|
topP:
|
|
type: number
|
|
type: object
|
|
required:
|
|
- baseUrl
|
|
- deploymentName
|
|
type: object
|
|
bedrock:
|
|
description: Bedrock configures Bedrock backend.
|
|
properties:
|
|
model:
|
|
type: string
|
|
params:
|
|
description: Params holds the LLM hyperparameters.
|
|
properties:
|
|
frequencyPenalty:
|
|
type: number
|
|
maxTokens:
|
|
type: integer
|
|
presencePenalty:
|
|
type: number
|
|
temperature:
|
|
type: number
|
|
topP:
|
|
type: number
|
|
type: object
|
|
region:
|
|
type: string
|
|
systemMessage:
|
|
type: boolean
|
|
type: object
|
|
cohere:
|
|
description: Cohere configures Cohere backend.
|
|
properties:
|
|
model:
|
|
type: string
|
|
params:
|
|
description: Params holds the LLM hyperparameters.
|
|
properties:
|
|
frequencyPenalty:
|
|
type: number
|
|
maxTokens:
|
|
type: integer
|
|
presencePenalty:
|
|
type: number
|
|
temperature:
|
|
type: number
|
|
topP:
|
|
type: number
|
|
type: object
|
|
token:
|
|
description: SecretReference references a kubernetes secret.
|
|
properties:
|
|
secretName:
|
|
maxLength: 253
|
|
type: string
|
|
required:
|
|
- secretName
|
|
type: object
|
|
type: object
|
|
deepSeek:
|
|
description: DeepSeek configures DeepSeek.
|
|
properties:
|
|
baseUrl:
|
|
type: string
|
|
model:
|
|
type: string
|
|
params:
|
|
description: Params holds the LLM hyperparameters.
|
|
properties:
|
|
frequencyPenalty:
|
|
type: number
|
|
maxTokens:
|
|
type: integer
|
|
presencePenalty:
|
|
type: number
|
|
temperature:
|
|
type: number
|
|
topP:
|
|
type: number
|
|
type: object
|
|
token:
|
|
description: SecretReference references a kubernetes secret.
|
|
properties:
|
|
secretName:
|
|
maxLength: 253
|
|
type: string
|
|
required:
|
|
- secretName
|
|
type: object
|
|
type: object
|
|
gemini:
|
|
description: Gemini configures Gemini backend.
|
|
properties:
|
|
apiKey:
|
|
description: SecretReference references a kubernetes secret.
|
|
properties:
|
|
secretName:
|
|
maxLength: 253
|
|
type: string
|
|
required:
|
|
- secretName
|
|
type: object
|
|
model:
|
|
type: string
|
|
params:
|
|
description: Params holds the LLM hyperparameters.
|
|
properties:
|
|
frequencyPenalty:
|
|
type: number
|
|
maxTokens:
|
|
type: integer
|
|
presencePenalty:
|
|
type: number
|
|
temperature:
|
|
type: number
|
|
topP:
|
|
type: number
|
|
type: object
|
|
type: object
|
|
mistral:
|
|
description: Mistral configures Mistral AI backend.
|
|
properties:
|
|
apiKey:
|
|
description: SecretReference references a kubernetes secret.
|
|
properties:
|
|
secretName:
|
|
maxLength: 253
|
|
type: string
|
|
required:
|
|
- secretName
|
|
type: object
|
|
model:
|
|
type: string
|
|
params:
|
|
description: Params holds the LLM hyperparameters.
|
|
properties:
|
|
frequencyPenalty:
|
|
type: number
|
|
maxTokens:
|
|
type: integer
|
|
presencePenalty:
|
|
type: number
|
|
temperature:
|
|
type: number
|
|
topP:
|
|
type: number
|
|
type: object
|
|
type: object
|
|
ollama:
|
|
description: Ollama configures Ollama backend.
|
|
properties:
|
|
baseUrl:
|
|
type: string
|
|
model:
|
|
type: string
|
|
params:
|
|
description: Params holds the LLM hyperparameters.
|
|
properties:
|
|
frequencyPenalty:
|
|
type: number
|
|
maxTokens:
|
|
type: integer
|
|
presencePenalty:
|
|
type: number
|
|
temperature:
|
|
type: number
|
|
topP:
|
|
type: number
|
|
type: object
|
|
required:
|
|
- baseUrl
|
|
type: object
|
|
openai:
|
|
description: OpenAI configures OpenAI.
|
|
properties:
|
|
baseUrl:
|
|
type: string
|
|
model:
|
|
type: string
|
|
params:
|
|
description: Params holds the LLM hyperparameters.
|
|
properties:
|
|
frequencyPenalty:
|
|
type: number
|
|
maxTokens:
|
|
type: integer
|
|
presencePenalty:
|
|
type: number
|
|
temperature:
|
|
type: number
|
|
topP:
|
|
type: number
|
|
type: object
|
|
token:
|
|
description: SecretReference references a kubernetes secret.
|
|
properties:
|
|
secretName:
|
|
maxLength: 253
|
|
type: string
|
|
required:
|
|
- secretName
|
|
type: object
|
|
type: object
|
|
qWen:
|
|
description: QWen configures QWen.
|
|
properties:
|
|
baseUrl:
|
|
type: string
|
|
model:
|
|
type: string
|
|
params:
|
|
description: Params holds the LLM hyperparameters.
|
|
properties:
|
|
frequencyPenalty:
|
|
type: number
|
|
maxTokens:
|
|
type: integer
|
|
presencePenalty:
|
|
type: number
|
|
temperature:
|
|
type: number
|
|
topP:
|
|
type: number
|
|
type: object
|
|
token:
|
|
description: SecretReference references a kubernetes secret.
|
|
properties:
|
|
secretName:
|
|
maxLength: 253
|
|
type: string
|
|
required:
|
|
- secretName
|
|
type: object
|
|
type: object
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|