types

package
v0.8.0-rc.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 20, 2025 License: MPL-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

Functions

func GetSensitiveStrings added in v0.6.0

func GetSensitiveStrings(data types.Map) []string

func ToConfigManagementPluginsTFModel added in v0.6.2

func ToConfigManagementPluginsTFModel(ctx context.Context, diagnostics *diag.Diagnostics, cmps []*structpb.Struct, oldCMPs map[string]*ConfigManagementPlugin) map[string]*ConfigManagementPlugin

func ToConfigMapAPIModel added in v0.6.0

func ToConfigMapAPIModel(ctx context.Context, diagnostics *diag.Diagnostics, name string, m tftypes.Map) *v1.ConfigMap

func ToConfigMapTFModel added in v0.6.0

func ToConfigMapTFModel(ctx context.Context, diagnostics *diag.Diagnostics, data *structpb.Struct, oldCM tftypes.Map) tftypes.Map

func ToSecretAPIModel added in v0.6.0

func ToSecretAPIModel(ctx context.Context, diagnostics *diag.Diagnostics, name string, labels map[string]string, m tftypes.Map) *v1.Secret

Types

type AgentPermissionsRule added in v0.7.0

type AgentPermissionsRule struct {
	ApiGroups []types.String `tfsdk:"api_groups"`
	Resources []types.String `tfsdk:"resources"`
	Verbs     []types.String `tfsdk:"verbs"`
}

type AppControllerAutoScalingConfig added in v0.7.3

type AppControllerAutoScalingConfig struct {
	ResourceMinimum *Resources `tfsdk:"resource_minimum"`
	ResourceMaximum *Resources `tfsdk:"resource_maximum"`
}

type AppControllerCustomAgentSizeConfig added in v0.7.3

type AppControllerCustomAgentSizeConfig struct {
	Memory types.String `tfsdk:"memory"`
	Cpu    types.String `tfsdk:"cpu"`
}

type AppSetDelegate added in v0.5.0

type AppSetDelegate struct {
	ManagedCluster *ManagedCluster `tfsdk:"managed_cluster"`
}

type AppsetPolicy added in v0.6.0

type AppsetPolicy struct {
	Policy         types.String `tfsdk:"policy"`
	OverridePolicy types.Bool   `tfsdk:"override_policy"`
}

type ArgoCD added in v0.5.0

type ArgoCD struct {
	Spec ArgoCDSpec `tfsdk:"spec"`
}

func (*ArgoCD) ToArgoCDAPIModel added in v0.5.0

func (a *ArgoCD) ToArgoCDAPIModel(ctx context.Context, diag *diag.Diagnostics, name string) *v1alpha1.ArgoCD

func (*ArgoCD) Update added in v0.5.0

func (a *ArgoCD) Update(ctx context.Context, diagnostics *diag.Diagnostics, cd *v1alpha1.ArgoCD)

type ArgoCDExtensionInstallEntry added in v0.5.0

type ArgoCDExtensionInstallEntry struct {
	Id      types.String `tfsdk:"id"`
	Version types.String `tfsdk:"version"`
}

type ArgoCDSpec added in v0.5.0

type ArgoCDSpec struct {
	Description  types.String `tfsdk:"description"`
	Version      types.String `tfsdk:"version"`
	InstanceSpec InstanceSpec `tfsdk:"instance_spec"`
}

type AutoScalerConfig added in v0.7.3

type AutoScalerConfig struct {
	ApplicationController *AppControllerAutoScalingConfig `tfsdk:"application_controller"`
	RepoServer            *RepoServerAutoScalingConfig    `tfsdk:"repo_server"`
}

type Cluster added in v0.5.0

type Cluster struct {
	ID                            types.String `tfsdk:"id"`
	InstanceID                    types.String `tfsdk:"instance_id"`
	Name                          types.String `tfsdk:"name"`
	Namespace                     types.String `tfsdk:"namespace"`
	Labels                        types.Map    `tfsdk:"labels"`
	Annotations                   types.Map    `tfsdk:"annotations"`
	Spec                          *ClusterSpec `tfsdk:"spec"`
	Kubeconfig                    *Kubeconfig  `tfsdk:"kube_config"`
	RemoveAgentResourcesOnDestroy types.Bool   `tfsdk:"remove_agent_resources_on_destroy"`
}

func (*Cluster) ToClusterAPIModel added in v0.5.0

func (c *Cluster) ToClusterAPIModel(ctx context.Context, diagnostics *diag.Diagnostics) *v1alpha1.Cluster

func (*Cluster) Update added in v0.5.0

