<p>Suppose we have a kubernetes stack running on AWS and we would like to config our component directly via kubernetes chart files to be able to provision some AWS services (for example a DynamoDB table).</p>

<p>What would be the best practice if we want to achieve this and hopefully also allow our kubernetes component can connect to the provisioned services via IAM way (not just using simple key secret pairs)</p>

<p>So once achieve that, one can let a kubernetes component has a char file such as:</p>

<pre><code>apiVersion: alpha1/v1
Kind: Database
type: dynamodb
table_name: a_test_table
hash_key: some_id
range_key: some_order
</code></pre>

<p>Then when deploying this component onto Kubernetes stacks, it will provision a DynamoDB table with name <code>a_test_table</code> for this service to be successfully connected onto.</p>

<p>What you are describing here is more or less what the <a href="https://github.com/awslabs/aws-servicebroker/" rel="nofollow noreferrer">AWS Service Broker</a> is trying to achieve. Using the <a href="https://www.openservicebrokerapi.org/" rel="nofollow noreferrer">Open Service Broker API</a>, the AWS broker would react to the creation of specific kubernetes objects, creating the required resources on AWS. <a href="https://aws.amazon.com/es/blogs/opensource/provision-aws-services-kubernetes-aws-service-broker/" rel="nofollow noreferrer">Here you can find an AWS post explaining how this works</a>.</p>

<p>There are different brokers for different cloud providers, not just AWS.</p>
