Skip to content

Commit 9dcedc4

Browse files
Merge pull request #1781 from splunk/promote-develop-to-main-3.1.0
Promote Develop to main for Splunk Operator Release 3.1.0
2 parents f924f7a + cd24ddb commit 9dcedc4

407 files changed

Lines changed: 56273 additions & 4906 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.biased_lang_exclude

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ config/examples/licensemaster/default.yaml
1919
config/rbac/licensemaster_editor_role.yaml
2020
config/rbac/licensemaster_viewer_role.yaml
2121
config/samples/enterprise_v3_licensemaster.yaml
22+
config/webhook/manifests.yaml
2223
tools/make_bundle.sh
2324
config/samples/kustomization.yaml
2425
config/manifests/bases/splunk-operator.clusterserviceversion.yaml
@@ -75,6 +76,7 @@ api/v4/zz_generated.deepcopy.go
7576
api/v4/common_types.go
7677
#Below should be reviewed once CRDs have no bias lang
7778
tools/bias_lang_migration.sh
79+
go.mod
7880
go.sum
7981
.github/
8082
.circleci/

.env

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
OPERATOR_SDK_VERSION=v1.39.0
2-
REVIEWERS=vivekr-splunk,rlieberman-splunk,patrykw-splunk,Igor-splunk,kasiakoziol
3-
GO_VERSION=1.23.0
1+
OPERATOR_SDK_VERSION=v1.42.0
2+
REVIEWERS=vivekr-splunk,rlieberman-splunk,patrykw-splunk,Igor-splunk,kasiakoziol,kubabuczak,gabrielm-splunk,minjieqiu,qingw-splunk
3+
GO_VERSION=1.25.7
44
AWSCLI_URL=https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.8.6.zip
55
KUBECTL_VERSION=v1.29.1
6-
AZ_CLI_VERSION=2.30.0
7-
EKSCTL_VERSION=v0.191.0
8-
EKS_CLUSTER_K8_VERSION=1.31
6+
AZ_CLI_VERSION=2.79.0
7+
EKSCTL_VERSION=v0.215.0
8+
EKS_CLUSTER_K8_VERSION=1.34
99
EKS_INSTANCE_TYPE=m5.2xlarge
1010
EKS_INSTANCE_TYPE_ARM64=c6g.4xlarge
1111
SPLUNK_ENTERPRISE_RELEASE_IMAGE=splunk/splunk:10.0.0
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
name: 'Set EKS Test Cluster Name'
2+
description: 'Generate a shortened, standardized EKS test cluster name'
3+
inputs:
4+
test-type:
5+
description: 'Type of test (e.g., smoke, integration)'
6+
required: true
7+
platform:
8+
description: 'Platform variant (e.g., distroless, arm-ubuntu, arm-rhel, arm-al2023, helm, namespace, nightly, manual, or empty for standard)'
9+
required: false
10+
default: ''
11+
test-name:
12+
description: 'Test name from matrix (e.g., basic, managerappframeworkc3)'
13+
required: true
14+
run-id:
15+
description: 'GitHub run ID for uniqueness'
16+
required: true
17+
outputs:
18+
cluster-name:
19+
description: 'The generated cluster name'
20+
value: ${{ steps.generate-name.outputs.cluster_name }}
21+
runs:
22+
using: "composite"
23+
steps:
24+
- name: Generate cluster name
25+
id: generate-name
26+
shell: bash
27+
run: |
28+
TEST_NAME="${{ inputs.test-name }}"
29+
30+
# Shorten long test names
31+
case "$TEST_NAME" in
32+
managerappframeworkc3) TEST_NAME="mgr-appfw-c3" ;;
33+
managerappframeworkm4) TEST_NAME="mgr-appfw-m4" ;;
34+
appframeworksS1) TEST_NAME="appfw-s1" ;;
35+
managersecret) TEST_NAME="mgr-secret" ;;
36+
managermc) TEST_NAME="mgr-mc" ;;
37+
esac
38+
39+
# Build cluster name based on platform
40+
if [ -z "${{ inputs.platform }}" ]; then
41+
# Standard platform (no platform suffix)
42+
CLUSTER_NAME="eks-test-${{ inputs.test-type }}-${TEST_NAME}-${{ inputs.run-id }}"
43+
else
44+
# Platform-specific
45+
CLUSTER_NAME="eks-test-${{ inputs.test-type }}-${{ inputs.platform }}-${TEST_NAME}-${{ inputs.run-id }}"
46+
fi
47+
48+
echo "cluster_name=${CLUSTER_NAME}" >> $GITHUB_OUTPUT
49+
echo "Generated cluster name: ${CLUSTER_NAME}"
50+

.github/workflows/arm-AL2023-build-test-push-workflow-AL2023.yml

