Skip to content

Latest commit

 

History

History
796 lines (466 loc) · 19.3 KB

API.md

File metadata and controls

796 lines (466 loc) · 19.3 KB

API Reference

Constructs

GitlabContainerRunner

GitlabContainerRunner Construct for create a Gitlab Runner.

Initializers

import { GitlabContainerRunner } from 'cdk-gitlab-runner'

new GitlabContainerRunner(scope: Construct, id: string, props: GitlabContainerRunnerProps)
scopeRequired

idRequired
  • Type: string

propsRequired

Methods

createUserData
public createUserData(props: GitlabContainerRunnerProps, tokenParameterStoreName: string)
propsRequired

tokenParameterStoreNameRequired
  • Type: string

the tokenParameterStoreName to put gitlab runner token.


expireAfter
public expireAfter(duration: Duration)
durationRequired

Block duration.


Properties

defaultRunnerSGRequired
public readonly defaultRunnerSG: ISecurityGroup;

The EC2 runner's default SecurityGroup.


runnerEc2Required
public readonly runnerEc2: IInstance;

This represents a Runner EC2 instance , !!! only support On-demand runner instance !!!


runnerRoleRequired
public readonly runnerRole: IRole;

The IAM role assumed by the Runner instance .


spotFleetInstanceIdRequired
public readonly spotFleetInstanceId: string;
  • Type: string

the first instance id in this fleet , !!! only support spotfleet runner !!!


spotFleetRequestIdRequired
public readonly spotFleetRequestId: string;
  • Type: string

SpotFleetRequestId for this spot fleet , !!! only support spotfleet runner !!!


vpcRequired
public readonly vpc: IVpc;

The EC2 runner's vpc.


GitlabRunnerAutoscaling

GitlabRunnerAutoscaling Construct for create Autoscaling Gitlab Runner.

Initializers

import { GitlabRunnerAutoscaling } from 'cdk-gitlab-runner'

new GitlabRunnerAutoscaling(scope: Construct, id: string, props: GitlabRunnerAutoscalingProps)
scopeRequired

idRequired
  • Type: string

propsRequired

Methods

createUserData
public createUserData(props: GitlabRunnerAutoscalingProps)
propsRequired

Properties

autoscalingGroupRequired
public readonly autoscalingGroup: AutoScalingGroup;

This represents a Runner Auto Scaling Group.


instanceRoleRequired
public readonly instanceRole: IRole;

The IAM role assumed by the Runner instance.


securityGroupRequired
public readonly securityGroup: ISecurityGroup;

The EC2 runner's default SecurityGroup.


topicAlarmRequired
public readonly topicAlarm: ITopic;

The SNS topic to suscribe alarms for EC2 runner's metrics.


vpcRequired
public readonly vpc: IVpc;

The EC2 runner's VPC.


Structs

DockerVolumes

Docker Volumes interface.

Initializer

import { DockerVolumes } from 'cdk-gitlab-runner'

const dockerVolumes: DockerVolumes = { ... }
containerPathRequired
public readonly containerPath: string;
  • Type: string

Job Runtime Container Path Host Path.


hostPathRequired
public readonly hostPath: string;
  • Type: string

EC2 Runner Host Path.


GitlabContainerRunnerProps

GitlabContainerRunner Props.

Initializer

import { GitlabContainerRunnerProps } from 'cdk-gitlab-runner'

const gitlabContainerRunnerProps: GitlabContainerRunnerProps = { ... }
gitlabRunnerVersionRequired
public readonly gitlabRunnerVersion: string;
  • Type: string

Gitlab Runner version Please give me gitlab runner version.


gitlabtokenRequired
public readonly gitlabtoken: string;
  • Type: string
  • Default: You must to give the token !!!

Gitlab token for the Register Runner .


concurrentJobsOptional
public readonly concurrentJobs: number;
  • Type: number
  • Default: concurrentJobs=1

Gitlab Runner concurrent job configuration.


dockerVolumesOptional
public readonly dockerVolumes: DockerVolumes[];

add another Gitlab Container Runner Docker Volumes Path at job runner runtime.

more detail see https://docs.gitlab.com/runner/configuration/advanced-configuration.html#the-runnersdocker-section


ebsSizeOptional
public readonly ebsSize: number;
  • Type: number
  • Default: ebsSize=60

Gitlab Runner instance EBS size .


ec2iamroleOptional
public readonly ec2iamrole: IRole;
  • Type: aws-cdk-lib.aws_iam.IRole
  • Default: new Role for Gitlab Runner Instance , attach AmazonSSMManagedInstanceCore Policy .

IAM role for the Gitlab Runner Instance .


ec2typeOptional
public readonly ec2type: string;
  • Type: string
  • Default: t3.micro

Runner default EC2 instance type.


enabledIMDSv2Optional
public readonly enabledIMDSv2: boolean;
  • Type: boolean
  • Default: false

