-
Notifications
You must be signed in to change notification settings - Fork 13
Expand file tree
/
Copy pathvalues.yaml
More file actions
196 lines (170 loc) · 7.85 KB
/
Copy pathvalues.yaml
File metadata and controls
196 lines (170 loc) · 7.85 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
# Default values for jfrog-credential-provider
# This is a YAML-formatted file.
# Download URL for the credential provider binary
# The chart will automatically append the architecture suffix (-amd64 or -arm64)
downloadUrl: "https://releases.jfrog.io/artifactory/run/jfrog-credentials-provider/1.4.0/jfrog-credential-provider-linux"
# Kubernetes distribution (optional). Omit for EKS, AKS, and GKE (default behavior).
# Set to "openshift" for OpenShift on AWS or Azure — see OpenShift.md.
# tokenAttributes (projected service accounts): OpenShift 4.21+ only (not 4.20).
# platform: openshift
# OpenShift only (ignored when platform is not openshift)
openshift:
# RoleBinding to system:openshift:scc:privileged for the chart ServiceAccount.
grantPrivilegedSCC: false
# Apply privileged Pod Security labels on the release namespace (see OpenShift.md).
# When true, create the namespace before helm install; do not use helm --create-namespace.
labelNamespacePodSecurity: true
# Writable host path for plugin binaries on OpenShift (RHCOS /usr is read-only; bind-mounted at runtime).
stagingBinaryDir: /var/lib/jfrog-credential-provider/bin
# Kubelet plugin directory on the node (bind-mount target). Override if your OpenShift version uses a different path.
targetBinaryDir: /usr/libexec/kubelet-image-credential-provider-plugins
# Directory containing the platform kubelet credential provider YAML (merged with JFrog config).
targetProviderConfigDir: /etc/kubernetes/credential-providers
# Authentication for downloading the provider binary from a private Artifactory instance.
# Leave all fields empty for anonymous/public download (default behaviour).
binaryDownload:
auth:
# Name of an existing Kubernetes Secret containing download credentials.
# The Secret must have fixed keys: username, password, accessToken.
# When set, the inline username/password/accessToken fields below are ignored.
existingSecret: ""
# Inline credentials — the chart creates a Secret automatically from these values.
# Use either username + password OR accessToken alone, not both.
username: ""
password: ""
accessToken: ""
# Offline / AMI-baked binary mode.
# If set, the curl download is skipped entirely. The value must be the full file path on the node
# to the provider binary (baked into the AMI or placed by node bootstrap).
# Must be a file path without trailing slashes (e.g. /opt/jfrog-cp/binary-amd64, not /opt/jfrog-cp/).
# The binary must match the node's architecture; there is no automatic arch suffixing.
# Example: internalBinaryHostPath: "/opt/jfrog-cp/jfrog-credential-provider-linux-amd64"
internalBinaryHostPath: ""
# Affinity rules for pod scheduling
affinity: {}
# Tolerations for pod scheduling
tolerations: []
# Additional labels to apply to all resources
labels: {}
# Resources for the pause container
resources: {}
# Enable automatic upgrade of the credential provider binary
# Note: must be false when internalBinaryHostPath or binaryDownload.auth is used.
autoUpgrade: false
# Log level for the credential provider binary
# Supported values: "INFO" (default), "DEBUG"
logLevel: "INFO"
# Container logging configuration
# When enabled, the DaemonSet main container tails the credential provider log file
# from the host, making logs accessible via kubectl logs
containerLogging:
enabled: false
# Init container configuration
initContainer:
image:
registry: releases-docker.jfrog.io
repository: jfrog/alpine-with-tools
tag: "3.21.0"
# digest: sha256:...
pullPolicy: IfNotPresent
resources: {}
# Pause container image configuration
image:
registry: releases-docker.jfrog.io
repository: pause
tag: "3.7"
# digest: sha256:...
pullPolicy: IfNotPresent
# Image pull secrets for the daemonset
imagePullSecrets: []
# RBAC configuration
# Note: RBAC is only required for AWS when using service account token projection (KEP 4412)
# The chart will automatically create RBAC resources only when AWS and rbac.create is true
rbac:
create: false # Set to true to enable RBAC (only needed for AWS with tokenAttributes enabled)
role:
## Rules to create. It follows the role specification
# This applies to the subject system:nodes
# Required for AWS IRSA (IAM Roles for Service Accounts) with service account token projection
additionalRules: []
# Custom volumes to add to the daemonset
customVolumes: |
# Custom volume mounts to add to the init container
customVolumeMounts: |
## Allows to add additional kubernetes resources
## Use --- as a separator between multiple resources
additionalResources: |
# Provider configuration
# Supports multiple providers, each with cloud-specific settings
providerConfig:
- name: jfrog-credentials-provider
artifactoryUrl: your-org.jfrog.io
# http_timeout_seconds: 30
matchImages:
- "*.jfrog.io"
defaultCacheDuration: 15m
# KEP 4412: Service Account Token Projection
# Enable service account token projection for this provider
# Only supported for AWS at the moment
tokenAttributes:
enabled: false
# AWS configuration
aws:
enabled: false
aws_auth_method: "assume_role" # Options: "assume_role", "assume_external_role", or "cognito_oidc"
# aws_region: "" # Optional: explicit AWS region (e.g. "us-east-1"). If empty, resolved from EC2 metadata.
# IAM role ARN for assume_role (EKS node role or fallback). Not used on OpenShift with
# tokenAttributes.requireServiceAccount — omit aws_role_name there; IRSA uses SA annotations.
aws_role_name: "dummy"
# Secret TTL should be greater than defaultCacheDuration
# only applicable for assume_role / assume_external_role methods
secret_ttl_seconds: 14400
# For assume_external_role method, the node's IAM role directly assumes
# aws_external_role_arn (typically in another AWS account) via STS to
# obtain the credentials used to fetch the Artifactory token.
# aws_role_name is not used in this flow.
# aws_external_role_arn: ""
# aws_external_role_session_duration_seconds: 3600 # max 43200
# For OIDC method, additional variables can be added here
# aws_cognito_user_pool_secret_name: ""
# aws_cognito_user_pool_name: ""
# aws_cognito_resource_server_name: ""
# aws_cognito_user_pool_resource_scope: ""
# jfrog_oidc_provider_name: ""
# GCP configuration
gcp:
enabled: false
# GCP-specific environment variables
# google_service_account_email: ""
# jfrog_oidc_audience: ""
# jfrog_oidc_provider_name: ""
# Azure configuration
azure:
enabled: false
# If you are installing this for the first time, set azure_auth_method to "imds_direct" for non-projected token appraoch
# More information: https://github.com/jfrog/jfrog-credentials-provider/blob/main/AZURE.md#imds-direct-authentication
# azure_auth_method: "imds_direct"
# If you are using a custom app uri, set azure_app_uri to the custom app uri, default is api://<azure_app_client_id> if not set
# azure_app_uri: "api://<azure_app_client_id>"
azure_app_client_id: ""
# azure_cloud_name: "AzureCloud"
azure_tenant_id: ""
# audience must match artifactory's oidc configuration
azure_app_audience: ""
jfrog_oidc_provider_name: ""
azure_nodepool_client_id: ""
# Audience requested for the resulting Artifactory token during the OIDC token exchange.
# Defaults to "*@*" when unset, which matches the documented identity mapping token_spec.audience.
# Only set this if your Artifactory OIDC identity mapping uses a non-wildcard token_spec.audience.
# jfrog_token_audience: "*@*"
# Update strategy for the daemonset
updateStrategy: {}
# Node selector for daemonset
nodeSelector: {}
# Priority class name for the daemonset
priorityClassName: ""
# Service account configuration
serviceAccount:
create: true
name: ""
annotations: {}