mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-09-22 13:39:35 +00:00
147 lines
5.6 KiB
Go
147 lines
5.6 KiB
Go
package controllers
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
|
|
"github.com/Infisical/infisical/k8-operator/api/v1alpha1"
|
|
"github.com/go-logr/logr"
|
|
"k8s.io/apimachinery/pkg/api/meta"
|
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
|
)
|
|
|
|
func (r *InfisicalDynamicSecretReconciler) SetReconcileAutoRedeploymentConditionStatus(ctx context.Context, logger logr.Logger, infisicalDynamicSecret *v1alpha1.InfisicalDynamicSecret, numDeployments int, errorToConditionOn error) {
|
|
if infisicalDynamicSecret.Status.Conditions == nil {
|
|
infisicalDynamicSecret.Status.Conditions = []metav1.Condition{}
|
|
}
|
|
|
|
if errorToConditionOn == nil {
|
|
meta.SetStatusCondition(&infisicalDynamicSecret.Status.Conditions, metav1.Condition{
|
|
Type: "secrets.infisical.com/AutoRedeployReady",
|
|
Status: metav1.ConditionTrue,
|
|
Reason: "OK",
|
|
Message: fmt.Sprintf("Infisical has found %v deployments which are ready to be auto redeployed when dynamic secret lease changes", numDeployments),
|
|
})
|
|
} else {
|
|
meta.SetStatusCondition(&infisicalDynamicSecret.Status.Conditions, metav1.Condition{
|
|
Type: "secrets.infisical.com/AutoRedeployReady",
|
|
Status: metav1.ConditionFalse,
|
|
Reason: "Error",
|
|
Message: fmt.Sprintf("Failed reconcile deployments because: %v", errorToConditionOn),
|
|
})
|
|
}
|
|
|
|
err := r.Client.Status().Update(ctx, infisicalDynamicSecret)
|
|
if err != nil {
|
|
logger.Error(err, "Could not set condition for AutoRedeployReady")
|
|
}
|
|
}
|
|
|
|
func (r *InfisicalDynamicSecretReconciler) SetAuthenticatedConditionStatus(ctx context.Context, logger logr.Logger, infisicalDynamicSecret *v1alpha1.InfisicalDynamicSecret, errorToConditionOn error) {
|
|
if infisicalDynamicSecret.Status.Conditions == nil {
|
|
infisicalDynamicSecret.Status.Conditions = []metav1.Condition{}
|
|
}
|
|
|
|
if errorToConditionOn == nil {
|
|
meta.SetStatusCondition(&infisicalDynamicSecret.Status.Conditions, metav1.Condition{
|
|
Type: "secrets.infisical.com/Authenticated",
|
|
Status: metav1.ConditionTrue,
|
|
Reason: "OK",
|
|
Message: "Infisical has successfully authenticated with the Infisical API",
|
|
})
|
|
} else {
|
|
meta.SetStatusCondition(&infisicalDynamicSecret.Status.Conditions, metav1.Condition{
|
|
Type: "secrets.infisical.com/Authenticated",
|
|
Status: metav1.ConditionFalse,
|
|
Reason: "Error",
|
|
Message: fmt.Sprintf("Failed to authenticate with Infisical API because: %v", errorToConditionOn),
|
|
})
|
|
}
|
|
|
|
err := r.Client.Status().Update(ctx, infisicalDynamicSecret)
|
|
if err != nil {
|
|
logger.Error(err, "Could not set condition for Authenticated")
|
|
}
|
|
}
|
|
|
|
func (r *InfisicalDynamicSecretReconciler) SetLeaseRenewalConditionStatus(ctx context.Context, logger logr.Logger, infisicalDynamicSecret *v1alpha1.InfisicalDynamicSecret, errorToConditionOn error) {
|
|
if infisicalDynamicSecret.Status.Conditions == nil {
|
|
infisicalDynamicSecret.Status.Conditions = []metav1.Condition{}
|
|
}
|
|
|
|
if errorToConditionOn == nil {
|
|
meta.SetStatusCondition(&infisicalDynamicSecret.Status.Conditions, metav1.Condition{
|
|
Type: "secrets.infisical.com/LeaseRenewal",
|
|
Status: metav1.ConditionTrue,
|
|
Reason: "OK",
|
|
Message: "Infisical has successfully renewed the lease",
|
|
})
|
|
} else {
|
|
meta.SetStatusCondition(&infisicalDynamicSecret.Status.Conditions, metav1.Condition{
|
|
Type: "secrets.infisical.com/LeaseRenewal",
|
|
Status: metav1.ConditionFalse,
|
|
Reason: "Error",
|
|
Message: fmt.Sprintf("Failed to renew the lease because: %v", errorToConditionOn),
|
|
})
|
|
}
|
|
|
|
err := r.Client.Status().Update(ctx, infisicalDynamicSecret)
|
|
if err != nil {
|
|
logger.Error(err, "Could not set condition for LeaseRenewal")
|
|
}
|
|
}
|
|
|
|
func (r *InfisicalDynamicSecretReconciler) SetCreatedLeaseConditionStatus(ctx context.Context, logger logr.Logger, infisicalDynamicSecret *v1alpha1.InfisicalDynamicSecret, errorToConditionOn error) {
|
|
if infisicalDynamicSecret.Status.Conditions == nil {
|
|
infisicalDynamicSecret.Status.Conditions = []metav1.Condition{}
|
|
}
|
|
|
|
if errorToConditionOn == nil {
|
|
meta.SetStatusCondition(&infisicalDynamicSecret.Status.Conditions, metav1.Condition{
|
|
Type: "secrets.infisical.com/LeaseCreated",
|
|
Status: metav1.ConditionTrue,
|
|
Reason: "OK",
|
|
Message: "Infisical has successfully created the lease",
|
|
})
|
|
} else {
|
|
meta.SetStatusCondition(&infisicalDynamicSecret.Status.Conditions, metav1.Condition{
|
|
Type: "secrets.infisical.com/LeaseCreated",
|
|
Status: metav1.ConditionFalse,
|
|
Reason: "Error",
|
|
Message: fmt.Sprintf("Failed to create the lease because: %v", errorToConditionOn),
|
|
})
|
|
}
|
|
|
|
err := r.Client.Status().Update(ctx, infisicalDynamicSecret)
|
|
if err != nil {
|
|
logger.Error(err, "Could not set condition for LeaseCreated")
|
|
}
|
|
}
|
|
|
|
func (r *InfisicalDynamicSecretReconciler) SetReconcileConditionStatus(ctx context.Context, logger logr.Logger, infisicalDynamicSecret *v1alpha1.InfisicalDynamicSecret, errorToConditionOn error) {
|
|
if infisicalDynamicSecret.Status.Conditions == nil {
|
|
infisicalDynamicSecret.Status.Conditions = []metav1.Condition{}
|
|
}
|
|
|
|
if errorToConditionOn == nil {
|
|
meta.SetStatusCondition(&infisicalDynamicSecret.Status.Conditions, metav1.Condition{
|
|
Type: "secrets.infisical.com/Reconcile",
|
|
Status: metav1.ConditionTrue,
|
|
Reason: "OK",
|
|
Message: "Infisical has successfully reconciled the InfisicalDynamicSecret",
|
|
})
|
|
} else {
|
|
meta.SetStatusCondition(&infisicalDynamicSecret.Status.Conditions, metav1.Condition{
|
|
Type: "secrets.infisical.com/Reconcile",
|
|
Status: metav1.ConditionFalse,
|
|
Reason: "Error",
|
|
Message: fmt.Sprintf("Failed to reconcile the InfisicalDynamicSecret because: %v", errorToConditionOn),
|
|
})
|
|
}
|
|
|
|
err := r.Client.Status().Update(ctx, infisicalDynamicSecret)
|
|
if err != nil {
|
|
logger.Error(err, "Could not set condition for Reconcile")
|
|
}
|
|
}
|