func (c *Cluster) Update(ctx context.Context, diagnostics *diag.Diagnostics, apiCluster *argocdv1.Cluster, plan *Cluster)

type ClusterCustomization added in v0.5.0

type ClusterCustomization struct {
	AutoUpgradeDisabled types.Bool   `tfsdk:"auto_upgrade_disabled"`
	Kustomization       types.String `tfsdk:"kustomization"`
	AppReplication      types.Bool   `tfsdk:"app_replication"`
	RedisTunneling      types.Bool   `tfsdk:"redis_tunneling"`
}

type ClusterData added in v0.5.0

type ClusterData struct {
	Size                            types.String           `tfsdk:"size"`
	AutoUpgradeDisabled             types.Bool             `tfsdk:"auto_upgrade_disabled"`
	Kustomization                   types.String           `tfsdk:"kustomization"`
	AppReplication                  types.Bool             `tfsdk:"app_replication"`
	TargetVersion                   types.String           `tfsdk:"target_version"`
	RedisTunneling                  types.Bool             `tfsdk:"redis_tunneling"`
	DatadogAnnotationsEnabled       types.Bool             `tfsdk:"datadog_annotations_enabled"`
	EksAddonEnabled                 types.Bool             `tfsdk:"eks_addon_enabled"`
	ManagedClusterConfig            *ManagedClusterConfig  `tfsdk:"managed_cluster_config"`
	MultiClusterK8SDashboardEnabled types.Bool             `tfsdk:"multi_cluster_k8s_dashboard_enabled"`
	AutoscalerConfig                basetypes.ObjectValue  `tfsdk:"auto_agent_size_config"`
	CustomAgentSizeConfig           *CustomAgentSizeConfig `tfsdk:"custom_agent_size_config"`
}

type ClusterSpec added in v0.5.0

type ClusterSpec struct {
	Description     types.String `tfsdk:"description"`
	NamespaceScoped types.Bool   `tfsdk:"namespace_scoped"`
	Data            ClusterData  `tfsdk:"data"`
}

type Clusters added in v0.5.0

type Clusters struct {
	ID         types.String `tfsdk:"id"`
	InstanceID types.String `tfsdk:"instance_id"`
	Clusters   []Cluster    `tfsdk:"clusters"`
}

type Command added in v0.6.2

type Command struct {
	Command []types.String `tfsdk:"command"`
	Args    []types.String `tfsdk:"args"`
}

type ConfigManagementPlugin added in v0.6.2

type ConfigManagementPlugin struct {
	Enabled types.Bool   `tfsdk:"enabled"`
	Image   types.String `tfsdk:"image"`
	Spec    *PluginSpec  `tfsdk:"spec"`
}

func (*ConfigManagementPlugin) ToConfigManagementPluginAPIModel added in v0.6.2

func (c *ConfigManagementPlugin) ToConfigManagementPluginAPIModel(ctx context.Context, diagnostics *diag.Diagnostics, name string) *v1alpha1.ConfigManagementPlugin

func (*ConfigManagementPlugin) Update added in v0.6.2

type CrossplaneExtension added in v0.7.0

type CrossplaneExtension struct {
	Resources []*CrossplaneExtensionResource `tfsdk:"resources"`
}

type CrossplaneExtensionResource added in v0.7.0

type CrossplaneExtensionResource struct {
	Group types.String `tfsdk:"group"`
}

type CustomAgentSizeConfig added in v0.7.3

type CustomAgentSizeConfig struct {
	ApplicationController *AppControllerCustomAgentSizeConfig `tfsdk:"application_controller"`
	RepoServer            *RepoServerCustomAgentSizeConfig    `tfsdk:"repo_server"`
}

type Discover added in v0.6.2

type Discover struct {
	Find     *Find        `tfsdk:"find"`
	FileName types.String `tfsdk:"file_name"`
}

type Dynamic added in v0.6.2

type Dynamic struct {
	Command []types.String `tfsdk:"command"`
	Args    []types.String `tfsdk:"args"`
}

type Find added in v0.6.2

type Find struct {
	Command []types.String `tfsdk:"command"`
	Args    []types.String `tfsdk:"args"`
	Glob    types.String   `tfsdk:"glob"`
}

type HostAliases added in v0.6.2

type HostAliases struct {
	Ip        types.String   `tfsdk:"ip"`
	Hostnames []types.String `tfsdk:"hostnames"`
}

type IPAllowListEntry added in v0.5.0

type IPAllowListEntry struct {
	Ip          types.String `tfsdk:"ip"`
	Description types.String `tfsdk:"description"`
}

type ImageUpdaterDelegate added in v0.5.0

