index

package
v0.0.0-...-83a686f Latest Latest
Warning

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

Go to latest
Published: Oct 14, 2020 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	DefaultArchivedTasquesPolicyName = "tasques_archived_tasks_policy"
	DefaulttArchivedTasquesPolicy    = Json{
		"phases": Json{
			"hot": Json{
				"actions": Json{
					"rollover": Json{
						"max_size": "50GB",
						"max_age":  "1d",
					},
				},
			},
			"warm": Json{
				"min_age": "7d",
				"actions": Json{
					"readonly": Json{},
				},
			},
			"cold": Json{
				"min_age": "30d",
				"actions": Json{
					"freeze": Json{},
				},
			},
		},
	}
)
View Source
var TasquesArchiveTemplate = NewTemplate(
	".tasques_archive_index_template",
	[]Pattern{task.TasquesArchiveIndex},
	archivedTaskMappings(),
)

Tasques queues template (disables dynamic for most object fields to prevent mapping conflicts and mapping explosions)

View Source
var TasquesLocksTemplate = NewTemplate(
	".tasques_leader_locks_index_template",
	[]Pattern{Pattern(leader.IndexName)},
	Mappings{
		"_source": Json{
			"enabled": true,
		},
		"dynamic": true,
	},
)

Just sets source to enabled and dynamic to true since we own this

View Source
var TasquesQueuesTemplate = NewTemplate(
	".tasques_queues_index_template",
	[]Pattern{Pattern(task.BuildIndexName("*"))},
	baseTaskMappings(),
)

Tasques queues template (disables dynamic for most object fields to prevent mapping conflicts and mapping explosions)

View Source
var TasquesRecurringTasksTemplate = NewTemplate(
	".tasques_recurring_tasks_index_template",
	[]Pattern{recurring.TasquesRecurringTasksIndex},
	Mappings{
		"_source": Json{
			"enabled": true,
		},
		"dynamic": true,
		"properties": Json{
			"is_deleted": Json{
				"type": "boolean",
			},
			"loaded_at": Json{
				"type": "date",
			},
			"metadata": Json{
				"properties": Json{
					"created_at": Json{
						"type": "date",
					},
					"modified_at": Json{
						"type": "date",
					},
				},
			},
			"schedule_expression": Json{
				"type": "text",
				"fields": Json{
					"keyword": Json{
						"type":         "keyword",
						"ignore_above": 512,
					},
				},
			},
			"skip_if_outstanding_tasks_exist": Json{
				"type": "boolean",
			},
			"task_definition": Json{
				"properties": Json{
					"kind": Json{
						"type": "text",
						"fields": Json{
							"keyword": Json{
								"type":         "keyword",
								"ignore_above": 512,
							},
						},
					},
					"priority": Json{
						"type": "long",
					},
					"args": Json{
						"type":    "object",
						"enabled": false,
					},
					"context": Json{
						"type":    "object",
						"enabled": false,
					},
					"processing_timeout": Json{
						"type": "long",
					},
					"queue": Json{
						"type": "text",
						"fields": Json{
							"keyword": Json{
								"type":         "keyword",
								"ignore_above": 512,
							},
						},
					},
					"retry_times": Json{
						"type": "long",
					},
				},
			},
		},
	},
)

Tasques recurring tasks template (disables dynamic for user-defined object fields to prevent mapping conflicts and mapping explosions)

Functions

This section is empty.

Types

type ILMSetup

type ILMSetup interface {

	// A Check to make sure that, if enabled, the setup was previously carried out
	// Does NOT make sure the existing setup, if present, is up to date !
	Check(ctx context.Context) error

	// Returns a function for modifying the Index Template for Archived Tasks
	ArchivedTemplateHook() func(t *Template)

	// Performs ILM setup, if required
	InstallPolicies(ctx context.Context) error

	// Bootstraps the indices that were set up for ILM
	BootstrapIndices(ctx context.Context) error
}

func NewILMSetup

func NewILMSetup(esClient *elasticsearch.Client, config config.LifecycleSetup) ILMSetup

type Json

type Json = map[string]interface{}

type Mappings

type Mappings = map[string]interface{}

type Pattern

type Pattern = string

type PolicyNotInstalled

type PolicyNotInstalled struct {
	NotInstalled []string
}

func (PolicyNotInstalled) Error

func (t PolicyNotInstalled) Error() string

type PutTemplateErrors

type PutTemplateErrors struct {
	Errors []error
}

func (PutTemplateErrors) Error

func (e PutTemplateErrors) Error() string

type Settings

type Settings = map[string]interface{}

type Template

type Template struct {
	Patterns []Pattern `json:"index_patterns"`
	Settings Settings  `json:"settings,omitempty"`
	Mappings Mappings  `json:"mappings,omitempty"`
	// contains filtered or unexported fields
}

Template defines a template to be applied when setup is run

func NewTemplate

func NewTemplate(name TemplateName, patterns []Pattern, mappings Mappings) Template

func (*Template) Name

func (t *Template) Name() TemplateName

type TemplateName

type TemplateName string

type TemplateSetup

type TemplateSetup interface {
	// Runs the setup
	Run(ctx context.Context) error

	// Checks if the current TemplatesSetup was run.
	//
	// This is currently a shallow check for template presence only.
	Check(ctx context.Context) error
}

func DefaultTemplateSetup

func DefaultTemplateSetup(esClient *elasticsearch.Client, archiveTemplateModifier func(*Template)) TemplateSetup

Returns the default Template setter upper

type TemplatesNotInstalled

type TemplatesNotInstalled struct {
	NotInstalled []string
}

func (TemplatesNotInstalled) Error

func (t TemplatesNotInstalled) Error() string

Jump to

Keyboard shortcuts

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