microsoft / microsoft/go

Documentation on .NET infrastructure reuse decisions

Open
#91 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
431
Forks
44
Avg merge
21h 18m
Merged PRs (30d)
30

Description

Currently there are a some bits we aren't reusing from .NET infrastructure:

  • https://github.com/dotnet/dotnet-buildtools-prereqs-docker
    • At first glance doesn't seem right to put our prereqs in repo with dotnet in the name.
    • Docker team is hesitant.
    • Short-term, we are using an image produced by this repo. Long-term we plan to not ask to put our own images into this repo, and make our own instead.
  • An ACR, or publishing into MCR.
    • Not investigated in detail. Similar factors as dotnet-buildtools-prereqs-docker.
    • ACR: my understanding is the current ACRs are very .NET-specific, and there are already multiple in use for parts of .NET. Even if we reused, we may need to create our own.
    • MCR: I believe this is public and broader than .NET.
  • dotnetcli.blob.core.windows.net
    • dotnet.
    • A storage account seems relatively easy to maintain: reuse is not as inherently beneficial as most other items.
    • Haven't discussed with .NET team.
  • Maestro++/BAR and associated publishing infra
    • Designed for .NET build orchestration and .NET's artifacts in particular. Not necessarily easy to adapt. (Up-front cost.)
    • We have a simple release scenario compared to .NET: one repo, simple acquisition.
    • Haven't discussed with .NET team.

We are reusing:

  • Signing infrastructure.
    • Both Arcade's SignTool and underlying VS Eng MicroBuild.
    • MicroBuild tooling interacts with ESRP on our behalf.
  • SDL validation scripts, running Guardian (in progress).
    • Acquiring and running Guardian isn't trivial. This is at least a starting point.
  • GitHub -> AzDO mirroring infra, Maestro.
  • https://github.com/dotnet/docker-tools (planned)
    • Used to maintain and build a repo with Dockerfiles with bonus features for dependency tracking and templating.

Filing this issue to keep track of which bits are are/aren't reusing and why. (May want to turn this into a checked-in doc at some point.)

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names no target file or test. Start by reviewing the listed .NET infrastructure repositories and the reuse decisions in the issue; done would be a checked-in document capturing which components are and are not reused and why, if that scope is confirmed.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure, docker, github
Domain
cloud, devops, documentation
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.