type ImageUpdaterDelegate struct {
	ControlPlane   types.Bool      `tfsdk:"control_plane"`
	ManagedCluster *ManagedCluster `tfsdk:"managed_cluster"`
}

type Instance added in v0.5.0

type Instance struct {
	ID                            types.String                       `tfsdk:"id"`
	Name                          types.String                       `tfsdk:"name"`
	ArgoCD                        *ArgoCD                            `tfsdk:"argocd"`
	ArgoCDConfigMap               types.Map                          `tfsdk:"argocd_cm"`
	ArgoCDRBACConfigMap           types.Map                          `tfsdk:"argocd_rbac_cm"`
	ArgoCDSecret                  types.Map                          `tfsdk:"argocd_secret"`
	ApplicationSetSecret          types.Map                          `tfsdk:"application_set_secret"`
	NotificationsConfigMap        types.Map                          `tfsdk:"argocd_notifications_cm"`
	NotificationsSecret           types.Map                          `tfsdk:"argocd_notifications_secret"`
	ImageUpdaterConfigMap         types.Map                          `tfsdk:"argocd_image_updater_config"`
	ImageUpdaterSSHConfigMap      types.Map                          `tfsdk:"argocd_image_updater_ssh_config"`
	ImageUpdaterSecret            types.Map                          `tfsdk:"argocd_image_updater_secret"`
	ArgoCDKnownHostsConfigMap     types.Map                          `tfsdk:"argocd_ssh_known_hosts_cm"`
	ArgoCDTLSCertsConfigMap       types.Map                          `tfsdk:"argocd_tls_certs_cm"`
	RepoCredentialSecrets         types.Map                          `tfsdk:"repo_credential_secrets"`
	RepoTemplateCredentialSecrets types.Map                          `tfsdk:"repo_template_credential_secrets"`
	ConfigManagementPlugins       map[string]*ConfigManagementPlugin `tfsdk:"config_management_plugins"`
}

func (*Instance) GetSensitiveStrings added in v0.5.0

func (i *Instance) GetSensitiveStrings(ctx context.Context, diagnostics *diag.Diagnostics) []string

func (*Instance) Update added in v0.5.0

func (i *Instance) Update(ctx context.Context, diagnostics *diag.Diagnostics, exportResp *argocdv1.ExportInstanceResponse) error

type InstanceSpec added in v0.5.0

type InstanceSpec struct {
	IpAllowList                     []*IPAllowListEntry     `tfsdk:"ip_allow_list"`
	Subdomain                       types.String            `tfsdk:"subdomain"`
	DeclarativeManagementEnabled    types.Bool              `tfsdk:"declarative_management_enabled"`
	Extensions                      types.List              `tfsdk:"extensions"`
	ClusterCustomizationDefaults    types.Object            `tfsdk:"cluster_customization_defaults"`
	ImageUpdaterEnabled             types.Bool              `tfsdk:"image_updater_enabled"`
	BackendIpAllowListEnabled       types.Bool              `tfsdk:"backend_ip_allow_list_enabled"`
	RepoServerDelegate              *RepoServerDelegate     `tfsdk:"repo_server_delegate"`
	AuditExtensionEnabled           types.Bool              `tfsdk:"audit_extension_enabled"`
	SyncHistoryExtensionEnabled     types.Bool              `tfsdk:"sync_history_extension_enabled"`
	CrossplaneExtension             *CrossplaneExtension    `tfsdk:"crossplane_extension"`
	ImageUpdaterDelegate            *ImageUpdaterDelegate   `tfsdk:"image_updater_delegate"`
	AppSetDelegate                  *AppSetDelegate         `tfsdk:"app_set_delegate"`
	AssistantExtensionEnabled       types.Bool              `tfsdk:"assistant_extension_enabled"`
	AppsetPolicy                    types.Object            `tfsdk:"appset_policy"`
	HostAliases                     []*HostAliases          `tfsdk:"host_aliases"`
	AgentPermissionsRules           []*AgentPermissionsRule `tfsdk:"agent_permissions_rules"`
	Fqdn                            types.String            `tfsdk:"fqdn"`
	MultiClusterK8SDashboardEnabled types.Bool              `tfsdk:"multi_cluster_k8s_dashboard_enabled"`
}

type Kargo added in v0.8.0

type Kargo struct {
	Spec KargoSpec `tfsdk:"spec"`
}

func (*Kargo) ToKargoAPIModel added in v0.8.0

func (k *Kargo) ToKargoAPIModel(ctx context.Context, diag *diag.Diagnostics, name string) *v1alpha1.Kargo

