github.com/oam-dev/kubevela@v1.9.11/vela-templates/definitions/internal/workflowstep/generate-jdbc-connection.cue (about)

     1  import (
     2  	"vela/op"
     3  	"encoding/base64"
     4  )
     5  
     6  "generate-jdbc-connection": {
     7  	type: "workflow-step"
     8  	annotations: {
     9  		"category": "Terraform"
    10  	}
    11  	description: "Generate a JDBC connection based on Component of alibaba-rds"
    12  }
    13  template: {
    14  	output: op.#Read & {
    15  		value: {
    16  			apiVersion: "v1"
    17  			kind:       "Secret"
    18  			metadata: {
    19  				name: parameter.name
    20  				if parameter.namespace != _|_ {
    21  					namespace: parameter.namespace
    22  				}
    23  			}
    24  		}
    25  	}
    26  	dbHost:   op.#ConvertString & {bt: base64.Decode(null, output.value.data["DB_HOST"])}
    27  	dbPort:   op.#ConvertString & {bt: base64.Decode(null, output.value.data["DB_PORT"])}
    28  	dbName:   op.#ConvertString & {bt: base64.Decode(null, output.value.data["DB_NAME"])}
    29  	username: op.#ConvertString & {bt: base64.Decode(null, output.value.data["DB_USER"])}
    30  	password: op.#ConvertString & {bt: base64.Decode(null, output.value.data["DB_PASSWORD"])}
    31  
    32  	env: [
    33  		{name: "url", value:      "jdbc://" + dbHost.str + ":" + dbPort.str + "/" + dbName.str + "?characterEncoding=utf8&useSSL=false"},
    34  		{name: "username", value: username.str},
    35  		{name: "password", value: password.str},
    36  	]
    37  
    38  	parameter: {
    39  		// +usage=Specify the name of the secret generated by database component
    40  		name: string
    41  		// +usage=Specify the namespace of the secret generated by database component
    42  		namespace?: string
    43  	}
    44  }