Skip to content

Commit

Permalink
Merge pull request #1244 from splunk/promote-develop-to-main-2.4.0
Browse files Browse the repository at this point in the history
Promote Develop to main for Splunk Operator Release 2.4.0
  • Loading branch information
gaurav-splunk authored Oct 12, 2023
2 parents 6f2e605 + 600ac08 commit d98cfc6
Show file tree
Hide file tree
Showing 57 changed files with 417 additions and 194 deletions.
8 changes: 4 additions & 4 deletions .env
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
OPERATOR_SDK_VERSION=v1.28.1
REVIEWERS=pdhanoya-splunk,smohan-splunk,sgontla,gaurav-splunk,jryb,vivekr-splunk,kumarajeet
REVIEWERS=smohan-splunk,sgontla,gaurav-splunk,vivekr-splunk,kumarajeet
GO_VERSION=1.19.2
AWSCLI_URL=https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.8.6.zip
KUBECTL_VERSION=v1.25.3
KUBECTL_VERSION=v1.28.0
AZ_CLI_VERSION=2.30.0
EKSCTL_VERSION=v0.143.0
EKS_CLUSTER_K8_VERSION=1.22
SPLUNK_ENTERPRISE_RELEASE_IMAGE=splunk/splunk:9.0.5
EKS_CLUSTER_K8_VERSION=1.26
SPLUNK_ENTERPRISE_RELEASE_IMAGE=docker.io/splunk/splunk:9.1.1
1 change: 0 additions & 1 deletion .github/workflows/automated-release-workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@ jobs:

- name: Set up Docker Buildx
uses: docker/[email protected]

- name: Configure Docker Credentials
uses: docker/login-action@v1
with:
Expand Down
7 changes: 3 additions & 4 deletions .github/workflows/bundle-push-post-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
- name: Checkout code
uses: actions/checkout@v2

- name: Deep Fetch
- name: Deep Fetch
run: |
git fetch --prune --unshallow
Expand All @@ -31,7 +31,6 @@ jobs:
go-version: ${{ steps.dotenv.outputs.GO_VERSION }}
- name: Set up Docker Buildx
uses: docker/[email protected]

