mirror of
https://codeberg.org/scip/esctl.git
synced 2026-08-24 11:34:17 +02:00
@@ -144,7 +144,7 @@ func IlmCreate(conf *cfg.Config) *cli.Command {
|
|||||||
Usage: "hot phase: rollover after",
|
Usage: "hot phase: rollover after",
|
||||||
Destination: &conf.Ilm.HotRolloverMaxAge,
|
Destination: &conf.Ilm.HotRolloverMaxAge,
|
||||||
},
|
},
|
||||||
&cli.Int64Flag{
|
&cli.StringFlag{
|
||||||
Name: "hot-rollover-max-primary-shard-size",
|
Name: "hot-rollover-max-primary-shard-size",
|
||||||
Usage: "hot phase: max primary shard size",
|
Usage: "hot phase: max primary shard size",
|
||||||
Destination: &conf.Ilm.HotRolloverMaxPrimaryShardSize,
|
Destination: &conf.Ilm.HotRolloverMaxPrimaryShardSize,
|
||||||
@@ -210,6 +210,11 @@ func IlmCreate(conf *cfg.Config) *cli.Command {
|
|||||||
Usage: "frozen phase: min age",
|
Usage: "frozen phase: min age",
|
||||||
Destination: &conf.Ilm.FrozenMinAge,
|
Destination: &conf.Ilm.FrozenMinAge,
|
||||||
},
|
},
|
||||||
|
&cli.StringFlag{
|
||||||
|
Name: "frozen-searchable-snapshot-repo",
|
||||||
|
Usage: "frozen phase: searchable snapshot repo",
|
||||||
|
Destination: &conf.Ilm.FrozenSearchableSnapshotRepo,
|
||||||
|
},
|
||||||
|
|
||||||
// delete
|
// delete
|
||||||
&cli.StringFlag{
|
&cli.StringFlag{
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ type Ilm struct {
|
|||||||
|
|
||||||
HotMinAge string
|
HotMinAge string
|
||||||
HotRolloverMaxAge string
|
HotRolloverMaxAge string
|
||||||
HotRolloverMaxPrimaryShardSize int64
|
HotRolloverMaxPrimaryShardSize string
|
||||||
HotRolloverMaxDocs int64
|
HotRolloverMaxDocs int64
|
||||||
HotReadonly bool
|
HotReadonly bool
|
||||||
|
|
||||||
@@ -36,6 +36,7 @@ type Ilm struct {
|
|||||||
ColdPriority int
|
ColdPriority int
|
||||||
|
|
||||||
FrozenMinAge string
|
FrozenMinAge string
|
||||||
|
FrozenSearchableSnapshotRepo string
|
||||||
|
|
||||||
DeleteMinAge string
|
DeleteMinAge string
|
||||||
DeleteSearchableSnapshots bool
|
DeleteSearchableSnapshots bool
|
||||||
@@ -47,7 +48,7 @@ func (cfg *Ilm) HaveHot() bool {
|
|||||||
return cfg.HotMinAge != "" ||
|
return cfg.HotMinAge != "" ||
|
||||||
cfg.HotRolloverMaxAge != "" ||
|
cfg.HotRolloverMaxAge != "" ||
|
||||||
cfg.HotRolloverMaxDocs > 0 ||
|
cfg.HotRolloverMaxDocs > 0 ||
|
||||||
cfg.HotRolloverMaxPrimaryShardSize > 0 ||
|
cfg.HotRolloverMaxPrimaryShardSize != "" ||
|
||||||
cfg.HotReadonly
|
cfg.HotReadonly
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -245,7 +245,7 @@ func IlmCreate(conf *cfg.Config, policyname string) error {
|
|||||||
haveroll = true
|
haveroll = true
|
||||||
}
|
}
|
||||||
|
|
||||||
if cfg.HotRolloverMaxPrimaryShardSize != 0 {
|
if cfg.HotRolloverMaxPrimaryShardSize != "" {
|
||||||
rollover.MaxPrimaryShardSize = &cfg.HotRolloverMaxPrimaryShardSize
|
rollover.MaxPrimaryShardSize = &cfg.HotRolloverMaxPrimaryShardSize
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -281,16 +281,50 @@ func IlmCreate(conf *cfg.Config, policyname string) error {
|
|||||||
phases.PhasesCaster().Warm = &warm
|
phases.PhasesCaster().Warm = &warm
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if cfg.HaveCold() {
|
||||||
|
cold := types.Phase{}
|
||||||
|
var actions types.IlmActionsVariant = esdsl.NewIlmActions()
|
||||||
|
|
||||||
|
if cfg.ColdForceMerge != 0 {
|
||||||
|
actions.IlmActionsCaster().Forcemerge = &types.ForceMergeAction{MaxNumSegments: cfg.ColdForceMerge}
|
||||||
|
}
|
||||||
|
|
||||||
|
if cfg.ColdMinAge != "" {
|
||||||
|
cold.MinAge = cfg.ColdMinAge
|
||||||
|
}
|
||||||
|
|
||||||
|
if cfg.ColdPriority != 0 {
|
||||||
|
actions.IlmActionsCaster().SetPriority = &types.SetPriorityAction{Priority: &cfg.ColdPriority}
|
||||||
|
}
|
||||||
|
|
||||||
|
if cfg.ColdSearchableSnapshotRepo != "" {
|
||||||
|
actions.IlmActionsCaster().SearchableSnapshot =
|
||||||
|
&types.SearchableSnapshotAction{SnapshotRepository: cfg.ColdSearchableSnapshotRepo}
|
||||||
|
}
|
||||||
|
|
||||||
|
cold.Actions = actions.IlmActionsCaster()
|
||||||
|
phases.PhasesCaster().Cold = &cold
|
||||||
|
}
|
||||||
|
|
||||||
if cfg.HaveFrozen() {
|
if cfg.HaveFrozen() {
|
||||||
froze := phases.PhasesCaster().Frozen
|
froze := types.Phase{}
|
||||||
|
var actions types.IlmActionsVariant = esdsl.NewIlmActions()
|
||||||
|
|
||||||
if cfg.FrozenMinAge != "" {
|
if cfg.FrozenMinAge != "" {
|
||||||
froze.MinAge = cfg.FrozenMinAge
|
froze.MinAge = cfg.FrozenMinAge
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if cfg.FrozenSearchableSnapshotRepo != "" {
|
||||||
|
actions.IlmActionsCaster().SearchableSnapshot =
|
||||||
|
&types.SearchableSnapshotAction{SnapshotRepository: cfg.FrozenSearchableSnapshotRepo}
|
||||||
|
}
|
||||||
|
|
||||||
|
froze.Actions = actions.IlmActionsCaster()
|
||||||
|
phases.PhasesCaster().Frozen = &froze
|
||||||
}
|
}
|
||||||
|
|
||||||
if cfg.HaveDelete() {
|
if cfg.HaveDelete() {
|
||||||
del := phases.PhasesCaster().Delete
|
del := types.Phase{}
|
||||||
delete := types.DeleteAction{}
|
delete := types.DeleteAction{}
|
||||||
var actions types.IlmActionsVariant = esdsl.NewIlmActions()
|
var actions types.IlmActionsVariant = esdsl.NewIlmActions()
|
||||||
|
|
||||||
@@ -304,7 +338,7 @@ func IlmCreate(conf *cfg.Config, policyname string) error {
|
|||||||
|
|
||||||
actions.IlmActionsCaster().Delete = &delete
|
actions.IlmActionsCaster().Delete = &delete
|
||||||
del.Actions = actions.IlmActionsCaster()
|
del.Actions = actions.IlmActionsCaster()
|
||||||
phases.PhasesCaster().Delete = del
|
phases.PhasesCaster().Delete = &del
|
||||||
}
|
}
|
||||||
|
|
||||||
put := &putlifecycle.Request{}
|
put := &putlifecycle.Request{}
|
||||||
|
|||||||
Reference in New Issue
Block a user