mirror of
https://github.com/stakater/Reloader.git
synced 2026-02-14 18:09:50 +00:00
* separate methods * basic refactoring * moved common code to util package to use it in gateway * common check for argo rollouts * made code compilable with latest changes on master * Moved options to separate package and created CommandLineOptions instance that will be in sync with options values. * reverted extra changes * initialize CommandLineOptions with default options in module init * wait for paused at annotation before checking deployment paused * moved things around to fix things * reverted unnecessary changes * reverted rolling_upgrade changes * reverted extra change * additional checks in reloader * refactor: ShouldReloadInternal method. It will be called by Reloader ShouldReload has some additional resource/namespace filter checks which are not needed for Reloader * added test cases * moved config to sharable packae * moved resource selector and label selctor methods * fixed pipeline * removed map.yaml * removed vague comment
49 lines
1.6 KiB
Go
49 lines
1.6 KiB
Go
package common
|
|
|
|
import (
|
|
"github.com/stakater/Reloader/internal/pkg/constants"
|
|
"github.com/stakater/Reloader/internal/pkg/options"
|
|
"github.com/stakater/Reloader/internal/pkg/util"
|
|
v1 "k8s.io/api/core/v1"
|
|
)
|
|
|
|
// Config contains rolling upgrade configuration parameters
|
|
type Config struct {
|
|
Namespace string
|
|
ResourceName string
|
|
ResourceAnnotations map[string]string
|
|
Annotation string
|
|
TypedAutoAnnotation string
|
|
SHAValue string
|
|
Type string
|
|
Labels map[string]string
|
|
}
|
|
|
|
// GetConfigmapConfig provides utility config for configmap
|
|
func GetConfigmapConfig(configmap *v1.ConfigMap) Config {
|
|
return Config{
|
|
Namespace: configmap.Namespace,
|
|
ResourceName: configmap.Name,
|
|
ResourceAnnotations: configmap.Annotations,
|
|
Annotation: options.ConfigmapUpdateOnChangeAnnotation,
|
|
TypedAutoAnnotation: options.ConfigmapReloaderAutoAnnotation,
|
|
SHAValue: util.GetSHAfromConfigmap(configmap),
|
|
Type: constants.ConfigmapEnvVarPostfix,
|
|
Labels: configmap.Labels,
|
|
}
|
|
}
|
|
|
|
// GetSecretConfig provides utility config for secret
|
|
func GetSecretConfig(secret *v1.Secret) Config {
|
|
return Config{
|
|
Namespace: secret.Namespace,
|
|
ResourceName: secret.Name,
|
|
ResourceAnnotations: secret.Annotations,
|
|
Annotation: options.SecretUpdateOnChangeAnnotation,
|
|
TypedAutoAnnotation: options.SecretReloaderAutoAnnotation,
|
|
SHAValue: util.GetSHAfromSecret(secret.Data),
|
|
Type: constants.SecretEnvVarPostfix,
|
|
Labels: secret.Labels,
|
|
}
|
|
}
|