func (*Kargo) Update added in v0.8.0

func (k *Kargo) Update(ctx context.Context, diagnostics *diag.Diagnostics, kargo *v1alpha1.Kargo)

type KargoAgent added in v0.8.0

type KargoAgent struct {
	ID                            types.String    `tfsdk:"id"`
	InstanceID                    types.String    `tfsdk:"instance_id"`
	Name                          types.String    `tfsdk:"name"`
	Namespace                     types.String    `tfsdk:"namespace"`
	Labels                        types.Map       `tfsdk:"labels"`
	Annotations                   types.Map       `tfsdk:"annotations"`
	Spec                          *KargoAgentSpec `tfsdk:"spec"`
	Kubeconfig                    *Kubeconfig     `tfsdk:"kube_config"`
	RemoveAgentResourcesOnDestroy types.Bool      `tfsdk:"remove_agent_resources_on_destroy"`
}

func (*KargoAgent) ToKargoAgentAPIModel added in v0.8.0

func (ka *KargoAgent) ToKargoAgentAPIModel(ctx context.Context, diagnostics *diag.Diagnostics) *v1alpha1.KargoAgent

func (*KargoAgent) Update added in v0.8.0

func (ka *KargoAgent) Update(ctx context.Context, diagnostics *diag.Diagnostics, apiKargoAgent *kargov1.KargoAgent, plan *KargoAgent)

type KargoAgentCustomization added in v0.8.0

type KargoAgentCustomization struct {
	AutoUpgradeDisabled types.Bool   `tfsdk:"auto_upgrade_disabled"`
	Kustomization       types.String `tfsdk:"kustomization"`
}

type KargoAgentData added in v0.8.0

type KargoAgentData struct {
	Size                types.String `tfsdk:"size"`
	AutoUpgradeDisabled types.Bool   `tfsdk:"auto_upgrade_disabled"`
	TargetVersion       types.String `tfsdk:"target_version"`
	Kustomization       types.String `tfsdk:"kustomization"`
	RemoteArgocd        types.String `tfsdk:"remote_argocd"`
	AkuityManaged       types.Bool   `tfsdk:"akuity_managed"`
	ArgocdNamespace     types.String `tfsdk:"argocd_namespace"`
}

type KargoAgentSpec added in v0.8.0

type KargoAgentSpec struct {
	Description types.String   `tfsdk:"description"`
	Data        KargoAgentData `tfsdk:"data"`
}

type KargoAgents added in v0.8.0

type KargoAgents struct {
	ID         types.String `tfsdk:"id"`
	InstanceID types.String `tfsdk:"instance_id"`
	Agents     []KargoAgent `tfsdk:"agents"`
}

type KargoIPAllowListEntry added in v0.8.0

type KargoIPAllowListEntry struct {
	Ip          types.String `tfsdk:"ip"`
	Description types.String `tfsdk:"description"`
}

type KargoInstance added in v0.8.0

type KargoInstance struct {
	ID             types.String `tfsdk:"id"`
	Name           types.String `tfsdk:"name"`
	Kargo          *Kargo       `tfsdk:"kargo"`
	KargoConfigMap types.Map    `tfsdk:"kargo_cm"`
	KargoSecret    types.Map    `tfsdk:"kargo_secret"`
}

func (*KargoInstance) Update added in v0.8.0

func (k *KargoInstance) Update(ctx context.Context, diagnostics *diag.Diagnostics, exportResp *kargov1.ExportKargoInstanceResponse) error

type KargoInstanceSpec added in v0.8.0

type KargoInstanceSpec struct {
	BackendIpAllowListEnabled  types.Bool               `tfsdk:"backend_ip_allow_list_enabled"`
	IpAllowList                []*KargoIPAllowListEntry `tfsdk:"ip_allow_list"`
	AgentCustomizationDefaults *KargoAgentCustomization `tfsdk:"agent_customization_defaults"`
	DefaultShardAgent          types.String             `tfsdk:"default_shard_agent"`
	GlobalCredentialsNs        []types.String           `tfsdk:"global_credentials_ns"`
	GlobalServiceAccountNs     []types.String           `tfsdk:"global_service_account_ns"`
}

type KargoOidcConfig added in v0.8.0

type KargoOidcConfig struct {
	Enabled          types.Bool     `tfsdk:"enabled"`
	DexEnabled       types.Bool     `tfsdk:"dex_enabled"`
	DexConfig        types.String   `tfsdk:"dex_config"`
	DexConfigSecret  types.Map      `tfsdk:"dex_config_secret"`
	IssuerURL        types.String   `tfsdk:"issuer_url"`
	ClientID         types.String   `tfsdk:"client_id"`
	CliClientID      types.String   `tfsdk:"cli_client_id"`
	AdminAccount     types.Object   `tfsdk:"admin_account"`
	ViewerAccount    types.Object   `tfsdk:"viewer_account"`
	AdditionalScopes []types.String `tfsdk:"additional_scopes"`
}

