Flux Configuration Args
data class FluxConfigurationArgs(val blobStorage: Output<FluxConfigurationBlobStorageArgs>? = null, val bucket: Output<FluxConfigurationBucketArgs>? = null, val clusterId: Output<String>? = null, val continuousReconciliationEnabled: Output<Boolean>? = null, val gitRepository: Output<FluxConfigurationGitRepositoryArgs>? = null, val kustomizations: Output<List<FluxConfigurationKustomizationArgs>>? = null, val name: Output<String>? = null, val namespace: Output<String>? = null, val scope: Output<String>? = null) : ConvertibleToJava<FluxConfigurationArgs>
Manages an Arc Kubernetes Flux Configuration.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
import * as std from "@pulumi/std";
const example = new azure.core.ResourceGroup("example", {
name: "example-resources",
location: "West Europe",
});
const exampleCluster = new azure.arckubernetes.Cluster("example", {
name: "example-akcc",
resourceGroupName: example.name,
location: "West Europe",
agentPublicKeyCertificate: std.filebase64({
input: "testdata/public.cer",
}).then(invoke => invoke.result),
identity: {
type: "SystemAssigned",
},
tags: {
ENV: "Test",
},
});
const exampleClusterExtension = new azure.arckubernetes.ClusterExtension("example", {
name: "example-ext",
clusterId: test.id,
extensionType: "microsoft.flux",
});
const exampleFluxConfiguration = new azure.arckubernetes.FluxConfiguration("example", {
name: "example-fc",
clusterId: test.id,
namespace: "flux",
gitRepository: {
url: "https://github.com/Azure/arc-k8s-demo",
referenceType: "branch",
referenceValue: "main",
},
kustomizations: [{
name: "kustomization-1",
}],
}, {
dependsOn: [exampleClusterExtension],
});Content copied to clipboard
import pulumi
import pulumi_azure as azure
import pulumi_std as std
example = azure.core.ResourceGroup("example",
name="example-resources",
location="West Europe")
example_cluster = azure.arckubernetes.Cluster("example",
name="example-akcc",
resource_group_name=example.name,
location="West Europe",
agent_public_key_certificate=std.filebase64(input="testdata/public.cer").result,
identity={
"type": "SystemAssigned",
},
tags={
"ENV": "Test",
})
example_cluster_extension = azure.arckubernetes.ClusterExtension("example",
name="example-ext",
cluster_id=test["id"],
extension_type="microsoft.flux")
example_flux_configuration = azure.arckubernetes.FluxConfiguration("example",
name="example-fc",
cluster_id=test["id"],
namespace="flux",
git_repository={
"url": "https://github.com/Azure/arc-k8s-demo",
"reference_type": "branch",
"reference_value": "main",
},
kustomizations=[{
"name": "kustomization-1",
}],
opts = pulumi.ResourceOptions(depends_on=[example_cluster_extension]))Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
using Std = Pulumi.Std;
return await Deployment.RunAsync(() =>
{
var example = new Azure.Core.ResourceGroup("example", new()
{
Name = "example-resources",
Location = "West Europe",
});
var exampleCluster = new Azure.ArcKubernetes.Cluster("example", new()
{
Name = "example-akcc",
ResourceGroupName = example.Name,
Location = "West Europe",
AgentPublicKeyCertificate = Std.Filebase64.Invoke(new()
{
Input = "testdata/public.cer",
}).Apply(invoke => invoke.Result),
Identity = new Azure.ArcKubernetes.Inputs.ClusterIdentityArgs
{
Type = "SystemAssigned",
},
Tags =
{
{ "ENV", "Test" },
},
});
var exampleClusterExtension = new Azure.ArcKubernetes.ClusterExtension("example", new()
{
Name = "example-ext",
ClusterId = test.Id,
ExtensionType = "microsoft.flux",
});
var exampleFluxConfiguration = new Azure.ArcKubernetes.FluxConfiguration("example", new()
{
Name = "example-fc",
ClusterId = test.Id,
Namespace = "flux",
GitRepository = new Azure.ArcKubernetes.Inputs.FluxConfigurationGitRepositoryArgs
{
Url = "https://github.com/Azure/arc-k8s-demo",
ReferenceType = "branch",
ReferenceValue = "main",
},
Kustomizations = new[]
{
new Azure.ArcKubernetes.Inputs.FluxConfigurationKustomizationArgs
{
Name = "kustomization-1",
},
},
}, new CustomResourceOptions
{
DependsOn =
{
exampleClusterExtension,
},
});
});Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/arckubernetes"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-std/sdk/go/std"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
Name: pulumi.String("example-resources"),
Location: pulumi.String("West Europe"),
})
if err != nil {
return err
}
invokeFilebase64, err := std.Filebase64(ctx, &std.Filebase64Args{
Input: "testdata/public.cer",
}, nil)
if err != nil {
return err
}
_, err = arckubernetes.NewCluster(ctx, "example", &arckubernetes.ClusterArgs{
Name: pulumi.String("example-akcc"),
ResourceGroupName: example.Name,
Location: pulumi.String("West Europe"),
AgentPublicKeyCertificate: pulumi.String(invokeFilebase64.Result),
Identity: &arckubernetes.ClusterIdentityArgs{
Type: pulumi.String("SystemAssigned"),
},
Tags: pulumi.StringMap{
"ENV": pulumi.String("Test"),
},
})
if err != nil {
return err
}
exampleClusterExtension, err := arckubernetes.NewClusterExtension(ctx, "example", &arckubernetes.ClusterExtensionArgs{
Name: pulumi.String("example-ext"),
ClusterId: pulumi.Any(test.Id),
ExtensionType: pulumi.String("microsoft.flux"),
})
if err != nil {
return err
}
_, err = arckubernetes.NewFluxConfiguration(ctx, "example", &arckubernetes.FluxConfigurationArgs{
Name: pulumi.String("example-fc"),
ClusterId: pulumi.Any(test.Id),
Namespace: pulumi.String("flux"),
GitRepository: &arckubernetes.FluxConfigurationGitRepositoryArgs{
Url: pulumi.String("https://github.com/Azure/arc-k8s-demo"),
ReferenceType: pulumi.String("branch"),
ReferenceValue: pulumi.String("main"),
},
Kustomizations: arckubernetes.FluxConfigurationKustomizationArray{
&arckubernetes.FluxConfigurationKustomizationArgs{
Name: pulumi.String("kustomization-1"),
},
},
}, pulumi.DependsOn([]pulumi.Resource{
exampleClusterExtension,
}))
if err != nil {
return err
}
return nil
})
}Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.arckubernetes.Cluster;
import com.pulumi.azure.arckubernetes.ClusterArgs;
import com.pulumi.azure.arckubernetes.inputs.ClusterIdentityArgs;
import com.pulumi.azure.arckubernetes.ClusterExtension;
import com.pulumi.azure.arckubernetes.ClusterExtensionArgs;
import com.pulumi.azure.arckubernetes.FluxConfiguration;
import com.pulumi.azure.arckubernetes.FluxConfigurationArgs;
import com.pulumi.azure.arckubernetes.inputs.FluxConfigurationGitRepositoryArgs;
import com.pulumi.azure.arckubernetes.inputs.FluxConfigurationKustomizationArgs;
import com.pulumi.resources.CustomResourceOptions;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new ResourceGroup("example", ResourceGroupArgs.builder()
.name("example-resources")
.location("West Europe")
.build());
var exampleCluster = new Cluster("exampleCluster", ClusterArgs.builder()
.name("example-akcc")
.resourceGroupName(example.name())
.location("West Europe")
.agentPublicKeyCertificate(StdFunctions.filebase64(Filebase64Args.builder()
.input("testdata/public.cer")
.build()).result())
.identity(ClusterIdentityArgs.builder()
.type("SystemAssigned")
.build())
.tags(Map.of("ENV", "Test"))
.build());
var exampleClusterExtension = new ClusterExtension("exampleClusterExtension", ClusterExtensionArgs.builder()
.name("example-ext")
.clusterId(test.id())
.extensionType("microsoft.flux")
.build());
var exampleFluxConfiguration = new FluxConfiguration("exampleFluxConfiguration", FluxConfigurationArgs.builder()
.name("example-fc")
.clusterId(test.id())
.namespace("flux")
.gitRepository(FluxConfigurationGitRepositoryArgs.builder()
.url("https://github.com/Azure/arc-k8s-demo")
.referenceType("branch")
.referenceValue("main")
.build())
.kustomizations(FluxConfigurationKustomizationArgs.builder()
.name("kustomization-1")
.build())
.build(), CustomResourceOptions.builder()
.dependsOn(exampleClusterExtension)
.build());
}
}Content copied to clipboard
resources:
example:
type: azure:core:ResourceGroup
properties:
name: example-resources
location: West Europe
exampleCluster:
type: azure:arckubernetes:Cluster
name: example
properties:
name: example-akcc
resourceGroupName: ${example.name}
location: West Europe
agentPublicKeyCertificate:
fn::invoke:
Function: std:filebase64
Arguments:
input: testdata/public.cer
Return: result
identity:
type: SystemAssigned
tags:
ENV: Test
exampleClusterExtension:
type: azure:arckubernetes:ClusterExtension
name: example
properties:
name: example-ext
clusterId: ${test.id}
extensionType: microsoft.flux
exampleFluxConfiguration:
type: azure:arckubernetes:FluxConfiguration
name: example
properties:
name: example-fc
clusterId: ${test.id}
namespace: flux
gitRepository:
url: https://github.com/Azure/arc-k8s-demo
referenceType: branch
referenceValue: main
kustomizations:
- name: kustomization-1
options:
dependson:
- ${exampleClusterExtension}Content copied to clipboard
Import
Arc Kubernetes Flux Configuration can be imported using the resource id for different cluster_resource_name, e.g.
$ pulumi import azure:arckubernetes/fluxConfiguration:FluxConfiguration example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Kubernetes/connectedClusters/cluster1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/fluxConfiguration1Content copied to clipboard
Constructors
Link copied to clipboard
constructor(blobStorage: Output<FluxConfigurationBlobStorageArgs>? = null, bucket: Output<FluxConfigurationBucketArgs>? = null, clusterId: Output<String>? = null, continuousReconciliationEnabled: Output<Boolean>? = null, gitRepository: Output<FluxConfigurationGitRepositoryArgs>? = null, kustomizations: Output<List<FluxConfigurationKustomizationArgs>>? = null, name: Output<String>? = null, namespace: Output<String>? = null, scope: Output<String>? = null)
Properties
Link copied to clipboard
An blob_storage block as defined below.
Link copied to clipboard
A bucket block as defined below.
Link copied to clipboard
Whether the configuration will keep its reconciliation of its kustomizations and sources with the repository. Defaults to true.
Link copied to clipboard
A git_repository block as defined below.
Link copied to clipboard
A kustomizations block as defined below.