mirror of
https://github.com/hanzo-fi/stack.git
synced 2026-10-30 20:34:43 +00:00
49 lines
1.5 KiB
Go
49 lines
1.5 KiB
Go
package licence
|
|
|
|
import (
|
|
"github.com/formancehq/operator/api/formance.com/v1beta1"
|
|
"github.com/formancehq/operator/internal/core"
|
|
"github.com/formancehq/operator/internal/resources/resourcereferences"
|
|
v1 "k8s.io/api/core/v1"
|
|
"k8s.io/apimachinery/pkg/types"
|
|
)
|
|
|
|
func GetLicenceEnvVars(ctx core.Context, ownerName string, owner v1beta1.Dependent) (*v1beta1.ResourceReference, []v1.EnvVar, error) {
|
|
ret := make([]v1.EnvVar, 0)
|
|
|
|
platform := ctx.GetPlatform()
|
|
|
|
var resourceReference *v1beta1.ResourceReference
|
|
var err error
|
|
if platform.LicenceSecret != "" {
|
|
resourceReference, err = resourcereferences.Create(ctx, owner, ownerName+"-licence", platform.LicenceSecret, &v1.Secret{})
|
|
if err != nil {
|
|
return nil, nil, err
|
|
}
|
|
} else {
|
|
err := resourcereferences.Delete(ctx, owner, ownerName+"-licence")
|
|
if err != nil {
|
|
return nil, nil, err
|
|
}
|
|
|
|
ret = append(ret, core.Env("LICENCE_ENABLED", "false"))
|
|
return nil, ret, nil
|
|
}
|
|
|
|
ns := &v1.Namespace{}
|
|
if err := ctx.GetClient().Get(ctx, types.NamespacedName{
|
|
Name: "kube-system",
|
|
}, ns); err != nil {
|
|
return nil, nil, err
|
|
}
|
|
|
|
ret = append(ret, core.Env("LICENCE_ENABLED", "false"))
|
|
|
|
ret = append(ret, core.EnvFromSecret("LICENCE_TOKEN", platform.LicenceSecret, "token"))
|
|
ret = append(ret, core.EnvFromSecret("LICENCE_ISSUER", platform.LicenceSecret, "issuer"))
|
|
ret = append(ret, core.Env("LICENCE_VALIDATE_TICK", "24h"))
|
|
ret = append(ret, core.Env("LICENCE_CLUSTER_ID", string(ns.UID)))
|
|
|
|
return resourceReference, ret, nil
|
|
}
|