1. Packages
  2. ArgoCD
  3. API Docs
  4. Cluster
Argo CD v1.0.1 published on Friday, Feb 21, 2025 by Three141

argocd.Cluster

Explore with Pulumi AI

Manages clusters within ArgoCD.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as argocd from "@three14/pulumi-argocd";
import * as aws from "@pulumi/aws";
import * as gcp from "@pulumi/gcp";
import * as kubernetes from "@pulumi/kubernetes";
import * as std from "@pulumi/std";

//# Bearer token Authentication
const kubernetes = new argocd.Cluster("kubernetes", {
    server: "https://1.2.3.4:12345",
    config: {
        bearerToken: "eyJhbGciOiJSUzI...",
        tlsClientConfig: {
            caData: std.file({
                input: "path/to/ca.pem",
            }).then(invoke => invoke.result),
        },
    },
});
//# GCP GKE cluster
const cluster = gcp.container.getCluster({
    name: "cluster",
    location: "europe-west1",
});
const argocdManager = new kubernetes.core.v1.ServiceAccount("argocd_manager", {metadata: {
    name: "argocd-manager",
    namespace: "kube-system",
}});
const argocdManagerClusterRole = new kubernetes.rbac.v1.ClusterRole("argocd_manager", {
    metadata: {
        name: "argocd-manager-role",
    },
    rules: [
        {
            apiGroups: ["*"],
            resources: ["*"],
            verbs: ["*"],
        },
        {
            nonResourceUrls: ["*"],
            verbs: ["*"],
        },
    ],
});
const argocdManagerClusterRoleBinding = new kubernetes.rbac.v1.ClusterRoleBinding("argocd_manager", {
    metadata: {
        name: "argocd-manager-role-binding",
    },
    roleRef: {
        apiGroup: "rbac.authorization.k8s.io",
        kind: "ClusterRole",
        name: argocdManagerClusterRole.metadata.apply(metadata => metadata.name),
    },
    subjects: [{
        kind: "ServiceAccount",
        name: argocdManager.metadata.apply(metadata => metadata.name),
        namespace: argocdManager.metadata.apply(metadata => metadata.namespace),
    }],
});
const argocdManagerSecret = new kubernetes.core.v1.Secret("argocd_manager", {metadata: {
    name: argocdManager.defaultSecretName,
    namespace: argocdManager.metadata.apply(metadata => metadata.namespace),
}});
const gke = new argocd.Cluster("gke", {
    server: cluster.then(cluster => std.join({
        separator: "",
        input: [
            "https://%s",
            cluster.endpoint,
        ],
    })).then(invoke => invoke.result),
    name: "gke",
    config: {
        bearerToken: argocdManagerKubernetesSecret.data.token,
        tlsClientConfig: {
            caData: cluster.then(cluster => std.base64decode({
                input: cluster.masterAuths?.[0]?.clusterCaCertificate,
            })).then(invoke => invoke.result),
        },
    },
});
//# AWS EKS cluster
const clusterGetCluster = aws.eks.getCluster({
    name: "cluster",
});
const eks = new argocd.Cluster("eks", {
    server: clusterGetCluster.then(clusterGetCluster => std.join({
        separator: "",
        input: [
            "https://%s",
            clusterGetCluster.endpoint,
        ],
    })).then(invoke => invoke.result),
    name: "eks",
    namespaces: [
        "default",
        "optional",
    ],
    config: {
        awsAuthConfigs: [{
            clusterName: "myekscluster",
            roleArn: "arn:aws:iam::<123456789012>:role/<role-name>",
        }],
        tlsClientConfig: {
            caData: clusterGetCluster.then(clusterGetCluster => std.base64decode({
                input: clusterGetCluster.certificateAuthorities?.[0]?.data,
            })).then(invoke => invoke.result),
        },
    },
});
Copy
import pulumi
import pulumi_argocd as argocd
import pulumi_aws as aws
import pulumi_gcp as gcp
import pulumi_kubernetes as kubernetes
import pulumi_std as std

## Bearer token Authentication
kubernetes = argocd.Cluster("kubernetes",
    server="https://1.2.3.4:12345",
    config={
        "bearer_token": "eyJhbGciOiJSUzI...",
        "tls_client_config": {
            "ca_data": std.file(input="path/to/ca.pem").result,
        },
    })
## GCP GKE cluster
cluster = gcp.container.get_cluster(name="cluster",
    location="europe-west1")
argocd_manager = kubernetes.core.v1.ServiceAccount("argocd_manager", metadata={
    "name": "argocd-manager",
    "namespace": "kube-system",
})
argocd_manager_cluster_role = kubernetes.rbac.v1.ClusterRole("argocd_manager",
    metadata={
        "name": "argocd-manager-role",
    },
    rules=[
        {
            "api_groups": ["*"],
            "resources": ["*"],
            "verbs": ["*"],
        },
        {
            "non_resource_urls": ["*"],
            "verbs": ["*"],
        },
    ])
argocd_manager_cluster_role_binding = kubernetes.rbac.v1.ClusterRoleBinding("argocd_manager",
    metadata={
        "name": "argocd-manager-role-binding",
    },
    role_ref={
        "api_group": "rbac.authorization.k8s.io",
        "kind": "ClusterRole",
        "name": argocd_manager_cluster_role.metadata.name,
    },
    subjects=[{
        "kind": "ServiceAccount",
        "name": argocd_manager.metadata.name,
        "namespace": argocd_manager.metadata.namespace,
    }])
argocd_manager_secret = kubernetes.core.v1.Secret("argocd_manager", metadata={
    "name": argocd_manager.default_secret_name,
    "namespace": argocd_manager.metadata.namespace,
})
gke = argocd.Cluster("gke",
    server=std.join(separator="",
        input=[
            "https://%s",
            cluster.endpoint,
        ]).result,
    name="gke",
    config={
        "bearer_token": argocd_manager_kubernetes_secret["data"]["token"],
        "tls_client_config": {
            "ca_data": std.base64decode(input=cluster.master_auths[0].cluster_ca_certificate).result,
        },
    })
## AWS EKS cluster
cluster_get_cluster = aws.eks.get_cluster(name="cluster")
eks = argocd.Cluster("eks",
    server=std.join(separator="",
        input=[
            "https://%s",
            cluster_get_cluster.endpoint,
        ]).result,
    name="eks",
    namespaces=[
        "default",
        "optional",
    ],
    config={
        "aws_auth_configs": [{
            "cluster_name": "myekscluster",
            "role_arn": "arn:aws:iam::<123456789012>:role/<role-name>",
        }],
        "tls_client_config": {
            "ca_data": std.base64decode(input=cluster_get_cluster.certificate_authorities[0].data).result,
        },
    })
Copy
package main

