infra

package
v0.1.3 Latest Latest
Warning

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

Go to latest
Published: Apr 28, 2026 License: MIT Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateKeyPair

func CreateKeyPair(bits int, sshDir, privateKeyName string) (string, string, error)

func KeyPairExists

func KeyPairExists(privateKeyPath string) bool

Types

type AzureKubernetesClusterManager

type AzureKubernetesClusterManager struct {
	ManagedClustersCli *armcontainerservice.ManagedClustersClient
	AgentPoolsCli      *armcontainerservice.AgentPoolsClient
	Logger             *slog.Logger
}

func (*AzureKubernetesClusterManager) AddAgentPool

func (*AzureKubernetesClusterManager) CreateOrUpdate

func (*AzureKubernetesClusterManager) Get

func (*AzureKubernetesClusterManager) GetAgentPool

func (m *AzureKubernetesClusterManager) GetAgentPool(ctx context.Context, rgName, cluster, pool string) (*armcontainerservice.AgentPool, error)

func (*AzureKubernetesClusterManager) GetUserCredentials

func (m *AzureKubernetesClusterManager) GetUserCredentials(ctx context.Context, rgName, name string) ([]byte, error)

GetUserCredentials retrieves the kubeconfig credentials for the AKS cluster. Returns the kubeconfig as a byte slice that can be written to a file or used directly.

type KeyVaultManager

type KeyVaultManager struct {
	Client *armkeyvault.VaultsClient
	Logger *slog.Logger
}

func (*KeyVaultManager) CreateOrUpdate

func (m *KeyVaultManager) CreateOrUpdate(ctx context.Context, rgName string, desired armkeyvault.Vault) (*armkeyvault.Vault, error)

func (*KeyVaultManager) Delete

func (m *KeyVaultManager) Delete(ctx context.Context, rgName, name string) error

func (*KeyVaultManager) Get

func (m *KeyVaultManager) Get(ctx context.Context, rgName, name string) (*armkeyvault.Vault, error)

func (*KeyVaultManager) GetDeleted

func (m *KeyVaultManager) GetDeleted(ctx context.Context, name, location string) (*armkeyvault.DeletedVault, error)

type LoadBalancerManager

type LoadBalancerManager struct {
	Client *armnetwork.LoadBalancersClient
	Logger *slog.Logger
}

func (*LoadBalancerManager) CreateOrUpdate

func (m *LoadBalancerManager) CreateOrUpdate(ctx context.Context, rgName string, desired armnetwork.LoadBalancer) (*armnetwork.LoadBalancer, error)

func (*LoadBalancerManager) Get

func (m *LoadBalancerManager) Get(ctx context.Context, rgName, name string) (*armnetwork.LoadBalancer, error)

type ManagedClusterAgentPoolBuilder

type ManagedClusterAgentPoolBuilder struct {
	// contains filtered or unexported fields
}

func NewManagedClusterAgentPool

func NewManagedClusterAgentPool(name, vmSize string, count int32) *ManagedClusterAgentPoolBuilder

func (*ManagedClusterAgentPoolBuilder) Build

func (*ManagedClusterAgentPoolBuilder) NodePublicIP

func (*ManagedClusterAgentPoolBuilder) SystemPool

func (*ManagedClusterAgentPoolBuilder) User

func (*ManagedClusterAgentPoolBuilder) WithAllowedPort

func (*ManagedClusterAgentPoolBuilder) WithNodeLabels

func (*ManagedClusterAgentPoolBuilder) WithNodeTaints

type ManagedClusterBuilder

type ManagedClusterBuilder struct {
	// contains filtered or unexported fields
}

func NewManagedCluster

func NewManagedCluster(logger *slog.Logger, name, location string) *ManagedClusterBuilder

func (*ManagedClusterBuilder) Build

func (*ManagedClusterBuilder) DNSPrefix

func (b *ManagedClusterBuilder) DNSPrefix(prefix string) *ManagedClusterBuilder

func (*ManagedClusterBuilder) DNSServiceIP

func (b *ManagedClusterBuilder) DNSServiceIP(ip string) *ManagedClusterBuilder

func (*ManagedClusterBuilder) EnableOIDCIssuer

func (b *ManagedClusterBuilder) EnableOIDCIssuer() *ManagedClusterBuilder

func (*ManagedClusterBuilder) KubernetesVersion

func (b *ManagedClusterBuilder) KubernetesVersion(kubeVersion string) *ManagedClusterBuilder

func (*ManagedClusterBuilder) NodePoolResourceGroupName

func (b *ManagedClusterBuilder) NodePoolResourceGroupName(rgName string) *ManagedClusterBuilder

func (*ManagedClusterBuilder) ServiceCIDR

func (b *ManagedClusterBuilder) ServiceCIDR(cidr string) *ManagedClusterBuilder

func (*ManagedClusterBuilder) WithGeneratedSSH

