mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-09-22 13:39:35 +00:00
cleanup and resource seperation
This commit is contained in:
@@ -35,7 +35,7 @@ type InfisicalPushSecretReconciler struct {
|
|||||||
Scheme *runtime.Scheme
|
Scheme *runtime.Scheme
|
||||||
}
|
}
|
||||||
|
|
||||||
var resourceVariablesMap map[string]util.ResourceVariables
|
var infisicalPushSecretResourceVariablesMap map[string]util.ResourceVariables = make(map[string]util.ResourceVariables)
|
||||||
|
|
||||||
func (r *InfisicalPushSecretReconciler) GetLogger(req ctrl.Request) logr.Logger {
|
func (r *InfisicalPushSecretReconciler) GetLogger(req ctrl.Request) logr.Logger {
|
||||||
return r.BaseLogger.WithValues("infisicalpushsecret", req.NamespacedName)
|
return r.BaseLogger.WithValues("infisicalpushsecret", req.NamespacedName)
|
||||||
@@ -61,10 +61,6 @@ func (r *InfisicalPushSecretReconciler) Reconcile(ctx context.Context, req ctrl.
|
|||||||
var infisicalPushSecretCR secretsv1alpha1.InfisicalPushSecret
|
var infisicalPushSecretCR secretsv1alpha1.InfisicalPushSecret
|
||||||
requeueTime := time.Minute // seconds
|
requeueTime := time.Minute // seconds
|
||||||
|
|
||||||
if resourceVariablesMap == nil {
|
|
||||||
resourceVariablesMap = make(map[string]util.ResourceVariables)
|
|
||||||
}
|
|
||||||
|
|
||||||
err := r.Get(ctx, req.NamespacedName, &infisicalPushSecretCR)
|
err := r.Get(ctx, req.NamespacedName, &infisicalPushSecretCR)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if errors.IsNotFound(err) {
|
if errors.IsNotFound(err) {
|
||||||
@@ -185,10 +181,30 @@ func (r *InfisicalPushSecretReconciler) SetupWithManager(mgr ctrl.Manager) error
|
|||||||
specChangeOrDelete := predicate.Funcs{
|
specChangeOrDelete := predicate.Funcs{
|
||||||
UpdateFunc: func(e event.UpdateEvent) bool {
|
UpdateFunc: func(e event.UpdateEvent) bool {
|
||||||
// Only reconcile if spec/generation changed
|
// Only reconcile if spec/generation changed
|
||||||
return e.ObjectOld.GetGeneration() != e.ObjectNew.GetGeneration()
|
|
||||||
|
isSpecOrGenerationChange := e.ObjectOld.GetGeneration() != e.ObjectNew.GetGeneration()
|
||||||
|
|
||||||
|
if isSpecOrGenerationChange {
|
||||||
|
if infisicalPushSecretResourceVariablesMap != nil {
|
||||||
|
if rv, ok := infisicalPushSecretResourceVariablesMap[string(e.ObjectNew.GetUID())]; ok {
|
||||||
|
rv.CancelCtx()
|
||||||
|
delete(infisicalPushSecretResourceVariablesMap, string(e.ObjectNew.GetUID()))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return isSpecOrGenerationChange
|
||||||
},
|
},
|
||||||
DeleteFunc: func(e event.DeleteEvent) bool {
|
DeleteFunc: func(e event.DeleteEvent) bool {
|
||||||
// Always reconcile on deletion
|
// Always reconcile on deletion
|
||||||
|
|
||||||
|
if infisicalPushSecretResourceVariablesMap != nil {
|
||||||
|
if rv, ok := infisicalPushSecretResourceVariablesMap[string(e.Object.GetUID())]; ok {
|
||||||
|
rv.CancelCtx()
|
||||||
|
delete(infisicalPushSecretResourceVariablesMap, string(e.Object.GetUID()))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return true
|
return true
|
||||||
},
|
},
|
||||||
CreateFunc: func(e event.CreateEvent) bool {
|
CreateFunc: func(e event.CreateEvent) bool {
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ func (r *InfisicalPushSecretReconciler) getResourceVariables(infisicalPushSecret
|
|||||||
|
|
||||||
var resourceVariables util.ResourceVariables
|
var resourceVariables util.ResourceVariables
|
||||||
|
|
||||||
if _, ok := resourceVariablesMap[string(infisicalPushSecret.UID)]; !ok {
|
if _, ok := infisicalPushSecretResourceVariablesMap[string(infisicalPushSecret.UID)]; !ok {
|
||||||
|
|
||||||
ctx, cancel := context.WithCancel(context.Background())
|
ctx, cancel := context.WithCancel(context.Background())
|
||||||
|
|
||||||
@@ -81,16 +81,16 @@ func (r *InfisicalPushSecretReconciler) getResourceVariables(infisicalPushSecret
|
|||||||
UserAgent: api.USER_AGENT_NAME,
|
UserAgent: api.USER_AGENT_NAME,
|
||||||
})
|
})
|
||||||
|
|
||||||
resourceVariablesMap[string(infisicalPushSecret.UID)] = util.ResourceVariables{
|
infisicalPushSecretResourceVariablesMap[string(infisicalPushSecret.UID)] = util.ResourceVariables{
|
||||||
InfisicalClient: client,
|
InfisicalClient: client,
|
||||||
CancelCtx: cancel,
|
CancelCtx: cancel,
|
||||||
AuthDetails: util.AuthenticationDetails{},
|
AuthDetails: util.AuthenticationDetails{},
|
||||||
}
|
}
|
||||||
|
|
||||||
resourceVariables = resourceVariablesMap[string(infisicalPushSecret.UID)]
|
resourceVariables = infisicalPushSecretResourceVariablesMap[string(infisicalPushSecret.UID)]
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
resourceVariables = resourceVariablesMap[string(infisicalPushSecret.UID)]
|
resourceVariables = infisicalPushSecretResourceVariablesMap[string(infisicalPushSecret.UID)]
|
||||||
}
|
}
|
||||||
|
|
||||||
return resourceVariables
|
return resourceVariables
|
||||||
@@ -98,7 +98,7 @@ func (r *InfisicalPushSecretReconciler) getResourceVariables(infisicalPushSecret
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (r *InfisicalPushSecretReconciler) updateResourceVariables(infisicalPushSecret v1alpha1.InfisicalPushSecret, resourceVariables util.ResourceVariables) {
|
func (r *InfisicalPushSecretReconciler) updateResourceVariables(infisicalPushSecret v1alpha1.InfisicalPushSecret, resourceVariables util.ResourceVariables) {
|
||||||
resourceVariablesMap[string(infisicalPushSecret.UID)] = resourceVariables
|
infisicalPushSecretResourceVariablesMap[string(infisicalPushSecret.UID)] = resourceVariables
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *InfisicalPushSecretReconciler) ReconcileInfisicalPushSecret(ctx context.Context, logger logr.Logger, infisicalPushSecret v1alpha1.InfisicalPushSecret) error {
|
func (r *InfisicalPushSecretReconciler) ReconcileInfisicalPushSecret(ctx context.Context, logger logr.Logger, infisicalPushSecret v1alpha1.InfisicalPushSecret) error {
|
||||||
|
|||||||
@@ -27,7 +27,13 @@ type InfisicalSecretReconciler struct {
|
|||||||
Scheme *runtime.Scheme
|
Scheme *runtime.Scheme
|
||||||
}
|
}
|
||||||
|
|
||||||
var resourceVariablesMap map[string]util.ResourceVariables = make(map[string]util.ResourceVariables)
|
const FINALIZER_NAME = "secrets.finalizers.infisical.com"
|
||||||
|
|
||||||
|
var infisicalSecretResourceVariablesMap map[string]util.ResourceVariables = make(map[string]util.ResourceVariables)
|
||||||
|
|
||||||
|
func (r *InfisicalSecretReconciler) GetLogger(req ctrl.Request) logr.Logger {
|
||||||
|
return r.BaseLogger.WithValues("infisicalsecret", req.NamespacedName)
|
||||||
|
}
|
||||||
|
|
||||||
//+kubebuilder:rbac:groups=secrets.infisical.com,resources=infisicalsecrets,verbs=get;list;watch;create;update;patch;delete
|
//+kubebuilder:rbac:groups=secrets.infisical.com,resources=infisicalsecrets,verbs=get;list;watch;create;update;patch;delete
|
||||||
//+kubebuilder:rbac:groups=secrets.infisical.com,resources=infisicalsecrets/status,verbs=get;update;patch
|
//+kubebuilder:rbac:groups=secrets.infisical.com,resources=infisicalsecrets/status,verbs=get;update;patch
|
||||||
@@ -42,15 +48,6 @@ var resourceVariablesMap map[string]util.ResourceVariables = make(map[string]uti
|
|||||||
// For more details, check Reconcile and its Result here:
|
// For more details, check Reconcile and its Result here:
|
||||||
// - https://pkg.go.dev/sigs.k8s.io/controller-runtime@v0.13.1/pkg/reconcile
|
// - https://pkg.go.dev/sigs.k8s.io/controller-runtime@v0.13.1/pkg/reconcile
|
||||||
|
|
||||||
const FINALIZER_NAME = "secrets.finalizers.infisical.com"
|
|
||||||
|
|
||||||
// Maps the infisicalSecretCR.UID to a infisicalSdk.InfisicalClientInterface and AuthenticationDetails.
|
|
||||||
// var resourceVariablesMap = make(map[string]ResourceVariables)
|
|
||||||
|
|
||||||
func (r *InfisicalSecretReconciler) GetLogger(req ctrl.Request) logr.Logger {
|
|
||||||
return r.BaseLogger.WithValues("infisicalsecret", req.NamespacedName)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (r *InfisicalSecretReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {
|
func (r *InfisicalSecretReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {
|
||||||
|
|
||||||
logger := r.GetLogger(req)
|
logger := r.GetLogger(req)
|
||||||
@@ -58,10 +55,6 @@ func (r *InfisicalSecretReconciler) Reconcile(ctx context.Context, req ctrl.Requ
|
|||||||
var infisicalSecretCR secretsv1alpha1.InfisicalSecret
|
var infisicalSecretCR secretsv1alpha1.InfisicalSecret
|
||||||
requeueTime := time.Minute // seconds
|
requeueTime := time.Minute // seconds
|
||||||
|
|
||||||
if resourceVariablesMap == nil {
|
|
||||||
resourceVariablesMap = make(map[string]util.ResourceVariables)
|
|
||||||
}
|
|
||||||
|
|
||||||
err := r.Get(ctx, req.NamespacedName, &infisicalSecretCR)
|
err := r.Get(ctx, req.NamespacedName, &infisicalSecretCR)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if errors.IsNotFound(err) {
|
if errors.IsNotFound(err) {
|
||||||
@@ -163,19 +156,19 @@ func (r *InfisicalSecretReconciler) SetupWithManager(mgr ctrl.Manager) error {
|
|||||||
return ctrl.NewControllerManagedBy(mgr).
|
return ctrl.NewControllerManagedBy(mgr).
|
||||||
For(&secretsv1alpha1.InfisicalSecret{}, builder.WithPredicates(predicate.Funcs{
|
For(&secretsv1alpha1.InfisicalSecret{}, builder.WithPredicates(predicate.Funcs{
|
||||||
UpdateFunc: func(e event.UpdateEvent) bool {
|
UpdateFunc: func(e event.UpdateEvent) bool {
|
||||||
if resourceVariablesMap != nil {
|
if infisicalSecretResourceVariablesMap != nil {
|
||||||
if rv, ok := resourceVariablesMap[string(e.ObjectNew.GetUID())]; ok {
|
if rv, ok := infisicalSecretResourceVariablesMap[string(e.ObjectNew.GetUID())]; ok {
|
||||||
rv.CancelCtx()
|
rv.CancelCtx()
|
||||||
delete(resourceVariablesMap, string(e.ObjectNew.GetUID()))
|
delete(infisicalSecretResourceVariablesMap, string(e.ObjectNew.GetUID()))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true
|
return true
|
||||||
},
|
},
|
||||||
DeleteFunc: func(e event.DeleteEvent) bool {
|
DeleteFunc: func(e event.DeleteEvent) bool {
|
||||||
if resourceVariablesMap != nil {
|
if infisicalSecretResourceVariablesMap != nil {
|
||||||
if rv, ok := resourceVariablesMap[string(e.Object.GetUID())]; ok {
|
if rv, ok := infisicalSecretResourceVariablesMap[string(e.Object.GetUID())]; ok {
|
||||||
rv.CancelCtx()
|
rv.CancelCtx()
|
||||||
delete(resourceVariablesMap, string(e.Object.GetUID()))
|
delete(infisicalSecretResourceVariablesMap, string(e.Object.GetUID()))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true
|
return true
|
||||||
|
|||||||
@@ -296,7 +296,7 @@ func (r *InfisicalSecretReconciler) getResourceVariables(infisicalSecret v1alpha
|
|||||||
|
|
||||||
var resourceVariables util.ResourceVariables
|
var resourceVariables util.ResourceVariables
|
||||||
|
|
||||||
if _, ok := resourceVariablesMap[string(infisicalSecret.UID)]; !ok {
|
if _, ok := infisicalSecretResourceVariablesMap[string(infisicalSecret.UID)]; !ok {
|
||||||
|
|
||||||
ctx, cancel := context.WithCancel(context.Background())
|
ctx, cancel := context.WithCancel(context.Background())
|
||||||
|
|
||||||
@@ -306,16 +306,16 @@ func (r *InfisicalSecretReconciler) getResourceVariables(infisicalSecret v1alpha
|
|||||||
UserAgent: api.USER_AGENT_NAME,
|
UserAgent: api.USER_AGENT_NAME,
|
||||||
})
|
})
|
||||||
|
|
||||||
resourceVariablesMap[string(infisicalSecret.UID)] = util.ResourceVariables{
|
infisicalSecretResourceVariablesMap[string(infisicalSecret.UID)] = util.ResourceVariables{
|
||||||
InfisicalClient: client,
|
InfisicalClient: client,
|
||||||
CancelCtx: cancel,
|
CancelCtx: cancel,
|
||||||
AuthDetails: util.AuthenticationDetails{},
|
AuthDetails: util.AuthenticationDetails{},
|
||||||
}
|
}
|
||||||
|
|
||||||
resourceVariables = resourceVariablesMap[string(infisicalSecret.UID)]
|
resourceVariables = infisicalSecretResourceVariablesMap[string(infisicalSecret.UID)]
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
resourceVariables = resourceVariablesMap[string(infisicalSecret.UID)]
|
resourceVariables = infisicalSecretResourceVariablesMap[string(infisicalSecret.UID)]
|
||||||
}
|
}
|
||||||
|
|
||||||
return resourceVariables
|
return resourceVariables
|
||||||
@@ -323,7 +323,7 @@ func (r *InfisicalSecretReconciler) getResourceVariables(infisicalSecret v1alpha
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (r *InfisicalSecretReconciler) updateResourceVariables(infisicalSecret v1alpha1.InfisicalSecret, resourceVariables util.ResourceVariables) {
|
func (r *InfisicalSecretReconciler) updateResourceVariables(infisicalSecret v1alpha1.InfisicalSecret, resourceVariables util.ResourceVariables) {
|
||||||
resourceVariablesMap[string(infisicalSecret.UID)] = resourceVariables
|
infisicalSecretResourceVariablesMap[string(infisicalSecret.UID)] = resourceVariables
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *InfisicalSecretReconciler) ReconcileInfisicalSecret(ctx context.Context, logger logr.Logger, infisicalSecret v1alpha1.InfisicalSecret) error {
|
func (r *InfisicalSecretReconciler) ReconcileInfisicalSecret(ctx context.Context, logger logr.Logger, infisicalSecret v1alpha1.InfisicalSecret) error {
|
||||||
|
|||||||
Reference in New Issue
Block a user