github.com/1aal/kubeblocks@v0.0.0-20231107070852-e1c03e598921/test/testdata/addon/addon.yaml (about)

     1  apiVersion: extensions.kubeblocks.io/v1alpha1
     2  kind: Addon
     3  metadata:
     4    generateName: addon-test
     5  spec:
     6    # Addon spec. description.
     7    description: Prometheus is a monitoring system and time series database.
     8  
     9    # Addon type, valid value is Helm. (Required)
    10    type: Helm
    11  
    12    # helm spec., it's only being processed if type=helm.
    13    helm:
    14      chartLocationURL: https://github.com/prometheus-community/helm-charts/releases/download/prometheus-15.16.1/prometheus-15.16.1.tgz
    15      # helm install options
    16      installOptions: # <map[string]string>
    17      #      # following assigned values are default options
    18      #      # wait: true
    19      #      atomic: "false"
    20      #      no-hooks: "false"
    21      #      timeout: "10m"
    22      #      # specify values in a YAML file or a URL (can specify multiple)
    23  
    24      installValues:
    25        # via URL
    26        urls: [ ]
    27  
    28        # via YAML contents reside in configMap.data.<key>
    29        configMapRefs:
    30  #        - name: prometheus-chart-kubeblocks-values
    31  #          namespace: default
    32  #          key: values-kubeblocks-override.yaml
    33        # via YAML contents reside in secret.data.<key>
    34        secretRefs:
    35        #        - name:
    36        #          namespace:
    37        #          key:
    38        setValues: [ ]
    39        setJSONValues: [ ]
    40  
    41      # values mapping specific to resources related context, i.e., replicaCount, storage, CPU & Memory.
    42      valuesMapping:
    43        valueMap: # map[KeyHelmValueKey]string
    44          replicaCount: server.replicaCount
    45          storageClass: server.persistentVolume.storageClass
    46          persistentVolumeEnabled: server.persistentVolume.enabled
    47  
    48        jsonMap: # map[KeyHelmValueKey]string
    49          tolerations: server.tolerations
    50  
    51        resources:
    52          storage: server.persistentVolume.size
    53          cpu:
    54            requests: server.resources.requests.cpu
    55            limits: server.resources.limits.cpu
    56          memory:
    57            requests: server.resources.requests.memory
    58            limits: server.resources.limits.memory
    59        extras:
    60          - name: alertmanager
    61            valueMap: # map[KeyHelmValueKey]string
    62              replicaCount: alertmanager.replicaCount
    63              storageClass: alertmanager.persistentVolume.storageClass
    64              persistentVolumeEnabled: alertmanager.persistentVolume.enabled
    65  
    66            jsonMap: # map[KeyHelmValueKey]string
    67              tolerations: alertmanager.tolerations
    68  
    69            resources:
    70              storage: alertmanager.persistentVolume.size
    71              cpu:
    72                requests: alertmanager.resources.requests.cpu
    73                limits: alertmanager.resources.limits.cpu
    74              memory:
    75                requests: alertmanager.resources.requests.memory
    76                limits: alertmanager.resources.limits.memory
    77  
    78    # defaultInstall provides default installSpec template. (Required)
    79    defaultInstallValues:
    80      - replicas: 1
    81        storageClass:
    82        tolerations: "[]"
    83        resources:
    84          requests:
    85            storage: 1Gi
    86        extras:
    87          - name: alertmanager
    88            storageClass:
    89            tolerations: "[]"
    90            replicas: 1
    91            resources:
    92              requests:
    93                storage: 1Gi
    94  
    95      - # Addon default install value selectors. If multiple selectors are provided
    96        # that all selectors must evaluate to true.
    97        selectors:
    98          - # selector key, valid values are kubeGitVersion, kubeVersion.
    99            # "kubeVersion" the semver expression of Kubernetes versions, i.e., v1.24.
   100            # "kubeGitVersion" may contain distro info, i.e., v1.24.4+k3s1.
   101            key: KubeGitVersion
   102            # cluster version comparator opreator
   103            # Possible enum values:
   104            # - `"Contains"` line contains string (symbol: "|=")
   105            # - `"DoesNotContain"` line does not contain string (symbol: "!=")
   106            # - `"MatchRegex"` line contains a match to the regular expression (symbol: "|~")
   107            # - `"DoesNoteMatchRegex"` line does not contain a match to the regular expression (symbol: "!~")
   108            operator: Contains
   109            # An array of string values. Server as "OR" expression to operator.
   110            values:
   111              - ack
   112        replicas: 1
   113        storageClass: alicloud-disk-efficiency
   114        tolerations: "[]"
   115        resources:
   116          requests:
   117            storage: 20Gi
   118        extras:
   119          - name: alertmanager
   120            replicas: 1
   121            storageClass: alicloud-disk-efficiency
   122            resources:
   123              requests:
   124                storage: 20Gi
   125  
   126  
   127  
   128  
   129    # Addon installable spec., provide selector and auto-install settings.
   130    installable:
   131      # autoInstall defines an addon should auto installed
   132      autoInstall: false
   133      # Addon installable selectors. If multiple selectors are provided
   134      # that all selectors must evaluate to true.
   135      selectors:
   136        - # selector key, valid values are kubeGitVersion, kubeVersion.
   137          # "kubeVersion" the semver expression of Kubernetes versions, i.e., v1.24.
   138          # "kubeGitVersion" may contain distro info, i.e., v1.24.4+k3s1.
   139          key: KubeGitVersion
   140          # cluster version comparator opreator
   141          # Possible enum values:
   142          # - `"Contains"` line contains string (symbol: "|=")
   143          # - `"DoesNotContain"` line does not contain string (symbol: "!=")
   144          # - `"MatchRegex"` line contains a match to the regular expression (symbol: "|~")
   145          # - `"DoesNoteMatchRegex"` line does not contain a match to the regular expression (symbol: "!~")
   146          operator: Contains
   147          # An array of string values. Server as "OR" expression to operator.
   148          values:
   149            - kubeblocks
   150  
   151  #  # addon enabled install spec, if its empty for disabled addon.
   152  #  install:
   153  #    # primary component resources attributes.
   154  #    replicas: 2
   155  #    storageClass:
   156  #    # JSON array string
   157  #    tolerations: '[]'
   158  #    resources:
   159  #      requests:
   160  #        storage: 8Gi
   161  #        memory: 512Mi
   162  #      limits:
   163  #        memory: 4Gi
   164  #    # extra components resources attributes.
   165  #    extras:
   166  #      - name: alertmanager
   167  #        replicas: 2
   168  #        storageClass:
   169  #        resources:
   170  #          requests:
   171  #            storage: 1Gi
   172  #            memory: 16Mi
   173  #          limits:
   174  #            memory: 256Mi