* documenting the process to create a manifest, updating the linux dockerfile to allow multiplatform build
* deleting previous testproxy-lin-arm64 image in favor of re-used linux dockerfile with build argument
* using new pools. updating existing infra to use new pools.
* update prepare.ps1 to also install qemu if necessary
* publishing multiplatform manifest!
Co-authored-by: Ben Broderick Phillips <bebroder@microsoft.com>
* Add InformationalVersion to test-proxy csproj. This will display the nuget version that this version of the test-proxy dll was built for
* update test-proxy code in Startup.cs to output the full build number
* Move containers/ci.yml docker logic to a common template that can be used elsewhere in the repo.
* Add docker container test/publish to archetype-tool-dotnet
- Fully automate cluster buildout. Add azure file share mount to stress tests.
- Moving the test/ad-hoc cluster back to the playground subscription
- Upgrading kubernetes cluster version to 1.21.x to pull in support for the azure csi file driver
- Adding high memory agent nodes to the base deployment
- Enabling node autoscaler in the base deployment
- Publish stress watcher image in CI. Run docker build on PR
- Using common image location across stress clusters to simplify buildout+deployment
- Add stress test debug file share usage example
Resolves#1903
## What
- Add `keyvault-mock-attestation` code to the azure-sdk-tools
- Dockerize the code to prepare for adding it to the azsdktools ACR registry.
## Why
This mock service is needed to run live tests for a specific keyvault scenario. While we currently use the
long-running test fixture that I deployed, that is not a sustainable solution.
We want to make sure the code for this mock service is in a repo that is owned by Azure SDK team,
and we want to enable test runs to deploy and tear down everything that need to run live tests. Depending
on a long running test fixture that is in my private repo violates both of these conditions. By moving the
code here and ensuring that we can push updates to ACR we will be able to deploy the container for every
test run.
* Lots of documentation updates (around SSL and the like)
* Adding `windows` version of the container, so that our windows machines in devops can load
* Renaming from `ubuntu_testproxy` to `testproxy` because the manifest will figure out which one you need
* Updating the default `pfx` that we install on the docker images to have a password, such that you don't hit issues when you try to import it with `-p ""`. On pshell it can take that as "not passing" a required argument. Lets just avoid that.
This commit adds a C# tool package called `test-proxy`. The proxy is intended to enable out-of-process recordings for any language.
Included
* Test-proxy and accompanying test project
* Extended readme to assist with installation and running via docker or .NET.
* Built with .NET 5.0, installable via `dotnet tool install`.
* Supports both in-memory and persisted storage playback.
* Supports adding sanitizers, matchers, and transforms to either an entire session or an individual recording.
* Allows extensive manipulation of any part of a recording via regex sanitization.
* Available sanitizers, matchers, and transforms are documented by runtime access of the comment XML. Available at <proxy-host-url>/Info/Available.
* Copies` x-ms-client-id` and `x-ms-client-request-id` from the request to the response during playback.
* Proxy handles gzip compressed responses. Gzipped responses are written to disk uncompressed to enable proper storage, sanitization, and transformation. Re-zipped prior to sending to requester.
* Multiple sample projects in .NET and Python to give examples of interaction with the proxy.
* Docker Container (along with yml publishing of said container) that abstracts installation and running of the proxy.
* Example startup scripts in python, powershell, and js. These abstract the docker invocation and are easily applicable to language-specific test frameworks.
Co-authored-by: Mike Harder <mharder@microsoft.com>
Co-authored-by: Krista Pratico <krpratic@microsoft.com>