UNPKG

@cloudsnorkel/cdk-github-runners

Version:

CDK construct to create GitHub Actions self-hosted runners. Creates ephemeral runners on demand. Easy to deploy and highly customizable.

64 lines (63 loc) 1.93 kB
import { aws_ecr as ecr } from 'aws-cdk-lib'; import { Construct } from 'constructs'; import { ImageBuilderComponent } from './builder'; import { ImageBuilderObjectBase } from './common'; import { Os } from '../../providers'; /** * Properties for ContainerRecipe construct. * * @internal */ export interface ContainerRecipeProperties { /** * Target platform. Must match builder platform. */ readonly platform: 'Linux' | 'Windows'; /** * Components to add to target container image. */ readonly components: ImageBuilderComponent[]; /** * ECR repository where resulting container image will be uploaded. */ readonly targetRepository: ecr.IRepository; /** * Dockerfile template where all the components will be added. * * Must contain at least the following placeholders: * * ``` * FROM {{{ imagebuilder:parentImage }}} * {{{ imagebuilder:environments }}} * {{{ imagebuilder:components }}} * ``` */ readonly dockerfileTemplate: string; /** * Parent image for the new Docker Image. */ readonly parentImage: string; /** * Tags to apply to the recipe and image. */ readonly tags: { [key: string]: string; }; } /** * Image builder recipe for a Docker container image. * * @internal */ export declare class ContainerRecipe extends ImageBuilderObjectBase { readonly arn: string; readonly name: string; readonly version: string; constructor(scope: Construct, id: string, props: ContainerRecipeProperties); } /** * Default base Docker image for given OS. * * @internal */ export declare function defaultBaseDockerImage(os: Os): "mcr.microsoft.com/windows/servercore:ltsc2019-amd64" | "public.ecr.aws/lts/ubuntu:22.04" | "public.ecr.aws/lts/ubuntu:24.04" | "public.ecr.aws/amazonlinux/amazonlinux:2" | "public.ecr.aws/amazonlinux/amazonlinux:2023";