- name: Configure Docker Credentials
uses: docker/login-action@v1
with:
Expand All @@ -44,13 +43,13 @@ jobs:
export OS=$(uname | awk '{print tolower($0)}')
export OPERATOR_SDK_DL_URL=https://github.com/operator-framework/operator-sdk/releases/download/${{ steps.dotenv.outputs.OPERATOR_SDK_VERSION }}
sudo curl -LO ${OPERATOR_SDK_DL_URL}/operator-sdk_${OS}_${ARCH}
sudo chmod +x operator-sdk_${OS}_${ARCH}
sudo chmod +x operator-sdk_${OS}_${ARCH}
sudo mv operator-sdk_${OS}_${ARCH} /usr/local/bin/operator-sdk
- name: Pull RC Splunk Operator Image
run: |
docker pull splunk/splunk-operator:${{ github.event.inputs.operator_image_tag }}
- name: Run Bundle Push for the release
run: |
make bundle-build bundle-push catalog-build catalog-push IMAGE_TAG_BASE=docker.io/splunk/splunk-operator VERSION=${{ github.event.inputs.release_version }} IMG=docker.io/splunk/splunk-operator:${{ github.event.inputs.operator_image_tag }}
2 changes: 1 addition & 1 deletion .github/workflows/int-test-azure-workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ jobs:
# AZURE_MANAGED_ID_ENABLED: "${{ matrix.auth_method_managed_id }}"
AZURE_MANAGED_ID_ENABLED: "false"
steps:
# Need this because apps are downloaded from S3.
# Need this because apps are downloaded from S3.
- name: Set Test Cluster Name
run: |
echo "TEST_CLUSTER_NAME=az${{ github.run_id }}" >> $GITHUB_ENV
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/int-test-workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ jobs:
uses: actions/setup-go@v2
with:
go-version: ${{ steps.dotenv.outputs.GO_VERSION }}
- name: Install Ginkgo
- name: Install Ginkgo
run: |
make setup/ginkgo
- name: Install Helm
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/manual-int-test-workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ jobs:
run: >-
if grep -q "appframework" <<< "${{ matrix.test }}"; then
echo "CLUSTER_WORKERS=5" >> $GITHUB_ENV
echo "CLUSTER_NODES=2" >> $GITHUB_ENV
echo "CLUSTER_NODES=2" >> $GITHUB_ENV
fi
- name: Checkout code
uses: actions/checkout@v2
Expand Down Expand Up @@ -197,5 +197,5 @@ jobs:
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PUSH_TOKEN}}
- name: Push Splunk Operator Image to Docker Hub
- name: Push Splunk Operator Image to Docker Hub
run: docker push ${{ env.SPLUNK_OPERATOR_IMAGE_NAME }}:${{ env.TAG }}
5 changes: 2 additions & 3 deletions .github/workflows/namespace-scope-int-workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ jobs:
run: >-
if grep -q "appframework" <<< "${{ matrix.test }}"; then
echo "CLUSTER_WORKERS=5" >> $GITHUB_ENV
echo "CLUSTER_NODES=2" >> $GITHUB_ENV
echo "CLUSTER_NODES=2" >> $GITHUB_ENV
fi
- name: Checkout code
uses: actions/checkout@v2
Expand All @@ -80,7 +80,7 @@ jobs:
uses: actions/setup-go@v2
with:
go-version: ${{ steps.dotenv.outputs.GO_VERSION }}
- name: Install Ginkgo
- name: Install Ginkgo
run: |
make setup/ginkgo
- name: Install EKS CTL
Expand Down Expand Up @@ -156,4 +156,3 @@ jobs:
if: ${{ always() }}
run: |
make cluster-down
8 changes: 4 additions & 4 deletions .github/workflows/nightly-int-test-workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
export OS=$(uname | awk '{print tolower($0)}')
export OPERATOR_SDK_DL_URL=https://github.com/operator-framework/operator-sdk/releases/download/${{ steps.dotenv.outputs.OPERATOR_SDK_VERSION }}
sudo curl -LO ${OPERATOR_SDK_DL_URL}/operator-sdk_${OS}_${ARCH}
sudo chmod +x operator-sdk_${OS}_${ARCH}
sudo chmod +x operator-sdk_${OS}_${ARCH}
sudo mv operator-sdk_${OS}_${ARCH} /usr/local/bin/operator-sdk
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
Expand Down Expand Up @@ -100,10 +100,10 @@ jobs:
run: >-
if grep -q "appframework" <<< "${{ matrix.test }}"; then
echo "CLUSTER_WORKERS=5" >> $GITHUB_ENV
echo "CLUSTER_NODES=2" >> $GITHUB_ENV
echo "CLUSTER_NODES=2" >> $GITHUB_ENV
fi
- uses: actions/checkout@v2
with:
with:
ref: develop
- name: Dotenv Action
id: dotenv
Expand Down Expand Up @@ -234,5 +234,5 @@ jobs:
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PUSH_TOKEN}}
- name: Push Splunk Operator Image to Docker Hub
- name: Push Splunk Operator Image to Docker Hub
run: docker push ${{ env.SPLUNK_OPERATOR_IMAGE_NAME }}:${{ env.TAG }}
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Build the manager binary
FROM golang:1.19 as builder
FROM golang:1.21.1 as builder

