Commit Graph

147 Commits

Author SHA1 Message Date
307526fb64 [Breaking Change] Deploy with scriban only turned on (#2809)
* Deploy with scriban only turned on

* Improve description
2023-02-14 13:31:39 +00:00
0bc22a8073 Fixing bug in registration.py for creating CLI SP's. (#2828)
* Fixing bug in registration.py for creating CLI SP's.

* Formatting.
2023-02-10 15:11:35 -08:00
d732028201 Add unmanaged nodes integration tests (#2780)
* Add docker file to the runtime tools

* fixes

* bug fixes

* more bug fixes and added doc

* don;t overwrite the RUST_LOG env var

* integration test for unmanaged nodes

* add unamanged parameters to launch()

* add ing object_id

* more bug fixes

* bug fixes

* chmod on the linux files in docker

* format

* cleanup merge

* added test_unmanaged command

* cleanup

* use a single image for the docker compose
remove images after the test

* docs and formatting

* format

* format

* format and bug fixes

* using windows server

* fix linux container
make the base image a paramter on windows
use the windows server base image on  windows server

* format

* bug fix

* more fixes

* allow reboot

* more fixes

* added more logging around the service principal creation

* format

* more logging

* change restart policy

* fix multi tenant domain

* more fixes

* exit instead of reboot when running inside docker

* remove comment

* build fix

* try_exist instead of exist

* save the docker logs

* bug_fix

* adding timeout

* fix timeout logic

* adding a build profile

* make all agent depend on the first one

* remove profile

* another fix

* restart agent 1

* Update docs/unmnaged-nodes.md

Co-authored-by: Teo Voinea <58236992+tevoinea@users.noreply.github.com>

---------

Co-authored-by: Teo Voinea <58236992+tevoinea@users.noreply.github.com>
2023-02-08 11:07:19 -08:00
291f9dfbcf Fix query to get he existing proxy (#2791) 2023-02-01 20:49:14 +00:00
f402304084 Config Refactor Round 2. (#2771)
* Config Refactor Round 2.

* Adding docs.

* Fix file formatting.

* Removing.

* fixing imports.

* Removing.

* Fixing cli access token retrieval.

* Fixing authority check.

* Small edits.

* Removing duplicate.

* Adding uuid check.

* Possible to override with existing params.

* Allowing flags to override storage.

* Trying to fix config params.?

* Fixing.

* Set endpoint params via app function.

* Checking changes to params.

* Make tenant_domain default.

* Remove endoint params from models.

* UPdating docs.

* Setting

* Removing hardcoded values.

* Typo.

* Removing endpoint upload.

* Typo.

* Fixing typos.

* Fix error message about aad tenant.

* Responding to comments.

* Update src/ApiService/ApiService/UserCredentials.cs

Co-authored-by: Marc Greisen <mgreisen@microsoft.com>

---------

Co-authored-by: Marc Greisen <mgreisen@microsoft.com>
2023-01-31 15:03:38 -08:00
6c3b465dbe Update azure cli (#2733)
* update azure-cli to v2.43 along with supporting dependencies
2023-01-10 09:19:16 -08:00
af25752c55 Add arg to deploy.py for custom_domain (#2720) 2023-01-05 10:28:17 -08:00
349604f03a Removing Remaining App Function References from Deployment Code. (#2682)
* Removing Remaining App Function References from Deployment Code.

* Update src/deployment/deploy.py

Co-authored-by: Adam <103067949+AdamL-Microsoft@users.noreply.github.com>

* Consolidating.

* Updating function  handles.

* Removing copy.

* Fixing.

* Formatting.

* Fixing array calls.

* Adding json settings back.

* Formatting.

Co-authored-by: Adam <103067949+AdamL-Microsoft@users.noreply.github.com>
2022-12-15 20:03:42 -08:00
0fb8bc4a86 Bug fixes and documentation (#2694) 2022-12-15 19:39:17 -08:00
7091c5460d Except on uppercase application names in deployments (#2665)
* Adding check to deploy.py for uppercase names in application names

Co-authored-by: Cheick Keita <kcheick@gmail.com>
2022-12-05 08:28:25 -08:00
59360103f1 Add support for feature flags (#2620)
* Foundation for feature flags

* Demo usage

* Use managed identity

* Add FFs using DI method

* missed a file

* Cleanup

* Forgot test context

* Default is off if the FF doesn't already exist

* Update src/ApiService/ApiService/Program.cs

Co-authored-by: George Pollard <porges@porg.es>

* force evaluate lock files

Co-authored-by: Teo Voinea <Teodor.Voinea@microsoft.com>
Co-authored-by: George Pollard <porges@porg.es>
2022-12-05 09:07:00 -05:00
7fc6fc3668 Reverting Enable/Disable App Function Changes - Force -net App Function To Only Run Agent Functions (#2660)
* Testing app function.

* Addding functions back.

* Fixing name.

* updating to string.

* Fixing bicep.

* Fixing function names.

* Update src/ApiService/ApiService/Functions/ReproVmss.cs

Co-authored-by: George Pollard <gpollard@microsoft.com>

* Adding route specifier.

* Update src/ApiService/ApiService/Functions/NodeAddSshKey.cs

Co-authored-by: George Pollard <gpollard@microsoft.com>

* Update src/ApiService/ApiService/Functions/WebhookLogs.cs

Co-authored-by: George Pollard <gpollard@microsoft.com>

* Update src/ApiService/ApiService/Functions/WebhookPing.cs

Co-authored-by: George Pollard <gpollard@microsoft.com>

* Fixing function names.

* Increasing pool_size

* Adding logging statements.

* Adding check for transient failure.

* Adding check to else.

* Fix var

* Adding retry logic to dbg_lnx

* FIxing retry.

* Maybe fixed integration test.

* Formatting.

* Adding try and fail logic.

* Changing error.

* Refactoring logic.

* Fixing logic.

* Logic.

* Removing bad comparison.

* Fixing.

* All ready.

* Switching back to call.

* Add.

* Fixing

* Adding quit back.

* Reversing cli changes.

* Removing bad file.

* Formatting.

Co-authored-by: George Pollard <gpollard@microsoft.com>
2022-12-02 11:14:13 -08:00
e0634a3365 Deploy update (#2650)
* Remove Python App Function Deployment Code and  Code.

* Updating yml and zip names.

* Fixing ci.yml.

* Typo.

* Format

* Trying to remove python service.

* Updating directories.

* Removing flag.

* Format.

* Fixng api-service-net ref.

* Re-add requirement.

* Fixing refs in bicep.

* Specifying version.

* Removing dotnet refs in integration tests.

* Updating role assignment naming convention.

* Adding ignore.

* Update src/deny.toml

Co-authored-by: George Pollard <porges@porg.es>

* Update version.

* Removing onefuzztypes dependency.

* Switch app service plan to windows.

* Update test version.

* Changing version.

* Returning version.

* Trying to add onefuzz types back.

* Force pipenv version.

* Fix.

* Syntax.

* Renaming.

* Trying different version.

* Removing build step.

* Fixing bicep parameter.

* Retrying run with older version.

* Trying pipenv with another version.

* Forcing pipenv version in tox.

* Adding pipenv fix and updating version.

Co-authored-by: George Pollard <porges@porg.es>
2022-11-23 17:48:30 -08:00
ae827b2dda Fix invocation of functionapp in the deployment script (#2645) 2022-11-21 21:13:53 -08:00
894dcc62be Update to .NET 7 (#2615)
Update service code to .NET 7.0.

Also update the version installed onto agent nodes via setup scripts to 7.0.100.
2022-11-18 10:39:45 +13:00
c5840eb69b Use broker or browser login instead of device flow (#2612)
Update CLI to attempt broker or browser-based authentication first; if you `Ctrl-C` to cancel it, you can fall back to device code login.

Also updated the MSAL dependency to latest version and pass `allow_broker=True` which will allow the use of Web Account Manager (WAM), if it is available.

Using browser auth requires the `http://localhost` redirect URI, and using the broker requires a special custom URI including the app ID (see code).
2022-11-14 20:13:36 +00:00
fb8a4e36f1 Add a registration command to allow an application registration to connect to the Onefuzz (#2571) 2022-11-03 16:41:38 +00:00
d10740ab4c fix onefuzz address (#2543) 2022-10-20 17:02:07 -07:00
ecf858bbdd Updating error and fixing default value for uto_create_cli_app (#2378) 2022-09-12 16:28:41 -07:00
44089d32f0 fix broken deploy (#2355)
Co-authored-by: stas <statis@microsoft.com>
2022-09-07 14:49:07 -07:00
c9d484778d Use 64-bit worker for function (#2349) 2022-09-06 23:30:35 +00:00
318e568cab add flag to enable memory and cpu profilers (#2345)
Co-authored-by: stas <statis@microsoft.com>
2022-09-06 10:32:30 -07:00
c175b4676a enable running dot-net function on Windows to allow attaching remote debugger (#2344)
* enable running dot-net function on Windows to allow attaching remote debugger

* rename from 'use_windows' to 'host_dotnet_on_windows'

* instructions

* reformat deploy.py

Co-authored-by: stas <statis@microsoft.com>
2022-09-06 09:34:22 -07:00
0c88116a0d Added deploy.py flags onefuzz_app_id and auto_create_cli_app to allow custom app registrations. (#2305)
* Update Deployment Params to use custom CLI

* Adding failure mode if app id not found.

* Formatting.

* Fixing path.

* Cleaning up condition path.

* Update param name.

* Adding identiy assignment.

* Adding correct identity.

* FIxing app role assignment.
2022-08-30 22:05:44 -07:00
8b31dfe4ef Update deploy to set all settings at once (#2325) 2022-08-30 23:34:35 +00:00
d615fccd6d Fixing set_admins.py Script. (#2300)
* Fixing set_admins.

* Moving set_admins to another directory.

* Fixing imports.
2022-08-25 15:00:42 -07:00
e263b245f5 Add --use_dotnet_agent_functions to deploy.py and Python service (#2292) 2022-08-25 11:50:01 +12:00
f134c0f122 Enabling csharp webhook and proxy heartbeat functions (#2263)
* Enabling csharp webhook and proxy heartbeat trigger

* Adding deploy exemption.

* Fixing queue table.

* Adding function to bicep.

* Renaming function.
2022-08-17 16:29:47 -07:00
a3f1d59f70 Set autocrlf by default, update affected files (#2261) 2022-08-17 13:07:20 +12:00
643e61e0fd fix deploy.py (#2258) 2022-08-16 10:51:18 -07:00
26f9667777 add secure decorator to clientSecret param (#2224) 2022-08-05 17:56:27 -07:00
78411fe320 Keep both C# and python http functions active when deploying (#2212)
* Kepp both  C# and  python http functions active when deploying

* update logic

* update log message

* use the function name instead of a list
2022-08-03 13:07:28 -07:00
4fa6e74241 Enable .NET functions in check-pr for Agent-specific functions (#2119)
Enable the .NET functions for the agent by sending the agent the URI for the `-net` service.

Also fix some things causing failures when using the .NET functions (`CouldShrinkScaleset` was not implemented).

Improve error handling around table serialization/deserialization, fix an issue with int64/long mismatch between Python & C# code.

----

For `check-pr` testing:

1. There's a new parameter `enable_dotnet` which maps directly to the `--enable_dotnet` switch on `deploy.py`.
2. If you put `agent` there, all the `agent_*` functions will be enabled for .NET and disabled for Python.
3. If `agent_can_schedule` is disabled on the Python side, it will automatically tell the agent to use the .NET functions.

So to test the .NET agent functions, do a `check-pr` run with `enable_dotnet` set to `agent` and it should all work.
2022-07-20 20:40:30 +00:00
28e42ab8e8 Update Function Scaling Policy and Diagnostic Settings. (#2140)
* Update Function Scaling Policy and Diagnostic Settings.

* Adding changes to scaling policy

* UPdating cooldown.

* Changing time windows.

* Updating duration.
2022-07-08 12:03:14 -07:00
ea60410df9 Enable C# functions in code & fill out missing functionality (#2084)
C# HTTP functions won’t take effect by default so it is safe to enable them in code. Also implement required authentication code.
2022-06-30 01:33:12 +00:00
29fbb28ad9 adding function app settings bicep template and updating deploy.py (#1973)
* adding function app settings bicep templates and updating deploy.py for toggling function states through enable_dotnet argument

* fixes #1948
2022-05-25 09:30:38 -07:00
793ce85cdf updating deploy.py to push dotnet by default (#1888)
* updating deploy.py to push dotnet by default

* Updating requirements for Azure Function core tools CLI to 4

* updating docs for Azure Functions Core Tools v 4.x requirement

* Update src/utils/check-pr/README.md

Co-authored-by: Cheick Keita <chkeita@microsoft.com>
2022-05-04 18:44:27 +00:00
fd55126662 Updating deploy.py for dotnet deployments - Closes #1752 (#1830)
* updating deploy.py for dotnet packages

* dotnet deployment needs to be alongside python if flagged

* individual deployment state for dotnet api since this will deploy alongside python api

* correcting state order for dotnet-api deployment step to follow python api deployment

* cleanup deploy.py formatting

* Adding dotnet's zip package arguments to deploy and fixing func command flags

* changed quotes to pass black check

* reconfiguring bicep templates to deploy function app settings correctly by moving app settings into a separate template
2022-05-03 15:17:12 +00:00
4be286ada5 bump azure-cli-core and dependencies to 2.35.0 (#1784)
* bump azure-cli-core and dependencies to 2.35.0

* bump deploy requirements to align with cli

Co-authored-by: stas <statis@microsoft.com>
2022-04-19 13:38:40 -07:00
ebb3c63f9e Update python function name string to manage confict after deleting the function app. (#1808) 2022-04-18 11:26:44 -07:00
22faa1b5db instance config (#1791)
* instance config

* address PR comments

* make logs scoped

* make logs scoped

Co-authored-by: stas <statis@microsoft.com>
2022-04-14 14:20:28 -07:00
20d3df0a11 Deploy dotnet Azure function alongside Python Azure function (#1733)
Co-authored-by: stas <statis@microsoft.com>
2022-04-01 09:42:06 -07:00
2ffeadfa35 switch to bicep template only and bicep refactor (#1732)
* switch to bicep template only and bicep refactor

* correct monitorAccount name

Co-authored-by: stas <statis@microsoft.com>
2022-03-31 13:01:02 -07:00
dc354cffe3 port arm template to bicep (#1724)
* port template to bicep

* Update src/deployment/azuredeploy.bicep

Co-authored-by: Teo Voinea <58236992+tevoinea@users.noreply.github.com>

* port template to bicep

* adding type annotation

* apply changes from #1679

Co-authored-by: stas <statis@microsoft.com>
Co-authored-by: Teo Voinea <58236992+tevoinea@users.noreply.github.com>
2022-03-31 08:18:44 -07:00
5e31ba5b18 Consolidating Log Analytics References & Definitions (#1679)
* Consolidating Log Analytics References & Definitons.

* Updating variable name.

* Adding vm insights var name.

* removing bad files.

* Bad file.

* Fixing var.

* Adding new variables for all resources names.

* Removing autoscale changes.

Co-authored-by: Hayley Call <Hayley.Call@microsoft.com>
2022-03-28 13:34:38 -07:00
194e7d0e9e Move the event grid topic creation and subscription to the deployment template (#1591)
* move the event grid subscription to the template

* change the name of the new subscription to prevent deleting the wrong subscription

* refactoring

* mypy fix

* format

* format

* remove old event grid before arm deployment

* fix deply

* attempt to fix check-pr issue

* fix interactive login in check-pr

* move the event grid subscription to the tempalte

* change the name of the new subscription to prevent deleting the wrong subscription

* refactoring

* mypy fix

* format

* format

* remove old event grid before arm deployment

* using resource Id

* fix type

* fix location

* revert changes in registration.py

* build fix attempt

* build fix

* revert ci changes

* remove file

* address comment

* address PR comments

* naming

* fix deplyment
2022-03-15 10:48:42 -07:00
40b0e6685a Give function app resource group scoped contributor role (#1698)
* Give function app resource group scoped contributor role

* Reenable autoscaling

* We don't know what the minimum capacity for a sku is yet

* Lint
2022-03-09 13:07:22 -05:00
7c507ab7c7 Remove dependency on onefuzz deployment role to unblock (#1693) 2022-03-04 18:51:57 +00:00
d260689233 Remove use of deprecated warn() method on logger object (#1641)
Remove use of deprecated `warn()` method on logger object.

Co-authored-by: Marc Greisen <marc@greisen.org>
2022-03-01 09:19:11 -08:00
16166e1c14 Create autoscale resources for scaleset (#1661)
* Initial progress to adding a auto scale resource

* auto scale API is ready

* When creating a scaleset, add an autoscale resource to it as well

* Auto scale is correctly linked with scaleset

* 🧹

* Lint

* Cleaned up
2022-02-28 17:28:31 +00:00