import (
	"github.com/Three141/pulumi-argocd/sdk/go/argocd"
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks"
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/container"
	corev1 "github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes/core/v1"
	metav1 "github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes/meta/v1"
	rbacv1 "github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes/rbac/v1"
	"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 {
		invokeFile, err := std.File(ctx, &std.FileArgs{
			Input: "path/to/ca.pem",
		}, nil)
		if err != nil {
			return err
		}
		// # Bearer token Authentication
		_, err = argocd.NewCluster(ctx, "kubernetes", &argocd.ClusterArgs{
			Server: pulumi.String("https://1.2.3.4:12345"),
			Config: &argocd.ClusterConfigArgs{
				BearerToken: pulumi.String("eyJhbGciOiJSUzI..."),
				TlsClientConfig: &argocd.ClusterConfigTlsClientConfigArgs{
					CaData: pulumi.String(invokeFile.Result),
				},
			},
		})
		if err != nil {
			return err
		}
		// # GCP GKE cluster
		cluster, err := container.LookupCluster(ctx, &container.LookupClusterArgs{
			Name:     "cluster",
			Location: pulumi.StringRef("europe-west1"),
		}, nil)
		if err != nil {
			return err
		}
		argocdManager, err := corev1.NewServiceAccount(ctx, "argocd_manager", &corev1.ServiceAccountArgs{
			Metadata: &metav1.ObjectMetaArgs{
				Name:      pulumi.String("argocd-manager"),
				Namespace: pulumi.String("kube-system"),
			},
		})
		if err != nil {
			return err
		}
		argocdManagerClusterRole, err := rbacv1.NewClusterRole(ctx, "argocd_manager", &rbacv1.ClusterRoleArgs{
			Metadata: &metav1.ObjectMetaArgs{
				Name: pulumi.String("argocd-manager-role"),
			},
			Rules: rbacv1.PolicyRuleArray{
				&rbacv1.PolicyRuleArgs{
					ApiGroups: pulumi.StringArray{
						pulumi.String("*"),
					},
					Resources: pulumi.StringArray{
						pulumi.String("*"),
					},
					Verbs: pulumi.StringArray{
						pulumi.String("*"),
					},
				},
				&rbacv1.PolicyRuleArgs{
					NonResourceUrls: pulumi.StringArray{
						pulumi.String("*"),
					},
					Verbs: pulumi.StringArray{
						pulumi.String("*"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = rbacv1.NewClusterRoleBinding(ctx, "argocd_manager", &rbacv1.ClusterRoleBindingArgs{
			Metadata: &metav1.ObjectMetaArgs{
				Name: pulumi.String("argocd-manager-role-binding"),
			},
			RoleRef: &rbacv1.RoleRefArgs{
				ApiGroup: pulumi.String("rbac.authorization.k8s.io"),
				Kind:     pulumi.String("ClusterRole"),
				Name: argocdManagerClusterRole.Metadata.ApplyT(func(metadata metav1.ObjectMeta) (*string, error) {
					return &metadata.Name, nil
				}).(pulumi.StringPtrOutput),
			},
			Subjects: rbacv1.SubjectArray{
				&rbacv1.SubjectArgs{
					Kind: pulumi.String("ServiceAccount"),
					Name: argocdManager.Metadata.ApplyT(func(metadata metav1.ObjectMeta) (*string, error) {
						return &metadata.Name, nil
					}).(pulumi.StringPtrOutput),
					Namespace: argocdManager.Metadata.ApplyT(func(metadata metav1.ObjectMeta) (*string, error) {
						return &metadata.Namespace, nil
					}).(pulumi.StringPtrOutput),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = corev1.NewSecret(ctx, "argocd_manager", &corev1.SecretArgs{
			Metadata: &metav1.ObjectMetaArgs{
				Name: argocdManager.DefaultSecretName,
				Namespace: argocdManager.Metadata.ApplyT(func(metadata metav1.ObjectMeta) (*string, error) {
					return &metadata.Namespace, nil
				}).(pulumi.StringPtrOutput),
			},
		})
		if err != nil {
			return err
		}
		invokeJoin1, err := std.Join(ctx, &std.JoinArgs{
			Separator: "",
			Input: []interface{}{
				"https://%s",
				cluster.Endpoint,
			},
		}, nil)
		if err != nil {
			return err
		}
		invokeBase64decode2, err := std.Base64decode(ctx, &std.Base64decodeArgs{
			Input: cluster.MasterAuths[0].ClusterCaCertificate,
		}, nil)
		if err != nil {
			return err
		}
		_, err = argocd.NewCluster(ctx, "gke", &argocd.ClusterArgs{
			Server: pulumi.String(invokeJoin1.Result),
			Name:   pulumi.String("gke"),
			Config: &argocd.ClusterConfigArgs{
				BearerToken: pulumi.Any(argocdManagerKubernetesSecret.Data.Token),
				TlsClientConfig: &argocd.ClusterConfigTlsClientConfigArgs{
					CaData: pulumi.String(invokeBase64decode2.Result),
				},
			},
		})
		if err != nil {
			return err
		}
		// # AWS EKS cluster
		clusterGetCluster, err := eks.LookupCluster(ctx, &eks.LookupClusterArgs{
			Name: "cluster",
		}, nil)
		if err != nil {
			return err
		}
		invokeJoin3, err := std.Join(ctx, &std.JoinArgs{
			Separator: "",
			Input: []interface{}{
				"https://%s",
				clusterGetCluster.Endpoint,
			},
		}, nil)
		if err != nil {
			return err
		}
		invokeBase64decode4, err := std.Base64decode(ctx, &std.Base64decodeArgs{
			Input: clusterGetCluster.CertificateAuthorities[0].Data,
		}, nil)
		if err != nil {
			return err
		}
		_, err = argocd.NewCluster(ctx, "eks", &argocd.ClusterArgs{
			Server: pulumi.String(invokeJoin3.Result),
			Name:   pulumi.String("eks"),
			Namespaces: pulumi.StringArray{
				pulumi.String("default"),
				pulumi.String("optional"),
			},
			Config: &argocd.ClusterConfigArgs{
				AwsAuthConfigs: argocd.ClusterConfigAwsAuthConfigArray{
					&argocd.ClusterConfigAwsAuthConfigArgs{
						ClusterName: pulumi.String("myekscluster"),
						RoleArn:     pulumi.String("arn:aws:iam::<123456789012>:role/<role-name>"),
					},
				},
				TlsClientConfig: &argocd.ClusterConfigTlsClientConfigArgs{
					CaData: pulumi.String(invokeBase64decode4.Result),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Argocd = Three14.Argocd;
using Aws = Pulumi.Aws;
using Gcp = Pulumi.Gcp;
using Kubernetes = Pulumi.Kubernetes;
using Std = Pulumi.Std;

return await Deployment.RunAsync(() => 
{
    //# Bearer token Authentication
    var kubernetes = new Argocd.Cluster("kubernetes", new()
    {
        Server = "https://1.2.3.4:12345",
        Config = new Argocd.Inputs.ClusterConfigArgs
        {
            BearerToken = "eyJhbGciOiJSUzI...",
            TlsClientConfig = new Argocd.Inputs.ClusterConfigTlsClientConfigArgs
            {
                CaData = Std.File.Invoke(new()
                {
                    Input = "path/to/ca.pem",
                }).Apply(invoke => invoke.Result),
            },
        },
    });

    //# GCP GKE cluster
    var cluster = Gcp.Container.GetCluster.Invoke(new()
    {
        Name = "cluster",
        Location = "europe-west1",
    });

    var argocdManager = new Kubernetes.Core.V1.ServiceAccount("argocd_manager", new()
    {
        Metadata = new Kubernetes.Types.Inputs.Meta.V1.ObjectMetaArgs
        {
            Name = "argocd-manager",
            Namespace = "kube-system",
        },
    });

    var argocdManagerClusterRole = new Kubernetes.Rbac.V1.ClusterRole("argocd_manager", new()
    {
        Metadata = new Kubernetes.Types.Inputs.Meta.V1.ObjectMetaArgs
        {
            Name = "argocd-manager-role",
        },
        Rules = new[]
        {
            new Kubernetes.Types.Inputs.Rbac.V1.PolicyRuleArgs
            {
                ApiGroups = new[]
                {
                    "*",
                },
                Resources = new[]
                {
                    "*",
                },
                Verbs = new[]
                {
                    "*",
                },
            },
            new Kubernetes.Types.Inputs.Rbac.V1.PolicyRuleArgs
            {
                NonResourceUrls = new[]
                {
                    "*",
                },
                Verbs = new[]
                {
                    "*",
                },
            },
        },
    });

    var argocdManagerClusterRoleBinding = new Kubernetes.Rbac.V1.ClusterRoleBinding("argocd_manager", new()
    {
        Metadata = new Kubernetes.Types.Inputs.Meta.V1.ObjectMetaArgs
        {
            Name = "argocd-manager-role-binding",
        },
        RoleRef = new Kubernetes.Types.Inputs.Rbac.V1.RoleRefArgs
        {
            ApiGroup = "rbac.authorization.k8s.io",
            Kind = "ClusterRole",
            Name = argocdManagerClusterRole.Metadata.Apply(metadata => metadata.Name),
        },
        Subjects = new[]
        {
            new Kubernetes.Types.Inputs.Rbac.V1.SubjectArgs
            {
                Kind = "ServiceAccount",
                Name = argocdManager.Metadata.Apply(metadata => metadata.Name),
                Namespace = argocdManager.Metadata.Apply(metadata => metadata.Namespace),
            },
        },
    });

    var argocdManagerSecret = new Kubernetes.Core.V1.Secret("argocd_manager", new()
    {
        Metadata = new Kubernetes.Types.Inputs.Meta.V1.ObjectMetaArgs
        {
            Name = argocdManager.DefaultSecretName,
            Namespace = argocdManager.Metadata.Apply(metadata => metadata.Namespace),
        },
    });

    var gke = new Argocd.Cluster("gke", new()
    {
        Server = Std.Join.Invoke(new()
        {
            Separator = "",
            Input = new[]
            {
                "https://%s",
                cluster.Apply(getClusterResult => getClusterResult.Endpoint),
            },
        }).Apply(invoke => invoke.Result),
        Name = "gke",
        Config = new Argocd.Inputs.ClusterConfigArgs
        {
            BearerToken = argocdManagerKubernetesSecret.Data.Token,
            TlsClientConfig = new Argocd.Inputs.ClusterConfigTlsClientConfigArgs
            {
                CaData = Std.Base64decode.Invoke(new()
                {
                    Input = cluster.Apply(getClusterResult => getClusterResult.MasterAuths[0]?.ClusterCaCertificate),
                }).Apply(invoke => invoke.Result),
            },
        },
    });

    //# AWS EKS cluster
    var clusterGetCluster = Aws.Eks.GetCluster.Invoke(new()
    {
        Name = "cluster",
    });

    var eks = new Argocd.Cluster("eks", new()
    {
        Server = Std.Join.Invoke(new()
        {
            Separator = "",
            Input = new[]
            {
                "https://%s",
                clusterGetCluster.Apply(getClusterResult => getClusterResult.Endpoint),
            },
        }).Apply(invoke => invoke.Result),
        Name = "eks",
        Namespaces = new[]
        {
            "default",
            "optional",
        },
        Config = new Argocd.Inputs.ClusterConfigArgs
        {
            AwsAuthConfigs = new[]
            {
                new Argocd.Inputs.ClusterConfigAwsAuthConfigArgs
                {
                    ClusterName = "myekscluster",
                    RoleArn = "arn:aws:iam::<123456789012>:role/<role-name>",
                },
            },
            TlsClientConfig = new Argocd.Inputs.ClusterConfigTlsClientConfigArgs
            {
                CaData = Std.Base64decode.Invoke(new()
                {
                    Input = clusterGetCluster.Apply(getClusterResult => getClusterResult.CertificateAuthorities[0]?.Data),
                }).Apply(invoke => invoke.Result),
            },
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.argocd.Cluster;
import com.pulumi.argocd.ClusterArgs;
import com.pulumi.argocd.inputs.ClusterConfigArgs;
import com.pulumi.argocd.inputs.ClusterConfigTlsClientConfigArgs;
import com.pulumi.gcp.container.ContainerFunctions;
import com.pulumi.gcp.container.inputs.GetClusterArgs;
import com.pulumi.kubernetes.core_v1.ServiceAccount;
import com.pulumi.kubernetes.core_v1.ServiceAccountArgs;
import com.pulumi.kubernetes.meta_v1.inputs.ObjectMetaArgs;
import com.pulumi.kubernetes.rbac.authorization.k8s.io_v1.ClusterRole;
import com.pulumi.kubernetes.rbac.authorization.k8s.io_v1.ClusterRoleArgs;
import com.pulumi.kubernetes.rbac.authorization.k8s.io_v1.inputs.PolicyRuleArgs;
import com.pulumi.kubernetes.rbac.authorization.k8s.io_v1.ClusterRoleBinding;
import com.pulumi.kubernetes.rbac.authorization.k8s.io_v1.ClusterRoleBindingArgs;
import com.pulumi.kubernetes.rbac.authorization.k8s.io_v1.inputs.RoleRefArgs;
import com.pulumi.kubernetes.rbac.authorization.k8s.io_v1.inputs.SubjectArgs;
import com.pulumi.kubernetes.core_v1.Secret;
import com.pulumi.kubernetes.core_v1.SecretArgs;
import com.pulumi.aws.eks.EksFunctions;
import com.pulumi.aws.eks.inputs.GetClusterArgs;
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) {
        //# Bearer token Authentication
        var kubernetes = new Cluster("kubernetes", ClusterArgs.builder()
            .server("https://1.2.3.4:12345")
            .config(ClusterConfigArgs.builder()
                .bearerToken("eyJhbGciOiJSUzI...")
                .tlsClientConfig(ClusterConfigTlsClientConfigArgs.builder()
                    .caData(StdFunctions.file(FileArgs.builder()
                        .input("path/to/ca.pem")
                        .build()).result())
                    .build())
                .build())
            .build());

        //# GCP GKE cluster
        final var cluster = ContainerFunctions.getCluster(GetClusterArgs.builder()
            .name("cluster")
            .location("europe-west1")
            .build());

        var argocdManager = new ServiceAccount("argocdManager", ServiceAccountArgs.builder()
            .metadata(ObjectMetaArgs.builder()
                .name("argocd-manager")
                .namespace("kube-system")
                .build())
            .build());

        var argocdManagerClusterRole = new ClusterRole("argocdManagerClusterRole", ClusterRoleArgs.builder()
            .metadata(ObjectMetaArgs.builder()
                .name("argocd-manager-role")
                .build())
            .rules(            
                PolicyRuleArgs.builder()
                    .apiGroups("*")
                    .resources("*")
                    .verbs("*")
                    .build(),
                PolicyRuleArgs.builder()
                    .nonResourceUrls("*")
                    .verbs("*")
                    .build())
            .build());

        var argocdManagerClusterRoleBinding = new ClusterRoleBinding("argocdManagerClusterRoleBinding", ClusterRoleBindingArgs.builder()
            .metadata(ObjectMetaArgs.builder()
                .name("argocd-manager-role-binding")
                .build())
            .roleRef(RoleRefArgs.builder()
                .apiGroup("rbac.authorization.k8s.io")
                .kind("ClusterRole")
                .name(argocdManagerClusterRole.metadata().applyValue(metadata -> metadata.name()))
                .build())
            .subjects(SubjectArgs.builder()
                .kind("ServiceAccount")
                .name(argocdManager.metadata().applyValue(metadata -> metadata.name()))
                .namespace(argocdManager.metadata().applyValue(metadata -> metadata.namespace()))
                .build())
            .build());

        var argocdManagerSecret = new Secret("argocdManagerSecret", SecretArgs.builder()
            .metadata(ObjectMetaArgs.builder()
                .name(argocdManager.defaultSecretName())
                .namespace(argocdManager.metadata().applyValue(metadata -> metadata.namespace()))
                .build())
            .build());

        var gke = new Cluster("gke", ClusterArgs.builder()
            .server(StdFunctions.join(JoinArgs.builder()
                .separator("")
                .input(                
                    "https://%s",
                    cluster.applyValue(getClusterResult -> getClusterResult.endpoint()))
                .build()).result())
            .name("gke")
            .config(ClusterConfigArgs.builder()
                .bearerToken(argocdManagerKubernetesSecret.data().token())
                .tlsClientConfig(ClusterConfigTlsClientConfigArgs.builder()
                    .caData(StdFunctions.base64decode(Base64decodeArgs.builder()
                        .input(cluster.applyValue(getClusterResult -> getClusterResult.masterAuths()[0].clusterCaCertificate()))
                        .build()).result())
                    .build())
                .build())
            .build());

        //# AWS EKS cluster
        final var clusterGetCluster = EksFunctions.getCluster(GetClusterArgs.builder()
            .name("cluster")
            .build());

        var eks = new Cluster("eks", ClusterArgs.builder()
            .server(StdFunctions.join(JoinArgs.builder()
                .separator("")
                .input(                
                    "https://%s",
                    clusterGetCluster.applyValue(getClusterResult -> getClusterResult.endpoint()))
                .build()).result())
            .name("eks")
            .namespaces(            
                "default",
                "optional")
            .config(ClusterConfigArgs.builder()
                .awsAuthConfigs(ClusterConfigAwsAuthConfigArgs.builder()
                    .clusterName("myekscluster")
                    .roleArn("arn:aws:iam::<123456789012>:role/<role-name>")
                    .build())
                .tlsClientConfig(ClusterConfigTlsClientConfigArgs.builder()
                    .caData(StdFunctions.base64decode(Base64decodeArgs.builder()
                        .input(clusterGetCluster.applyValue(getClusterResult -> getClusterResult.certificateAuthorities()[0].data()))
                        .build()).result())
                    .build())
                .build())
            .build());

    }
}
Copy
resources:
  ## Bearer token Authentication
  kubernetes:
    type: argocd:Cluster
    properties:
      server: https://1.2.3.4:12345
      config:
        bearerToken: eyJhbGciOiJSUzI...
        tlsClientConfig:
          caData:
            fn::invoke:
              function: std:file
              arguments:
                input: path/to/ca.pem
              return: result
  argocdManager:
    type: kubernetes:core/v1:ServiceAccount
    name: argocd_manager
    properties:
      metadata:
        name: argocd-manager
        namespace: kube-system
  argocdManagerClusterRole:
    type: kubernetes:rbac.authorization.k8s.io/v1:ClusterRole
    name: argocd_manager
    properties:
      metadata:
        name: argocd-manager-role
      rules:
        - apiGroups:
            - '*'
          resources:
            - '*'
          verbs:
            - '*'
        - nonResourceUrls:
            - '*'
          verbs:
            - '*'
  argocdManagerClusterRoleBinding:
    type: kubernetes:rbac.authorization.k8s.io/v1:ClusterRoleBinding
    name: argocd_manager
    properties:
      metadata:
        name: argocd-manager-role-binding
      roleRef:
        apiGroup: rbac.authorization.k8s.io
        kind: ClusterRole
        name: ${argocdManagerClusterRole.metadata.name}
      subjects:
        - kind: ServiceAccount
          name: ${argocdManager.metadata.name}
          namespace: ${argocdManager.metadata.namespace}
  argocdManagerSecret:
    type: kubernetes:core/v1:Secret
    name: argocd_manager
    properties:
      metadata:
        name: ${argocdManager.defaultSecretName}
        namespace: ${argocdManager.metadata.namespace}
  gke:
    type: argocd:Cluster
    properties:
      server:
        fn::invoke:
          function: std:join
          arguments:
            separator: ""
            input:
              - https://%s
              - ${cluster.endpoint}
          return: result
      name: gke
      config:
        bearerToken: ${argocdManagerKubernetesSecret.data.token}
        tlsClientConfig:
          caData:
            fn::invoke:
              function: std:base64decode
              arguments:
                input: ${cluster.masterAuths[0].clusterCaCertificate}
              return: result
  eks:
    type: argocd:Cluster
    properties:
      server:
        fn::invoke:
          function: std:join
          arguments:
            separator: ""
            input:
              - https://%s
              - ${clusterGetCluster.endpoint}
          return: result
      name: eks
      namespaces:
        - default
        - optional
      config:
        awsAuthConfigs:
          - clusterName: myekscluster
            roleArn: arn:aws:iam::<123456789012>:role/<role-name>
        tlsClientConfig:
          caData:
            fn::invoke:
              function: std:base64decode
              arguments:
                input: ${clusterGetCluster.certificateAuthorities[0].data}
              return: result
variables:
  ## GCP GKE cluster
  cluster:
    fn::invoke:
      function: gcp:container:getCluster
      arguments:
        name: cluster
        location: europe-west1
  ## AWS EKS cluster
  clusterGetCluster:
    fn::invoke:
      function: aws:eks:getCluster
      arguments:
        name: cluster
Copy

Create Cluster Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new Cluster(name: string, args: ClusterArgs, opts?: CustomResourceOptions);
@overload
def Cluster(resource_name: str,
            args: ClusterArgs,
            opts: Optional[ResourceOptions] = None)

@overload
def Cluster(resource_name: str,
            opts: Optional[ResourceOptions] = None,
            config: Optional[ClusterConfigArgs] = None,
            metadatas: Optional[Sequence[ClusterMetadataArgs]] = None,
            name: Optional[str] = None,
            namespaces: Optional[Sequence[str]] = None,
            project: Optional[str] = None,
            server: Optional[str] = None,
            shard: Optional[str] = None)
func NewCluster(ctx *Context, name string, args ClusterArgs, opts ...ResourceOption) (*Cluster, error)
public Cluster(string name, ClusterArgs args, CustomResourceOptions? opts = null)
public Cluster(String name, ClusterArgs args)
public Cluster(String name, ClusterArgs args, CustomResourceOptions options)
type: argocd:Cluster
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. ClusterArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. ClusterArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args This property is required. ClusterArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. ClusterArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. ClusterArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

Constructor example

The following reference example uses placeholder values for all input properties.

var clusterResource = new Argocd.Cluster("clusterResource", new()
{
    Config = new Argocd.Inputs.ClusterConfigArgs
    {
        AwsAuthConfigs = new[]
        {
            new Argocd.Inputs.ClusterConfigAwsAuthConfigArgs
            {
                ClusterName = "string",
                RoleArn = "string",
            },
        },
        BearerToken = "string",
        ExecProviderConfig = new Argocd.Inputs.ClusterConfigExecProviderConfigArgs
        {
            ApiVersion = "string",
            Args = new[]
            {
                "string",
            },
            Command = "string",
            Env = 
            {
                { "string", "string" },
            },
            InstallHint = "string",
        },
        Password = "string",
        TlsClientConfig = new Argocd.Inputs.ClusterConfigTlsClientConfigArgs
        {
            CaData = "string",
            CertData = "string",
            Insecure = false,
            KeyData = "string",
            ServerName = "string",
        },
        Username = "string",
    },
    Metadatas = new[]
    {
        new Argocd.Inputs.ClusterMetadataArgs
        {
            Annotations = 
            {
                { "string", "string" },
            },
            Labels = 
            {
                { "string", "string" },
            },
        },
    },
    Name = "string",
    Namespaces = new[]
    {
        "string",
    },
    Project = "string",
    Server = "string",
    Shard = "string",
});
Copy
example, err := argocd.NewCluster(ctx, "clusterResource", &argocd.ClusterArgs{
	Config: &argocd.ClusterConfigArgs{
		AwsAuthConfigs: argocd.ClusterConfigAwsAuthConfigArray{
			&argocd.ClusterConfigAwsAuthConfigArgs{
				ClusterName: pulumi.String("string"),
				RoleArn:     pulumi.String("string"),
			},
		},
		BearerToken: pulumi.String("string"),
		ExecProviderConfig: &argocd.ClusterConfigExecProviderConfigArgs{
			ApiVersion: pulumi.String("string"),
			Args: pulumi.StringArray{
				pulumi.String("string"),
			},
			Command: pulumi.String("string"),
			Env: pulumi.StringMap{
				"string": pulumi.String("string"),
			},
			InstallHint: pulumi.String("string"),
		},
		Password: pulumi.String("string"),
		TlsClientConfig: &argocd.ClusterConfigTlsClientConfigArgs{
			CaData:     pulumi.String("string"),
			CertData:   pulumi.String("string"),
			Insecure:   pulumi.Bool(false),
			KeyData:    pulumi.String("string"),
			ServerName: pulumi.String("string"),
		},
		Username: pulumi.String("string"),
	},
	Metadatas: argocd.ClusterMetadataArray{
		&argocd.ClusterMetadataArgs{
			Annotations: pulumi.StringMap{
				"string": pulumi.String("string"),
			},
			Labels: pulumi.StringMap{
				"string": pulumi.String("string"),
			},
		},
	},
	Name: pulumi.String("string"),
	Namespaces: pulumi.StringArray{
		pulumi.String("string"),
	},
	Project: pulumi.String("string"),
	Server:  pulumi.String("string"),
	Shard:   pulumi.String("string"),
})
Copy
var clusterResource = new Cluster("clusterResource", ClusterArgs.builder()
    .config(ClusterConfigArgs.builder()
        .awsAuthConfigs(ClusterConfigAwsAuthConfigArgs.builder()
            .clusterName("string")
            .roleArn("string")
            .build())
        .bearerToken("string")
        .execProviderConfig(ClusterConfigExecProviderConfigArgs.builder()
            .apiVersion("string")
            .args("string")
            .command("string")
            .env(Map.of("string", "string"))
            .installHint("string")
            .build())
        .password("string")
        .tlsClientConfig(ClusterConfigTlsClientConfigArgs.builder()
            .caData("string")
            .certData("string")
            .insecure(false)
            .keyData("string")
            .serverName("string")
            .build())
        .username("string")
        .build())
    .metadatas(ClusterMetadataArgs.builder()
        .annotations(Map.of("string", "string"))
        .labels(Map.of("string", "string"))
        .build())
    .name("string")
    .namespaces("string")
    .project("string")
    .server("string")
    .shard("string")
    .build());
Copy
cluster_resource = argocd.Cluster("clusterResource",
    config={
        "aws_auth_configs": [{
            "cluster_name": "string",
            "role_arn": "string",
        }],
        "bearer_token": "string",
        "exec_provider_config": {
            "api_version": "string",
            "args": ["string"],
            "command": "string",
            "env": {
                "string": "string",
            },
            "install_hint": "string",
        },
        "password": "string",
        "tls_client_config": {
            "ca_data": "string",
            "cert_data": "string",
            "insecure": False,
            "key_data": "string",
            "server_name": "string",
        },
        "username": "string",
    },
    metadatas=[{
        "annotations": {
            "string": "string",
        },
        "labels": {
            "string": "string",
        },
    }],
    name="string",
    namespaces=["string"],
    project="string",
    server="string",
    shard="string")
Copy
const clusterResource = new argocd.Cluster("clusterResource", {
    config: {
        awsAuthConfigs: [{
            clusterName: "string",
            roleArn: "string",
        }],
        bearerToken: "string",
        execProviderConfig: {
            apiVersion: "string",
            args: ["string"],
            command: "string",
            env: {
                string: "string",
            },
            installHint: "string",
        },
        password: "string",
        tlsClientConfig: {
            caData: "string",
            certData: "string",
            insecure: false,
            keyData: "string",
            serverName: "string",
        },
        username: "string",
    },
    metadatas: [{
        annotations: {
            string: "string",
        },
        labels: {
            string: "string",
        },
    }],
    name: "string",
    namespaces: ["string"],
    project: "string",
    server: "string",
    shard: "string",
});
Copy
type: argocd:Cluster
properties:
    config:
        awsAuthConfigs:
            - clusterName: string
              roleArn: string
        bearerToken: string
        execProviderConfig:
            apiVersion: string
            args:
                - string
            command: string
            env:
                string: string
            installHint: string
        password: string
        tlsClientConfig:
            caData: string
            certData: string
            insecure: false
            keyData: string
            serverName: string
        username: string
    metadatas:
        - annotations:
            string: string
          labels:
            string: string
    name: string
    namespaces:
        - string
    project: string
    server: string
    shard: string
Copy

Cluster Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The Cluster resource accepts the following input properties:

Config This property is required. Three14.Argocd.Inputs.ClusterConfig
Cluster information for connecting to a cluster.
Metadatas List<Three14.Argocd.Inputs.ClusterMetadata>
Standard cluster secret's metadata. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata
Name string
Name of the cluster. If omitted, will use the server address.
Namespaces List<string>
List of namespaces which are accessible in that cluster. Cluster level resources would be ignored if namespace list is not empty.
Project string
Reference between project and cluster that allow you automatically to be added as item inside Destinations project entity. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/projects/#project-scoped-repositories-and-clusters.
Server string
Server is the API server URL of the Kubernetes cluster.
Shard string
Optional shard number. Calculated on the fly by the application controller if not specified.
Config This property is required. ClusterConfigArgs
Cluster information for connecting to a cluster.
Metadatas []ClusterMetadataArgs
Standard cluster secret's metadata. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata
Name string
Name of the cluster. If omitted, will use the server address.
Namespaces []string
List of namespaces which are accessible in that cluster. Cluster level resources would be ignored if namespace list is not empty.
Project string
Reference between project and cluster that allow you automatically to be added as item inside Destinations project entity. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/projects/#project-scoped-repositories-and-clusters.
Server string
Server is the API server URL of the Kubernetes cluster.
Shard string
Optional shard number. Calculated on the fly by the application controller if not specified.
config This property is required. ClusterConfig
Cluster information for connecting to a cluster.
metadatas List<ClusterMetadata>
Standard cluster secret's metadata. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata
name String
Name of the cluster. If omitted, will use the server address.
namespaces List<String>
List of namespaces which are accessible in that cluster. Cluster level resources would be ignored if namespace list is not empty.
project String
Reference between project and cluster that allow you automatically to be added as item inside Destinations project entity. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/projects/#project-scoped-repositories-and-clusters.
server String
Server is the API server URL of the Kubernetes cluster.
shard String
Optional shard number. Calculated on the fly by the application controller if not specified.
config This property is required. ClusterConfig
Cluster information for connecting to a cluster.
metadatas ClusterMetadata[]
Standard cluster secret's metadata. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata
name string
Name of the cluster. If omitted, will use the server address.
namespaces string[]
List of namespaces which are accessible in that cluster. Cluster level resources would be ignored if namespace list is not empty.
project string
Reference between project and cluster that allow you automatically to be added as item inside Destinations project entity. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/projects/#project-scoped-repositories-and-clusters.
server string
Server is the API server URL of the Kubernetes cluster.
shard string
Optional shard number. Calculated on the fly by the application controller if not specified.
config This property is required. ClusterConfigArgs
Cluster information for connecting to a cluster.
metadatas Sequence[ClusterMetadataArgs]
Standard cluster secret's metadata. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata
name str
Name of the cluster. If omitted, will use the server address.
namespaces Sequence[str]
List of namespaces which are accessible in that cluster. Cluster level resources would be ignored if namespace list is not empty.
project str
Reference between project and cluster that allow you automatically to be added as item inside Destinations project entity. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/projects/#project-scoped-repositories-and-clusters.
server str
Server is the API server URL of the Kubernetes cluster.
shard str
Optional shard number. Calculated on the fly by the application controller if not specified.
config This property is required. Property Map
Cluster information for connecting to a cluster.
metadatas List<Property Map>
Standard cluster secret's metadata. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata
name String
Name of the cluster. If omitted, will use the server address.
namespaces List<String>
List of namespaces which are accessible in that cluster. Cluster level resources would be ignored if namespace list is not empty.
project String
Reference between project and cluster that allow you automatically to be added as item inside Destinations project entity. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/projects/#project-scoped-repositories-and-clusters.
server String
Server is the API server URL of the Kubernetes cluster.
shard String
Optional shard number. Calculated on the fly by the application controller if not specified.

Outputs

All input properties are implicitly available as output properties. Additionally, the Cluster resource produces the following output properties:

Id string
The provider-assigned unique ID for this managed resource.
Infos List<Three14.Argocd.Outputs.ClusterInfo>
Information about cluster cache and state.
Id string
The provider-assigned unique ID for this managed resource.
Infos []ClusterInfo
Information about cluster cache and state.
id String
The provider-assigned unique ID for this managed resource.
infos List<ClusterInfo>
Information about cluster cache and state.
id string
The provider-assigned unique ID for this managed resource.
infos ClusterInfo[]
Information about cluster cache and state.
id str
The provider-assigned unique ID for this managed resource.
infos Sequence[ClusterInfo]
Information about cluster cache and state.
id String
The provider-assigned unique ID for this managed resource.
infos List<Property Map>
Information about cluster cache and state.

Look up Existing Cluster Resource

Get an existing Cluster resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: ClusterState, opts?: CustomResourceOptions): Cluster
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        config: Optional[ClusterConfigArgs] = None,
        infos: Optional[Sequence[ClusterInfoArgs]] = None,
        metadatas: Optional[Sequence[ClusterMetadataArgs]] = None,
        name: Optional[str] = None,
        namespaces: Optional[Sequence[str]] = None,
        project: Optional[str] = None,
        server: Optional[str] = None,
        shard: Optional[str] = None) -> Cluster
func GetCluster(ctx *Context, name string, id IDInput, state *ClusterState, opts ...ResourceOption) (*Cluster, error)
public static Cluster Get(string name, Input<string> id, ClusterState? state, CustomResourceOptions? opts = null)
public static Cluster get(String name, Output<String> id, ClusterState state, CustomResourceOptions options)
resources:  _:    type: argocd:Cluster    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
Config Three14.Argocd.Inputs.ClusterConfig
Cluster information for connecting to a cluster.
Infos List<Three14.Argocd.Inputs.ClusterInfo>
Information about cluster cache and state.
Metadatas List<Three14.Argocd.Inputs.ClusterMetadata>
Standard cluster secret's metadata. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata
Name string
Name of the cluster. If omitted, will use the server address.
Namespaces List<string>
List of namespaces which are accessible in that cluster. Cluster level resources would be ignored if namespace list is not empty.
Project string
Reference between project and cluster that allow you automatically to be added as item inside Destinations project entity. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/projects/#project-scoped-repositories-and-clusters.
Server string
Server is the API server URL of the Kubernetes cluster.
Shard string
Optional shard number. Calculated on the fly by the application controller if not specified.
Config ClusterConfigArgs
Cluster information for connecting to a cluster.
Infos []ClusterInfoArgs
Information about cluster cache and state.
Metadatas []ClusterMetadataArgs
Standard cluster secret's metadata. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata
Name string
Name of the cluster. If omitted, will use the server address.
Namespaces []string
List of namespaces which are accessible in that cluster. Cluster level resources would be ignored if namespace list is not empty.
Project string
Reference between project and cluster that allow you automatically to be added as item inside Destinations project entity. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/projects/#project-scoped-repositories-and-clusters.
Server string
Server is the API server URL of the Kubernetes cluster.
Shard string
Optional shard number. Calculated on the fly by the application controller if not specified.
config ClusterConfig
Cluster information for connecting to a cluster.
infos List<ClusterInfo>
Information about cluster cache and state.
metadatas List<ClusterMetadata>
Standard cluster secret's metadata. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata
name String
Name of the cluster. If omitted, will use the server address.
namespaces List<String>
List of namespaces which are accessible in that cluster. Cluster level resources would be ignored if namespace list is not empty.
project String
Reference between project and cluster that allow you automatically to be added as item inside Destinations project entity. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/projects/#project-scoped-repositories-and-clusters.
server String
Server is the API server URL of the Kubernetes cluster.
shard String
Optional shard number. Calculated on the fly by the application controller if not specified.
config ClusterConfig
Cluster information for connecting to a cluster.
infos ClusterInfo[]
Information about cluster cache and state.
metadatas ClusterMetadata[]
Standard cluster secret's metadata. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata
name string
Name of the cluster. If omitted, will use the server address.
namespaces string[]
List of namespaces which are accessible in that cluster. Cluster level resources would be ignored if namespace list is not empty.
project string
Reference between project and cluster that allow you automatically to be added as item inside Destinations project entity. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/projects/#project-scoped-repositories-and-clusters.
server string
Server is the API server URL of the Kubernetes cluster.
shard string
Optional shard number. Calculated on the fly by the application controller if not specified.
config ClusterConfigArgs
Cluster information for connecting to a cluster.
infos Sequence[ClusterInfoArgs]
Information about cluster cache and state.
metadatas Sequence[ClusterMetadataArgs]
Standard cluster secret's metadata. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata
name str
Name of the cluster. If omitted, will use the server address.
namespaces Sequence[str]
List of namespaces which are accessible in that cluster. Cluster level resources would be ignored if namespace list is not empty.
project str
Reference between project and cluster that allow you automatically to be added as item inside Destinations project entity. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/projects/#project-scoped-repositories-and-clusters.
server str
Server is the API server URL of the Kubernetes cluster.
shard str
Optional shard number. Calculated on the fly by the application controller if not specified.
config Property Map
Cluster information for connecting to a cluster.
infos List<Property Map>
Information about cluster cache and state.
metadatas List<Property Map>
Standard cluster secret's metadata. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata
name String
Name of the cluster. If omitted, will use the server address.
namespaces List<String>
List of namespaces which are accessible in that cluster. Cluster level resources would be ignored if namespace list is not empty.
project String
Reference between project and cluster that allow you automatically to be added as item inside Destinations project entity. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/projects/#project-scoped-repositories-and-clusters.
server String
Server is the API server URL of the Kubernetes cluster.
shard String
Optional shard number. Calculated on the fly by the application controller if not specified.

Supporting Types

ClusterConfig
, ClusterConfigArgs

AwsAuthConfigs List<Three14.Argocd.Inputs.ClusterConfigAwsAuthConfig>
BearerToken string
Server requires Bearer authentication. The client will not attempt to use refresh tokens for an OAuth2 flow.
ExecProviderConfig Three14.Argocd.Inputs.ClusterConfigExecProviderConfig
Configuration for an exec provider used to call an external command to perform cluster authentication See: https://godoc.org/k8s.io/client-go/tools/clientcmd/api#ExecConfig.
Password string
Password for servers that require Basic authentication.
TlsClientConfig Three14.Argocd.Inputs.ClusterConfigTlsClientConfig
Settings to enable transport layer security when connecting to the cluster.
Username string
Username for servers that require Basic authentication.
AwsAuthConfigs []ClusterConfigAwsAuthConfig
BearerToken string
Server requires Bearer authentication. The client will not attempt to use refresh tokens for an OAuth2 flow.
ExecProviderConfig ClusterConfigExecProviderConfig
Configuration for an exec provider used to call an external command to perform cluster authentication See: https://godoc.org/k8s.io/client-go/tools/clientcmd/api#ExecConfig.
Password string
Password for servers that require Basic authentication.
TlsClientConfig ClusterConfigTlsClientConfig
Settings to enable transport layer security when connecting to the cluster.
Username string
Username for servers that require Basic authentication.
awsAuthConfigs List<ClusterConfigAwsAuthConfig>
bearerToken String
Server requires Bearer authentication. The client will not attempt to use refresh tokens for an OAuth2 flow.
execProviderConfig ClusterConfigExecProviderConfig
Configuration for an exec provider used to call an external command to perform cluster authentication See: https://godoc.org/k8s.io/client-go/tools/clientcmd/api#ExecConfig.
password String
Password for servers that require Basic authentication.
tlsClientConfig ClusterConfigTlsClientConfig
Settings to enable transport layer security when connecting to the cluster.
username String
Username for servers that require Basic authentication.
awsAuthConfigs ClusterConfigAwsAuthConfig[]
bearerToken string
Server requires Bearer authentication. The client will not attempt to use refresh tokens for an OAuth2 flow.
execProviderConfig ClusterConfigExecProviderConfig
Configuration for an exec provider used to call an external command to perform cluster authentication See: https://godoc.org/k8s.io/client-go/tools/clientcmd/api#ExecConfig.
password string
Password for servers that require Basic authentication.
tlsClientConfig ClusterConfigTlsClientConfig
Settings to enable transport layer security when connecting to the cluster.
username string
Username for servers that require Basic authentication.
aws_auth_configs Sequence[ClusterConfigAwsAuthConfig]
bearer_token str
Server requires Bearer authentication. The client will not attempt to use refresh tokens for an OAuth2 flow.
exec_provider_config ClusterConfigExecProviderConfig
Configuration for an exec provider used to call an external command to perform cluster authentication See: https://godoc.org/k8s.io/client-go/tools/clientcmd/api#ExecConfig.
password str
Password for servers that require Basic authentication.
tls_client_config ClusterConfigTlsClientConfig
Settings to enable transport layer security when connecting to the cluster.
username str
Username for servers that require Basic authentication.
awsAuthConfigs List<Property Map>
bearerToken String
Server requires Bearer authentication. The client will not attempt to use refresh tokens for an OAuth2 flow.
execProviderConfig Property Map
Configuration for an exec provider used to call an external command to perform cluster authentication See: https://godoc.org/k8s.io/client-go/tools/clientcmd/api#ExecConfig.
password String
Password for servers that require Basic authentication.
tlsClientConfig Property Map
Settings to enable transport layer security when connecting to the cluster.
username String
Username for servers that require Basic authentication.

ClusterConfigAwsAuthConfig
, ClusterConfigAwsAuthConfigArgs

ClusterName string
AWS cluster name.
RoleArn string
IAM role ARN. If set then AWS IAM Authenticator assume a role to perform cluster operations instead of the default AWS credential provider chain.
ClusterName string
AWS cluster name.
RoleArn string
IAM role ARN. If set then AWS IAM Authenticator assume a role to perform cluster operations instead of the default AWS credential provider chain.
clusterName String
AWS cluster name.
roleArn String
IAM role ARN. If set then AWS IAM Authenticator assume a role to perform cluster operations instead of the default AWS credential provider chain.
clusterName string
AWS cluster name.
roleArn string
IAM role ARN. If set then AWS IAM Authenticator assume a role to perform cluster operations instead of the default AWS credential provider chain.
cluster_name str
AWS cluster name.
role_arn str
IAM role ARN. If set then AWS IAM Authenticator assume a role to perform cluster operations instead of the default AWS credential provider chain.
clusterName String
AWS cluster name.
roleArn String
IAM role ARN. If set then AWS IAM Authenticator assume a role to perform cluster operations instead of the default AWS credential provider chain.

ClusterConfigExecProviderConfig
, ClusterConfigExecProviderConfigArgs

ApiVersion string
Preferred input version of the ExecInfo
Args List<string>
Arguments to pass to the command when executing it
Command string
Command to execute
Env Dictionary<string, string>
Env defines additional environment variables to expose to the process. Passed as a map of strings
InstallHint string
This text is shown to the user when the executable doesn't seem to be present
ApiVersion string
Preferred input version of the ExecInfo
Args []string
Arguments to pass to the command when executing it
Command string
Command to execute
Env map[string]string
Env defines additional environment variables to expose to the process. Passed as a map of strings
InstallHint string
This text is shown to the user when the executable doesn't seem to be present
apiVersion String
Preferred input version of the ExecInfo
args List<String>
Arguments to pass to the command when executing it
command String
Command to execute
env Map<String,String>
Env defines additional environment variables to expose to the process. Passed as a map of strings
installHint String
This text is shown to the user when the executable doesn't seem to be present
apiVersion string
Preferred input version of the ExecInfo
args string[]
Arguments to pass to the command when executing it
command string
Command to execute
env {[key: string]: string}
Env defines additional environment variables to expose to the process. Passed as a map of strings
installHint string
This text is shown to the user when the executable doesn't seem to be present
api_version str
Preferred input version of the ExecInfo
args Sequence[str]
Arguments to pass to the command when executing it
command str
Command to execute
env Mapping[str, str]
Env defines additional environment variables to expose to the process. Passed as a map of strings
install_hint str
This text is shown to the user when the executable doesn't seem to be present
apiVersion String
Preferred input version of the ExecInfo
args List<String>
Arguments to pass to the command when executing it
command String
Command to execute
env Map<String>
Env defines additional environment variables to expose to the process. Passed as a map of strings
installHint String
This text is shown to the user when the executable doesn't seem to be present

ClusterConfigTlsClientConfig
, ClusterConfigTlsClientConfigArgs

CaData string
PEM-encoded bytes (typically read from a root certificates bundle).
CertData string
PEM-encoded bytes (typically read from a client certificate file).
Insecure bool
Whether server should be accessed without verifying the TLS certificate.
KeyData string
PEM-encoded bytes (typically read from a client certificate key file).
ServerName string
Name to pass to the server for SNI and used in the client to check server certificates against. If empty, the hostname used to contact the server is used.
CaData string
PEM-encoded bytes (typically read from a root certificates bundle).
CertData string
PEM-encoded bytes (typically read from a client certificate file).
Insecure bool
Whether server should be accessed without verifying the TLS certificate.
KeyData string
PEM-encoded bytes (typically read from a client certificate key file).
ServerName string
Name to pass to the server for SNI and used in the client to check server certificates against. If empty, the hostname used to contact the server is used.
caData String
PEM-encoded bytes (typically read from a root certificates bundle).
certData String
PEM-encoded bytes (typically read from a client certificate file).
insecure Boolean
Whether server should be accessed without verifying the TLS certificate.
keyData String
PEM-encoded bytes (typically read from a client certificate key file).
serverName String
Name to pass to the server for SNI and used in the client to check server certificates against. If empty, the hostname used to contact the server is used.
caData string
PEM-encoded bytes (typically read from a root certificates bundle).
certData string
PEM-encoded bytes (typically read from a client certificate file).
insecure boolean
Whether server should be accessed without verifying the TLS certificate.
keyData string
PEM-encoded bytes (typically read from a client certificate key file).
serverName string
Name to pass to the server for SNI and used in the client to check server certificates against. If empty, the hostname used to contact the server is used.
ca_data str
PEM-encoded bytes (typically read from a root certificates bundle).
cert_data str
PEM-encoded bytes (typically read from a client certificate file).
insecure bool
Whether server should be accessed without verifying the TLS certificate.
key_data str
PEM-encoded bytes (typically read from a client certificate key file).
server_name str
Name to pass to the server for SNI and used in the client to check server certificates against. If empty, the hostname used to contact the server is used.
caData String
PEM-encoded bytes (typically read from a root certificates bundle).
certData String
PEM-encoded bytes (typically read from a client certificate file).
insecure Boolean
Whether server should be accessed without verifying the TLS certificate.
keyData String
PEM-encoded bytes (typically read from a client certificate key file).
serverName String
Name to pass to the server for SNI and used in the client to check server certificates against. If empty, the hostname used to contact the server is used.

ClusterInfo
, ClusterInfoArgs

ApplicationsCount string
Number of applications managed by Argo CD on the cluster.
ConnectionStates List<Three14.Argocd.Inputs.ClusterInfoConnectionState>
Information about the connection to the cluster.
ServerVersion string
Kubernetes version of the cluster.
ApplicationsCount string
Number of applications managed by Argo CD on the cluster.
ConnectionStates []ClusterInfoConnectionState
Information about the connection to the cluster.
ServerVersion string
Kubernetes version of the cluster.
applicationsCount String
Number of applications managed by Argo CD on the cluster.
connectionStates List<ClusterInfoConnectionState>
Information about the connection to the cluster.
serverVersion String
Kubernetes version of the cluster.
applicationsCount string
Number of applications managed by Argo CD on the cluster.
connectionStates ClusterInfoConnectionState[]
Information about the connection to the cluster.
serverVersion string
Kubernetes version of the cluster.
applications_count str
Number of applications managed by Argo CD on the cluster.
connection_states Sequence[ClusterInfoConnectionState]
Information about the connection to the cluster.
server_version str
Kubernetes version of the cluster.
applicationsCount String
Number of applications managed by Argo CD on the cluster.
connectionStates List<Property Map>
Information about the connection to the cluster.
serverVersion String
Kubernetes version of the cluster.

ClusterInfoConnectionState
, ClusterInfoConnectionStateArgs

Message string
Human readable information about the connection status.
Status string
Current status indicator for the connection.
Message string
Human readable information about the connection status.
Status string
Current status indicator for the connection.
message String
Human readable information about the connection status.
status String
Current status indicator for the connection.
message string
Human readable information about the connection status.
status string
Current status indicator for the connection.
message str
Human readable information about the connection status.
status str
Current status indicator for the connection.
message String
Human readable information about the connection status.
status String
Current status indicator for the connection.

ClusterMetadata
, ClusterMetadataArgs

Annotations Dictionary<string, string>
An unstructured key value map stored with the cluster secret that may be used to store arbitrary metadata. More info: http://kubernetes.io/docs/user-guide/annotations
Labels Dictionary<string, string>
Map of string keys and values that can be used to organize and categorize (scope and select) the cluster secret. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels
Annotations map[string]string
An unstructured key value map stored with the cluster secret that may be used to store arbitrary metadata. More info: http://kubernetes.io/docs/user-guide/annotations
Labels map[string]string
Map of string keys and values that can be used to organize and categorize (scope and select) the cluster secret. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels
annotations Map<String,String>
An unstructured key value map stored with the cluster secret that may be used to store arbitrary metadata. More info: http://kubernetes.io/docs/user-guide/annotations
labels Map<String,String>
Map of string keys and values that can be used to organize and categorize (scope and select) the cluster secret. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels
annotations {[key: string]: string}
An unstructured key value map stored with the cluster secret that may be used to store arbitrary metadata. More info: http://kubernetes.io/docs/user-guide/annotations
labels {[key: string]: string}
Map of string keys and values that can be used to organize and categorize (scope and select) the cluster secret. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels
annotations Mapping[str, str]
An unstructured key value map stored with the cluster secret that may be used to store arbitrary metadata. More info: http://kubernetes.io/docs/user-guide/annotations
labels Mapping[str, str]
Map of string keys and values that can be used to organize and categorize (scope and select) the cluster secret. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels
annotations Map<String>
An unstructured key value map stored with the cluster secret that may be used to store arbitrary metadata. More info: http://kubernetes.io/docs/user-guide/annotations
labels Map<String>
Map of string keys and values that can be used to organize and categorize (scope and select) the cluster secret. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels

Import

Cluster credentials can be imported using the server URL.

Example:

$ pulumi import argocd:index/cluster:Cluster mycluster https://mycluster.io:443
Copy

To learn more about importing existing cloud resources, see Importing resources.

Package Details

Repository
argocd Three141/pulumi-argocd
License
Apache-2.0
Notes
This Pulumi package is based on the argocd Terraform Provider.