Lines changed: 70 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
name: Arm AL2023 Smoke Test WorkFlow
22
permissions:
33
contents: read
4+
checks: write
45
packages: write
56
id-token: write
67
pull-requests: write
78
on:
8-
workflow_dispatch:
9+
workflow_dispatch:
910
inputs:
1011
splunk_image_repository_tag:
1112
description: 'Splunk AL2023-based Docker Image repository and tag (e.g. repository-name:tag)'
@@ -17,7 +18,7 @@ jobs:
1718
- uses: actions/checkout@v2
1819
- name: Dotenv Action
1920
id: dotenv
20-
uses: falti/dotenv-action@d4d12eaa0e1dd06d5bdc3d7af3bf4c8c93cb5359
21+
uses: falti/dotenv-action@v1
2122
- name: Setup Go
2223
uses: actions/setup-go@v2
2324
with:
@@ -33,7 +34,7 @@ jobs:
3334
- uses: actions/checkout@v2
3435
- name: Dotenv Action
3536
id: dotenv
36-
uses: falti/dotenv-action@d4d12eaa0e1dd06d5bdc3d7af3bf4c8c93cb5359
37+
uses: falti/dotenv-action@v1
3738
- name: Setup Go
3839
uses: actions/setup-go@v2
3940
with:
@@ -50,11 +51,25 @@ jobs:
5051
run: make test
5152
- name: Run Code Coverage
5253
run: goveralls -coverprofile=coverage.out -service=circle-ci -repotoken ${{ secrets.COVERALLS_TOKEN }}
54+
continue-on-error: true
5355
- name: Upload Coverage artifacts
54-
uses: actions/upload-artifact@v4.4.0
56+
uses: actions/upload-artifact@v6
5557
with:
5658
name: coverage.out
5759
path: coverage.out
60+
- name: Upload Unit Test Results
61+
if: always()
62+
uses: actions/upload-artifact@v6
63+
with:
64+
name: test-report-unit
65+
path: unit_test*.xml
66+
- name: Publish Unit Test Report
67+
uses: mikepenz/action-junit-report@v6
68+
if: always()
69+
with:
70+
report_paths: 'unit_test*.xml'
71+
check_name: 'Unit Test Results (ARM AL2023)'
72+
detailed_summary: true
5873
build-operator-image-arm-al2023:
5974
runs-on: ubuntu-latest
6075
needs: unit-tests
@@ -65,12 +80,12 @@ jobs:
6580
S3_REGION: ${{ secrets.AWS_DEFAULT_REGION }}
6681
steps:
6782
- name: Set up cosign
68-
uses: sigstore/cosign-installer@main
83+
uses: sigstore/cosign-installer@v4.0.0
6984

