Skip to content

Developing

Dev Container

This project provides a dev container, which can be launched as a GitHub Codespace using the button below ⬇️

Open in GitHub Codespaces

This should also work running locally, but isn't tested regularly so your milage may vary 🐉

Signed Commits

This project requires signed commits

You can enable this in GitHub Codespaces by following GitHub's guidance

You can also enable this locally by following GitHub's guidance for GPG or SSH commit signature verification

Super-Linter

Super-Linter

This project has Super-Linter configured to run on pull requests to main branch

The dev container aims to provide automatic linting where possible, but if you need to run Super-Linter locally, you can run the following

  1. run-local mode, which runs Super-Linter similar to how GitHub Actions does, but makes some changes to run locally as per their guidance
bash scripts/super-linter/local.sh
  1. interactive mode, which drops you into a bash shell in the Super-Linter container to run any of the binaries you require against the offending file(s)

External Service Authentication

Amazon Web Services

The dev container includes synfinatic/aws-sso-cli

You can list available profiles with the following command, and follow the provided URL to authenticate with AWS Identity Centre

aws-sso list

You can then assume a profile with the following command

aws-sso --profile ${PROFILE_NAME}

For example

aws-sso --profile root:cloud-platform-administrator

Google Cloud Platform

The dev container includes Google Cloud's CLI

You can log in to Google Cloud Platform by running the following command

gcloud auth login

Application Default Credentials

If you need Application Default Credentials for SDKs or Terraform, run the following command

gcloud auth application-default login

Tailscale

The dev container includes ghcr.io/tailscale/codespace/tailscale for connecting to resources that aren't exposed to the public internet but are exposed to the woffenden.io Tailscale organisation

To connect to the tailnet, run the following command, and follow the provided URL to authenticate with Tailscale using your Google Workspace account

sudo tailscale up