diff --git a/.editorconfig b/.editorconfig index efa5342..d2561dd 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,3 +1,9 @@ +# ------------------------------------------------------------------------------ +# This file is synced from the radius-project/.github repository. +# DO NOT EDIT MANUALLY - changes will be overwritten by the next sync. +# Source: https://github.com/radius-project/.github +# ------------------------------------------------------------------------------ + root = true [*] @@ -11,6 +17,9 @@ indent_size = 2 [*.{go,mod}] indent_style = tab +[*.{tsv}] +indent_style = tab + [*.md] indent_size = unset @@ -25,7 +34,17 @@ end_of_line = crlf # Shell scripts [{*.sh,*.bash,.bashrc,.mk-sbuild.rc,.quiltrc,.startxwinrc,user-dirs.dirs}] +indent_size = 4 binary_next_line = true # shfmt: -bn switch_case_indent = true # shfmt: -ci space_redirects = true # shfmt: -sr keep_padding = true # shfmt: -kp + +[Makefile] +indent_style = tab + +[**/node_modules/**] +ignore = true + +[**/.venv/**] +ignore = true diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..f52b8c4 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,62 @@ +# ------------------------------------------------------------------------------ +# This file is synced from the radius-project/.github repository. +# DO NOT EDIT MANUALLY - changes will be overwritten by the next sync. +# Source: https://github.com/radius-project/.github +# ------------------------------------------------------------------------------ + +# Force the following filetypes to have unix eols, so Windows does not break them +* text eol=lf + +# Declare files that will always have CRLF line endings on checkout. +*.{cmd,[cC][mM][dD]} text eol=crlf +*.{bat,[bB][aA][tT]} text eol=crlf + +# Common files +*.pdf binary + +# Image files +*.gif binary +*.tif binary +*.ico binary +*.jpg binary +*.jpeg binary +*.png binary + +# Microsoft Office documents +*.pptx binary +*.potx binary +*.docx binary +*.dotx binary +*.vsdx binary + +# Lock files are generated and should ignore line endings. + +# Node.js +package-lock.json -text linguist-generated=true +npm-shrinkwrap.json -text linguist-generated=true +pnpm-lock.yaml -text linguist-generated=true +yarn.lock -text linguist-generated=true +bun.lock -text linguist-generated=true +bun.lockb binary linguist-generated=true + +# Go +go.sum -text linguist-generated=true +go.work.sum -text linguist-generated=true + +# .NET +packages.lock.json -text linguist-generated=true + +# Python +uv.lock -text linguist-generated=true +poetry.lock -text linguist-generated=true +pdm.lock -text linguist-generated=true +Pipfile.lock -text linguist-generated=true + +# Rust +Cargo.lock -text linguist-generated=true + +# Terraform / OpenTofu +.terraform.lock.hcl -text linguist-generated=true + +# Dev containers +devcontainer-lock.json -text linguist-generated=true diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000..a004501 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,94 @@ +# Code Owners for github.com/radius-project/lab + +# ------------------------------------------------------------------------------ +# This file is synced from the radius-project/.github repository. +# DO NOT EDIT MANUALLY - changes will be overwritten by the next sync. +# Source: https://github.com/radius-project/.github +# ------------------------------------------------------------------------------ + +# General maintainers and approvers for the entire repository +* @radius-project/maintainers-lab @radius-project/approvers-lab + +# Dependency files - on-call can also approve these (Dependabot, etc.) + +# Version managers (language-agnostic) +**/.tool-versions @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +**/mise.toml @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +**/.mise.toml @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call + +# Node.js +**/package.json @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +**/package-lock.json @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +**/npm-shrinkwrap.json @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +**/pnpm-lock.yaml @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +**/pnpm-workspace.yaml @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +**/yarn.lock @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +**/bun.lock @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +**/bun.lockb @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +**/.nvmrc @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +**/.npmrc @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +**/.yarnrc @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +**/.yarnrc.yml @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +**/.node-version @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +**/tsconfig.json @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +**/tsconfig.*.json @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +**/*.tsconfig.json @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call + +# Go +**/go.mod @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +**/go.sum @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +**/go.work @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +**/go.work.sum @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +**/.go-version @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call + +# .NET +**/*.csproj @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +**/*.sln @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +**/nuget.config @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +**/global.json @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +**/Directory.Build.props @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +**/Directory.Build.targets @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +**/Directory.Packages.props @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +**/packages.config @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +**/packages.lock.json @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call + +# Python +**/requirements*.txt @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +**/constraints*.txt @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +**/setup.py @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +**/setup.cfg @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +**/pyproject.toml @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +**/uv.lock @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +**/poetry.lock @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +**/pdm.lock @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +**/Pipfile @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +**/Pipfile.lock @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +**/.python-version @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call + +# Rust +**/Cargo.toml @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +**/Cargo.lock @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +**/rust-toolchain @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +**/rust-toolchain.toml @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call + +# Bicep +**/bicepconfig.json @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call + +# Terraform / OpenTofu +**/versions.tf @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +**/.terraform.lock.hcl @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +**/.terraform-version @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call + +# Dev Container configs +**/.devcontainer/*.json @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +**/.devcontainer.json @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +**/.devcontainer/**/Dockerfile @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +**/.devcontainer/**/*.Dockerfile @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call + +# GitHub config files (Dependabot, etc.) +.github/*.yml @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +.github/*.yaml @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call + +# GitHub workflows +.github/workflows/*.yml @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call +.github/workflows/*.yaml @radius-project/maintainers-lab @radius-project/approvers-lab @radius-project/on-call diff --git a/.github/workflows/dependabot-manager.yml b/.github/workflows/dependabot-manager.yml new file mode 100644 index 0000000..e23d689 --- /dev/null +++ b/.github/workflows/dependabot-manager.yml @@ -0,0 +1,28 @@ +# yaml-language-server: $schema=https://www.schemastore.org/github-workflow.json +# ------------------------------------------------------------------------------ +# This file is synced from the radius-project/.github repository. +# DO NOT EDIT MANUALLY - changes will be overwritten by the next sync. +# Source: https://github.com/radius-project/.github +# ------------------------------------------------------------------------------ +--- +name: Dependabot Manager + +on: + pull_request: + types: + - opened + - reopened + - synchronize + +permissions: {} + +jobs: + dependabot-manager: + if: github.event.pull_request.user.login == 'dependabot[bot]' + uses: radius-project/.github/.github/workflows/__dependabot-manager.yml@main + permissions: + contents: read + pull-requests: read + secrets: + DEPENDABOT_MANAGER_BOT_CLIENT_ID: ${{ secrets.DEPENDABOT_MANAGER_BOT_CLIENT_ID }} + DEPENDABOT_MANAGER_BOT_PRIVATE_KEY: ${{ secrets.DEPENDABOT_MANAGER_BOT_PRIVATE_KEY }} diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml new file mode 100644 index 0000000..cdb24d3 --- /dev/null +++ b/.github/workflows/dependency-review.yml @@ -0,0 +1,21 @@ +# yaml-language-server: $schema=https://www.schemastore.org/github-workflow.json +# ------------------------------------------------------------------------------ +# This file is synced from the radius-project/.github repository. +# DO NOT EDIT MANUALLY - changes will be overwritten by the next sync. +# Source: https://github.com/radius-project/.github +# ------------------------------------------------------------------------------ +--- +name: Dependency Review + +on: + pull_request: + +permissions: {} + +jobs: + dependency-review: + uses: radius-project/.github/.github/workflows/__dependency-review.yml@main + permissions: + contents: read + pull-requests: write + checks: write diff --git a/LICENSE b/LICENSE index 261eeb9..585a73f 100644 --- a/LICENSE +++ b/LICENSE @@ -1,3 +1,4 @@ + Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ @@ -186,7 +187,9 @@ same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright [yyyy] [name of copyright owner] + Copyright 2023 The Radius Authors. + + and others that have contributed code to the public domain. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.