getporter / arm-mixin Goto Github PK
View Code? Open in Web Editor NEWA Porter Mixin for using ARM
Home Page: https://getporter.org/mixins/arm
License: Apache License 2.0
A Porter Mixin for using ARM
Home Page: https://getporter.org/mixins/arm
License: Apache License 2.0
The Mixin does not install the Azure CLI into the innvocationImage
. The code seems to be commented out in build.go
The unit tests are failing with the following error
https://dev.azure.com/deislabs/porter/_build/results?buildId=4175
go get -u github.com/jmhodges/jsonpp
ls: cannot access 'pkg/arm/arm/templates': No such file or directory
Is this still a relevant test with the new mixin (azure -> arm) or did the test templates just move?
When I did a sweep of the mixins and cleaned up their builds, I missed the arm mixin.
See getporter/terraform-mixin#87 for an example of how the other mixins were updated
This mixin will be downscoped to only support user provided ARM templates. As part of this, we'll remove the "built in" services.
This is a follow-up to getporter/porter#186. We originally added just enough support for the schema command to verify that our design for the command would work with VS Code.
Now that the command is plumed all the way through, let's go back and complete adding all the properties, enums, etc that the azure mixin supports.
We should expose the schema allowed for the porter manifest section of the azure mixin. IDEs can use this to provide autocomplete.
$ azure schema
{ json schema dump of the mixin's porter yaml section}
This is part of getporter/porter#76
Include the top secret required location parameter for the mixin.
I want to be able to authenticate to Azure without using the az mixin. It should be a mixin configuration whether or not authentication occurs automatically.
mixins:
- arm:
autoLogin: true # Automatically log into azure as needed
install:
- arm:
description: "This step will automatically authenticate for me"
Login with ambient environment variables such as AZURE_CLIENT_ID, etc
install:
- arm:
description: "login"
login
Explicit login
install:
- arm:
description: "login"
login:
clientId: "something else"
clientSecret: "than the default"
tenantId: "azure environment variables"
These should not need to be provided in some environments (e.g. CloudShell\ACI), should be able to support configuration from CloudShell environment , MSI etc.
Switch from using packr2 build to go generate like the other projects.
Implement uninstall functionality via uninstall.go
Add build badge to README.
Pipeline is https://dev.azure.com/getporter/porter/_build?definitionId=16
The current structure of the mixin is really flexible and allows us to quickly add new services by dropping ARM templates into the templates directory. This makes the mixin a little harder to use, however, since we aren't as easily able to report params and outputs in schema form since they change based on the type
attribute.
Let's instead pivot and make one mixin per type. This makes things more verbose from a mixin perspective, but it will actually make things more explicit from the Porter manifest perspective (i.e. I'll see that I am actually using cosmos and storage vs just "azure") and we'll be able to better handle the definition of parameters and what not for the JSON schema.
A lot of the functionality is pretty similar across these things, so I think we can have a good bit of common / library code and handle this with building up specific binaries from the cmd/ package and either splitting the templates up into multiple directories so it's really clear or just changing how we call the existing templating stuff
For observing usage, we want to add user agent in the mixin so that we can see it in azure
Commands like build and version are failing because it wants the azure subscription ID. Let's move the env var pulls outside of the constructor function and only load the variables when we need them.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.