services

package
v1.1.5 Latest Latest
Warning

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

Go to latest
Published: Aug 23, 2024 License: BSD-3-Clause Imports: 6 Imported by: 0

Documentation

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

func Description

func Description(value string) basic.Op

func Id

func Id(value string) basic.Op

func Protocol

func Protocol(value string) basic.Op

func SmartOps

func SmartOps(value []string) basic.Op

func Tags

func Tags(value []string) basic.Op

Types

type Getter

type Getter interface {
	basic.ResourceGetter[*structureSpec.Service]
	Protocol() string
}

func Yaml

func Yaml(name, application string, yamlData []byte) (Getter, error)

type Service

type Service interface {
	Get() Getter
	common.Resource[*structureSpec.Service]
}
Example
package main

import (
	"fmt"

	"github.com/spf13/afero"
	"github.com/taubyte/tau/pkg/schema/project"
	"github.com/taubyte/tau/pkg/schema/services"
)

func main() {
	// Create a new file system in memory
	fs := afero.NewMemMapFs()

	// Open a new project with a virtual file system
	project, err := project.Open(project.VirtualFS(fs, "/"))
	if err != nil {
		return
	}

	// Create or open an service
	srv, err := project.Service("test_srv", "")
	if err != nil {
		return
	}

	// Set and write service fields
	err = srv.Set(true,
		services.Id("QmaEBKzOyrYL1D6gtqD86Nyr2hvXAxWHcMCu9ffxLaByMc"),
		services.Description("a basic service"),
		services.Tags([]string{"tag1", "tag2"}),
		services.Protocol("/test/v1"),
	)
	if err != nil {
		return
	}

	// Display the Description
	fmt.Println(srv.Get().Description())

	// Open the config.yaml of the service
	config, err := afero.ReadFile(fs, "/services/test_srv.yaml")
	if err != nil {
		return
	}

	// Print config.yaml
	fmt.Println(string(config))

}
Output:

a basic service
id: QmaEBKzOyrYL1D6gtqD86Nyr2hvXAxWHcMCu9ffxLaByMc
description: a basic service
tags:
    - tag1
    - tag2
protocol: /test/v1

func Open

func Open(seer *seer.Seer, name, application string) (Service, error)

Jump to

Keyboard shortcuts

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