commit
a8554737b2
Binary file not shown.
|
@ -0,0 +1,17 @@
|
||||||
|
annotations:
|
||||||
|
catalog.cattle.io/certified: partner
|
||||||
|
catalog.cattle.io/display-name: Pixie
|
||||||
|
catalog.cattle.io/release-name: pixie
|
||||||
|
apiVersion: v2
|
||||||
|
description: Pixie is an open source observability tool for Kubernetes applications.
|
||||||
|
Use Pixie to view the high-level state of your cluster and also drill-down into
|
||||||
|
more detailed views.
|
||||||
|
icon: https://raw.githubusercontent.com/cncf/artwork/master/projects/pixie/icon/color/pixie-icon-color.svg
|
||||||
|
keywords:
|
||||||
|
- monitoring
|
||||||
|
- metric
|
||||||
|
- observability
|
||||||
|
kubeVersion: '>=1.16.0'
|
||||||
|
name: pixie-operator-chart
|
||||||
|
type: application
|
||||||
|
version: 0.0.2501
|
|
@ -0,0 +1,19 @@
|
||||||
|
# Pixie
|
||||||
|
|
||||||
|
Pixie is an open source observability tool for Kubernetes applications. Use Pixie to view the high-level state of your cluster (service maps, cluster resources, application traffic) and also drill-down into more detailed views (pod state, flame graphs, individual full-body application requests).
|
||||||
|
|
||||||
|
Three features enable Pixie's magical developer experience:
|
||||||
|
|
||||||
|
- **Auto-telemetry:** Pixie uses eBPF to automatically collect telemetry data such as full-body requests, resource and network metrics, application profiles, and more. See the full list of data sources [here](https://docs.px.dev/about-pixie/data-sources/).
|
||||||
|
|
||||||
|
- **In-Cluster Edge Compute:** Pixie collects, stores and queries all telemetry data locally in the cluster. Pixie uses less than 5% of cluster CPU, and in most cases less than 2%.
|
||||||
|
|
||||||
|
- **Scriptability:** [PxL](https://docs.px.dev/reference/pxl/), Pixie’s flexible Pythonic query language, can be used across Pixie’s UI, CLI, and client APIs.
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
|
||||||
|
You must have either:
|
||||||
|
|
||||||
|
- You need to have a Pixie account and deployment key on [Community Cloud for Pixie](https://withpixie.ai).
|
||||||
|
- Or a Pixie account and deployment key on a [self-hosted Pixie Cloud](https://docs.px.dev/installing-pixie/install-guides/self-hosted-pixie/).
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,264 @@
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
|
kind: CustomResourceDefinition
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
controller-gen.kubebuilder.io/version: v0.4.1
|
||||||
|
creationTimestamp: null
|
||||||
|
name: viziers.px.dev
|
||||||
|
spec:
|
||||||
|
group: px.dev
|
||||||
|
names:
|
||||||
|
kind: Vizier
|
||||||
|
listKind: VizierList
|
||||||
|
plural: viziers
|
||||||
|
singular: vizier
|
||||||
|
scope: Namespaced
|
||||||
|
versions:
|
||||||
|
- name: v1alpha1
|
||||||
|
schema:
|
||||||
|
openAPIV3Schema:
|
||||||
|
description: Vizier is the Schema for the viziers API
|
||||||
|
properties:
|
||||||
|
apiVersion:
|
||||||
|
description: 'APIVersion defines the versioned schema of this representation
|
||||||
|
of an object. Servers should convert recognized schemas to the latest
|
||||||
|
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
||||||
|
type: string
|
||||||
|
kind:
|
||||||
|
description: 'Kind is a string value representing the REST resource this
|
||||||
|
object represents. Servers may infer this from the endpoint the client
|
||||||
|
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
||||||
|
type: string
|
||||||
|
metadata:
|
||||||
|
type: object
|
||||||
|
spec:
|
||||||
|
description: VizierSpec defines the desired state of Vizier
|
||||||
|
properties:
|
||||||
|
clockConverter:
|
||||||
|
description: ClockConverter specifies which routine to use for converting
|
||||||
|
timestamps to a synced reference time.
|
||||||
|
enum:
|
||||||
|
- default
|
||||||
|
- grpc
|
||||||
|
type: string
|
||||||
|
cloudAddr:
|
||||||
|
description: CloudAddr is the address of the cloud instance that the
|
||||||
|
Vizier should be pointing to.
|
||||||
|
type: string
|
||||||
|
clusterName:
|
||||||
|
description: ClusterName is a name for the Vizier instance, usually
|
||||||
|
specifying which cluster the Vizier is deployed to. If not specified,
|
||||||
|
a random name will be generated.
|
||||||
|
type: string
|
||||||
|
customDeployKeySecret:
|
||||||
|
description: CustomDeployKeySecret is the name of the secret where
|
||||||
|
the deploy key is stored.
|
||||||
|
type: string
|
||||||
|
dataAccess:
|
||||||
|
description: DataAccess defines the level of data that may be accesssed
|
||||||
|
when executing a script on the cluster. If none specified, assumes
|
||||||
|
full data access.
|
||||||
|
enum:
|
||||||
|
- Full
|
||||||
|
- Restricted
|
||||||
|
type: string
|
||||||
|
dataCollectorParams:
|
||||||
|
description: DataCollectorParams specifies the set of params for configuring
|
||||||
|
the dataCollector. If no params are specified, defaults are used.
|
||||||
|
properties:
|
||||||
|
customPEMFlags:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
description: This contains custom flags that should be passed
|
||||||
|
to the PEM via environment variables.
|
||||||
|
type: object
|
||||||
|
datastreamBufferSize:
|
||||||
|
description: DatastreamBufferSize is the data buffer size per
|
||||||
|
connection. Default size is 1 Mbyte. For high-throughput applications,
|
||||||
|
try increasing this number if experiencing data loss.
|
||||||
|
format: int32
|
||||||
|
type: integer
|
||||||
|
datastreamBufferSpikeSize:
|
||||||
|
description: DatastreamBufferSpikeSize is the maximum temporary
|
||||||
|
size of a data stream buffer before processing.
|
||||||
|
format: int32
|
||||||
|
type: integer
|
||||||
|
type: object
|
||||||
|
deployKey:
|
||||||
|
description: DeployKey is the deploy key associated with the Vizier
|
||||||
|
instance. This is used to link the Vizier to a specific user/org.
|
||||||
|
This is required unless specifying a CustomDeployKeySecret.
|
||||||
|
type: string
|
||||||
|
devCloudNamespace:
|
||||||
|
description: 'DevCloudNamespace should be specified only for dev versions
|
||||||
|
of Pixie cloud which have no ingress to help redirect traffic to
|
||||||
|
the correct service. The DevCloudNamespace is the namespace that
|
||||||
|
the dev Pixie cloud is running on, for example: "plc-dev".'
|
||||||
|
type: string
|
||||||
|
disableAutoUpdate:
|
||||||
|
description: DisableAutoUpdate specifies whether auto update should
|
||||||
|
be enabled for the Vizier instance.
|
||||||
|
type: boolean
|
||||||
|
leadershipElectionParams:
|
||||||
|
description: LeadershipElectionParams specifies configurable values
|
||||||
|
for the K8s leaderships elections which Vizier uses manage pod leadership.
|
||||||
|
properties:
|
||||||
|
electionPeriodMs:
|
||||||
|
description: ElectionPeriodMs defines how frequently Vizier attempts
|
||||||
|
to run a K8s leader election, in milliseconds. The period also
|
||||||
|
determines how long Vizier waits for a leader election response
|
||||||
|
back from the K8s API. If the K8s API is slow to respond, consider
|
||||||
|
increasing this number.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
|
type: object
|
||||||
|
patches:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
description: Patches defines patches that should be applied to Vizier
|
||||||
|
resources. The key of the patch should be the name of the resource
|
||||||
|
that is patched. The value of the patch is the patch, encoded as
|
||||||
|
a string which follow the "strategic merge patch" rules for K8s.
|
||||||
|
type: object
|
||||||
|
pemMemoryLimit:
|
||||||
|
description: PemMemoryLimit is a memory limit applied specifically
|
||||||
|
to PEM pods.
|
||||||
|
type: string
|
||||||
|
pemMemoryRequest:
|
||||||
|
description: PemMemoryRequest is a memory request applied specifically
|
||||||
|
to PEM pods. It will automatically use the value of pemMemoryLimit
|
||||||
|
if not specified.
|
||||||
|
type: string
|
||||||
|
pod:
|
||||||
|
description: Pod defines the policy for creating Vizier pods.
|
||||||
|
properties:
|
||||||
|
annotations:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
description: Annotations specifies the annotations to attach to
|
||||||
|
pods the operator creates.
|
||||||
|
type: object
|
||||||
|
labels:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
description: Labels specifies the labels to attach to pods the
|
||||||
|
operator creates.
|
||||||
|
type: object
|
||||||
|
nodeSelector:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
description: 'NodeSelector is a selector which must be true for
|
||||||
|
the pod to fit on a node. Selector which must match a node''s
|
||||||
|
labels for the pod to be scheduled on that node. More info:
|
||||||
|
https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
|
||||||
|
This field cannot be updated once the cluster is created.'
|
||||||
|
type: object
|
||||||
|
resources:
|
||||||
|
description: Resources is the resource requirements for a container.
|
||||||
|
This field cannot be updated once the cluster is created.
|
||||||
|
properties:
|
||||||
|
limits:
|
||||||
|
additionalProperties:
|
||||||
|
anyOf:
|
||||||
|
- type: integer
|
||||||
|
- type: string
|
||||||
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
||||||
|
x-kubernetes-int-or-string: true
|
||||||
|
description: 'Limits describes the maximum amount of compute
|
||||||
|
resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
|
||||||
|
type: object
|
||||||
|
requests:
|
||||||
|
additionalProperties:
|
||||||
|
anyOf:
|
||||||
|
- type: integer
|
||||||
|
- type: string
|
||||||
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
||||||
|
x-kubernetes-int-or-string: true
|
||||||
|
description: 'Requests describes the minimum amount of compute
|
||||||
|
resources required. If Requests is omitted for a container,
|
||||||
|
it defaults to Limits if that is explicitly specified, otherwise
|
||||||
|
to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
|
||||||
|
type: object
|
||||||
|
type: object
|
||||||
|
securityContext:
|
||||||
|
description: The securityContext which should be set on non-privileged
|
||||||
|
pods. All pods which require privileged permissions will still
|
||||||
|
require a privileged securityContext.
|
||||||
|
properties:
|
||||||
|
enabled:
|
||||||
|
description: Whether a securityContext should be set on the
|
||||||
|
pod. In cases where no PSPs are applied to the cluster,
|
||||||
|
this is not necessary.
|
||||||
|
type: boolean
|
||||||
|
fsGroup:
|
||||||
|
description: A special supplemental group that applies to
|
||||||
|
all containers in a pod.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
|
runAsGroup:
|
||||||
|
description: The GID to run the entrypoint of the container
|
||||||
|
process.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
|
runAsUser:
|
||||||
|
description: The UID to run the entrypoint of the container
|
||||||
|
process.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
|
type: object
|
||||||
|
type: object
|
||||||
|
useEtcdOperator:
|
||||||
|
description: UseEtcdOperator specifies whether the metadata service
|
||||||
|
should use etcd for storage.
|
||||||
|
type: boolean
|
||||||
|
version:
|
||||||
|
description: Version is the desired version of the Vizier instance.
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
status:
|
||||||
|
description: VizierStatus defines the observed state of Vizier
|
||||||
|
properties:
|
||||||
|
lastReconciliationPhaseTime:
|
||||||
|
description: LastReconciliationPhaseTime is the last time that the
|
||||||
|
ReconciliationPhase changed.
|
||||||
|
format: date-time
|
||||||
|
type: string
|
||||||
|
message:
|
||||||
|
description: Message is a human-readable message with details about
|
||||||
|
why the Vizier is in this condition.
|
||||||
|
type: string
|
||||||
|
reconciliationPhase:
|
||||||
|
description: ReconciliationPhase describes the state the Reconciler
|
||||||
|
is in for this Vizier. See the documentation above the ReconciliationPhase
|
||||||
|
type for more information.
|
||||||
|
type: string
|
||||||
|
sentryDSN:
|
||||||
|
description: SentryDSN is key for Viziers that is used to send errors
|
||||||
|
and stacktraces to Sentry.
|
||||||
|
type: string
|
||||||
|
version:
|
||||||
|
description: Version is the actual version of the Vizier instance.
|
||||||
|
type: string
|
||||||
|
vizierPhase:
|
||||||
|
description: VizierPhase is a high-level summary of where the Vizier
|
||||||
|
is in its lifecycle.
|
||||||
|
type: string
|
||||||
|
vizierReason:
|
||||||
|
description: VizierReason is a short, machine understandable string
|
||||||
|
that gives the reason for the transition into the Vizier's current
|
||||||
|
status.
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
type: object
|
||||||
|
served: true
|
||||||
|
storage: true
|
||||||
|
subresources:
|
||||||
|
status: {}
|
||||||
|
status:
|
||||||
|
acceptedNames:
|
||||||
|
kind: ""
|
||||||
|
plural: ""
|
||||||
|
conditions: []
|
||||||
|
storedVersions: []
|
|
@ -0,0 +1,8 @@
|
||||||
|
questions:
|
||||||
|
- variable: deployKey
|
||||||
|
default: ""
|
||||||
|
required: true
|
||||||
|
type: password
|
||||||
|
label: Pixie Deploy Key
|
||||||
|
group: Deploy Settings
|
||||||
|
description: Your Pixie deploy key. This can be generated through the Pixie CLI (px deploy-key create) or in Pixie's admin UI.
|
|
@ -0,0 +1,197 @@
|
||||||
|
{{- $lookupLen := 0 -}}{{- $opLookup := (lookup "operators.coreos.com/v1" "OperatorGroup" "" "").items -}}{{if $opLookup }}{{ $lookupLen = len $opLookup }}{{ end }}
|
||||||
|
{{ if (or (eq (.Values.deployOLM | toString) "true") (and (not (eq (.Values.deployOLM | toString) "false")) (eq $lookupLen 0))) }}
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Namespace
|
||||||
|
metadata:
|
||||||
|
name: {{ .Values.olmNamespace }}
|
||||||
|
---
|
||||||
|
kind: ServiceAccount
|
||||||
|
apiVersion: v1
|
||||||
|
metadata:
|
||||||
|
name: olm-operator-serviceaccount
|
||||||
|
namespace: {{ .Values.olmNamespace }}
|
||||||
|
---
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: ClusterRole
|
||||||
|
metadata:
|
||||||
|
name: system:controller:operator-lifecycle-manager
|
||||||
|
rules:
|
||||||
|
- apiGroups: ["*"]
|
||||||
|
resources: ["*"]
|
||||||
|
verbs: ["*"]
|
||||||
|
- nonResourceURLs: ["*"]
|
||||||
|
verbs: ["*"]
|
||||||
|
---
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: ClusterRoleBinding
|
||||||
|
metadata:
|
||||||
|
name: olm-operator-cluster-binding-olm
|
||||||
|
roleRef:
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
kind: ClusterRole
|
||||||
|
name: system:controller:operator-lifecycle-manager
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: olm-operator-serviceaccount
|
||||||
|
namespace: {{ .Values.olmNamespace }}
|
||||||
|
---
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: olm-operator
|
||||||
|
namespace: {{ .Values.olmNamespace }}
|
||||||
|
labels:
|
||||||
|
app: olm-operator
|
||||||
|
spec:
|
||||||
|
strategy:
|
||||||
|
type: RollingUpdate
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: olm-operator
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: olm-operator
|
||||||
|
spec:
|
||||||
|
serviceAccountName: olm-operator-serviceaccount
|
||||||
|
containers:
|
||||||
|
- name: olm-operator
|
||||||
|
command:
|
||||||
|
- /bin/olm
|
||||||
|
args:
|
||||||
|
- --namespace
|
||||||
|
- $(OPERATOR_NAMESPACE)
|
||||||
|
- --writeStatusName
|
||||||
|
- ""
|
||||||
|
image: quay.io/operator-framework/olm@sha256:b706ee6583c4c3cf8059d44234c8a4505804adcc742bcddb3d1e2f6eff3d6519
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
ports:
|
||||||
|
- containerPort: 8080
|
||||||
|
- containerPort: 8081
|
||||||
|
name: metrics
|
||||||
|
protocol: TCP
|
||||||
|
livenessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: /healthz
|
||||||
|
port: 8080
|
||||||
|
readinessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: /healthz
|
||||||
|
port: 8080
|
||||||
|
terminationMessagePolicy: FallbackToLogsOnError
|
||||||
|
env:
|
||||||
|
|
||||||
|
- name: OPERATOR_NAMESPACE
|
||||||
|
valueFrom:
|
||||||
|
fieldRef:
|
||||||
|
fieldPath: metadata.namespace
|
||||||
|
- name: OPERATOR_NAME
|
||||||
|
value: olm-operator
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 10m
|
||||||
|
memory: 160Mi
|
||||||
|
|
||||||
|
|
||||||
|
nodeSelector:
|
||||||
|
kubernetes.io/os: linux
|
||||||
|
---
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: catalog-operator
|
||||||
|
namespace: {{ .Values.olmNamespace }}
|
||||||
|
labels:
|
||||||
|
app: catalog-operator
|
||||||
|
spec:
|
||||||
|
strategy:
|
||||||
|
type: RollingUpdate
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: catalog-operator
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: catalog-operator
|
||||||
|
spec:
|
||||||
|
serviceAccountName: olm-operator-serviceaccount
|
||||||
|
containers:
|
||||||
|
- name: catalog-operator
|
||||||
|
command:
|
||||||
|
- /bin/catalog
|
||||||
|
args:
|
||||||
|
- '-namespace'
|
||||||
|
- {{ .Values.olmNamespace }}
|
||||||
|
- -configmapServerImage=quay.io/operator-framework/configmap-operator-registry:latest
|
||||||
|
- -util-image
|
||||||
|
- quay.io/operator-framework/olm@sha256:b706ee6583c4c3cf8059d44234c8a4505804adcc742bcddb3d1e2f6eff3d6519
|
||||||
|
image: quay.io/operator-framework/olm@sha256:b706ee6583c4c3cf8059d44234c8a4505804adcc742bcddb3d1e2f6eff3d6519
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
ports:
|
||||||
|
- containerPort: 8080
|
||||||
|
- containerPort: 8081
|
||||||
|
name: metrics
|
||||||
|
protocol: TCP
|
||||||
|
livenessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: /healthz
|
||||||
|
port: 8080
|
||||||
|
readinessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: /healthz
|
||||||
|
port: 8080
|
||||||
|
terminationMessagePolicy: FallbackToLogsOnError
|
||||||
|
env:
|
||||||
|
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 10m
|
||||||
|
memory: 80Mi
|
||||||
|
|
||||||
|
|
||||||
|
nodeSelector:
|
||||||
|
kubernetes.io/os: linux
|
||||||
|
---
|
||||||
|
kind: ClusterRole
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
metadata:
|
||||||
|
name: aggregate-olm-edit
|
||||||
|
labels:
|
||||||
|
rbac.authorization.k8s.io/aggregate-to-admin: "true"
|
||||||
|
rbac.authorization.k8s.io/aggregate-to-edit: "true"
|
||||||
|
rules:
|
||||||
|
- apiGroups: ["operators.coreos.com"]
|
||||||
|
resources: ["subscriptions"]
|
||||||
|
verbs: ["create", "update", "patch", "delete"]
|
||||||
|
- apiGroups: ["operators.coreos.com"]
|
||||||
|
resources: ["clusterserviceversions", "catalogsources", "installplans", "subscriptions"]
|
||||||
|
verbs: ["delete"]
|
||||||
|
---
|
||||||
|
kind: ClusterRole
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
metadata:
|
||||||
|
name: aggregate-olm-view
|
||||||
|
labels:
|
||||||
|
rbac.authorization.k8s.io/aggregate-to-admin: "true"
|
||||||
|
rbac.authorization.k8s.io/aggregate-to-edit: "true"
|
||||||
|
rbac.authorization.k8s.io/aggregate-to-view: "true"
|
||||||
|
rules:
|
||||||
|
- apiGroups: ["operators.coreos.com"]
|
||||||
|
resources: ["clusterserviceversions", "catalogsources", "installplans", "subscriptions", "operatorgroups"]
|
||||||
|
verbs: ["get", "list", "watch"]
|
||||||
|
- apiGroups: ["packages.operators.coreos.com"]
|
||||||
|
resources: ["packagemanifests", "packagemanifests/icon"]
|
||||||
|
verbs: ["get", "list", "watch"]
|
||||||
|
---
|
||||||
|
apiVersion: operators.coreos.com/v1
|
||||||
|
kind: OperatorGroup
|
||||||
|
metadata:
|
||||||
|
name: olm-operators
|
||||||
|
namespace: {{ .Values.olmNamespace }}
|
||||||
|
spec:
|
||||||
|
targetNamespaces:
|
||||||
|
- {{ .Values.olmNamespace }}
|
||||||
|
{{- end}}
|
|
@ -0,0 +1,11 @@
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Namespace
|
||||||
|
metadata:
|
||||||
|
name: {{ .Values.olmOperatorNamespace }}
|
||||||
|
---
|
||||||
|
apiVersion: operators.coreos.com/v1
|
||||||
|
kind: OperatorGroup
|
||||||
|
metadata:
|
||||||
|
name: global-operators
|
||||||
|
namespace: {{ .Values.olmOperatorNamespace }}
|
|
@ -0,0 +1,13 @@
|
||||||
|
apiVersion: operators.coreos.com/v1alpha1
|
||||||
|
kind: CatalogSource
|
||||||
|
metadata:
|
||||||
|
name: pixie-operator-index
|
||||||
|
namespace: {{ .Values.olmOperatorNamespace }}
|
||||||
|
spec:
|
||||||
|
sourceType: grpc
|
||||||
|
image: gcr.io/pixie-oss/pixie-prod/operator/bundle_index:0.0.1
|
||||||
|
displayName: Pixie Vizier Operator
|
||||||
|
publisher: px.dev
|
||||||
|
updateStrategy:
|
||||||
|
registryPoll:
|
||||||
|
interval: 10m
|
|
@ -0,0 +1,11 @@
|
||||||
|
apiVersion: operators.coreos.com/v1alpha1
|
||||||
|
kind: Subscription
|
||||||
|
metadata:
|
||||||
|
name: pixie-operator-subscription
|
||||||
|
namespace: {{ .Values.olmOperatorNamespace }}
|
||||||
|
spec:
|
||||||
|
channel: {{ .Values.olmBundleChannel }}
|
||||||
|
name: pixie-operator
|
||||||
|
source: pixie-operator-index
|
||||||
|
sourceNamespace: {{ .Values.olmOperatorNamespace }}
|
||||||
|
installPlanApproval: Automatic
|
|
@ -0,0 +1,85 @@
|
||||||
|
apiVersion: px.dev/v1alpha1
|
||||||
|
kind: Vizier
|
||||||
|
metadata:
|
||||||
|
name: {{ .Values.name }}
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
spec:
|
||||||
|
{{- if .Values.version }}
|
||||||
|
version: {{ .Values.version }}
|
||||||
|
{{- end }}
|
||||||
|
deployKey: {{ .Values.deployKey }}
|
||||||
|
{{- if .Values.customDeployKeySecret }}
|
||||||
|
customDeployKeySecret: {{ .Values.customDeployKeySecret }}
|
||||||
|
{{- end }}
|
||||||
|
cloudAddr: {{ .Values.cloudAddr }}
|
||||||
|
disableAutoUpdate: {{ .Values.disableAutoUpdate }}
|
||||||
|
useEtcdOperator: {{ .Values.useEtcdOperator }}
|
||||||
|
{{- if .Values.clusterName }}
|
||||||
|
clusterName: {{ .Values.clusterName }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.devCloudNamespace }}
|
||||||
|
devCloudNamespace: {{ .Values.devCloudNamespace }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.pemMemoryLimit }}
|
||||||
|
pemMemoryLimit: {{ .Values.pemMemoryLimit }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.pemMemoryRequest }}
|
||||||
|
pemMemoryRequest: {{ .Values.pemMemoryRequest }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.dataAccess }}
|
||||||
|
dataAccess: {{ .Values.dataAccess }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.patches }}
|
||||||
|
patches: {{ .Values.patches | toYaml | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.dataCollectorParams }}
|
||||||
|
dataCollectorParams:
|
||||||
|
{{- if .Values.dataCollectorParams.datastreamBufferSize }}
|
||||||
|
datastreamBufferSize: {{ .Values.dataCollectorParams.datastreamBufferSize }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.dataCollectorParams.datastreamBufferSpikeSize }}
|
||||||
|
datastreamBufferSpikeSize: {{ .Values.dataCollectorParams.datastreamBufferSpikeSize }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.dataCollectorParams.customPEMFlags }}
|
||||||
|
customPEMFlags:
|
||||||
|
{{- range $key, $value := .Values.dataCollectorParams.customPEMFlags}}
|
||||||
|
{{$key}}: "{{$value}}"
|
||||||
|
{{- end}}
|
||||||
|
{{- end }}
|
||||||
|
{{- end}}
|
||||||
|
{{- if .Values.leadershipElectionParams }}
|
||||||
|
leadershipElectionParams:
|
||||||
|
{{- if .Values.leadershipElectionParams.electionPeriodMs }}
|
||||||
|
electionPeriodMs: {{ .Values.leadershipElectionParams.electionPeriodMs }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if or .Values.pod.securityContext (or .Values.pod.nodeSelector (or .Values.pod.annotations (or .Values.pod.labels .Values.pod.resources))) }}
|
||||||
|
pod:
|
||||||
|
{{- if .Values.pod.annotations }}
|
||||||
|
annotations: {{ .Values.pod.annotations | toYaml | nindent 6 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.pod.labels }}
|
||||||
|
labels: {{ .Values.pod.labels | toYaml | nindent 6 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.pod.resources }}
|
||||||
|
resources: {{ .Values.pod.resources | toYaml | nindent 6 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.pod.nodeSelector }}
|
||||||
|
nodeSelector: {{ .Values.pod.nodeSelector | toYaml | nindent 6 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.pod.securityContext }}
|
||||||
|
securityContext:
|
||||||
|
enabled: {{ .Values.pod.securityContext.enabled }}
|
||||||
|
{{- if .Values.pod.securityContext.enabled }}
|
||||||
|
{{- if .Values.pod.securityContext.fsGroup }}
|
||||||
|
fsGroup: {{ .Values.pod.securityContext.fsGroup }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.pod.securityContext.runAsUser }}
|
||||||
|
runAsUser: {{ .Values.pod.securityContext.runAsUser }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.pod.securityContext.runAsGroup }}
|
||||||
|
runAsGroup: {{ .Values.pod.securityContext.runAsGroup }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
|
@ -0,0 +1,25 @@
|
||||||
|
apiVersion: batch/v1
|
||||||
|
kind: Job
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
helm.sh/hook: pre-delete
|
||||||
|
helm.sh/hook-delete-policy: hook-succeeded
|
||||||
|
name: vizier-deleter
|
||||||
|
namespace: '{{ .Release.Namespace }}'
|
||||||
|
spec:
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
name: vizier-deleter
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- env:
|
||||||
|
- name: PL_NAMESPACE
|
||||||
|
valueFrom:
|
||||||
|
fieldRef:
|
||||||
|
fieldPath: metadata.namespace
|
||||||
|
- name: PL_VIZIER_NAME
|
||||||
|
value: '{{ .Values.name }}'
|
||||||
|
image: gcr.io/pixie-oss/pixie-prod/operator/vizier_deleter:0.0.25
|
||||||
|
name: delete-job
|
||||||
|
restartPolicy: Never
|
||||||
|
serviceAccountName: pl-deleter-service-account
|
|
@ -0,0 +1,55 @@
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: pl-deleter-service-account
|
||||||
|
---
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: ClusterRoleBinding
|
||||||
|
metadata:
|
||||||
|
name: pl-deleter-binding
|
||||||
|
roleRef:
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
kind: ClusterRole
|
||||||
|
name: pl-deleter-role
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: pl-deleter-service-account
|
||||||
|
namespace: "{{ .Release.Namespace }}"
|
||||||
|
---
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: ClusterRole
|
||||||
|
metadata:
|
||||||
|
name: pl-deleter-role
|
||||||
|
rules:
|
||||||
|
# Allow actions on Kubernetes objects
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
- apps
|
||||||
|
- rbac.authorization.k8s.io
|
||||||
|
- extensions
|
||||||
|
- etcd.database.coreos.com
|
||||||
|
- batch
|
||||||
|
- nats.io
|
||||||
|
- policy
|
||||||
|
resources:
|
||||||
|
- clusterroles
|
||||||
|
- clusterrolebindings
|
||||||
|
- configmaps
|
||||||
|
- secrets
|
||||||
|
- pods
|
||||||
|
- services
|
||||||
|
- deployments
|
||||||
|
- daemonsets
|
||||||
|
- persistentvolumes
|
||||||
|
- persistentvolumeclaims
|
||||||
|
- roles
|
||||||
|
- rolebindings
|
||||||
|
- serviceaccounts
|
||||||
|
- etcdclusters
|
||||||
|
- statefulsets
|
||||||
|
- cronjobs
|
||||||
|
- jobs
|
||||||
|
- natsclusters
|
||||||
|
- podsecuritypolicies
|
||||||
|
verbs: ["*"]
|
|
@ -0,0 +1,69 @@
|
||||||
|
## OLM configuration
|
||||||
|
# OLM is used for deploying and ensuring the operator is up-to-date.
|
||||||
|
# deployOLM indicates whether OLM should be deployed. This should only be
|
||||||
|
# disabled if an instance of OLM is already configured on the cluster.
|
||||||
|
# Should be string "true" if true, but "false" otherwise. If empty, defaults
|
||||||
|
# to whether OLM is present in the cluster.
|
||||||
|
deployOLM: ""
|
||||||
|
# The namespace that olm should run in. If olm has already been deployed
|
||||||
|
# to the cluster, this should be the namespace that olm is already running in.
|
||||||
|
olmNamespace: "olm"
|
||||||
|
# The namespace which olm operators should run in. If olm has already
|
||||||
|
# been deployed to the cluster, this should be the namespace that the olm operators
|
||||||
|
# are running in.
|
||||||
|
olmOperatorNamespace: "px-operator"
|
||||||
|
# The bundle channel which OLM should listen to for the Vizier operator bundles.
|
||||||
|
# Should be "stable" for production-versions of the operator, and "test" for release candidates.
|
||||||
|
olmBundleChannel: "stable"
|
||||||
|
|
||||||
|
## Vizier configuration
|
||||||
|
# The name of the Vizier instance deployed to the cluster.
|
||||||
|
name: "pixie"
|
||||||
|
# The name of the cluster that the Vizier is monitoring. If empty,
|
||||||
|
# a random name will be generated.
|
||||||
|
clusterName: ""
|
||||||
|
# The version of the Vizier instance deployed to the cluster. If empty,
|
||||||
|
# the operator will automatically deploy the latest version.
|
||||||
|
version: ""
|
||||||
|
# The deploy key is used to link the deployed Vizier to a specific user/project.
|
||||||
|
# This is required if not specifying a customDeployKeySecret, and can be generated through the UI or CLI.
|
||||||
|
deployKey: ""
|
||||||
|
# The deploy key may be read from a custom secret in the Pixie namespace. This secret should be formatted where the
|
||||||
|
# key of the deploy key is "deploy-key".
|
||||||
|
customDeployKeySecret: ""
|
||||||
|
# Whether auto-update should be disabled.
|
||||||
|
disableAutoUpdate: false
|
||||||
|
# Whether the metadata service should use etcd for in-memory storage. Recommended
|
||||||
|
# only for clusters which do not have persistent volumes configured.
|
||||||
|
useEtcdOperator: false
|
||||||
|
# The address of the Pixie cloud instance that the Vizier should be connected to.
|
||||||
|
# This should only be updated when using a self-hosted version of Pixie Cloud.
|
||||||
|
cloudAddr: "withpixie.ai:443"
|
||||||
|
# DevCloudNamespace should be specified only for self-hosted versions of Pixie cloud which have no ingress to help
|
||||||
|
# redirect traffic to the correct service. The DevCloudNamespace is the namespace that the dev Pixie cloud is
|
||||||
|
# running on, for example: "plc-dev".
|
||||||
|
devCloudNamespace: ""
|
||||||
|
# A memory limit applied specifically to PEM pods. If none is specified, a default limit of 2Gi is set.
|
||||||
|
pemMemoryLimit: ""
|
||||||
|
# A memory request applied specifically to PEM pods. If none is specified, it will default to pemMemoryLimit.
|
||||||
|
pemMemoryRequest: ""
|
||||||
|
# DataAccess defines the level of data that may be accesssed when executing a script on the cluster.
|
||||||
|
dataAccess: "Full"
|
||||||
|
pod:
|
||||||
|
# Optional custom annotations to add to deployed pods.
|
||||||
|
annotations: {}
|
||||||
|
# Optional custom labels to add to deployed pods.
|
||||||
|
labels: {}
|
||||||
|
resources: {}
|
||||||
|
# limits:
|
||||||
|
# cpu: 500m
|
||||||
|
# memory: 7Gi
|
||||||
|
# requests:
|
||||||
|
# cpu: 100m
|
||||||
|
# memory: 5Gi
|
||||||
|
nodeSelector: {}
|
||||||
|
# A set of custom patches to apply to the deployed Vizier resources.
|
||||||
|
# The key should be the name of the resource to apply the patch to, and the value is the patch to apply.
|
||||||
|
# Currently, only a JSON format is accepted, such as:
|
||||||
|
# `{"spec": {"template": {"spec": { "tolerations": [{"key": "test", "operator": "Exists", "effect": "NoExecute" }]}}}}`
|
||||||
|
patches: {}
|
22
index.yaml
22
index.yaml
|
@ -3463,6 +3463,28 @@ entries:
|
||||||
urls:
|
urls:
|
||||||
- assets/openebs/openebs-1.12.300.tgz
|
- assets/openebs/openebs-1.12.300.tgz
|
||||||
version: 1.12.300
|
version: 1.12.300
|
||||||
|
pixie-operator-chart:
|
||||||
|
- annotations:
|
||||||
|
catalog.cattle.io/certified: partner
|
||||||
|
catalog.cattle.io/display-name: Pixie
|
||||||
|
catalog.cattle.io/release-name: pixie
|
||||||
|
apiVersion: v2
|
||||||
|
created: "2022-05-03T10:40:47.008333989-07:00"
|
||||||
|
description: Pixie is an open source observability tool for Kubernetes applications.
|
||||||
|
Use Pixie to view the high-level state of your cluster and also drill-down into
|
||||||
|
more detailed views.
|
||||||
|
digest: 2eacbbc04c5034e8b435f11ab941719a14760d42b59e3610440132dbbfeb4f48
|
||||||
|
icon: https://raw.githubusercontent.com/cncf/artwork/master/projects/pixie/icon/color/pixie-icon-color.svg
|
||||||
|
keywords:
|
||||||
|
- monitoring
|
||||||
|
- metric
|
||||||
|
- observability
|
||||||
|
kubeVersion: '>=1.16.0'
|
||||||
|
name: pixie-operator-chart
|
||||||
|
type: application
|
||||||
|
urls:
|
||||||
|
- assets/pixie/pixie-operator-chart-0.0.2501.tgz
|
||||||
|
version: 0.0.2501
|
||||||
portshift-operator:
|
portshift-operator:
|
||||||
- annotations:
|
- annotations:
|
||||||
catalog.cattle.io/certified: partner
|
catalog.cattle.io/certified: partner
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
# Pixie
|
||||||
|
|
||||||
|
Pixie is an open source observability tool for Kubernetes applications. Use Pixie to view the high-level state of your cluster (service maps, cluster resources, application traffic) and also drill-down into more detailed views (pod state, flame graphs, individual full-body application requests).
|
||||||
|
|
||||||
|
Three features enable Pixie's magical developer experience:
|
||||||
|
|
||||||
|
- **Auto-telemetry:** Pixie uses eBPF to automatically collect telemetry data such as full-body requests, resource and network metrics, application profiles, and more. See the full list of data sources [here](https://docs.px.dev/about-pixie/data-sources/).
|
||||||
|
|
||||||
|
- **In-Cluster Edge Compute:** Pixie collects, stores and queries all telemetry data locally in the cluster. Pixie uses less than 5% of cluster CPU, and in most cases less than 2%.
|
||||||
|
|
||||||
|
- **Scriptability:** [PxL](https://docs.px.dev/reference/pxl/), Pixie’s flexible Pythonic query language, can be used across Pixie’s UI, CLI, and client APIs.
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
|
||||||
|
You must have either:
|
||||||
|
|
||||||
|
- You need to have a Pixie account and deployment key on [Community Cloud for Pixie](https://withpixie.ai).
|
||||||
|
- Or a Pixie account and deployment key on a [self-hosted Pixie Cloud](https://docs.px.dev/installing-pixie/install-guides/self-hosted-pixie/).
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
questions:
|
||||||
|
- variable: deployKey
|
||||||
|
default: ""
|
||||||
|
required: true
|
||||||
|
type: password
|
||||||
|
label: Pixie Deploy Key
|
||||||
|
group: Deploy Settings
|
||||||
|
description: Your Pixie deploy key. This can be generated through the Pixie CLI (px deploy-key create) or in Pixie's admin UI.
|
|
@ -0,0 +1,17 @@
|
||||||
|
--- charts-original/Chart.yaml
|
||||||
|
+++ charts/Chart.yaml
|
||||||
|
@@ -2,3 +2,14 @@
|
||||||
|
name: pixie-operator-chart
|
||||||
|
type: application
|
||||||
|
version: 0.0.25
|
||||||
|
+kubeVersion: '>=1.16.0'
|
||||||
|
+icon: https://raw.githubusercontent.com/cncf/artwork/master/projects/pixie/icon/color/pixie-icon-color.svg
|
||||||
|
+annotations:
|
||||||
|
+ catalog.cattle.io/certified: partner
|
||||||
|
+ catalog.cattle.io/release-name: pixie
|
||||||
|
+ catalog.cattle.io/display-name: Pixie
|
||||||
|
+description: Pixie is an open source observability tool for Kubernetes applications. Use Pixie to view the high-level state of your cluster and also drill-down into more detailed views.
|
||||||
|
+keywords:
|
||||||
|
+- monitoring
|
||||||
|
+- metric
|
||||||
|
+- observability
|
|
@ -0,0 +1,2 @@
|
||||||
|
url: https://storage.googleapis.com/pixie-operator-charts/pixie-operator-chart-0.0.25.tgz
|
||||||
|
packageVersion: 01
|
Loading…
Reference in New Issue