Skip to content

Crossplane AWS Provider

Crossplane AWS Provider

Category: Cloud Management Type: Cluster Service Tags: crossplane · cloud · control-plane · AWS Editable: Yes


Overview

The Crossplane AWS Provider enables Kubernetes to provision and manage AWS resources — EC2 instances, S3 buckets, RDS databases, VPCs, and more — directly through the Kubernetes API. It reads AWS credentials from a Kubernetes Secret that you pre-create in the cluster, then uses those credentials to make AWS API calls on behalf of your compositions and claims.

This plugin requires Crossplane to be installed first. You will also need an AWS credentials secret in your cluster before installation.


How It Works

Cluster Service — Installed once per cluster by an administrator. Once active, Crossplane can provision and manage AWS resources on behalf of the whole cluster using the credentials you provide.


Prerequisites

  • Crossplane plugin installed in the cluster
  • An AWS credentials Kubernetes Secret pre-created in your cluster

To create the AWS credentials secret:

kubectl create secret generic aws-credentials \
  --from-literal=credentials="[default]
aws_access_key_id = YOUR_ACCESS_KEY
aws_secret_access_key = YOUR_SECRET_KEY" \
  -n <your-namespace>

See the Kubernetes Secrets documentation for more options.


Installation

  1. Install the Crossplane plugin first
  2. Create your AWS credentials secret in the cluster
  3. Open Terra and navigate to the Plugin Marketplace
  4. Search for "Crossplane AWS Provider"
  5. Click Install
  6. Fill in the configuration fields below
  7. Click Confirm to deploy

Configuration

Install-Time Fields

Field Details
version string · Optional · Default: v0.55.0
Version of the Crossplane AWS Provider to install
secret_namespace string · Required
Namespace where your AWS credentials secret is stored
secret_name string · Required
Name of the Kubernetes Secret containing AWS credentials
secret_key string · Required
Key within the secret that holds the credentials file content

Notes

  • This plugin is editable — you can update secret references and provider version after initial install via Terra
  • The AWS Provider supports a wide range of AWS services; see the Crossplane AWS Provider documentation for the full resource catalog
  • Never store AWS credentials directly in terra.yaml values — always reference a Kubernetes Secret

plugins/crossplane-aws-provider/terra.yaml
resource_id: crossplane-aws-provider
name: Crossplane AWS Provider
icon: https://raw.githubusercontent.com/juno-fx/Terra-Official-Plugins/refs/heads/main/plugins/crossplane/assets/logo.png
description: The Crossplane AWS Provider lets you provision and manage AWS resources directly from Kubernetes.
  This plugin requires Crossplane to be installed and an AWS secret inside your cluster. You can learn more about Kuberenetes secrets
  via the official documentation https://kubernetes.io/docs/tasks/configmap-secret/managing-secret-using-kubectl/
category: Cloud Management
tags:
  - crossplane
  - cloud
  - cluster-level
  - control plane
  - AWS
editable: true
fields:
  - name: version
    description: Version of AWS provider plugin to install. (defaults to v0.55.0)
    required: false
    default: v0.55.0
  - name: secret_namespace
    description: Namespace where your AWS secret is stored
    required: true
  - name: secret_name
    description: Name of your AWS secret
    required: true
  - name: secret_key
    description: Your AWS secret key
    required: true