Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Follow up bicep resource work #2100

Closed
3 of 7 tasks
davidfowl opened this issue Feb 6, 2024 · 1 comment
Closed
3 of 7 tasks

Follow up bicep resource work #2100

davidfowl opened this issue Feb 6, 2024 · 1 comment
Assignees
Labels
area-app-model Issues pertaining to the APIs in Aspire.Hosting, e.g. DistributedApplication

Comments

@davidfowl
Copy link
Member

davidfowl commented Feb 6, 2024

Following this issue #1941, we have some issues to work out:

  1. Consider adding a bicep resource type #1941 (comment)
  2. - Change secret handling to be keyvault based (Use keyvault for secret outputs #2131)
  3. - Do outputs need to be expressed in the manifest in order for azd to create a single uber deployment?
  4. - Consider allowing bicep files to come from a nuget package (Always copy the bicep files #2202 (comment))
  5. - Add support for check summing the bicep for diffs in the provisioner (Azure Provisioning is not creating additional ServiceBus Queues after first run #2384)
  6. - Bicep clean up.
  7. - Add support for multi file bicep modules represented on disk (Add support for multiple bicep modules #2405)
  8. - Tag azure resources with aspire-resource-name
@dotnet-issue-labeler dotnet-issue-labeler bot added the area-app-model Issues pertaining to the APIs in Aspire.Hosting, e.g. DistributedApplication label Feb 6, 2024
@davidfowl davidfowl self-assigned this Feb 6, 2024
@davidfowl davidfowl added this to the preview 4 (Mar) milestone Feb 6, 2024
@jongio
Copy link

jongio commented Feb 26, 2024

I reviewed the bicep code in: https://github.com/dotnet/aspire/tree/main/src/Aspire.Hosting.Azure/Bicep

Here's my feedback:

  1. resourceToken should be more unique, otherwise there will be collisions: var resourceToken = toLower(uniqueString(subscription().id, environmentName, location))

  2. Use consistent naming for resources, I see camel and pascal

  3. Consider adding a role.bicep like this:
    https://github.com/Azure/azure-dev/blob/main/templates/common/infra/bicep/core/security/role.bicep

  4. Consider adding default retention and sku to appinsights.bicep/workspaces

  5. cosmos is hardcoded to docdb, consider adding a param if you want to ever use the mongo api.
    https://github.com/Azure/azure-dev/blob/main/templates/common/infra/bicep/core/database/cosmos/cosmos-account.bicep#L10

  6. Consider cosmos serverless as it is MUCH cheaper.
    https://github.com/Azure/azure-dev/blob/main/templates/common/infra/bicep/core/database/cosmos/cosmos-account.bicep#L30

  7. consider adding kv secret bicep:
    https://github.com/Azure/azure-dev/blob/main/templates/common/infra/bicep/core/security/keyvault-secret.bicep

  8. consider using amv module references instead of shipping bicep modules, the source is here:
    https://github.com/Azure/bicep-registry-modules/tree/main/avm/res

example of how to use it:
https://github.com/Azure/bicep-registry-modules/tree/main/avm/res/app/container-app#example-1-using-only-defaults

@github-actions github-actions bot locked and limited conversation to collaborators Apr 22, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-app-model Issues pertaining to the APIs in Aspire.Hosting, e.g. DistributedApplication
Projects
None yet
Development

No branches or pull requests

3 participants