Skip to main content

cdk-vscode-fargate

Project description

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

# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
import aws_cdk.aws_ec2 as ec2
import aws_cdk.core as cdk
from cdk_vscode_fargate import VSCodeFargate

class CdkStack(cdk.Stack):
    def __init__(self, scope, id, *, description=None, env=None, stackName=None, tags=None, synthesizer=None, terminationProtection=None, analyticsReporting=None):
        super().__init__(scope, id, description=description, env=env, stackName=stackName, tags=tags, synthesizer=synthesizer, terminationProtection=terminationProtection, analyticsReporting=analyticsReporting)

        subdomain = process.env.VSCODE_SUBDOMAIN ?? "vscode"
        domain_name = process.env.VSCODE_DOMAIN_NAME ?? "mydomain.com"

        vpc = ec2.Vpc.from_lookup(self, "Vpc",
            is_default=True
        )

        VSCodeFargate(self, "MyVSCodeFargate",
            domain_name=domain_name,
            subdomain=subdomain,
            vpc=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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cdk-vscode-fargate-0.0.43.tar.gz (475.4 kB view details)

Uploaded Source

Built Distribution

cdk_vscode_fargate-0.0.43-py3-none-any.whl (474.1 kB view details)

Uploaded Python 3

File details

Details for the file cdk-vscode-fargate-0.0.43.tar.gz.

File metadata

  • Download URL: cdk-vscode-fargate-0.0.43.tar.gz
  • Upload date:
  • Size: 475.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.1 CPython/3.7.10

File hashes

Hashes for cdk-vscode-fargate-0.0.43.tar.gz
Algorithm Hash digest
SHA256 aeb2043b9b9a8c30ee1f8344e6433369ae08665a09f06273eb0f2da1954d1d72
MD5 5af91e451bc0e92635c6c55492e73f58
BLAKE2b-256 3b43601da4e580a20ae3d119469895112037f01f3c6227ad567134bba47bad2a

See more details on using hashes here.

File details

Details for the file cdk_vscode_fargate-0.0.43-py3-none-any.whl.

File metadata

  • Download URL: cdk_vscode_fargate-0.0.43-py3-none-any.whl
  • Upload date:
  • Size: 474.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.1 CPython/3.7.10

File hashes

Hashes for cdk_vscode_fargate-0.0.43-py3-none-any.whl
Algorithm Hash digest
SHA256 70ed47b9394e949fdc254b9e46b3225cbf37fc7e66f4d7b29d551d67d24b90e0
MD5 eefba7cef49d8a0c6e7e93313baa7e68
BLAKE2b-256 69715601675a4f9a92fd7add9fc2d6f76a86730c0d90fc35f7eef42a2e050680

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page