ClusterService

Get returns a cluster by server address

GET
https://argocd.example.com/api/v1/clusters/{id.value}

Parameters

id.valuestringrequiredpath

value holds the cluster server URL or cluster name

serverstringquery
namestringquery
id.typestringquery

type is the type of the specified cluster identifier ( "server" - default, "name" ).

Response

A successful response.

Response fields application/json
annotationsobject
Show child attributes
[key: string]string
clusterResourcesboolean

Indicates if cluster level resources should be managed. This setting is used only if cluster is connected in a namespaced mode.

ClusterConfig is the configuration attributes. This structure is subset of the go-client rest.Config with annotations added for marshalling.

Show child attributes
Show child attributes
clusterNamestring
profilestring

Profile contains optional role ARN. If set then AWS IAM Authenticator uses the profile to perform cluster operations instead of the default AWS credential provider chain.

roleARNstring

RoleARN contains optional role ARN. If set then AWS IAM Authenticator assume a role to perform cluster operations instead of the default AWS credential provider chain.

bearerTokenstring

Server requires Bearer authentication. This client will not attempt to use refresh tokens for an OAuth2 flow. TODO: demonstrate an OAuth2 compatible client.

burstinteger<int64>

Burst allows extra queries to accumulate for a rapid burst of requests to this cluster.

disableCompressionboolean

DisableCompression bypasses automatic GZip compression requests to the server.

execProviderConfigv1alpha1ExecProviderConfig
Show child attributes
apiVersionstring
argsArray<string>
commandstring

RawExtension is used to hold extensions in external versions.

To use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.

// Internal package:

type MyAPIObject struct {
	runtime.TypeMeta `json:""`
	MyPlugin runtime.Object `json:"myPlugin"`
}

type PluginA struct {
	AOption string `json:"aOption"`
}

// External package:

type MyAPIObject struct {
	runtime.TypeMeta `json:""`
	MyPlugin runtime.RawExtension `json:"myPlugin"`
}

type PluginA struct {
	AOption string `json:"aOption"`
}

// On the wire, the JSON will look something like this:

{
	"kind":"MyAPIObject",
	"apiVersion":"v1",
	"myPlugin": {
		"kind":"PluginA",
		"aOption":"foo",
	},
}

So what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)

+k8s:deepcopy-gen=true +protobuf=true +k8s:openapi-gen=true

Show child attributes
rawstring<byte>

Raw is the underlying serialization of this object.

TODO: Determine how to detect ContentType and ContentEncoding of 'Raw' data.

envobject
Show child attributes
[key: string]string
installHintstring
provideClusterInfoboolean
passwordstring
proxyUrlstring
qpsnumber<float>

QPS controls the number of queries per second allowed for this cluster.

Show child attributes
caDatastring<byte>
certDatastring<byte>
insecureboolean

Insecure specifies that the server should be accessed without verifying the TLS certificate. For testing only.

keyDatastring<byte>
serverNamestring

ServerName is passed to the server for SNI and is used in the client to check server certificates against. If ServerName is empty, the hostname used to contact the server is used.

usernamestring
configHashstring<uint64>
Show child attributes

Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.

+protobuf.options.marshal=false +protobuf.as=Timestamp +protobuf.options.(gogoproto.goproto_stringer)=false

messagestring
statusstring
Show child attributes
apiVersionsArray<string>
applicationsCountinteger<int64>
Show child attributes
apisCountinteger<int64>
lastCacheSyncTimev1Time<date-time>

Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.

+protobuf.options.marshal=false +protobuf.as=Timestamp +protobuf.options.(gogoproto.goproto_stringer)=false

resourcesCountinteger<int64>
Show child attributes

Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.

+protobuf.options.marshal=false +protobuf.as=Timestamp +protobuf.options.(gogoproto.goproto_stringer)=false

messagestring
statusstring
serverVersionstring
labelsobject
Show child attributes
[key: string]string
namestring
namespacesArray<string>

Holds list of namespaces which are accessible in that cluster. Cluster level resources will be ignored if namespace list is not empty.

projectstring
refreshRequestedAtv1Time<date-time>

Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.

+protobuf.options.marshal=false +protobuf.as=Timestamp +protobuf.options.(gogoproto.goproto_stringer)=false

serverstring
serverVersionstring
shardinteger<int64>

Shard contains optional shard number. Calculated on the fly by the application controller if not specified.

An unexpected error response.

Response fields application/json
codeinteger<int32>
Show child attributes
type_urlstring
valuestring<byte>
errorstring
messagestring

Authorization

bearerapiKey in header

A token sent as Authorization: Bearer <token>. API Docs shows how to get one.