func (b *ManagedClusterBuilder) WithGeneratedSSH(name, sshDir string) *ManagedClusterBuilder

func (*ManagedClusterBuilder) WithSSHKey

func (b *ManagedClusterBuilder) WithSSHKey(publicKeyData []byte) *ManagedClusterBuilder

type NetworkInterfaceManager

type NetworkInterfaceManager struct {
	Client *armnetwork.InterfacesClient
	Logger *slog.Logger
}

func (*NetworkInterfaceManager) CreateOrUpdate

func (m *NetworkInterfaceManager) CreateOrUpdate(ctx context.Context, rgName string, desired armnetwork.Interface) (*armnetwork.Interface, error)

type NetworkSecurityGroupManager

type NetworkSecurityGroupManager struct {
	Client *armnetwork.SecurityGroupsClient
	Logger *slog.Logger
}

func (*NetworkSecurityGroupManager) CreateOrUpdate

func (*NetworkSecurityGroupManager) Get

type PublicIPAddressManager

type PublicIPAddressManager struct {
	Client *armnetwork.PublicIPAddressesClient
	Logger *slog.Logger
}

func (*PublicIPAddressManager) CreateOrUpdate

func (*PublicIPAddressManager) Get

type ResourceGroupManager

type ResourceGroupManager struct {
	Client *armresources.ResourceGroupsClient
	Logger *slog.Logger
}

func (*ResourceGroupManager) CreateOrUpdate

func (*ResourceGroupManager) Delete

func (m *ResourceGroupManager) Delete(ctx context.Context, name string) error

func (*ResourceGroupManager) Get

type RouteTableManager

type RouteTableManager struct {
	Client *armnetwork.RouteTablesClient
	Logger *slog.Logger
}

func (*RouteTableManager) CreateOrUpdate

func (m *RouteTableManager) CreateOrUpdate(ctx context.Context, rgName string, desired armnetwork.RouteTable) (*armnetwork.RouteTable, error)

type SSHKeyPair

type SSHKeyPair struct {
	PublicKeyPath  string
	PrivateKeyPath string
	Logger         *slog.Logger
}

func (*SSHKeyPair) GetOrGenerate

func (kp *SSHKeyPair) GetOrGenerate() error

func (*SSHKeyPair) PrivateKey

func (kp *SSHKeyPair) PrivateKey() ([]byte, error)

func (*SSHKeyPair) PublicKey

func (kp *SSHKeyPair) PublicKey() ([]byte, error)

type SecretsManager

type SecretsManager struct {
	*armkeyvault.SecretsClient
	Logger *slog.Logger
}

func (*SecretsManager) SetSecret

func (m *SecretsManager) SetSecret(ctx context.Context, rgName, vaultName, secretName string, secret armkeyvault.SecretCreateOrUpdateParameters) error

type SubnetManager

type SubnetManager struct {
	Client *armnetwork.SubnetsClient
	Logger *slog.Logger
}

func (*SubnetManager) CreateOrUpdate

func (m *SubnetManager) CreateOrUpdate(ctx context.Context, rgName, vnetName string, desired armnetwork.Subnet) (*armnetwork.Subnet, error)

func (*SubnetManager) Get

func (m *SubnetManager) Get(ctx context.Context, rg, vnetName, name string) (*armnetwork.Subnet, error)

type VirtualMachineManager

type VirtualMachineManager struct {
	Client *armcompute.VirtualMachinesClient
	Logger *slog.Logger
}

func (*VirtualMachineManager) CreateOrUpdate

type VirtualMachineScaleSetManager

type VirtualMachineScaleSetManager struct {
	Client *armcompute.VirtualMachineScaleSetsClient
	Logger *slog.Logger
}

func (*VirtualMachineScaleSetManager) CreateOrUpdate

func (*VirtualMachineScaleSetManager) Get

type VirtualNetworkManager

type VirtualNetworkManager struct {
	Client *armnetwork.VirtualNetworksClient
	Logger *slog.Logger
}

func (*VirtualNetworkManager) CreateOrUpdate

func (*VirtualNetworkManager) Get

func (*VirtualNetworkManager) GetVirtualNetworkByNamePrefix

func (m *VirtualNetworkManager) GetVirtualNetworkByNamePrefix(ctx context.Context, rg, prefix string) (*armnetwork.VirtualNetwork, error)

type VirtualNetworkPeeringsManager

type VirtualNetworkPeeringsManager struct {
	Client *armnetwork.VirtualNetworkPeeringsClient
	Logger *slog.Logger
}

func (*VirtualNetworkPeeringsManager) CreateOrUpdate

func (*VirtualNetworkPeeringsManager) Get

func (m *VirtualNetworkPeeringsManager) Get(ctx context.Context, rg, vnetName, peeringName string) (*armnetwork.VirtualNetworkPeering, error)

Jump to

Keyboard shortcuts

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