types

package
v0.1.0-alpha.9 Latest Latest
Warning

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

Go to latest
Published: Feb 12, 2025 License: MIT Imports: 0 Imported by: 0

Documentation

Overview

Copyright (c) 2025 Nexlayer. All rights reserved.n// Use of this source code is governed by an MIT-stylen// license that can be found in the LICENSE file.nn

Copyright (c) 2025 Nexlayer. All rights reserved.n// Use of this source code is governed by an MIT-stylen// license that can be found in the LICENSE file.nn

Copyright (c) 2025 Nexlayer. All rights reserved.n// Use of this source code is governed by an MIT-stylen// license that can be found in the LICENSE file.nn

Copyright (c) 2025 Nexlayer. All rights reserved.n// Use of this source code is governed by an MIT-stylen// license that can be found in the LICENSE file.nn

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Application

type Application struct {
	Name          string        `yaml:"name"`
	URL           string        `yaml:"url,omitempty"`
	RegistryLogin *RegistryAuth `yaml:"registryLogin,omitempty"`
	Pods          []Pod         `yaml:"pods"`
}

Application represents the application configuration

type Config

type Config struct {
	Application Application `yaml:"application"`
}

Config represents the application configuration

type CostEstimate

type CostEstimate struct {
	TotalCost     float64        `json:"total_cost"`
	ResourceCosts []ResourceCost `json:"resource_costs"`
	Currency      string         `json:"currency"`
}

CostEstimate represents cost estimation for resources

type EnvVar

type EnvVar struct {
	Key   string `yaml:"key"`
	Value string `yaml:"value"`
}

EnvVar represents a key-value pair for environment variables

type NetworkConfig

type NetworkConfig struct {
	Ingress []string `json:"ingress,omitempty"`
	Egress  []string `json:"egress,omitempty"`
}

NetworkConfig defines network settings

type Pod

type Pod struct {
	Name         string   `yaml:"name"`
	Path         string   `yaml:"path,omitempty"`
	Image        string   `yaml:"image"`
	Volumes      []Volume `yaml:"volumes,omitempty"`
	Secrets      []Secret `yaml:"secrets,omitempty"`
	Vars         []EnvVar `yaml:"vars,omitempty"`
	ServicePorts []int    `yaml:"servicePorts"`
	Command      []string `yaml:"command,omitempty"`
}

Pod represents a pod configuration

type PortConfig

type PortConfig struct {
	Container int    `json:"container" yaml:"container"`
	Host      int    `json:"host" yaml:"host"`
	Protocol  string `json:"protocol,omitempty" yaml:"protocol,omitempty"`
}

PortConfig defines port configuration

type RegistryAuth

type RegistryAuth struct {
	Registry            string `yaml:"registry"`
	Username            string `yaml:"username"`
	PersonalAccessToken string `yaml:"personalAccessToken"`
}

RegistryAuth represents registry authentication configuration

type ResourceConfig

type ResourceConfig struct {
	CPU    string   `json:"cpu,omitempty"`
	Memory string   `json:"memory,omitempty"`
	GPU    []string `json:"gpu,omitempty"`
}

ResourceConfig defines resource requirements

type ResourceCost

type ResourceCost struct {
	ResourceType string  `json:"type"`
	MonthlyCost  float64 `json:"monthly_cost"`
	Description  string  `json:"description"`
}

ResourceCost represents cost for a specific resource

type Secret

type Secret struct {
	Name      string `yaml:"name"`
	Data      string `yaml:"data"`
	MountPath string `yaml:"mountPath"`
	FileName  string `yaml:"fileName"`
}

Secret represents a secret configuration

type SecurityConfig

type SecurityConfig struct {
	Issues []SecurityIssue `json:"issues,omitempty"`
}

SecurityConfig defines security settings

type SecurityIssue

type SecurityIssue struct {
	Severity    string `json:"severity"`
	Description string `json:"description"`
	Context     string `json:"context,omitempty"`
}

SecurityIssue represents a security concern

type Stack

type Stack struct {
	Language  string          `json:"language"`
	Framework string          `json:"framework"`
	Database  string          `json:"database"`
	Resources *ResourceConfig `json:"resources,omitempty"`
	Network   *NetworkConfig  `json:"network,omitempty"`
	Security  *SecurityConfig `json:"security,omitempty"`
}

Stack represents a project stack configuration

type Volume

type Volume struct {
	Name      string `yaml:"name"`
	Size      string `yaml:"size"`
	MountPath string `yaml:"mountPath"`
}

Volume represents a persistent volume configuration

Jump to

Keyboard shortcuts

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