Enabled IMDSv2.

more detail see https://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html


gitlabRunnerImageOptional
public readonly gitlabRunnerImage: string;
  • Type: string
  • Default: public.ecr.aws/gitlab/gitlab-runner:latest !!! <--- latest now > 16.0 Gitlab Runner version

Image URL of Gitlab Runner.


gitlaburlOptional
public readonly gitlaburl: string;

Gitlab Runner register url .


instanceInterruptionBehaviorOptional
public readonly instanceInterruptionBehavior: InstanceInterruptionBehavior;

The behavior when a Spot Runner Instance is interrupted.


keyNameOptional
public readonly keyName: string;
  • Type: string
  • Default: no ssh key will be assigned , !!! only support spotfleet runner !!! .

SSH key name.


runnerDescriptionOptional
public readonly runnerDescription: string;
  • Type: string
  • Default: runnerDescription='Docker Runner'

Gitlab Runner description.


selfvpcOptional
public readonly selfvpc: IVpc;

VPC for the Gitlab Runner .


spotFleetOptional
public readonly spotFleet: boolean;
  • Type: boolean
  • Default: spotFleet=false

Gitlab Runner instance Use Spot Fleet or not ?!.


tagsOptional
public readonly tags: string[];
  • Type: string[]
  • Default: ['runner', 'gitlab', 'awscdk']

tags for the runner Unsupported Gitlab Runner 15.10 and later.


validUntilOptional
public readonly validUntil: string;
  • Type: string
  • Default: no expiration , !!! only support spotfleet runner !!! .

the time when the spot fleet allocation expires.


vpcSubnetOptional
public readonly vpcSubnet: SubnetSelection;

VPC subnet for the spot fleet.


GitlabRunnerAutoscalingProps

GitlabRunnerAutoscaling Props.

Initializer

import { GitlabRunnerAutoscalingProps } from 'cdk-gitlab-runner'

const gitlabRunnerAutoscalingProps: GitlabRunnerAutoscalingProps = { ... }
gitlabRunnerVersionRequired
public readonly gitlabRunnerVersion: string;
  • Type: string

Gitlab Runner version Please give me gitlab runner version.


gitlabTokenRequired
public readonly gitlabToken: string;
  • Type: string

Gitlab token.


alarmsOptional
public readonly alarms: object[];
  • Type: object[]
  • Default: [{ AlarmName: 'GitlabRunnerDiskUsage', MetricName: 'disk_used_percent', }]

Parameters of put_metric_alarm function.

https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/cloudwatch.html#CloudWatch.Client.put_metric_alarm


desiredCapacityOptional
public readonly desiredCapacity: number;
  • Type: number
  • Default: minCapacity, and leave unchanged during deployment

Desired capacity limit for autoscaling group.


dockerVolumesOptional
public readonly dockerVolumes: DockerVolumes[];

add another Gitlab Container Runner Docker Volumes Path at job runner runtime.

more detail see https://docs.gitlab.com/runner/configuration/advanced-configuration.html#the-runnersdocker-section


ebsSizeOptional
public readonly ebsSize: number;
  • Type: number
  • Default: ebsSize=60

Gitlab Runner instance EBS size .


gitlabRunnerImageOptional
public readonly gitlabRunnerImage: string;
  • Type: string
  • Default: public.ecr.aws/gitlab/gitlab-runner:latest

Image URL of Gitlab Runner.


gitlabUrlOptional
public readonly gitlabUrl: string;

Gitlab Runner register url .


instanceRoleOptional
public readonly instanceRole: IRole;
  • Type: aws-cdk-lib.aws_iam.IRole
  • Default: new Role for Gitlab Runner Instance , attach AmazonSSMManagedInstanceCore Policy .

IAM role for the Gitlab Runner Instance .


instanceTypeOptional
public readonly instanceType: string;
  • Type: string
  • Default: t3.micro

Runner default EC2 instance type.


maxCapacityOptional
public readonly maxCapacity: number;
  • Type: number
  • Default: desiredCapacity

Maximum capacity limit for autoscaling group.


minCapacityOptional
public readonly minCapacity: number;
  • Type: number
  • Default: minCapacity: 1

Minimum capacity limit for autoscaling group.


spotInstanceOptional
public readonly spotInstance: boolean;
  • Type: boolean
  • Default: false

Run worker nodes as EC2 Spot.


tagsOptional
public readonly tags: string[];
  • Type: string[]
  • Default: ['runner', 'gitlab', 'awscdk']

tags for the runner.


vpcOptional
public readonly vpc: IVpc;

VPC for the Gitlab Runner .


vpcSubnetOptional
public readonly vpcSubnet: SubnetSelection;

VPC subnet.


Enums

InstanceInterruptionBehavior

InstanceInterruptionBehavior enum.

HIBERNATE

hibernate.


STOP

stop.


TERMINATE

terminate.