V18.0.0 of azure-sdk-for-go has been released which includes a DevSpace Controller preview.
A resource should be created that will create a DevSpace Controller on Azure.
resource azurerm_devspace_controller "test" {
    # Mapped to Controller.ResourceGroupName
    resource_group_name = "totally-awesome-rg"
    # Mapped to Controller.Name
    name = "totallyawesomedevspace"
    # Mapped to Controller.Location
    location = "west europe"
    # Mapped to Controller.Type
    type = "Kubernetes" # OR: OrchestratorSpecificConnectionDetails
    # Mapped to Controller.Sku
    sku = "Standard" # No other skus at this time
    properties {
        # Mapped to Controller.ControllerProperties.HostSuffix
        host_suffix = "suffix"
        # Mapped to Controller.ControllerProperties.TargetContainerHostCredentialsBase64
        target_container_host_credentials_base64 = "${base64encode("Base64 Encoded Value")}"
        # Mapped to Controller.ControllerProperties.TargetContainerHostResourceId
        target_container_host_resource_id = "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/managedCluster/myCluster"
    }
    # Mapped to Controller.Tags
    tags = {
        Awesome = "Totally"
    }
}
# Returns:
#   id
#   resource_group_name
#   name
#   location
#   type
#   sku
#   properties.host_suffix
#   properties.data_plane_fqdn
#   properties.target_container_host_credentials_base64
#   properties.target_container_host_resource_id
Note Although OrchestratorSpecificConnectionDetails is included in the InstanceType struct, and there is a ControllerConnectionDetails class, there doesn't currently seem to be a way of including the connection details in the ControllersClient.Create method (or the Controller struct)
Note There is no ControllersClient.CreateOrUpdate method. There is only ControllersClient.Create and ControllersClient.Update
I'm not sure if this is something to consider while it's still in preview. I just thought I would get the ball rolling on it.
I can't seem to find a way of attaching the controller to the Kubernetes cluster. ๐
Edit: Found it. Updated original post.
@lfshr what kind of Preview is this in? We only support functionality once it's in Public Preview (rather than Private Preview) since it means the API is _generally_ unlikely to change dramatically
@tombuildsstuff DevSpaces itself is in public preview (I think) as it's generally available to the public (is that the criteria?)
The dev-spaces page doesn't say whether it's public or private
Azure Dev Spaces is in currently in preview, and is supported only by AKS clusters in the East US, West Europe, and Canada East regions. Previews are made available to you on the condition that you agree to the supplemental terms of use. Some aspects of this feature may change prior to general availability (GA). - https://docs.microsoft.com/en-us/azure/dev-spaces/azure-dev-spaces
@lfshr within Terraform we can use the Create and Update methods in the SDK in separate Create and update methods, rather than a combined operation - as such I think it should be possible to close https://github.com/Azure/azure-rest-api-specs/issues/3352?
@tombuildsstuff DevSpaces itself is in public preview (I think) as it's generally available to the public (is that the criteria?)
From a quick look it _appears_ to be in Public Preview - we define Public Preview as being that users can either self-register for the Beta/Preview, or that it's an open-invite (e.g. users don't need to opt-into anything); anything else we consider a Private/Invite-only Preview and tend to hold off supporting
Hope that helps :)
@tombuildsstuff but consistency. ๐ข You're probably right, I'm just nit picking. I'll close it.
Ah. Yes, dev-spaces is in public preview then. You can create dev spaces using the new az cli without signing up for anything.
Thanks Tom
Depends on #1434
Dev Spaces Prerequisites:
An Azure subscription. If you don't have one, you can create a free account.- A Kubernetes cluster running Kubernetes 1.9.6, in the EastUS, WestEurope, or CanadaEast region, with Http Application Routing enabled.
https://docs.microsoft.com/en-us/azure/dev-spaces/quickstart-netcore
Great work @metacpp
Thanks guys ๐
hi @lfshr
Just to let you know that this has been released as a part of v1.18 of the AzureRM Provider (the full changelog is available here). You can upgrade to this by specifying the version in the provider block (as shown below) and then running terraform init -upgrade
provider "azurerm" {
  version = "=1.18.0"
}
Thanks!
I'm going to lock this issue because it has been closed for _30 days_ โณ. This helps our maintainers find and focus on the active issues.
If you feel this issue should be reopened, we encourage creating a new issue linking back to this one for added context. If you feel I made an error ๐ค ๐ , please reach out to my human friends ๐ [email protected]. Thanks!
Most helpful comment
hi @lfshr
Just to let you know that this has been released as a part of v1.18 of the AzureRM Provider (the full changelog is available here). You can upgrade to this by specifying the version in the provider block (as shown below) and then running
terraform init -upgradeThanks!