7085
- uses: actions/checkout@v2
7186
- name: Dotenv Action
7287
id: dotenv
73-
uses: falti/dotenv-action@d4d12eaa0e1dd06d5bdc3d7af3bf4c8c93cb5359
88+
uses: falti/dotenv-action@v1
7489
- name: Setup Go
7590
uses: actions/setup-go@v2
7691
with:
@@ -89,14 +104,15 @@ jobs:
89104
sudo chmod +x operator-sdk_${OS}_${ARCH}
90105
sudo mv operator-sdk_${OS}_${ARCH} /usr/local/bin/operator-sdk
91106
- name: Configure AWS credentials
92-
uses: aws-actions/configure-aws-credentials@v1
107+
uses: aws-actions/configure-aws-credentials@v5
93108
with:
94-
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
95-
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
96-
aws-region: ${{ secrets.AWS_DEFAULT_REGION }}
109+
role-to-assume: ${{ vars.AWS_ROLE_ARN }}
110+
role-session-name: github-${{ github.run_id }}
111+
aws-region: ${{ vars.AWS_REGION }}
112+
role-duration-seconds: ${{ vars.AWS_ROLE_DURATION_SECONDS }}
97113
- name: Login to Amazon ECR
98114
id: login-ecr
99-
uses: aws-actions/amazon-ecr-login@v1
115+
uses: aws-actions/amazon-ecr-login@v2
100116
- name: Build and push Splunk Operator Image
101117
run: |
102118
export PLATFORMS=linux/arm64,linux/amd64
@@ -120,6 +136,7 @@ jobs:
120136
appframeworksS1,
121137
managersecret,
122138
managermc,
139+
indingsep,
123140
]
124141
runs-on: ubuntu-latest
125142
env:
@@ -145,15 +162,25 @@ jobs:
145162
DEPLOYMENT_TYPE: ""
146163
ARM64: "true"
147164
GRAVITON_TESTING: "true"
165+
AWS_INDEX_INGEST_SEP_ACCESS_KEY_ID: ${{ secrets.AWS_INDEX_INGEST_SEP_ACCESS_KEY_ID }}
166+
AWS_INDEX_INGEST_SEP_SECRET_ACCESS_KEY: ${{ secrets.AWS_INDEX_INGEST_SEP_SECRET_ACCESS_KEY }}
148167
steps:
149-
- name: Set Test Cluster Name
150-
run: |
151-
echo "TEST_CLUSTER_NAME=eks-integration-test-cluster-${{ matrix.test }}-$GITHUB_RUN_ID" >> $GITHUB_ENV
152168
- name: Chekcout code
153169
uses: actions/checkout@v2
170+
- name: Set Test Cluster Name
171+
id: set-cluster-name
172+
uses: ./.github/actions/set-cluster-name
173+
with:
174+
test-type: smoke
175+
platform: arm-al2023
176+
test-name: ${{ matrix.test }}
177+
run-id: ${{ github.run_id }}
178+
- name: Export cluster name to environment
179+
run: |
180+
echo "TEST_CLUSTER_NAME=${{ steps.set-cluster-name.outputs.cluster-name }}" >> $GITHUB_ENV
154181
- name: Dotenv Action
155182
id: dotenv
156-
uses: falti/dotenv-action@d4d12eaa0e1dd06d5bdc3d7af3bf4c8c93cb5359
183+
uses: falti/dotenv-action@v1
157184
- name: Change splunk enterprise to release image on main branches
158185
if: github.ref == 'refs/heads/main'
159186
run: |
@@ -195,22 +222,23 @@ jobs:
195222
sudo curl -L -o /usr/local/bin/operator-sdk https://github.com/operator-framework/operator-sdk/releases/download/${{ steps.dotenv.outputs.OPERATOR_SDK_VERSION }}/operator-sdk-${{ steps.dotenv.outputs.OPERATOR_SDK_VERSION }}-x86_64-linux-gnu
196223
sudo chmod +x /usr/local/bin/operator-sdk
197224
- name: Configure Docker Hub credentials
198-
uses: docker/login-action@v1
225+
uses: docker/login-action@v3
199226
with:
200227
username: ${{ secrets.DOCKERHUB_USERNAME }}
201228
password: ${{ secrets.DOCKERHUB_TOKEN}}
202229
- name: Set Splunk Operator image
203230
run: |
204231
echo "SPLUNK_OPERATOR_IMAGE=${{ env.SPLUNK_OPERATOR_IMAGE_NAME }}:$GITHUB_SHA" >> $GITHUB_ENV
205232
- name: Configure AWS credentials
206-
uses: aws-actions/configure-aws-credentials@v1
233+
uses: aws-actions/configure-aws-credentials@v5
207234
with:
208-
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
209-
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
210-
aws-region: ${{ secrets.AWS_DEFAULT_REGION }}
235+
role-to-assume: ${{ vars.AWS_ROLE_ARN }}
236+
role-session-name: github-${{ github.run_id }}
237+
aws-region: ${{ vars.AWS_REGION }}
238+
role-duration-seconds: ${{ vars.AWS_ROLE_DURATION_SECONDS }}
211239
- name: Login to Amazon ECR
212240
id: login-ecr
213-
uses: aws-actions/amazon-ecr-login@v1
241+
uses: aws-actions/amazon-ecr-login@v2
214242
- name: Pull Splunk Enterprise Image
215243
run: docker pull ${{ env.SPLUNK_ENTERPRISE_IMAGE }}
216244
- name: Create EKS cluster
@@ -220,7 +248,8 @@ jobs:
220248
make cluster-up
221249
- name: install metric server
222250
run: |
223-
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
251+
curl -LO https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
252+
kubectl replace --force -f components.yaml || kubectl apply -f components.yaml
224253
- name: install k8s dashboard
225254
run: |
226255
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.5/aio/deploy/recommended.yaml
@@ -231,6 +260,11 @@ jobs:
231260
cp /snap/bin/kustomize ./bin/kustomize
232261
- name: Run smoke test
233262
id: smoketest
263+
timeout-minutes: 240
264+
env:
265+
TEST_TIMEOUT: 225m
266+
TEST_S3_ACCESS_KEY_ID: ${{ vars.TEST_S3_ACCESS_KEY_ID }}
267+
TEST_S3_SECRET_ACCESS_KEY: ${{ secrets.TEST_S3_SECRET_ACCESS_KEY }}
234268
run: |
235269
make int-test
236270
- name: Collect Test Logs
@@ -240,10 +274,23 @@ jobs:
240274
find ./test -name "*.log" -exec cp {} /tmp/pod_logs \;
241275
- name: Archive Pod Logs
242276
if: ${{ always() }}
243-
uses: actions/upload-artifact@v4.4.0
277+
uses: actions/upload-artifact@v6
244278
with:
245279
name: "splunk-pods-logs--artifacts-${{ matrix.test }}"
246280
path: "/tmp/pod_logs/**"
281+
- name: Upload Smoke Test Results
282+
if: always()
283+
uses: actions/upload-artifact@v6
284+
with:
285+
name: "test-report-smoke-arm-al2023-${{ matrix.test }}"
286+
path: report-junit*.xml
287+
- name: Publish Smoke Test Report
288+
uses: mikepenz/action-junit-report@v6
289+
if: always()
290+
with:
291+
report_paths: 'report-junit*.xml'
292+
check_name: 'Smoke Test Results (ARM AL2023) - ${{ matrix.test }}'
293+
detailed_summary: true
247294
- name: Cleanup Test Case artifacts
248295
if: ${{ always() }}
249296
run: |

0 commit comments

Comments
 (0)