Skip to main content

API Reference

Complete reference documentation for Infra Operator Custom Resource Definitions (CRDs).

API Group​

All Infra Operator resources use the following API group:

API Group:

aws-infra-operator.runner.codes/v1alpha1

Available Resources​

Core Resources​

KindDescriptionStatus
AWSProviderAWS credentials and configurationStable

Networking Resources​

KindDescriptionStatus
VPCVirtual Private CloudStable
SubnetVPC SubnetStable
InternetGatewayInternet GatewayStable
NATGatewayNAT GatewayStable
RouteTableRoute TableStable
SecurityGroupSecurity GroupStable
ElasticIPElastic IP AddressStable
ALBApplication Load BalancerStable
NLBNetwork Load BalancerStable

Compute Resources​

KindDescriptionStatus
EC2InstanceEC2 InstanceStable
EKSClusterEKS Kubernetes ClusterStable
ECSClusterECS Container ClusterStable
LambdaFunctionLambda FunctionStable
ComputeStackAll-in-one InfrastructureStable

Storage Resources​

KindDescriptionStatus
S3BucketS3 BucketStable

Database Resources​

KindDescriptionStatus
RDSInstanceRDS Database InstanceStable
DynamoDBTableDynamoDB TableStable
ElastiCacheClusterElastiCache ClusterStable

Container Resources​

KindDescriptionStatus
ECRRepositoryECR Container RegistryStable

Messaging Resources​

KindDescriptionStatus
SQSQueueSQS QueueStable
SNSTopicSNS TopicStable

Security Resources​

KindDescriptionStatus
IAMRoleIAM RoleStable
KMSKeyKMS Encryption KeyStable
SecretsManagerSecretSecrets Manager SecretStable
CertificateACM CertificateStable
EC2KeyPairEC2 SSH Key PairStable

CDN & DNS Resources​

KindDescriptionStatus
CloudFrontCloudFront DistributionStable
Route53HostedZoneRoute53 Hosted ZoneStable
Route53RecordSetRoute53 DNS RecordStable

API Management​

KindDescriptionStatus
APIGatewayAPI GatewayStable

Common Fields​

ProviderRef​

All AWS resources require a reference to an AWSProvider:

Example:

spec:
providerRef:
name: aws-production # Name of AWSProvider resource

Tags​

Most resources support AWS tags:

Example:

spec:
tags:
Environment: production
Team: platform
ManagedBy: infra-operator

DeletionPolicy​

Controls what happens when the Kubernetes resource is deleted:

Example:

spec:
deletionPolicy: Delete # Delete | Retain | Orphan
  • Delete: Delete the AWS resource when CR is deleted (default)
  • Retain: Keep the AWS resource but remove from operator management
  • Orphan: Keep the AWS resource and remove ownership metadata

Status Fields​

All resources expose common status fields:

FieldTypeDescription
readybooleanWhether resource is ready for use
lastSyncTimestringLast successful sync with AWS
conditionsarrayDetailed status conditions

Example​

Example:

apiVersion: aws-infra-operator.runner.codes/v1alpha1
kind: VPC
metadata:
name: production-vpc
namespace: infra-operator
spec:
providerRef:
name: aws-production
cidrBlock: "10.0.0.0/16"
enableDnsSupport: true
enableDnsHostnames: true
tags:
Environment: production
deletionPolicy: Retain
status:
vpcID: vpc-0123456789abcdef0
cidrBlock: "10.0.0.0/16"
state: available
ready: true
lastSyncTime: "2025-11-22T20:18:08Z"

Next Steps​