Add selector to filter initinfra docs
airpship.org/phase: "initinfra" labeled documents are deployed with initinfra Change-Id: Ie4c9421b9c4b3fe44e20a843f7a3b6551c5a7e6d Closes: #125
This commit is contained in:
parent
ea3c6a626b
commit
af90464e66
@ -47,7 +47,7 @@ func (infra *Infra) Deploy() error {
|
||||
ao.SetDryRun(infra.DryRun)
|
||||
// If prune is true, set selector for purning
|
||||
if infra.Prune {
|
||||
ao.SetPrune(document.DeployedByLabel + "=" + document.InitinfraIdentifier)
|
||||
ao.SetPrune(document.InitInfraSelector)
|
||||
}
|
||||
|
||||
globalConf := infra.RootSettings.Config()
|
||||
@ -65,8 +65,8 @@ func (infra *Infra) Deploy() error {
|
||||
return err
|
||||
}
|
||||
|
||||
// Returns documents marked with initinfra phase label
|
||||
selector := document.NewInintInfraSelector()
|
||||
// TODO (kkalynovskyi) Add Selector that would filter by label indicating wether to deploy it to k8s
|
||||
docs, err := b.Select(selector)
|
||||
if err != nil {
|
||||
return err
|
||||
@ -75,14 +75,5 @@ func (infra *Infra) Deploy() error {
|
||||
return document.ErrDocNotFound{}
|
||||
}
|
||||
|
||||
// Label every document indicating that it was deployed by initinfra module for further reference
|
||||
// This may be used later to get all resources that are part of initinfra module, for monitoring, alerting
|
||||
// upgrading etc...
|
||||
// also if prune is set to true, this fulfills requirement for all labeled document to be labeled.
|
||||
// Pruning by annotation is not available, therefore we need to use label.
|
||||
for _, doc := range docs {
|
||||
doc.Label(document.DeployedByLabel, document.InitinfraIdentifier)
|
||||
}
|
||||
|
||||
return kctl.Apply(docs, ao)
|
||||
}
|
||||
|
@ -4,7 +4,7 @@ metadata:
|
||||
name: test-rc
|
||||
namespace: test
|
||||
labels:
|
||||
airshipit.org/initinfra: "true"
|
||||
airshipit.org/phase: "initinfra"
|
||||
spec:
|
||||
replicas: 1
|
||||
template:
|
||||
|
@ -5,12 +5,7 @@ const (
|
||||
BaseAirshipSelector = "airshipit.org"
|
||||
EphemeralHostSelector = BaseAirshipSelector + "/ephemeral-node in (True, true)"
|
||||
EphemeralUserDataSelector = BaseAirshipSelector + "/ephemeral-user-data in (True, true)"
|
||||
|
||||
// Labels
|
||||
DeployedByLabel = BaseAirshipSelector + "/deployed"
|
||||
|
||||
// Identifiers (Static label values)
|
||||
InitinfraIdentifier = "initinfra"
|
||||
InitInfraSelector = BaseAirshipSelector + "/phase = initinfra"
|
||||
)
|
||||
|
||||
// Kinds
|
||||
|
@ -99,10 +99,7 @@ func NewEphemeralNetworkDataSelector(bmhDoc Document) (Selector, error) {
|
||||
return selector, nil
|
||||
}
|
||||
|
||||
// NewInintInfraSelector returns selector of all initinfra documents
|
||||
// TODO (kkalynovskyi) add selector that would specify if document
|
||||
// should be deployed to kubernetes cluster when appropriate label
|
||||
// is added
|
||||
// NewInintInfraSelector returns selector to get deployable documents marked with initinfra label
|
||||
func NewInintInfraSelector() Selector {
|
||||
return NewSelector()
|
||||
return NewSelector().ByLabel(InitInfraSelector)
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user