cvf
cdk-vscode-fargate
npm i cdk-vscode-fargate
cvf

cdk-vscode-fargate

cdk-vscode-fargate

by Mike

0.0.43 (see all)License:Apache-2.0TypeScript:DefinitelyTyped
npm i cdk-vscode-fargate
Readme

Welcome to cdk-vscode-fargate

cdk-vscode-fargate is a JSII construct library for AWS CDK that allows you to deploy Code-server running VS Code remotely, on a AWS Fargate container.

By deploying the VSCodeFargate construct, the following resources will be created:

  1. VPC (if not passed in as a prop)
  2. ACM DNS validated certificate
  3. ECS Cluster
  4. EFS file system
  5. ALB Fargate Service
  6. Security Groups
  7. Secrets Manager secret (for login authorization)

diagram

Howto

Create a new project with AWS CDK

$ mkdir my-vscode-fargate && cd my-vscode-fargate
# initialize the AWS CDK project
$ cdk init -l typescript
# install the cdk-vscode-fargate npm module
$ yarn add cdk-vscode-fargate

AWS CDK sample

Building your serverless VS Code service with the VSCodeFargate construct:

Update ./lib/my-vscode-fargate-stack.ts

import * as ec2 from '@aws-cdk/aws-ec2';
import * as cdk from '@aws-cdk/core';
import { VSCodeFargate } from 'cdk-vscode-fargate';

export class CdkStack extends cdk.Stack {
  constructor(scope: cdk.Construct, id: string, props?: cdk.StackProps) {
    super(scope, id, props);

    const subdomain = process.env.VSCODE_SUBDOMAIN ?? 'vscode';
    const domainName = process.env.VSCODE_DOMAIN_NAME ?? 'mydomain.com';

    const vpc = ec2.Vpc.fromLookup(this, 'Vpc', {
      isDefault: true,
    });

    new VSCodeFargate(this, 'MyVSCodeFargate', {
      domainName,
      subdomain,
      vpc,
    });
  }
}

diff the CDK stack:

$ cdk deploy

deploy the CDK stack:

$ cdk diff

On deploy completion, the subdomain/domain name assigned to the load balancer will be returned in the Output. Click the URL and you will see the login page:

vscode-fargate-login

Downloads/wk

1

GitHub Stars

14

LAST COMMIT

8mos ago

MAINTAINERS

1

CONTRIBUTORS

5

OPEN ISSUES

0

OPEN PRs

1
VersionTagPublished
0.0.43
latest
8mos ago
No alternatives found
No tutorials found
Add a tutorial