diff --git a/.env b/.env index 28360f2d8..3906a4f7c 100644 --- a/.env +++ b/.env @@ -1,6 +1,6 @@ OPERATOR_SDK_VERSION=v1.42.0 REVIEWERS=vivekr-splunk,rlieberman-splunk,patrykw-splunk,Igor-splunk,kasiakoziol,kubabuczak,gabrielm-splunk,minjieqiu,qingw-splunk -GO_VERSION=1.25.7 +GO_VERSION=1.25.8 AWSCLI_URL=https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.8.6.zip KUBECTL_VERSION=v1.29.1 AZ_CLI_VERSION=2.79.0 @@ -8,4 +8,4 @@ EKSCTL_VERSION=v0.215.0 EKS_CLUSTER_K8_VERSION=1.34 EKS_INSTANCE_TYPE=m5.2xlarge EKS_INSTANCE_TYPE_ARM64=c6g.4xlarge -SPLUNK_ENTERPRISE_RELEASE_IMAGE=splunk/splunk:10.0.0 \ No newline at end of file +SPLUNK_ENTERPRISE_RELEASE_IMAGE=splunk/splunk:10.2.0 \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 4c7171a05..33f8a9f80 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,10 +2,10 @@ ARG PLATFORMS=linux/amd64,linux/arm64 ARG BASE_IMAGE=registry.access.redhat.com/ubi8/ubi-minimal -ARG BASE_IMAGE_VERSION=8.10-1770223153 +ARG BASE_IMAGE_VERSION=8.10-1775152441 # Build the manager binary -FROM golang:1.25.7 AS builder +FROM golang:1.25.8 AS builder WORKDIR /workspace @@ -63,6 +63,7 @@ RUN if grep -q 'Ubuntu' /etc/os-release; then \ microdnf update -y libstdc++ && \ microdnf update -y libxml2 && \ microdnf update -y libgcc && \ + microdnf update -y gnutls && \ microdnf clean all; \ fi diff --git a/Dockerfile.distroless b/Dockerfile.distroless index 37121e4a6..a2ac2afc0 100644 --- a/Dockerfile.distroless +++ b/Dockerfile.distroless @@ -1,5 +1,5 @@ # Build the manager binary -FROM golang:1.25.7 AS builder +FROM golang:1.25.8 AS builder WORKDIR /workspace # Copy the Go Modules manifests diff --git a/Makefile b/Makefile index aaf7724b5..04afe0a15 100644 --- a/Makefile +++ b/Makefile @@ -170,12 +170,12 @@ docker-push: ## Push docker image with the manager. # Defaults: # Build Platform: linux/amd64,linux/arm64 # Build Base OS: registry.access.redhat.com/ubi8/ubi-minimal -# Build Base OS Version: 8.10-1770223153 +# Build Base OS Version: 8.10-1775152441 # Pass only what is required, the rest will be defaulted # Setup defaults for build arguments PLATFORMS ?= linux/amd64,linux/arm64 BASE_IMAGE ?= registry.access.redhat.com/ubi8/ubi-minimal -BASE_IMAGE_VERSION ?= 8.10-1770223153 +BASE_IMAGE_VERSION ?= 8.10-1775152441 docker-buildx: @if [ -z "${IMG}" ]; then \ diff --git a/docs/index.yaml b/docs/index.yaml index 47385faef..8b4f5919a 100644 --- a/docs/index.yaml +++ b/docs/index.yaml @@ -55,6 +55,34 @@ entries: urls: - https://splunk.github.io/splunk-operator/splunk-enterprise-3.1.0.tgz version: 3.1.0 + - apiVersion: v2 + appVersion: 3.0.0 + created: "2026-04-08T03:35:00Z" + dependencies: + - condition: splunk-operator.enabled + name: splunk-operator + repository: file://splunk-operator/helm-chart/splunk-operator + version: 3.0.0 + description: A Helm chart for Splunk Enterprise managed by the Splunk Operator + digest: ae82f6c8edee4d827817fe6c9c6447c422a03c59595a0f6e779cef847a83b611 + maintainers: + - email: vivekr@splunk.com + name: Vivek Reddy + - email: rlieberman@splunk.com + name: Raizel Lieberman + - email: patrykw@splunk.com + name: Patryk Wasielewski + - email: igorg@splunk.com + name: Igor Grzankowski + - email: kkoziol@splunk.com + name: Kasia Kozioł + - email: jbuczak@splunk.com + name: Jakub Buczak + name: splunk-enterprise + type: application + urls: + - https://splunk.github.io/splunk-operator/splunk-enterprise-3.0.0.tgz + version: 3.0.0 - apiVersion: v2 appVersion: 2.8.1 created: "2026-03-02T17:02:33.789329656Z" @@ -381,6 +409,29 @@ entries: urls: - https://splunk.github.io/splunk-operator/splunk-operator-3.1.0.tgz version: 3.1.0 + - apiVersion: v2 + appVersion: 3.0.0 + created: "2026-04-08T03:35:00Z" + description: A Helm chart for the Splunk Operator for Kubernetes + digest: bd318b1f4022421a3fd429b186ca344c61d04a3c2bbdd5cc535d960773558e44 + maintainers: + - email: vivekr@splunk.com + name: Vivek Reddy + - email: rlieberman@splunk.com + name: Raizel Lieberman + - email: patrykw@splunk.com + name: Patryk Wasielewski + - email: igorg@splunk.com + name: Igor Grzankowski + - email: kkoziol@splunk.com + name: Kasia Kozioł + - email: jbuczak@splunk.com + name: Jakub Buczak + name: splunk-operator + type: application + urls: + - https://splunk.github.io/splunk-operator/splunk-operator-3.0.0.tgz + version: 3.0.0 - apiVersion: v2 appVersion: 2.8.1 created: "2026-03-02T17:02:33.967789812Z" diff --git a/go.mod b/go.mod index 3615f95ed..138308783 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/splunk/splunk-operator -go 1.25.7 +go 1.25.8 require ( cloud.google.com/go/storage v1.36.0 @@ -61,7 +61,7 @@ require ( github.com/bahlo/generic-list-go v0.2.0 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/blang/semver/v4 v4.0.0 // indirect - github.com/buger/jsonparser v1.1.1 // indirect + github.com/buger/jsonparser v1.1.2 // indirect github.com/cenkalti/backoff/v5 v5.0.3 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect diff --git a/go.sum b/go.sum index f4c6dae6b..d75a2b9b2 100644 --- a/go.sum +++ b/go.sum @@ -74,8 +74,8 @@ github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM= github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= -github.com/buger/jsonparser v1.1.1 h1:2PnMjfWD7wBILjqQbt530v576A/cAbQvEW9gGIpYMUs= -github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= +github.com/buger/jsonparser v1.1.2 h1:frqHqw7otoVbk5M8LlE/L7HTnIq2v9RX6EJ48i9AxJk= +github.com/buger/jsonparser v1.1.2/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= github.com/cenkalti/backoff/v5 v5.0.3 h1:ZN+IMa753KfX5hd8vVaMixjnqRZ3y8CuJKRKj1xcsSM= github.com/cenkalti/backoff/v5 v5.0.3/go.mod h1:rkhZdG3JZukswDf7f0cwqPNk4K0sa+F97BxZthm/crw= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= diff --git a/helm-chart/splunk-operator/values.yaml b/helm-chart/splunk-operator/values.yaml index 8fda5dc76..8df1be052 100644 --- a/helm-chart/splunk-operator/values.yaml +++ b/helm-chart/splunk-operator/values.yaml @@ -3,7 +3,7 @@ splunk-operator: # Splunk image image: - repository: docker.io/splunk/splunk:10.0.0 + repository: docker.io/splunk/splunk:10.2.0 # Splunk Operator configurations splunkOperator: diff --git a/pkg/splunk/enterprise/util.go b/pkg/splunk/enterprise/util.go index fd7900787..3c16f0d81 100644 --- a/pkg/splunk/enterprise/util.go +++ b/pkg/splunk/enterprise/util.go @@ -543,18 +543,12 @@ func getBundlePushState(afwPipeline *AppInstallPipeline) enterpriseApi.BundlePus } // createAppDownloadDir creates the app download directory on the operator pod -func createAppDownloadDir(ctx context.Context, path string) error { - reqLogger := log.FromContext(ctx) - scopedLog := reqLogger.WithName("createAppDownloadDir").WithValues("path", path) +func createAppDownloadDir(_ context.Context, path string) error { _, err := os.Stat(path) if errors.Is(err, os.ErrNotExist) { - errDir := os.MkdirAll(path, 0700) - if errDir != nil { - scopedLog.Error(errDir, "Unable to create directory at path") - return errDir - } + return os.MkdirAll(path, 0700) } - return nil + return err } // getAvailableDiskSpace returns the disk space available to download apps at volume "/opt/splunk/appframework" diff --git a/pkg/splunk/enterprise/util_test.go b/pkg/splunk/enterprise/util_test.go index 7168e366a..9e1ce9d16 100644 --- a/pkg/splunk/enterprise/util_test.go +++ b/pkg/splunk/enterprise/util_test.go @@ -22,6 +22,7 @@ import ( //"io" "os" + "path/filepath" "strconv" "strings" "testing" @@ -1196,7 +1197,13 @@ func TestCreateAppDownloadDir(t *testing.T) { t.Errorf("Didn't expect error") } - err = createAppDownloadDir(ctx, "/xyzzz.txt") + blockerFile, err := os.CreateTemp(t.TempDir(), "app-download-dir-blocker") + if err != nil { + t.Fatalf("failed to create blocker file: %v", err) + } + defer blockerFile.Close() + + err = createAppDownloadDir(ctx, filepath.Join(blockerFile.Name(), "child")) if err == nil { t.Errorf("Expected error") }