package main import ( "encoding/base64" "dagger.io/aws/rds" ) database: { let slug = name dbType: "mysql" | "postgresql" db: rds.#CreateDB & { config: infra.awsConfig name: slug dbArn: infra.rdsInstanceArn "dbType": dbType secretArn: infra.rdsAdminSecretArn } user: rds.#CreateUser & { config: infra.awsConfig dbArn: infra.rdsInstanceArn "dbType": dbType secretArn: infra.rdsAdminSecretArn username: slug // FIXME: make it secure (generate infra side?) password: base64.Encode(null, "pwd-\(slug)") grantDatabase: db.out } instance: rds.#Instance & { config: infra.awsConfig dbArn: infra.rdsInstanceArn } hostname: instance.hostname port: instance.port dbName: db.out username: user.out password: user.password }