Configure Your Platform

    Once you've connected to your new Platform, you'll need to install a Configuration to set it up. Configurations are Crossplane YAML which describe the APIs you want to provide teams. They're where you encapsulate policies and permissions using tools like OPA so you can provide application developers with a simple interface to consume.

    Typically most users are going to want to author their own Configurations. However, we've gone ahead and created one for you to save some time in this guide. You can find it here.

    From the Platform you just connected to, run the following commands:

    Install Required Providers

    To install the necessary Providers

    kubectl crossplane install provider registry.upbound.io/crossplane/provider-aws:v0.14.0
    kubectl crossplane install provider registry.upbound.io/crossplane/provider-helm:v0.3.7

    Verify the Provider is installed with

    kubectl get providers.pkg.crossplane.io

    Coming soon: Platforms will soon be able to automatically resolve Configuration dependencies

    Authenticate the Provider with your AWS account

    Create a ProviderConfig file locally called aws-provider.yaml by running this command in your terminal:

    touch aws-provider.yaml

    It should have the following contents:

    apiVersion: aws.crossplane.io/v1beta1
    kind: ProviderConfig
    metadata:
    name: default
    spec:
    credentials:
    source: Secret
    secretRef:
    namespace: crossplane-system
    name: aws-creds
    key: key

    Store AWS secrets in an environment variable for future use

    AWS_PROFILE=default && echo -e "[default]\naws_access_key_id = $(aws configure get aws_access_key_id --profile $AWS_PROFILE)\naws_secret_access_key = $(aws configure get aws_secret_access_key --profile $AWS_PROFILE)" > creds.conf

    Create a Kubernetes secret with your AWS credentials

    kubectl create secret generic aws-creds -n crossplane-system --from-file=key=./creds.conf

    Authenticate your Provider

    kubectl apply -f aws-provider.yaml

    Install our example Configuration

    Run this command to install the Configuration:

    kubectl crossplane install configuration registry.upbound.io/upbound/platform-ref-aws:v0.0.8

    Verify the Configuration is installed with this command:

    kubectl get configuration.pkg.crossplane.io

    The APIs defined in this Configuration should appear in the console view as soon as the configuration has been successfully installed.

    Install a config - success gif

    Setup a Network

    In order for developers to start using your API to provision the cluster and PostgreSQL abstractions included in platform-ref-aws, you're going to need to configure your network. Thankfully, we've included a Configuration to make that easy for you.

    From the Global Resources view in the Admin Console, navigate to the Network type and create a new resource. You can name it anything you'd like, but take note of the Cluster Ref and Network ID for future use.

    Create network interfaces

    Next


    To learn about some of these topics we covered in more detail, please see the resources below.