github.com/oam-dev/kubevela@v1.9.11/charts/vela-core/templates/defwithtemplate/generate-jdbc-connection.yaml (about)

     1  # Code generated by KubeVela templates. DO NOT EDIT. Please edit the original cue file.
     2  # Definition source cue file: vela-templates/definitions/internal/generate-jdbc-connection.cue
     3  apiVersion: core.oam.dev/v1beta1
     4  kind: WorkflowStepDefinition
     5  metadata:
     6    annotations:
     7      custom.definition.oam.dev/category: Terraform
     8      definition.oam.dev/description: Generate a JDBC connection based on Component of alibaba-rds
     9    name: generate-jdbc-connection
    10    namespace: {{ include "systemDefinitionNamespace" . }}
    11  spec:
    12    schematic:
    13      cue:
    14        template: |
    15          import (
    16          	"vela/op"
    17          	"encoding/base64"
    18          )
    19  
    20          output: op.#Read & {
    21          	value: {
    22          		apiVersion: "v1"
    23          		kind:       "Secret"
    24          		metadata: {
    25          			name: parameter.name
    26          			if parameter.namespace != _|_ {
    27          				namespace: parameter.namespace
    28          			}
    29          		}
    30          	}
    31          }
    32          dbHost:   op.#ConvertString & {bt: base64.Decode(null, output.value.data["DB_HOST"])}
    33          dbPort:   op.#ConvertString & {bt: base64.Decode(null, output.value.data["DB_PORT"])}
    34          dbName:   op.#ConvertString & {bt: base64.Decode(null, output.value.data["DB_NAME"])}
    35          username: op.#ConvertString & {bt: base64.Decode(null, output.value.data["DB_USER"])}
    36          password: op.#ConvertString & {bt: base64.Decode(null, output.value.data["DB_PASSWORD"])}
    37  
    38          env: [
    39          	{name: "url", value:      "jdbc://" + dbHost.str + ":" + dbPort.str + "/" + dbName.str + "?characterEncoding=utf8&useSSL=false"},
    40          	{name: "username", value: username.str},
    41          	{name: "password", value: password.str},
    42          ]
    43  
    44          parameter: {
    45          	// +usage=Specify the name of the secret generated by database component
    46          	name: string
    47          	// +usage=Specify the namespace of the secret generated by database component
    48          	namespace?: string
    49          }
    50