mirror of
https://github.com/stakater/Reloader.git
synced 2026-03-02 09:20:18 +00:00
* Add implementation for create event Signed-off-by: faizanahmad055 <faizan.ahmad55@outlook.com> * Add sleep in testcase Signed-off-by: faizanahmad055 <faizan.ahmad55@outlook.com> * Fix test case data Signed-off-by: faizanahmad055 <faizan.ahmad55@outlook.com> * Remove unnecessary dashes from chart Signed-off-by: faizanahmad055 <faizan.ahmad55@outlook.com> * Fix new env var creation issue Signed-off-by: faizanahmad055 <faizan.ahmad55@outlook.com> * Optimize upgrade code Signed-off-by: faizanahmad055 <faizan.ahmad55@outlook.com> * Update logs Signed-off-by: faizanahmad055 <faizan.ahmad55@outlook.com> * Initial implementation to perform rolling upgrades by auto referencing the resources Signed-off-by: faizanahmad055 <faizan.ahmad55@outlook.com> * Fix nil pointer exception Signed-off-by: faizanahmad055 <faizan.ahmad55@outlook.com> * Fix test cases Signed-off-by: faizanahmad055 <faizan.ahmad55@outlook.com> * Add test cases Signed-off-by: faizanahmad055 <faizan.ahmad55@outlook.com> * Update test case verify method Signed-off-by: faizanahmad055 <faizan.ahmad55@outlook.com> * Add missing name for envs Signed-off-by: faizanahmad055 <faizan.ahmad55@outlook.com> * Update annotation name Signed-off-by: faizanahmad055 <faizan.ahmad55@outlook.com> * Update readme Signed-off-by: faizanahmad055 <faizan.ahmad55@outlook.com> * Update readme Signed-off-by: faizanahmad055 <faizan.ahmad55@outlook.com> * Implement Golang CI comment Signed-off-by: faizanahmad055 <faizan.ahmad55@outlook.com> * Implement Golang CI comment Signed-off-by: faizanahmad055 <faizan.ahmad55@outlook.com>
40 lines
1.2 KiB
Go
40 lines
1.2 KiB
Go
package handler
|
|
|
|
import (
|
|
"github.com/sirupsen/logrus"
|
|
"github.com/stakater/Reloader/internal/pkg/util"
|
|
"k8s.io/api/core/v1"
|
|
)
|
|
|
|
// ResourceCreatedHandler contains new objects
|
|
type ResourceCreatedHandler struct {
|
|
Resource interface{}
|
|
}
|
|
|
|
// Handle processes the newly created resource
|
|
func (r ResourceCreatedHandler) Handle() error {
|
|
if r.Resource == nil {
|
|
logrus.Errorf("Resource creation handler received nil resource")
|
|
} else {
|
|
config, _ := r.GetConfig()
|
|
logrus.Infof("Resource '%s' of type '%s' in namespace '%s' has been created", config.ResourceName, config.Type, config.Namespace)
|
|
// process resource based on its type
|
|
doRollingUpgrade(config)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// GetConfig gets configurations containing SHA, annotations, namespace and resource name
|
|
func (r ResourceCreatedHandler) GetConfig() (util.Config, string) {
|
|
var oldSHAData string
|
|
var config util.Config
|
|
if _, ok := r.Resource.(*v1.ConfigMap); ok {
|
|
config = util.GetConfigmapConfig(r.Resource.(*v1.ConfigMap))
|
|
} else if _, ok := r.Resource.(*v1.Secret); ok {
|
|
config = util.GetSecretConfig(r.Resource.(*v1.Secret))
|
|
} else {
|
|
logrus.Warnf("Invalid resource: Resource should be 'Secret' or 'Configmap' but found, %v", r.Resource)
|
|
}
|
|
return config, oldSHAData
|
|
}
|