Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(deploy): deploy cryostat 3.0 #727

Merged
merged 35 commits into from
Apr 23, 2024
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
71a8999
feat(discovery): options to configure discovery port names and number…
mergify[bot] Feb 12, 2024
ff950e8
Deploy cryostat 3.0
Josh-Matsuoka Feb 13, 2024
7a518cc
Remove extraneous file
Josh-Matsuoka Feb 13, 2024
3dfd0bd
test adjustments
Josh-Matsuoka Feb 14, 2024
60de1b6
feat(discovery): options to configure discovery port names and number…
tthvo Feb 12, 2024
2be24b7
Fix typo in environment variable breaking reconciler test, fix missin…
Josh-Matsuoka Feb 26, 2024
1bdbc88
Fix conflict with cluster cryostat removal
Josh-Matsuoka Feb 26, 2024
6b2e997
ci(gh): add comment when /build_test is finished (#745)
mwangggg Feb 28, 2024
2af4362
add scorecard test/suite selection (#746)
mwangggg Feb 28, 2024
cfcbfc7
test(scorecard): scorecard tests for recording management (#698)
tthvo Mar 5, 2024
bf8df15
test(scorecard): scorecard test for Cryostat CR configuration changes…
mwangggg Mar 8, 2024
96ea4cb
test(scorecard): scorecard test for report generator (#753)
mwangggg Mar 15, 2024
2201704
fix(build-ci): fix scorecard image tag returned as null (#760)
tthvo Mar 15, 2024
d01e0d2
test(scorecard): add container logs to scorecard results (#758)
tthvo Mar 19, 2024
6498b0f
add permission to publish comment when ci fails (#769)
mwangggg Mar 19, 2024
73714b2
Update NewCoreContainer and associated tests
Josh-Matsuoka Mar 26, 2024
903e93f
build(go): update Golang to 1.21 (#777)
ebaron Mar 27, 2024
baebe17
test(scorecard): logWorkloadEvent for cryostat-recording errors (#759)
mwangggg Mar 27, 2024
b397095
test(scorecard): fix rebasing skipped commit (#780)
mwangggg Mar 27, 2024
ea9b99d
Merge remote-tracking branch 'upstream/main' into cryostat3
Josh-Matsuoka Mar 27, 2024
c349366
Review fixes
Josh-Matsuoka Mar 28, 2024
b1eff2b
generate storage key, create expected Secret
andrewazores Apr 11, 2024
59cbb9e
fixup! generate storage key, create expected Secret
andrewazores Apr 11, 2024
db8f6c6
database secret handling corrections
andrewazores Apr 11, 2024
abee942
combine database connection password and encryption key into one secret
andrewazores Apr 11, 2024
33d70e0
correct storage secret key/access key
andrewazores Apr 11, 2024
02b1d91
update datasource port number to not conflict with storage
andrewazores Apr 11, 2024
63a6d23
precreate eventtemplates bucket
andrewazores Apr 11, 2024
0687867
remove storage volume parameter overrides
andrewazores Apr 11, 2024
64ceb78
use HTTP for Cryostat probe even when TLS is enabled - TLS will be do…
andrewazores Apr 11, 2024
4c73c8e
correct environment variable names for proxy awareness
andrewazores Apr 11, 2024
d2830ed
Fixing merge conflicts, syncing with upstream
Josh-Matsuoka Apr 15, 2024
b24679f
Fix remaining merge conflict
Josh-Matsuoka Apr 15, 2024
2ccd83d
Fix makefile
Josh-Matsuoka Apr 16, 2024
7fd9443
config cleanup and test fixup
andrewazores Apr 18, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 10 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ OS = $(shell go env GOOS)
ARCH = $(shell go env GOARCH)

# Current Operator version
export OPERATOR_VERSION ?= 2.5.0-dev
export OPERATOR_VERSION ?= 3.0.0-dev
IMAGE_VERSION ?= $(OPERATOR_VERSION)
BUNDLE_VERSION ?= $(IMAGE_VERSION)
DEFAULT_NAMESPACE ?= quay.io/cryostat
Expand Down Expand Up @@ -62,7 +62,7 @@ export APP_NAME ?= Cryostat
# Images used by the operator
CORE_NAMESPACE ?= $(DEFAULT_NAMESPACE)
CORE_NAME ?= cryostat
CORE_VERSION ?= latest
CORE_VERSION ?= 3.0.0-snapshot
export CORE_IMG ?= $(CORE_NAMESPACE)/$(CORE_NAME):$(CORE_VERSION)
DATASOURCE_NAMESPACE ?= $(DEFAULT_NAMESPACE)
DATASOURCE_NAME ?= jfr-datasource
Expand All @@ -76,6 +76,14 @@ REPORTS_NAMESPACE ?= $(DEFAULT_NAMESPACE)
REPORTS_NAME ?= cryostat-reports
REPORTS_VERSION ?= latest
export REPORTS_IMG ?= $(REPORTS_NAMESPACE)/$(REPORTS_NAME):$(REPORTS_VERSION)
DATABASE_NAMESPACE ?= $(DEFAULT_NAMESPACE)
DATABASE_NAME ?= cryostat-db
DATABASE_VERSION ?= latest
export DATABASE_IMG ?= $(DATABASE_NAMESPACE)/$(DATABASE_NAME):$(DATABASE_VERSION)
STORAGE_NAMESPACE ?= $(DEFAULT_NAMESPACE)
STORAGE_NAME ?= cryostat-storage
STORAGE_VERSION ?= latest
export STORAGE_IMG ?= $(STORAGE_NAMESPACE)/$(STORAGE_NAME):$(STORAGE_VERSION)

CERT_MANAGER_VERSION ?= 1.11.5
CERT_MANAGER_MANIFEST ?= \
Expand Down
20 changes: 20 additions & 0 deletions api/v1beta1/cryostat_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,8 @@ type CryostatStatus struct {
// +optional
// +operator-sdk:csv:customresourcedefinitions:type=status,order=2,xDescriptors={"urn:alm:descriptor:io.kubernetes:Secret"}
GrafanaSecret string `json:"grafanaSecret,omitempty"`
// Name of the Secret containing the cryostat storage connection key
StorageSecret string `json:"storageSecret,omitempty"`
// Address of the deployed Cryostat web application.
// +operator-sdk:csv:customresourcedefinitions:type=status,order=1,xDescriptors={"urn:alm:descriptor:org.w3:link"}
ApplicationURL string `json:"applicationUrl"`
Expand Down Expand Up @@ -287,6 +289,13 @@ type GrafanaServiceConfig struct {
ServiceConfig `json:",inline"`
}

type StorageServiceConfig struct {
// HTTP port number for the cryostat storage service.
// Defaults to 8333
HTTPPort *int32 `json:"httpPort,omitempty"`
ServiceConfig `json:",inline"`
}

// ReportsServiceConfig provides customization for the service handling
// traffic for the cryostat-reports sidecars.
type ReportsServiceConfig struct {
Expand All @@ -309,6 +318,9 @@ type ServiceConfigList struct {
// Specification for the service responsible for the cryostat-reports sidecars.
// +optional
ReportsConfig *ReportsServiceConfig `json:"reportsConfig,omitempty"`
// Specification for the service responsible for the cryostat storage container.
// +optional
StorageConfig *StorageServiceConfig `json:"storageConfig,omitEmpty"`
}

// NetworkConfiguration provides customization for how to expose a Cryostat
Expand Down Expand Up @@ -502,6 +514,14 @@ type SecurityOptions struct {
// +optional
// +operator-sdk:csv:customresourcedefinitions:type=spec
GrafanaSecurityContext *corev1.SecurityContext `json:"grafanaSecurityContext,omitempty"`
// Security Context to apply to the storage container.
// +optional
// +operator-sdk:csv:customresourcedefinitions:type=spec
StorageSecurityContext *corev1.SecurityContext `json:"storageSecurityContext,omitempty"`
// Security Context to apply to the storage container.
Josh-Matsuoka marked this conversation as resolved.
Show resolved Hide resolved
// +optional
// +operator-sdk:csv:customresourcedefinitions:type=spec
DatabaseSecurityContext *corev1.SecurityContext `json:"databaseSecurityContext,omitempty"`
}

// ReportsSecurityOptions contains Security Context customizations for the
Expand Down
36 changes: 36 additions & 0 deletions api/v1beta1/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions api/v1beta2/cryostat_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -527,6 +527,14 @@ type SecurityOptions struct {
// +optional
// +operator-sdk:csv:customresourcedefinitions:type=spec
GrafanaSecurityContext *corev1.SecurityContext `json:"grafanaSecurityContext,omitempty"`
// Security Context to apply to the storage container.
// +optional
// +operator-sdk:csv:customresourcedefinitions:type=spec
StorageSecurityContext *corev1.SecurityContext `json:"storageSecurityContext,omitempty"`
// Security Context to apply to the storage container.
Josh-Matsuoka marked this conversation as resolved.
Show resolved Hide resolved
// +optional
// +operator-sdk:csv:customresourcedefinitions:type=spec
DatabaseSecurityContext *corev1.SecurityContext `json:"databaseSecurityContext,omitempty"`
}

// ReportsSecurityOptions contains Security Context customizations for the
Expand Down
10 changes: 10 additions & 0 deletions api/v1beta2/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

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=cryostat-operator
LABEL operators.operatorframework.io.bundle.channels.v1=alpha
LABEL operators.operatorframework.io.metrics.builder=operator-sdk-v1.31.0
LABEL operators.operatorframework.io.metrics.builder=operator-sdk-v1.32.0
LABEL operators.operatorframework.io.metrics.mediatype.v1=metrics+v1
LABEL operators.operatorframework.io.metrics.project_layout=go.kubebuilder.io/v3

Expand Down
28 changes: 20 additions & 8 deletions bundle/manifests/cryostat-operator.clusterserviceversion.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,8 @@ metadata:
]
capabilities: Seamless Upgrades
categories: Monitoring, Developer Tools
containerImage: quay.io/cryostat/cryostat-operator:2.5.0-dev
createdAt: "2024-02-15T20:45:48Z"
containerImage: quay.io/cryostat/cryostat-operator:3.0.0-dev
createdAt: "2024-02-26T22:11:08Z"
description: JVM monitoring and profiling tool
operatorframework.io/initialization-resource: |-
{
Expand All @@ -71,15 +71,15 @@ metadata:
}
}
}
operators.operatorframework.io/builder: operator-sdk-v1.31.0
operators.operatorframework.io/builder: operator-sdk-v1.32.0
operators.operatorframework.io/project_layout: go.kubebuilder.io/v3
repository: github.com/cryostatio/cryostat-operator
support: Cryostat Community
labels:
operatorframework.io/arch.amd64: supported
operatorframework.io/arch.arm64: supported
operatorframework.io/os.linux: supported
name: cryostat-operator.v2.5.0-dev
name: cryostat-operator.v3.0.0-dev
namespace: placeholder
spec:
apiservicedefinitions: {}
Expand Down Expand Up @@ -381,12 +381,18 @@ spec:
- description: Security Context to apply to the JFR Data Source container.
displayName: Data Source Security Context
path: securityOptions.dataSourceSecurityContext
- description: Security Context to apply to the storage container.
displayName: Database Security Context
path: securityOptions.databaseSecurityContext
- description: Security Context to apply to the Grafana container.
displayName: Grafana Security Context
path: securityOptions.grafanaSecurityContext
- description: Security Context to apply to the Cryostat pod.
displayName: Pod Security Context
path: securityOptions.podSecurityContext
- description: Security Context to apply to the storage container.
displayName: Storage Security Context
path: securityOptions.storageSecurityContext
- description: Options to customize the services created for the Cryostat application
and Grafana dashboard.
displayName: Service Options
Expand Down Expand Up @@ -787,12 +793,18 @@ spec:
- description: Security Context to apply to the JFR Data Source container.
displayName: Data Source Security Context
path: securityOptions.dataSourceSecurityContext
- description: Security Context to apply to the storage container.
displayName: Database Security Context
path: securityOptions.databaseSecurityContext
- description: Security Context to apply to the Grafana container.
displayName: Grafana Security Context
path: securityOptions.grafanaSecurityContext
- description: Security Context to apply to the Cryostat pod.
displayName: Pod Security Context
path: securityOptions.podSecurityContext
- description: Security Context to apply to the storage container.
displayName: Storage Security Context
path: securityOptions.storageSecurityContext
- description: Options to customize the services created for the Cryostat application
and Grafana dashboard.
displayName: Service Options
Expand Down Expand Up @@ -1124,7 +1136,7 @@ spec:
- /manager
env:
- name: RELATED_IMAGE_CORE
value: quay.io/cryostat/cryostat:latest
value: quay.io/cryostat/cryostat:3.0.0-snapshot
- name: RELATED_IMAGE_DATASOURCE
value: quay.io/cryostat/jfr-datasource:latest
- name: RELATED_IMAGE_GRAFANA
Expand All @@ -1139,7 +1151,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
image: quay.io/cryostat/cryostat-operator:2.5.0-dev
image: quay.io/cryostat/cryostat-operator:3.0.0-dev
imagePullPolicy: Always
livenessProbe:
httpGet:
Expand Down Expand Up @@ -1259,15 +1271,15 @@ spec:
provider:
name: The Cryostat Community
relatedImages:
- image: quay.io/cryostat/cryostat:latest
- image: quay.io/cryostat/cryostat:3.0.0-snapshot
name: core
- image: quay.io/cryostat/jfr-datasource:latest
name: datasource
- image: quay.io/cryostat/cryostat-grafana-dashboard:latest
name: grafana
- image: quay.io/cryostat/cryostat-reports:latest
name: reports
version: 2.5.0-dev
version: 3.0.0-dev
webhookdefinitions:
- admissionReviewVersions:
- v1
Expand Down
Loading
Loading