type KargoSpec added in v0.8.0

type KargoSpec struct {
	Description       types.String      `tfsdk:"description"`
	Version           types.String      `tfsdk:"version"`
	KargoInstanceSpec KargoInstanceSpec `tfsdk:"kargo_instance_spec"`
	Fqdn              types.String      `tfsdk:"fqdn"`
	Subdomain         types.String      `tfsdk:"subdomain"`
	OidcConfig        *KargoOidcConfig  `tfsdk:"oidc_config"`
}

type Kubeconfig added in v0.5.0

type Kubeconfig struct {
	Host                  types.String `tfsdk:"host"`
	Username              types.String `tfsdk:"username"`
	Password              types.String `tfsdk:"password"`
	Insecure              types.Bool   `tfsdk:"insecure"`
	ClientCertificate     types.String `tfsdk:"client_certificate"`
	ClientKey             types.String `tfsdk:"client_key"`
	ClusterCaCertificate  types.String `tfsdk:"cluster_ca_certificate"`
	ConfigPath            types.String `tfsdk:"config_path"`
	ConfigPaths           types.List   `tfsdk:"config_paths"`
	ConfigContext         types.String `tfsdk:"config_context"`
	ConfigContextAuthInfo types.String `tfsdk:"config_context_auth_info"`
	ConfigContextCluster  types.String `tfsdk:"config_context_cluster"`
	Token                 types.String `tfsdk:"token"`
	ProxyUrl              types.String `tfsdk:"proxy_url"`
}

type ManagedCluster added in v0.5.0

type ManagedCluster struct {
	ClusterName types.String `tfsdk:"cluster_name"`
}

type ManagedClusterConfig added in v0.7.0

type ManagedClusterConfig struct {
	SecretName types.String `tfsdk:"secret_name"`
	SecretKey  types.String `tfsdk:"secret_key"`
}

type ParameterAnnouncement added in v0.6.2

type ParameterAnnouncement struct {
	Name           types.String   `tfsdk:"name"`
	Title          types.String   `tfsdk:"title"`
	Tooltip        types.String   `tfsdk:"tooltip"`
	Required       types.Bool     `tfsdk:"required"`
	ItemType       types.String   `tfsdk:"item_type"`
	CollectionType types.String   `tfsdk:"collection_type"`
	String_        types.String   `tfsdk:"string"`
	Array          []types.String `tfsdk:"array"`
	Map            types.Map      `tfsdk:"map"`
}

type Parameters added in v0.6.2

type Parameters struct {
	Static  []*ParameterAnnouncement `tfsdk:"static"`
	Dynamic *Dynamic                 `tfsdk:"dynamic"`
}

type PluginSpec added in v0.6.2

type PluginSpec struct {
	Version          types.String `tfsdk:"version"`
	Init             *Command     `tfsdk:"init"`
	Generate         *Command     `tfsdk:"generate"`
	Discover         *Discover    `tfsdk:"discover"`
	Parameters       *Parameters  `tfsdk:"parameters"`
	PreserveFileMode types.Bool   `tfsdk:"preserve_file_mode"`
}

type RepoServerAutoScalingConfig added in v0.7.3

type RepoServerAutoScalingConfig struct {
	ResourceMinimum *Resources  `tfsdk:"resource_minimum"`
	ResourceMaximum *Resources  `tfsdk:"resource_maximum"`
	ReplicasMaximum types.Int64 `tfsdk:"replicas_maximum"`
	ReplicasMinimum types.Int64 `tfsdk:"replicas_minimum"`
}

type RepoServerCustomAgentSizeConfig added in v0.7.3

type RepoServerCustomAgentSizeConfig struct {
	Memory   types.String `tfsdk:"memory"`
	Cpu      types.String `tfsdk:"cpu"`
	Replicas types.Int64  `tfsdk:"replicas"`
}

type RepoServerDelegate added in v0.5.0

type RepoServerDelegate struct {
	ControlPlane   types.Bool      `tfsdk:"control_plane"`
	ManagedCluster *ManagedCluster `tfsdk:"managed_cluster"`
}

type Resources added in v0.7.3

type Resources struct {
	Memory types.String `tfsdk:"memory"`
	Cpu    types.String `tfsdk:"cpu"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL