You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/howto/use_package_storage_v2.md
-54Lines changed: 0 additions & 54 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -41,57 +41,3 @@ We identified a few issues in v1 design, we couldn't easily overcome or patch:
41
41
4. Enable validation for incoming packages (spec and signatures).
42
42
5. Support package signatures. It wasn't possible to calculate the signature for unarchived package directories.
43
43
44
-
## What should a package owner do to automatically publish their packages?
45
-
46
-
### Existing packages
47
-
48
-
Package revisions already deployed in the production Package Storage (present in the `production` branch of the [package-storage](https://github.com/elastic/package-storage))
49
-
are automatically synced with the new storage. In this case we disable the validation as some older packages will not be able
50
-
to pass current spec requirements.
51
-
52
-
Sync between v1 and v2 will be enabled until we officially deprecate the v1 storage (no more PRs or promotions).
53
-
54
-
### Next revisions
55
-
56
-
Before we deprecate the v1 storage, package owners will have to adjust their releasing pipelines to submit packages
57
-
to the new destination. Every package candidate should be submitted together with a corresponding signature, generated
58
-
using the [Elastic signing pipeline](https://internal-ci.elastic.co/job/elastic+unified-release+master+sign-artifacts-with-gpg/).
59
-
60
-
Here is the list of requirements and code modifications based on the `beats-ci`.
61
-
62
-
#### Requirements
63
-
64
-
1. CI job signing credentials (`sign-artifacts-with-gpg-job`) - use them to call the signing pipeline on
65
-
the `internal-ci` Jenkins instance. The pipeline will sign artifacts uploaded to the signing bucket and upload there their signatures.
66
-
2. Signing bucket credentials (`internal-ci-gcs-plugin`) - use them to upload zipped packages to be signed
67
-
and download matching signatures.
68
-
3. Package Storage GCP uploader credentials (`upload-package-to-package-storage`) - use them to upload a package candidate to the "queue" bucket.
69
-
The candidates will be picked by the publishing job and removed after processing.
70
-
4. Package Storage uploader secret (`secret/gce/elastic-bekitzur/service-account/package-storage-uploader`) - use it to kick off
71
-
the publishing job to process the uploaded candidate.
72
-
73
-
#### Code modifications
74
-
75
-
These code modifications refer to the Jenkinsfile/groovy files, which will orchestrate the Jenkins worker to sign the package
76
-
and publish it using the Package Storage publishing job.
77
-
78
-
Function [packageStoragePublish(...)](https://github.com/elastic/elastic-package/blob/f8f678d20b9b60d438188e8dfd2fb4e7519b5a69/.ci/package-storage-publish.groovy#L70)
79
-
80
-
##### Sign the package candidate
81
-
82
-
Function [signUnpublishedArtifactsWithElastic(...)](https://github.com/elastic/elastic-package/blob/f8f678d20b9b60d438188e8dfd2fb4e7519b5a69/.ci/package-storage-publish.groovy#L87-L122).
83
-
84
-
1. Check if the package has been already published (HTTP request to EPR).
85
-
2. Upload the package candidate to the signing bucket.
86
-
3. Call the Elastic signing pipeline to create matching signatures. The pipeline signs them using the Elastic private key.
87
-
4. Once the job succeeded, download package signatures.
88
-
89
-
##### Publish the package candidate
90
-
91
-
Function [uploadUnpublishedToPackageStorage(...)](https://github.com/elastic/elastic-package/blob/f8f678d20b9b60d438188e8dfd2fb4e7519b5a69/.ci/package-storage-publish.groovy#L124-L151).
92
-
93
-
1. Check if the package has been already published (HTTP request to EPR).
94
-
2. Upload the package candidate to the special "queue" bucket - `elastic-bekitzur-package-storage-internal`.
95
-
3. Call the [publishing job](https://internal-ci.elastic.co/job/package_storage/job/publishing-job-remote/). The publishing jobs verifies
96
-
correctness of the package format and corresponding signature. Next, the job extracts static resources, uploads the zipped package
97
-
to the public bucket, and schedules indexing in background.
0 commit comments