- Managed Resources
- Compositions : Collection of managed resources (kind of main.tf )
- Composite resource Definition (xrd): Exposing the API (Kind of variables.tf)
- Composite resources (xr): Kind of terraform.tfvars or using the API to call the compositions. 'xr' is global whereas claim is namespace based.
- package: packaging the configurations in OCI image.
- We will use
up
to installUpbound Universal Crossplane(UXP)
you can use helm as wellcurl -sL "https://cli.upbound.io" | sh sudo mv up /usr/local/bin/ up --version up uxp install k get pods -n upbound-system #To verify
- Install AWS Provider
k apply -f ./install/provider_aws_install.yaml k get provider #To verify
- Create a Kubernetes secret with AWS credentials
k create secret generic aws-secret -n upbound-system --from-file=creds=./install/aws-credentials.txt
- Create a ProviderConfig Kubernetes configuration file to attach the AWS credentials to the installed official provider.
k apply -f ./install/provider_aws_config.yaml kubectl get providerconfig #To verify
-
Apply Compositions and xrd so that the resources and custom api are availble
k apply -f ./compositions_vpc_subnet/composition.yaml k apply -f ./compositions_vpc_subnet/xrd.yaml
-
create composite resource / claim
k apply -f xr.yaml
- Packaging the configuration as a OCI Image
kubectl crossplane build configuration -f ./compositions_vpc_subnet/ --name="crossplane-aws-vpc-subnet"
- Push the image
kubectl crossplane push configuration abhiaws/crossplane-aws-vpc-subnet:v0.1.4