v0.1.0
Release Notes - v0.1.0
Release Date: January 16, 2026
Note v0.1.0 contains a dependency bug, use v0.1.1 or newer.
Overview
This is the first published release of configuration-aws-network-ts, a TypeScript implementation of the Crossplane AWS Network Configuration. This configuration provides a example solution for provisioning AWS networking infrastructure using Crossplane's TypeScript Function SDK.
What's Included
Network Infrastructure
This configuration creates a complete AWS network setup including:
- VPC with customizable CIDR blocks
- Subnets (both public and private) across multiple availability zones
- Internet Gateway for public subnet connectivity
- Route Tables with automatic associations
- Security Groups with configurable rules
- Route Table Associations for subnet routing
Composite Resource API
The configuration provides a high-level Network custom resource with the following capabilities:
-
Namespaced resources for multi-tenant environments
-
Configurable parameters:
- VPC CIDR block (default:
192.168.0.0/16) - Multiple subnets with availability zone and type (public/private) configuration
- AWS region selection
- Management policies for resource lifecycle control
- ProviderConfig name for AWS authentication
- VPC CIDR block (default:
-
Status reporting:
- VPC ID
- Subnet IDs (all, public, and private)
- Security Group IDs
TypeScript Function
The configuration includes a custom Crossplane Function written in TypeScript that:
- Uses the official
@crossplane-org/function-sdk-typescriptSDK - Provides type-safe resource generation with
@crossplane-models/provider-upjet-aws - Runs as a containerized function with multi-architecture support (amd64/arm64)
- Uses distroless container images for security and minimal footprint
Developer Experience
- Testing: Unit tests with Jest
- Linting: ESLint configuration for code quality
- Formatting: Prettier for consistent code style
- Type Checking: TypeScript strict mode with compile-time validation
- CI/CD: GitHub Actions workflow for automated builds and releases
- Local Development:
npm run localfor local function testingcrossplane rendersupport for testing compositions- Hot reload capabilities during development
Build & Package Support
- Multi-architecture Docker images (amd64 and arm64)
- Crossplane package generation for both the function and configuration
- Automated push to OCI registries
- Version management with Git-based pseudo-versioning
- NPM scripts for all build operations
Package Information
Configuration Package
apiVersion: pkg.crossplane.io/v1
kind: Configuration
metadata:
name: configuration-aws-network-ts
spec:
package: xpkg.upbound.io/upbound/configuration-aws-network-ts:v0.1.0Function Package
The function is automatically installed as a dependency of the configuration package, and
hasa suffix of -function, i.e., xpkg.upbound.io/upbound/configuration-aws-network-ts-function:v0.1.0
Getting Started
- Install the configuration package in your Crossplane cluster
- Configure AWS authentication (see README.md)
- Create a ProviderConfig for AWS
- Apply the example network resource from
examples/network/
For detailed installation and usage instructions, see the README.md.
Requirements
- Crossplane v1.14.0 or later
- AWS Provider (upjet-aws) v1.0.0 or later
- Kubernetes cluster with Crossplane installed
Dependencies
The configuration automatically installs the following dependencies:
xpkg.upbound.io/upbound/provider-aws-ec2- AWS EC2 provider for VPC resourcesxpkg.upbound.io/upbound/provider-family-aws- AWS provider family- The TypeScript function package
Example Usage
apiVersion: aws.platform.upbound.io/v1alpha1
kind: Network
metadata:
name: my-network
namespace: network-team
spec:
parameters:
id: my-network
region: us-west-2
providerConfigName: default
vpcCidrBlock: 192.168.0.0/16
subnets:
- availabilityZone: us-west-2a
type: public
cidrBlock: 192.168.0.0/18
- availabilityZone: us-west-2b
type: public
cidrBlock: 192.168.64.0/18
- availabilityZone: us-west-2a
type: private
cidrBlock: 192.168.128.0/18
- availabilityZone: us-west-2b
type: private
cidrBlock: 192.168.192.0/18Technical Details
Technology Stack
- Runtime: Node.js 24
- Language: TypeScript 5.9
- SDK: Crossplane Function SDK TypeScript v0.3.0
- Models: @crossplane-models/provider-upjet-aws v2.3.0
- Testing: Jest v30.2.0
- Container Base: gcr.io/distroless/nodejs24-debian12
CI/CD Pipeline
The GitHub Actions workflow includes:
- Version computation with Git-based pseudo-versioning
- Code quality: Linting with ESLint
- Testing: Unit tests with Jest
- Type checking: TypeScript compilation validation
- Multi-architecture builds: Docker images for amd64 and arm64
- Package creation: Both function and configuration packages
- Automated publishing: Push to xpkg.upbound.io registry
License
Apache-2.0
Author
Stefano Borrelli steve@borrelli.org
Support
For issues and questions, please use the GitHub issue tracker at:
https://github.com/upbound/configuration-aws-network-ts/issues
What's Changed
- Initial xpkg ci action by @stevendborrelli in #10
- Fix repo path for xpkg push by @stevendborrelli in #11
- Prep for v0.1.0 by @stevendborrelli in #12
Full Changelog: v0.0.22...v0.1.0