diff --git a/apis/cloud.redhat.com/v1alpha1/clowdenvironment_types.go b/apis/cloud.redhat.com/v1alpha1/clowdenvironment_types.go index e589ddcd2..8bc35a029 100644 --- a/apis/cloud.redhat.com/v1alpha1/clowdenvironment_types.go +++ b/apis/cloud.redhat.com/v1alpha1/clowdenvironment_types.go @@ -329,6 +329,10 @@ type ServiceMeshConfig struct { Mode ServiceMeshMode `json:"mode,omitempty"` } +type ObjectStoreImages struct { + Minio string `json:"minio,omitempty"` +} + // ObjectStoreMode details the mode of operation of the Clowder ObjectStore // Provider // +kubebuilder:validation:Enum=minio;app-interface;none @@ -349,6 +353,13 @@ type ObjectStoreConfig struct { // If using the (*_local_*) mode and PVC is set to true, this instructs the local // Database instance to use a PVC instead of emptyDir for its volumes. PVC bool `json:"pvc,omitempty"` + + // Override the object store images + Images ObjectStoreImages `json:"images,omitempty"` +} + +type FeatureFlagsImages struct { + Unleash string `json:"unleash,omitempty"` } // FeatureFlagsMode details the mode of operation of the Clowder FeatureFlags @@ -379,6 +390,9 @@ type FeatureFlagsConfig struct { // Defineds the port for (*_app-interface_*) mode Port int32 `json:"port,omitempty"` + + // Defines images used for the feature flags provider + Images FeatureFlagsImages `json:"images,omitempty"` } // InMemoryMode details the mode of operation of the Clowder InMemoryDB diff --git a/apis/cloud.redhat.com/v1alpha1/zz_generated.deepcopy.go b/apis/cloud.redhat.com/v1alpha1/zz_generated.deepcopy.go index 1f0f5a704..aa3d1f51d 100644 --- a/apis/cloud.redhat.com/v1alpha1/zz_generated.deepcopy.go +++ b/apis/cloud.redhat.com/v1alpha1/zz_generated.deepcopy.go @@ -698,6 +698,7 @@ func (in *EnvResourceStatus) DeepCopy() *EnvResourceStatus { func (in *FeatureFlagsConfig) DeepCopyInto(out *FeatureFlagsConfig) { *out = *in out.CredentialRef = in.CredentialRef + out.Images = in.Images } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureFlagsConfig. @@ -710,6 +711,21 @@ func (in *FeatureFlagsConfig) DeepCopy() *FeatureFlagsConfig { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FeatureFlagsImages) DeepCopyInto(out *FeatureFlagsImages) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureFlagsImages. +func (in *FeatureFlagsImages) DeepCopy() *FeatureFlagsImages { + if in == nil { + return nil + } + out := new(FeatureFlagsImages) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *GatewayCert) DeepCopyInto(out *GatewayCert) { *out = *in @@ -1138,6 +1154,7 @@ func (in *NamespacedName) DeepCopy() *NamespacedName { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ObjectStoreConfig) DeepCopyInto(out *ObjectStoreConfig) { *out = *in + out.Images = in.Images } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectStoreConfig. @@ -1150,6 +1167,21 @@ func (in *ObjectStoreConfig) DeepCopy() *ObjectStoreConfig { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ObjectStoreImages) DeepCopyInto(out *ObjectStoreImages) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectStoreImages. +func (in *ObjectStoreImages) DeepCopy() *ObjectStoreImages { + if in == nil { + return nil + } + out := new(ObjectStoreImages) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *PodSpec) DeepCopyInto(out *PodSpec) { *out = *in diff --git a/config/crd/bases/cloud.redhat.com_clowdenvironments.yaml b/config/crd/bases/cloud.redhat.com_clowdenvironments.yaml index 3fa82cb4a..cfbb08246 100644 --- a/config/crd/bases/cloud.redhat.com_clowdenvironments.yaml +++ b/config/crd/bases/cloud.redhat.com_clowdenvironments.yaml @@ -128,6 +128,12 @@ spec: description: Defines the hostname for (*_app-interface_*) mode type: string + images: + description: Defines images used for the feature flags provider + properties: + unleash: + type: string + type: object mode: description: 'The mode of operation of the Clowder FeatureFlag Provider. Valid options are: (*_app-interface_*) where the @@ -438,6 +444,12 @@ spec: description: Defines the Configuration for the Clowder ObjectStore Provider. properties: + images: + description: Override the object store images + properties: + minio: + type: string + type: object mode: description: 'The mode of operation of the Clowder ObjectStore Provider. Valid options are: (*_app-interface_*) where the diff --git a/config/deployment-template/clowder_config.yaml b/config/deployment-template/clowder_config.yaml index f141f799f..e0056b594 100644 --- a/config/deployment-template/clowder_config.yaml +++ b/config/deployment-template/clowder_config.yaml @@ -28,5 +28,9 @@ data: }, "settings": { "managedKafkaEphemDeleteRegex": "${MANAGED_EPHEM_DELETE_REGEX}" + }, + "images": { + "objectStoreMinio": "${OBJECTSTORE_IMAGE}", + "featureFlagsUnleash": "${FEATUREFLAGS_IMAGE}" } } diff --git a/controllers/cloud.redhat.com/clowderconfig/config.go b/controllers/cloud.redhat.com/clowderconfig/config.go index 5a4ef5839..e01a42646 100644 --- a/controllers/cloud.redhat.com/clowderconfig/config.go +++ b/controllers/cloud.redhat.com/clowderconfig/config.go @@ -8,12 +8,14 @@ import ( type ClowderConfig struct { Images struct { - MBOP string `json:"mbop"` - Caddy string `json:"caddy"` - CaddyGateway string `json:"caddyGateway"` - Keycloak string `json:"Keycloak"` - Mocktitlements string `json:"mocktitlements"` - CaddyReverseProxy string `json:"caddyReverseProxy"` + MBOP string `json:"mbop"` + Caddy string `json:"caddy"` + CaddyGateway string `json:"caddyGateway"` + Keycloak string `json:"Keycloak"` + Mocktitlements string `json:"mocktitlements"` + CaddyReverseProxy string `json:"caddyReverseProxy"` + ObjectStoreMinio string `json:"objectStoreMinio"` + FeatureFlagsUnleash string `json:"featureFlagsUnleash"` } `json:"images"` DebugOptions struct { Logging struct { diff --git a/controllers/cloud.redhat.com/providers/featureflags/localfeatureflags.go b/controllers/cloud.redhat.com/providers/featureflags/localfeatureflags.go index 13bbe9477..d3817edb6 100644 --- a/controllers/cloud.redhat.com/providers/featureflags/localfeatureflags.go +++ b/controllers/cloud.redhat.com/providers/featureflags/localfeatureflags.go @@ -209,7 +209,7 @@ func (ff *localFeatureFlagsProvider) Provide(_ *crd.ClowdApp) error { return nil } -func makeLocalFeatureFlags(o obj.ClowdObject, objMap providers.ObjectMap, _ bool, nodePort bool) { +func makeLocalFeatureFlags(o obj.ClowdObject, objMap providers.ObjectMap, _ bool, nodePort bool) error { nn := providers.GetNamespacedName(o, "featureflags") dd := objMap[LocalFFDeployment].(*apps.Deployment) @@ -279,9 +279,14 @@ func makeLocalFeatureFlags(o obj.ClowdObject, objMap providers.ObjectMap, _ bool FailureThreshold: 3, } + env, ok := o.(*crd.ClowdEnvironment) + if !ok { + return fmt.Errorf("could not get env") + } + c := core.Container{ Name: nn.Name, - Image: DefaultImageFeatureFlagsUnleash, + Image: GetFeatureFlagsUnleashImage(env), Env: envVars, Ports: ports, LivenessProbe: &livenessProbe, @@ -312,4 +317,5 @@ func makeLocalFeatureFlags(o obj.ClowdObject, objMap providers.ObjectMap, _ bool }} utils.MakeService(svc, nn, labels, servicePorts, o, nodePort) + return nil } diff --git a/controllers/cloud.redhat.com/providers/featureflags/provider.go b/controllers/cloud.redhat.com/providers/featureflags/provider.go index ab631be65..790b9b3b9 100644 --- a/controllers/cloud.redhat.com/providers/featureflags/provider.go +++ b/controllers/cloud.redhat.com/providers/featureflags/provider.go @@ -3,11 +3,23 @@ package featureflags import ( "fmt" + crd "github.com/RedHatInsights/clowder/apis/cloud.redhat.com/v1alpha1" + "github.com/RedHatInsights/clowder/controllers/cloud.redhat.com/clowderconfig" "github.com/RedHatInsights/clowder/controllers/cloud.redhat.com/errors" p "github.com/RedHatInsights/clowder/controllers/cloud.redhat.com/providers" ) -var DefaultImageFeatureFlagsUnleash = "quay.io/cloudservices/unleash-docker:5.6.9" +var DefaultImageFeatureFlagsUnleash = "unleashorg/unleash-server:5.6.9" + +func GetFeatureFlagsUnleashImage(env *crd.ClowdEnvironment) string { + if env.Spec.Providers.FeatureFlags.Images.Unleash != "" { + return env.Spec.Providers.FeatureFlags.Images.Unleash + } + if clowderconfig.LoadedConfig.Images.FeatureFlagsUnleash != "" { + return clowderconfig.LoadedConfig.Images.FeatureFlagsUnleash + } + return DefaultImageFeatureFlagsUnleash +} // ProvName identifies the featureflags provider. var ProvName = "featureflags" diff --git a/controllers/cloud.redhat.com/providers/inmemorydb/redis.go b/controllers/cloud.redhat.com/providers/inmemorydb/redis.go index 30d6c2dcd..78c2f7aa1 100644 --- a/controllers/cloud.redhat.com/providers/inmemorydb/redis.go +++ b/controllers/cloud.redhat.com/providers/inmemorydb/redis.go @@ -87,7 +87,7 @@ func (r *localRedis) Provide(app *crd.ClowdApp) error { return providers.CachedMakeComponent(r.Provider.Cache, objList, app, "redis", makeLocalRedis, false, r.Env.IsNodePort()) } -func makeLocalRedis(o obj.ClowdObject, objMap providers.ObjectMap, _ bool, nodePort bool) { +func makeLocalRedis(o obj.ClowdObject, objMap providers.ObjectMap, _ bool, nodePort bool) error { nn := providers.GetNamespacedName(o, "redis") dd := objMap[RedisDeployment].(*apps.Deployment) @@ -175,4 +175,5 @@ func makeLocalRedis(o obj.ClowdObject, objMap providers.ObjectMap, _ bool, nodeP }} utils.MakeService(svc, nn, labels, servicePorts, o, nodePort) + return nil } diff --git a/controllers/cloud.redhat.com/providers/inmemorydb/redis_test.go b/controllers/cloud.redhat.com/providers/inmemorydb/redis_test.go index 706ccec0a..e70480226 100644 --- a/controllers/cloud.redhat.com/providers/inmemorydb/redis_test.go +++ b/controllers/cloud.redhat.com/providers/inmemorydb/redis_test.go @@ -37,7 +37,7 @@ func TestLocalRedis(t *testing.T) { RedisDeployment: &dd, RedisService: &svc, } - makeLocalRedis(&env, objMap, true, false) + _ = makeLocalRedis(&env, objMap, true, false) assert.Equal(t, "env-redis", dd.GetName(), "name was not set correctly") assert.Len(t, svc.Spec.Ports, 1, "number of ports specified is wrong") diff --git a/controllers/cloud.redhat.com/providers/objectstore/minio.go b/controllers/cloud.redhat.com/providers/objectstore/minio.go index c26fa3570..d68b505c9 100644 --- a/controllers/cloud.redhat.com/providers/objectstore/minio.go +++ b/controllers/cloud.redhat.com/providers/objectstore/minio.go @@ -279,7 +279,7 @@ func createNetworkPolicy(p *providers.Provider) error { return p.Cache.Update(MinioNetworkPolicy, np) } -func makeLocalMinIO(o obj.ClowdObject, objMap providers.ObjectMap, usePVC bool, nodePort bool) { +func makeLocalMinIO(o obj.ClowdObject, objMap providers.ObjectMap, usePVC bool, nodePort bool) error { nn := providers.GetNamespacedName(o, "minio") dd := objMap[MinioDeployment].(*apps.Deployment) @@ -359,9 +359,14 @@ func makeLocalMinIO(o obj.ClowdObject, objMap providers.ObjectMap, usePVC bool, FailureThreshold: 3, } + env, ok := o.(*crd.ClowdEnvironment) + if !ok { + return fmt.Errorf("could not get env from object") + } + c := core.Container{ Name: nn.Name, - Image: DefaultImageObjectStoreMinio, + Image: GetObjectStoreMinioImage(env), Env: envVars, Ports: ports, VolumeMounts: []core.VolumeMount{{ @@ -394,4 +399,5 @@ func makeLocalMinIO(o obj.ClowdObject, objMap providers.ObjectMap, usePVC bool, pvc := objMap[MinioPVC].(*core.PersistentVolumeClaim) utils.MakePVC(pvc, nn, labels, "1Gi", o) } + return nil } diff --git a/controllers/cloud.redhat.com/providers/objectstore/provider.go b/controllers/cloud.redhat.com/providers/objectstore/provider.go index 95dd93ee3..54d41cf9a 100644 --- a/controllers/cloud.redhat.com/providers/objectstore/provider.go +++ b/controllers/cloud.redhat.com/providers/objectstore/provider.go @@ -3,11 +3,23 @@ package objectstore import ( "fmt" + crd "github.com/RedHatInsights/clowder/apis/cloud.redhat.com/v1alpha1" + "github.com/RedHatInsights/clowder/controllers/cloud.redhat.com/clowderconfig" "github.com/RedHatInsights/clowder/controllers/cloud.redhat.com/errors" "github.com/RedHatInsights/clowder/controllers/cloud.redhat.com/providers" ) -var DefaultImageObjectStoreMinio = "quay.io/cloudservices/minio:RELEASE.2020-11-19T23-48-16Z-amd64" +var DefaultImageObjectStoreMinio = "minio/minio:RELEASE.2020-11-19T23-48-16Z-amd64" + +func GetObjectStoreMinioImage(env *crd.ClowdEnvironment) string { + if env.Spec.Providers.ObjectStore.Images.Minio != "" { + return env.Spec.Providers.ObjectStore.Images.Minio + } + if clowderconfig.LoadedConfig.Images.ObjectStoreMinio != "" { + return clowderconfig.LoadedConfig.Images.ObjectStoreMinio + } + return DefaultImageObjectStoreMinio +} // ProvName is the providers ident. var ProvName = "objectstore" diff --git a/controllers/cloud.redhat.com/providers/providers.go b/controllers/cloud.redhat.com/providers/providers.go index e4607777b..110fdd139 100644 --- a/controllers/cloud.redhat.com/providers/providers.go +++ b/controllers/cloud.redhat.com/providers/providers.go @@ -128,7 +128,7 @@ type ClowderProvider interface { GetConfig() *config.AppConfig } -type makeFnCache func(o obj.ClowdObject, objMap ObjectMap, usePVC bool, nodePort bool) +type makeFnCache func(o obj.ClowdObject, objMap ObjectMap, usePVC bool, nodePort bool) error func createResource(cache *rc.ObjectCache, resourceIdent rc.ResourceIdent, nn types.NamespacedName) (client.Object, error) { gvks, nok, err := cache.GetScheme().ObjectKinds(resourceIdent.GetType()) @@ -200,7 +200,10 @@ func CachedMakeComponent(cache *rc.ObjectCache, objList []rc.ResourceIdent, o ob } - fn(o, makeFnMap, usePVC, nodePort) + err := fn(o, makeFnMap, usePVC, nodePort) + if err != nil { + return fmt.Errorf("could not make component: %w", err) + } for k, v := range makeFnMap { err := updateResource(cache, k, v) diff --git a/controllers/cloud.redhat.com/providers/web/resources_caddygateway.go b/controllers/cloud.redhat.com/providers/web/resources_caddygateway.go index 4a688eb6a..d70675b83 100644 --- a/controllers/cloud.redhat.com/providers/web/resources_caddygateway.go +++ b/controllers/cloud.redhat.com/providers/web/resources_caddygateway.go @@ -317,7 +317,7 @@ func makeWebGatewayConfigMap(p *providers.Provider) (string, error) { return hash, p.Cache.Update(CoreCaddyConfigMap, cm) } -func makeWebGatewayDeployment(o obj.ClowdObject, objMap providers.ObjectMap, _ bool, _ bool) { +func makeWebGatewayDeployment(o obj.ClowdObject, objMap providers.ObjectMap, _ bool, _ bool) error { nn := providers.GetNamespacedName(o, "caddy-gateway") dd := objMap[WebGatewayDeployment].(*apps.Deployment) @@ -433,6 +433,7 @@ func makeWebGatewayDeployment(o obj.ClowdObject, objMap providers.ObjectMap, _ b }} utils.MakeService(svc, nn, labels, servicePorts, o, false) + return nil } func makeWebGatewayIngress(p *providers.Provider) error { diff --git a/controllers/cloud.redhat.com/providers/web/resources_keycloak.go b/controllers/cloud.redhat.com/providers/web/resources_keycloak.go index 1d77a0aed..c528fd96f 100644 --- a/controllers/cloud.redhat.com/providers/web/resources_keycloak.go +++ b/controllers/cloud.redhat.com/providers/web/resources_keycloak.go @@ -246,7 +246,7 @@ func baseProbeHandler(port int32, path string) core.ProbeHandler { } } -func makeKeycloak(o obj.ClowdObject, objMap providers.ObjectMap, _ bool, nodePort bool) { +func makeKeycloak(o obj.ClowdObject, objMap providers.ObjectMap, _ bool, nodePort bool) error { nn := providers.GetNamespacedName(o, "keycloak") dd := objMap[WebKeycloakDeployment].(*apps.Deployment) @@ -391,7 +391,7 @@ func makeKeycloak(o obj.ClowdObject, objMap providers.ObjectMap, _ bool, nodePor }} utils.MakeService(svc, nn, labels, servicePorts, o, nodePort) - + return nil } func makeAuthIngress(p *providers.Provider) error { diff --git a/controllers/cloud.redhat.com/providers/web/resources_mbop.go b/controllers/cloud.redhat.com/providers/web/resources_mbop.go index c6725ba3e..85157ecd5 100644 --- a/controllers/cloud.redhat.com/providers/web/resources_mbop.go +++ b/controllers/cloud.redhat.com/providers/web/resources_mbop.go @@ -171,7 +171,7 @@ func makeBOPIngress(p *providers.Provider) error { return p.Cache.Update(WebBOPIngress, netobj) } -func makeBOP(o obj.ClowdObject, objMap providers.ObjectMap, _ bool, nodePort bool) { +func makeBOP(o obj.ClowdObject, objMap providers.ObjectMap, _ bool, nodePort bool) error { snn := providers.GetNamespacedName(o, "keycloak") nn := providers.GetNamespacedName(o, "mbop") @@ -289,5 +289,5 @@ func makeBOP(o obj.ClowdObject, objMap providers.ObjectMap, _ bool, nodePort boo } utils.MakeService(svc, nn, labels, servicePorts, o, nodePort) - + return nil } diff --git a/controllers/cloud.redhat.com/providers/web/resources_mocktitlements.go b/controllers/cloud.redhat.com/providers/web/resources_mocktitlements.go index 2fe222055..a085e4f79 100644 --- a/controllers/cloud.redhat.com/providers/web/resources_mocktitlements.go +++ b/controllers/cloud.redhat.com/providers/web/resources_mocktitlements.go @@ -158,7 +158,7 @@ func makeMocktitlementsIngress(p *providers.Provider) error { return p.Cache.Update(WebMocktitlementsIngress, netobj) } -func makeMocktitlements(o obj.ClowdObject, objMap providers.ObjectMap, _ bool, nodePort bool) { +func makeMocktitlements(o obj.ClowdObject, objMap providers.ObjectMap, _ bool, nodePort bool) error { snn := providers.GetNamespacedName(o, "keycloak") nn := providers.GetNamespacedName(o, "mocktitlements") @@ -277,4 +277,5 @@ func makeMocktitlements(o obj.ClowdObject, objMap providers.ObjectMap, _ bool, n utils.MakeService(svc, nn, labels, servicePorts, o, nodePort) + return nil } diff --git a/deploy-mutate.yml b/deploy-mutate.yml index 77e9b9380..08ea5bc8f 100644 --- a/deploy-mutate.yml +++ b/deploy-mutate.yml @@ -6337,6 +6337,12 @@ objects: description: Defines the hostname for (*_app-interface_*) mode type: string + images: + description: Defines images used for the feature flags provider + properties: + unleash: + type: string + type: object mode: description: 'The mode of operation of the Clowder FeatureFlag Provider. Valid options are: (*_app-interface_*) where @@ -6653,6 +6659,12 @@ objects: description: Defines the Configuration for the Clowder ObjectStore Provider. properties: + images: + description: Override the object store images + properties: + minio: + type: string + type: object mode: description: 'The mode of operation of the Clowder ObjectStore Provider. Valid options are: (*_app-interface_*) where @@ -8403,7 +8415,8 @@ objects: : ${PER_PROVIDER_METRICS},\n \"reconciliationMetrics\": ${RECONCILIATION_METRICS},\n\ \ \"enableDependencyMetrics\": ${ENABLE_DEPENDENCY_METRICS}\n },\n\ \ \"settings\": {\n \"managedKafkaEphemDeleteRegex\": \"${MANAGED_EPHEM_DELETE_REGEX}\"\ - \n }\n}\n" + \n },\n \"images\": {\n \"objectStoreMinio\": \"${OBJECTSTORE_IMAGE}\"\ + ,\n \"featureFlagsUnleash\": \"${FEATUREFLAGS_IMAGE}\"\n }\n}\n" kind: ConfigMap metadata: name: clowder-config @@ -8436,4 +8449,8 @@ parameters: value: .*ephemeral.* - name: ENABLE_KEDA_RESOURCES value: 'false' +- name: OBJECTSTORE_IMAGE + value: quay.io/cloudservices/minio:RELEASE.2020-11-19T23-48-16Z-amd64 +- name: FEATUREFLAGS_IMAGE + value: quay.io/cloudservices/unleash-docker:5.6.9 diff --git a/deploy.yml b/deploy.yml index 766d6ab6c..a739a9b70 100644 --- a/deploy.yml +++ b/deploy.yml @@ -6337,6 +6337,12 @@ objects: description: Defines the hostname for (*_app-interface_*) mode type: string + images: + description: Defines images used for the feature flags provider + properties: + unleash: + type: string + type: object mode: description: 'The mode of operation of the Clowder FeatureFlag Provider. Valid options are: (*_app-interface_*) where @@ -6653,6 +6659,12 @@ objects: description: Defines the Configuration for the Clowder ObjectStore Provider. properties: + images: + description: Override the object store images + properties: + minio: + type: string + type: object mode: description: 'The mode of operation of the Clowder ObjectStore Provider. Valid options are: (*_app-interface_*) where @@ -8376,7 +8388,8 @@ objects: : ${PER_PROVIDER_METRICS},\n \"reconciliationMetrics\": ${RECONCILIATION_METRICS},\n\ \ \"enableDependencyMetrics\": ${ENABLE_DEPENDENCY_METRICS}\n },\n\ \ \"settings\": {\n \"managedKafkaEphemDeleteRegex\": \"${MANAGED_EPHEM_DELETE_REGEX}\"\ - \n }\n}\n" + \n },\n \"images\": {\n \"objectStoreMinio\": \"${OBJECTSTORE_IMAGE}\"\ + ,\n \"featureFlagsUnleash\": \"${FEATUREFLAGS_IMAGE}\"\n }\n}\n" kind: ConfigMap metadata: name: clowder-config @@ -8409,4 +8422,8 @@ parameters: value: .*ephemeral.* - name: ENABLE_KEDA_RESOURCES value: 'false' +- name: OBJECTSTORE_IMAGE + value: quay.io/cloudservices/minio:RELEASE.2020-11-19T23-48-16Z-amd64 +- name: FEATUREFLAGS_IMAGE + value: quay.io/cloudservices/unleash-docker:5.6.9 diff --git a/docs/antora/modules/ROOT/pages/api_reference.adoc b/docs/antora/modules/ROOT/pages/api_reference.adoc index 080784847..a6ecda8bd 100644 --- a/docs/antora/modules/ROOT/pages/api_reference.adoc +++ b/docs/antora/modules/ROOT/pages/api_reference.adoc @@ -626,6 +626,26 @@ FeatureFlagsConfig configures the Clowder provider controlling the creation of F | *`credentialRef`* __xref:{anchor_prefix}-github-com-redhatinsights-clowder-apis-cloud-redhat-com-v1alpha1-namespacedname[$$NamespacedName$$]__ | Defines the secret containing the client access token, only used for (*_app-interface_*) mode. | *`hostname`* __string__ | Defines the hostname for (*_app-interface_*) mode | *`port`* __integer__ | Defineds the port for (*_app-interface_*) mode +| *`images`* __xref:{anchor_prefix}-github-com-redhatinsights-clowder-apis-cloud-redhat-com-v1alpha1-featureflagsimages[$$FeatureFlagsImages$$]__ | Defines images used for the feature flags provider +|=== + + +[id="{anchor_prefix}-github-com-redhatinsights-clowder-apis-cloud-redhat-com-v1alpha1-featureflagsimages"] +==== FeatureFlagsImages + + + + + +.Appears In: +**** +- xref:{anchor_prefix}-github-com-redhatinsights-clowder-apis-cloud-redhat-com-v1alpha1-featureflagsconfig[$$FeatureFlagsConfig$$] +**** + +[cols="25a,75a", options="header"] +|=== +| Field | Description +| *`unleash`* __string__ | |=== @@ -1199,6 +1219,26 @@ ObjectStoreConfig configures the Clowder provider controlling the creation of Ob | *`mode`* __xref:{anchor_prefix}-github-com-redhatinsights-clowder-apis-cloud-redhat-com-v1alpha1-objectstoremode[$$ObjectStoreMode$$]__ | The mode of operation of the Clowder ObjectStore Provider. Valid options are: (*_app-interface_*) where the provider will pass through Amazon S3 credentials to the app configuration, and (*_minio_*) where a local Minio instance will be created. | *`suffix`* __string__ | Currently unused. | *`pvc`* __boolean__ | If using the (*_local_*) mode and PVC is set to true, this instructs the local Database instance to use a PVC instead of emptyDir for its volumes. +| *`images`* __xref:{anchor_prefix}-github-com-redhatinsights-clowder-apis-cloud-redhat-com-v1alpha1-objectstoreimages[$$ObjectStoreImages$$]__ | Override the object store images +|=== + + +[id="{anchor_prefix}-github-com-redhatinsights-clowder-apis-cloud-redhat-com-v1alpha1-objectstoreimages"] +==== ObjectStoreImages + + + + + +.Appears In: +**** +- xref:{anchor_prefix}-github-com-redhatinsights-clowder-apis-cloud-redhat-com-v1alpha1-objectstoreconfig[$$ObjectStoreConfig$$] +**** + +[cols="25a,75a", options="header"] +|=== +| Field | Description +| *`minio`* __string__ | |=== diff --git a/template.yml b/template.yml index 080e72314..2f9ab5058 100644 --- a/template.yml +++ b/template.yml @@ -31,4 +31,8 @@ parameters: value: ".*ephemeral.*" - name: ENABLE_KEDA_RESOURCES value: "false" +- name: OBJECTSTORE_IMAGE + value: "quay.io/cloudservices/minio:RELEASE.2020-11-19T23-48-16Z-amd64" +- name: FEATUREFLAGS_IMAGE + value: "quay.io/cloudservices/unleash-docker:5.6.9" objects: []