-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathplugin.yml
More file actions
168 lines (168 loc) · 5.21 KB
/
plugin.yml
File metadata and controls
168 lines (168 loc) · 5.21 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
name: Docker-Cache
description: Cache Docker images across builds using various registry providers (ECR, GAR, ACR, Buildkite Packages, and Artifactory Docker Registry currently supported)
author: https://github.com/buildkite-plugins
requirements:
- bash
- docker
configuration:
properties:
provider:
type: string
enum: [ecr, gar, buildkite, artifactory, acr]
description: Registry provider type
image:
type: string
description: Docker image name to cache
dockerfile:
type: string
description: Path to Dockerfile
default: "Dockerfile"
dockerfile-inline:
type: string
description: Inline Dockerfile content
context:
type: string
description: Docker build context
default: "."
target:
type: string
description: Target stage for multi-stage builds
build-args:
type: array
items:
type: string
description: Arguments to pass to the Docker build command
additional-build-args:
type: string
description: Additional docker build arguments as a single string
secrets:
type: array
items:
type: string
description: Build secrets
skip-pull-from-cache:
type: boolean
description: Skip pulling image from cache (for cache validation only)
default: false
export-env-variable:
type: string
description: Environment variable name for exporting image reference
default: "BUILDKITE_PLUGIN_DOCKER_IMAGE"
max-age-days:
type: number
description: Maximum age in days for cached images
default: 30
cache-key:
type: [string, array]
description: Cache key components
save:
type: boolean
description: Whether to save cache after build
default: true
restore:
type: boolean
description: Whether to restore cache before build
default: true
tag:
type: string
description: Tag for the cached image
default: "cache"
strategy:
type: string
enum: [artifact, build, hybrid]
description: Caching strategy to use
default: "hybrid"
ecr:
type: object
description: ECR-specific configuration
properties:
region:
type: string
description: AWS region for ECR registry
account-id:
type: string
description: AWS account ID
registry-url:
type: string
description: ECR registry URL
additionalProperties: false
gar:
type: object
description: GAR-specific configuration
properties:
project:
type: string
description: Google Cloud project ID
region:
type: string
description: GAR region (e.g. "us") or full GAR host (e.g. "europe-west10-docker.pkg.dev")
default: "us"
repository:
type: string
description: Artifact Registry repository name (defaults to the image name when omitted)
additionalProperties: false
buildkite:
type: object
description: Buildkite Packages Container Registry configuration
properties:
org-slug:
type: string
description: Buildkite organization slug (defaults to BUILDKITE_ORGANIZATION_SLUG environment variable)
registry-slug:
type: string
description: Container registry slug (defaults to the image name when omitted)
auth-method:
type: string
enum: [api-token, oidc]
description: Authentication method
default: "api-token"
api-token:
type: string
description: Buildkite API token with Read Packages and Write Packages scopes (required when auth-method is api-token)
additionalProperties: false
artifactory:
type: object
description: Artifactory Docker Registry configuration
properties:
registry-url:
type: string
description: Artifactory registry URL (e.g., "myjfroginstance.jfrog.io")
username:
type: string
description: Username (typically email address) for Artifactory authentication
identity-token:
type: string
description: Artifactory identity token for authentication
repository:
type: string
description: Artifactory repository name (defaults to the image name when omitted)
required:
- registry-url
- username
- identity-token
additionalProperties: false
acr:
type: object
description: Azure Container Registry configuration
properties:
registry-name:
type: string
description: ACR registry name (e.g., "myregistry" for myregistry.azurecr.io)
repository:
type: string
description: ACR repository name (defaults to the image name when omitted)
required:
- registry-name
additionalProperties: false
verbose:
type: boolean
description: Enable verbose logging
default: false
fallback-tag:
type: string
description: Tag used for layer caching fallback when no exact cache match exists
default: "latest"
required:
- provider
- image
additionalProperties: false