Documentation ¶
Overview ¶
Data stored in MongoDB.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type App ¶
type App struct { // Name to display to users Name string `json:"name" bson:"name" validate:"required"` // HomepageURL is a link to the website for this app. HomepageURL string `json:"homepage_url" bson:"homepage_url" validate:"required"` // Tagline is a short description of the app Tagline string `json:"tagline" bson:"tagline" validate:"required"` // Tags is a lists of tags Tags []string `json:"tags" bson:"tags" validate:"required,lowercase"` // Categories is a list of categories Categories []string `json:"categories" bson:"categories" validate:"required,lowercase,categories"` // Author is the person who created the app Author ContactInfo `yaml:"author" json:"author" bson:"author" validate:"required"` // AppID is a human and computer readable identifier for the application AppID string `json:"app_id" bson:"app_id" validate:"required"` // Description is more detailed markdown formatted information about the app Description string `json:"description" bson:"description" validate:"required"` // ScreenshotURLs are links to app screenshots ScreenshotURLs []string `json:"screenshot_urls" bson:"screenshot_urls"` // LogoURL is a link to the app logo LogoURL string `json:"logo_url" bson:"logo_url" validate:"required,url"` // VerificationStatus indicates the stage of the verification process the app // is currently in. Can be one of: "pending", "verifying", "good", "bad" VerificationStatus string `json:"verification_status" bson:"verification_status" validate:"required"` // GitHubURL is a link to the GitHub files for the app in the serverless apps registry repository GitHubURL string `json:"github_url" bson:"github_url" validate:"required,url"` // Deployment datan Deployment AppDeployment `json:"deployment" bson:"deployment" validate:"required"` // Version is the semantic version of the app Version string `json:"version" bson:"version" validate:"required"` // SiteURL is a link to the application on the website SiteURL string `json:"site_url" bson:"site_url" validate:"required"` }
App is a serverless application from the repository Stores the json file format of the response
type AppDeployParameter ¶
type AppDeployParameter struct { // Substitution is the value which should be substitured for the parameter's value Substitution string `json:"substitution" bson:"substitution" validate:"required"` // DisplayName is a user friendly name to describe the parameter DisplayName string `json:"display_name" bson:"display_name" validate:"required"` // DefaultValue of parameter DefaultValue string `json:"default_value" bson:"default_value" validate:"required"` // RequiresBase64 indicates if the parameter should be encoded in base64 before being // placed in the template RequiresBase64 bool `json:"requires_base64" bson:"requires_base64" validate:"required"` }
AppDeployParameter holds information about a parameter in an app's deployment resources
type AppDeployment ¶
type AppDeployment struct { // Resources is the raw JSON for each deployment resource Resources []string `json:"resources" bson:"resources" validate:"required"` // ParameterizedResources is the JSON for each deployment resource, except values in // ConfigMap and Secret resources are replaced with their // AppDeployParameter.SubstituionVariable value ParameterizedResources []string `json:"parameterized_resources" bson:"parameterized_resources" validate:"required"` // Parameters holds metadata about the parameters in PrameterizedYAML Parameters []AppDeployParameter `json:"parameters" bson:"parameters" validate:"required"` // DeployScript is a custom deployment script for the app DeployScript string `json:"deploy_script" bson:"deploy_script" validate:"required"` }
AppDeployment holds deployment information about an app
type AppManifestFile ¶
type AppManifestFile struct { // Name to display to users Name string `yaml:"name"` // HomepageURL is a link to the website for this app. HomepageURL string `yaml:"homepageUrl"` // Tagline is a short description of the app Tagline string `yaml:"tagline"` // Tags is a lists of tags Tags []string `yaml:"tags"` // Categories is a list of categories Categories []string `yaml:"categories"` // Author is the person who created the app Author ContactInfo `yaml:"author"` }
AppManifestFile is the format of an app's manifest file in the registry repository. This structure holds metadata about an application. This data will be merged into the App model.
type AppVerificationStatus ¶
type AppVerificationStatus struct { // FormatCorrect indicates if the app submission files are formatted correctly FormatCorrect bool `bson:"format_correct"` }
AppVerificationStatus holds the verification status of an app
type ContactInfo ¶
type ContactInfo struct { // Name Name string `json:"name" bson:"name" validate:"required"` // Email Email string `json:"email" bson:"email" validate:"required,email"` }
ContactInfo
type Submission ¶
type Submission struct { // PRNumber is the user facing ID number of the pull request PRNumber int `bson:"pr_number"` // Apps are the applications which are currently in the pull request. // Keys are app IDs. // A value can be nil if an internal system error occurred while parsing / // loading the app. Apps map[string]*SubmissionApp `bson:"apps"` }
Submission holds information about a serverless application which is being submitted to the registry repository. Currently applications are submitted via pull requests.
type SubmissionApp ¶
type SubmissionApp struct { // App is an app which is present in the submission, nil if // the VerificationStatus.FormatCorrect field is false. App *App `bson:"app"` // VerificationStatus of the App VerificationStatus AppVerificationStatus `bson:"verification_status"` }
SubmissionApp associates an app in a submission with a verification status entry