WORKDIR /workspace
# Copy the Go Modules manifests
Expand Down
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,15 +26,15 @@ You must have [Docker Engine](https://docs.docker.com/install/) installed to
build the Splunk Operator.

This project uses [Go modules](https://blog.golang.org/using-go-modules),
and requires [golang](https://golang.org/doc/install) 1.19.2 or later.
and requires [golang](https://golang.org/doc/install) 1.21.1 or later.
You must `export GO111MODULE=on` if cloning these repositories into your
`$GOPATH` (not recommended).

The [Kubernetes Operator SDK](https://github.com/operator-framework/operator-sdk)
must also be installed to build this project.

```
git clone -b v1.25.0 https://github.com/operator-framework/operator-sdk
git clone -b v1.31.0 https://github.com/operator-framework/operator-sdk
cd operator-sdk
make tidy
make install
Expand Down Expand Up @@ -121,13 +121,13 @@ make deploy IMG=docker.io/splunk/splunk-operator:<tag name>
```

If you want operator for specific namespace then you must pass `WATCH_NAMESPACE` parameter to `make deploy` command

```
make deploy IMG=docker.io/splunk/splunk-operator:<tag name> WATCH_NAMESPACE="namespace1"
```

If you want operator to use specific version of splunk instance, then you must pass `RELATED_IMAGE_SPLUNK_ENTERPRISE` parameter to `make deploy` command
If you want operator to use specific version of splunk instance, then you must pass `RELATED_IMAGE_SPLUNK_ENTERPRISE` parameter to `make deploy` command

```
make deploy IMG=docker.io/splunk/splunk-operator:<tag name> WATCH_NAMESPACE="namespace1" RELATED_IMAGE_SPLUNK_ENTERPRISE="splunk/splunk:edge"
```
Expand Down
2 changes: 1 addition & 1 deletion bundle.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ LABEL operators.operatorframework.io.bundle.manifests.v1=manifests/
LABEL operators.operatorframework.io.bundle.metadata.v1=metadata/
LABEL operators.operatorframework.io.bundle.package.v1=splunk-operator
LABEL operators.operatorframework.io.bundle.channels.v1=alpha
LABEL operators.operatorframework.io.metrics.builder=operator-sdk-v1.28.1
LABEL operators.operatorframework.io.metrics.builder=operator-sdk-v1.31.0
LABEL operators.operatorframework.io.metrics.mediatype.v1=metrics+v1
LABEL operators.operatorframework.io.metrics.project_layout=go.kubebuilder.io/v3

Expand Down
10 changes: 5 additions & 5 deletions bundle/manifests/splunk-operator.clusterserviceversion.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -111,13 +111,13 @@ metadata:
capabilities: Seamless Upgrades
categories: Big Data, Logging & Tracing, Monitoring, Security, AI/Machine Learning
containerImage: splunk/splunk-operator@sha256:c4e0d314622699496f675760aad314520d050a66627fdf33e1e21fa28ca85d50
createdAt: "2023-06-09T21:59:10Z"
createdAt: "2023-10-06T22:35:48Z"
description: The Splunk Operator for Kubernetes enables you to quickly and easily
deploy Splunk Enterprise on your choice of private or public cloud provider.
The Operator simplifies scaling and management of Splunk Enterprise by automating
administrative workflows using Kubernetes best practices.
olm.properties: '[{"type": "olm.maxOpenShiftVersion", "value": "4.9"}]'
operators.operatorframework.io/builder: operator-sdk-v1.28.1
operators.operatorframework.io/builder: operator-sdk-v1.31.0
operators.operatorframework.io/project_layout: go.kubebuilder.io/v3
repository: https://github.com/splunk/splunk-operator
name: splunk-operator.v2.2.1
Expand Down Expand Up @@ -801,14 +801,14 @@ spec:
fieldRef:
fieldPath: metadata.annotations['olm.targetNamespaces']
- name: RELATED_IMAGE_SPLUNK_ENTERPRISE
value: docker.io/splunk/splunk:9.0.5
value: docker.io/splunk/splunk:9.1.1
- name: OPERATOR_NAME
value: splunk-operator
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
image: docker.io/splunk/splunk-operator:2.3.0
image: docker.io/splunk/splunk-operator:2.4.0
imagePullPolicy: Always
livenessProbe:
httpGet:
Expand Down Expand Up @@ -913,7 +913,7 @@ spec:
name: Splunk Inc.
url: www.splunk.com
relatedImages:
- image: docker.io/splunk/splunk:9.0.5
- image: docker.io/splunk/splunk:9.1.1
name: splunk-enterprise
replaces: splunk-operator.v2.2.0
version: 2.2.1
2 changes: 1 addition & 1 deletion bundle/metadata/annotations.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ annotations:
operators.operatorframework.io.bundle.metadata.v1: metadata/
operators.operatorframework.io.bundle.package.v1: splunk-operator
operators.operatorframework.io.bundle.channels.v1: alpha
operators.operatorframework.io.metrics.builder: operator-sdk-v1.28.1
operators.operatorframework.io.metrics.builder: operator-sdk-v1.31.0
operators.operatorframework.io.metrics.mediatype.v1: metrics+v1
operators.operatorframework.io.metrics.project_layout: go.kubebuilder.io/v3

Expand Down
2 changes: 1 addition & 1 deletion config/default/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ patches:
- name: WATCH_NAMESPACE
value: WATCH_NAMESPACE_VALUE
- name: RELATED_IMAGE_SPLUNK_ENTERPRISE
value: docker.io/splunk/splunk:9.0.5
value: docker.io/splunk/splunk:9.1.1
- name: OPERATOR_NAME
value: splunk-operator
- name: POD_NAME
Expand Down
2 changes: 1 addition & 1 deletion config/examples/advanced/hwf.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ spec:
name: cm-example
licenseManagerRef:
name: lm-example
replicas: 1
replicas: 1
appRepo:
appsRepoPollIntervalSeconds: 600
defaults:
Expand Down
2 changes: 1 addition & 1 deletion config/examples/advanced/hwf_azure_blob.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ spec:
name: cm-example
licenseManagerRef:
name: lm-example
replicas: 1
replicas: 1
appRepo:
appsRepoPollIntervalSeconds: 600
defaults:
Expand Down
2 changes: 1 addition & 1 deletion config/manager/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,4 @@ kind: Kustomization
images:
- name: controller
newName: docker.io/splunk/splunk-operator
newTag: 2.3.0
newTag: 2.4.0
2 changes: 1 addition & 1 deletion docs/AppFramework.md
Original file line number Diff line number Diff line change
Expand Up @@ -542,7 +542,7 @@ spec:
serviceAccountName: splunk-operator
containers:
- name: splunk-operator
image: "docker.io/splunk/splunk-operator:2.3.0"
image: "docker.io/splunk/splunk-operator:2.4.0"
volumeMounts:
- mountPath: /opt/splunk/appframework/
name: app-staging
Expand Down
44 changes: 44 additions & 0 deletions docs/ChangeLog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,49 @@
# Splunk Operator for Kubernetes Change Log

## 2.4.0 (2023-10-13)

* This is the 2.4.0 release. The Splunk Operator for Kubernetes is a supported platform for deploying Splunk Enterprise with the prerequisites and constraints laid out [here](https://github.com/splunk/splunk-operator/blob/main/docs/README.md#prerequisites-for-the-splunk-operator)

* CSPL-2481: Fixed splunk operator usage examples

* CSPL-2399: Fixed issue where pods are being stucked in Terminating state

* CSPL-2482: Documents updates related to splunk-ansible

* CSPL-2483: Support for additional labels to operator pod in splunk operator helm chart

* CSPL-2480: Support helm flow control to restrict volume values added to deployment template when using PVC

* CSPL-2443: Support private bucket support in Splunk Operator when IRSA used

* CSPL-2457: Upgraded Golang to 1.21.1

* CSPL-2459: Upgraded operator-sdk to 1.31.0

* CSPL-2409: Splunk Operator for Kubernetes reorders environment variables

* Git-1223: Fixed an issue in Storage Class for splunk operator helm chart

* Git-1151: Fixed indexer deletion in upgrade scenario

* Fixed auth proxy service selector labels

* Host multiple splunk operator helm charts on github.io


### Supported Splunk Version
>| Splunk Version|
>| --- |
>| 9.0.6 |
>| 9.1.1 |
### Supported Kubernetes Version
>| Kubernetes Version|
>| --- |
>| 1.25+ |


## 2.3.0 (2023-06-28)

* This is the 2.3.0 release. The Splunk Operator for Kubernetes is a supported platform for deploying Splunk Enterprise with the prerequisites and constraints laid out [here](https://github.com/splunk/splunk-operator/blob/main/docs/README.md#prerequisites-for-the-splunk-operator)
Expand Down
12 changes: 6 additions & 6 deletions docs/Images.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@

The Splunk Operator requires these docker images to be present or available to your Kubernetes cluster:

* `splunk/splunk-operator`: The Splunk Operator image built by this repository or the [official release](https://hub.docker.com/r/splunk/splunk-operator) (2.3.0 or later)
* `splunk/splunk:<version>`: The [Splunk Enterprise image](https://github.com/splunk/docker-splunk) (9.0.5 or later)
* `splunk/splunk-operator`: The Splunk Operator image built by this repository or the [official release](https://hub.docker.com/r/splunk/splunk-operator)
* `splunk/splunk:<version>`: The [Splunk Enterprise image](https://github.com/splunk/docker-splunk)

All of these images are publicly available, and published on [Docker Hub](https://hub.docker.com/).

If your cluster does not have access to pull directly from Docker Hub, you will need to manually download and push these images to an accessible registry. You will also need to specify the location of these images by using an environment variable passed to the Operator, or by adding additional `spec` parameters to your
If your cluster does not have access to pull directly from Docker Hub, you will need to manually download and push these images to an accessible registry. You will also need to specify the location of these images by using an environment variable passed to the Operator, or by adding additional `spec` parameters to your
custom resource definition.

Use the `RELATED_IMAGE_SPLUNK_ENTERPRISE` environment variable or the `image` custom resource parameter to change the location of your Splunk Enterprise image.
Use the `RELATED_IMAGE_SPLUNK_ENTERPRISE` environment variable or the `image` custom resource parameter to change the location of your Splunk Enterprise image.

For additional detail, see the [Advanced Installation Instructions](Install.md) page, and the [Custom Resource Guide](CustomResources.md) page.

Expand All @@ -19,7 +19,7 @@ For additional detail, see the [Advanced Installation Instructions](Install.md)

If your Kubernetes workers have access to pull from a private registry, it is easy to retag and push the required images to directly to your private registry.

An example of tagging with an Amazon Elastic Container Registry:
An example of tagging with an Amazon Elastic Container Registry:

```
$(aws ecr get-login --no-include-email --region us-west-2)
Expand Down Expand Up @@ -63,7 +63,7 @@ docker load -i splunk-operator.tar.gz

## A simple script to push images

The script `build/push_images.sh` is included to push Docker images to multiple remote hosts using SSH. The script takes the name of a container and an image path, and pushes the image to all the entries in `push_targets`.
The script `build/push_images.sh` is included to push Docker images to multiple remote hosts using SSH. The script takes the name of a container and an image path, and pushes the image to all the entries in `push_targets`.

To use the script:

Expand Down
2 changes: 1 addition & 1 deletion docs/Ingress.md
Original file line number Diff line number Diff line change
Expand Up @@ -322,7 +322,7 @@ spec:
serviceTemplate:
spec:
ports:
- name: splunktest
- name: tls-splunktest
port: 9998
protocol: TCP
targetPort: 9998
Expand Down
Loading

0 comments on commit d98cfc6

Please sign in to comment.