Skip to content

Commit

Permalink
feat: create cloud-provider-aws package (#32105)
Browse files Browse the repository at this point in the history
This package has two subpackages: aws-cloud-controller-manager and
ecr-credential-provider

https://github.com/chainguard-dev/image-requests/issues/4932

<!---
Provide a short summary in the Title above. Examples of good PR titles:
* "ruby-3.1: new package"
* "haproxy: fix CVE-2014-123456"
-->

<!--
Please include references to any related issues or delete this section
otherwise.
 -->

Fixes:

Related:

### Pre-review Checklist

<!--
This checklist is mostly useful as a reminder of small things that can
easily be
forgotten – it is meant as a helpful tool rather than hoops to jump
through.

At the moment of this PR you have the most information on what all the
change
will affect, so please take the time to jot it down.

Put an `x` in all the items that apply, make notes next to any that
haven't been
addressed, and remove any items that are not relevant to this PR.

-->

#### For new package PRs only
<!-- remove if unrelated -->
- [ ] This PR is marked as fixing a pre-existing package request bug
- [ ] Alternatively, the PR is marked as related to a pre-existing
package request bug, such as a dependency
- [ ] REQUIRED - The package is available under an OSI-approved or
FSF-approved license
- [ ] REQUIRED - The version of the package is still receiving security
updates
- [ ] This PR links to the upstream project's support policy (e.g.
`endoflife.date`)

#### For new version streams
<!-- remove if unrelated -->
- [ ] The upstream project actually supports multiple concurrent
versions.
- [ ] Any subpackages include the version string in their package name
(e.g. `name: ${{package.name}}-compat`)
- [ ] The package (and subpackages) `provides:` logical unversioned
forms of the package (e.g. `nodejs`, `nodejs-lts`)
- [ ] If non-streamed package names no longer built, open PR to withdraw
them (see [WITHDRAWING
PACKAGES](https://github.com/wolfi-dev/os/blob/main/WITHDRAWING_PACKAGES.md))

#### For package updates (renames) in the base images
<!-- remove if unrelated -->
When updating packages part of base images (i.e.
cgr.dev/chainguard/wolfi-base or ghcr.io/wolfi-dev/sdk)
- [ ] REQUIRED cgr.dev/chainguard/wolfi-base and ghcr.io/wolfi-dev/sdk
images successfully build
- [ ] REQUIRED cgr.dev/chainguard/wolfi-base and ghcr.io/wolfi-dev/sdk
contain no obsolete (no longer built) packages
- [ ] Upon launch, does `apk upgrade --latest` successfully upgrades
packages or performs no actions

#### For security-related PRs
<!-- remove if unrelated -->
- [ ] The security fix is recorded in the
[advisories](https://github.com/wolfi-dev/advisories) repo

#### For version bump PRs
<!-- remove if unrelated -->
- [ ] The `epoch` field is reset to 0

#### For PRs that add patches
<!-- remove if unrelated -->
- [ ] Patch source is documented

---------

Signed-off-by: Sam Singh Anantha <[email protected]>
  • Loading branch information
sanghanan authored Nov 1, 2024
1 parent 0a58c59 commit f6bc9a4
Showing 1 changed file with 61 additions and 0 deletions.
61 changes: 61 additions & 0 deletions cloud-provider-aws-1.31.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
package:
name: cloud-provider-aws-1.31
version: 1.31.1
epoch: 0
description: The AWS cloud provider provides the interface between a Kubernetes cluster and AWS service APIs.
copyright:
- license: Apache-2.0

pipeline:
- uses: git-checkout
with:
repository: https://github.com/kubernetes/cloud-provider-aws
tag: v${{package.version}}
expected-commit: 94cb7eefd72f6577a0f7840f61a47ebd4aed06f4

subpackages:
- name: ${{package.name}}-cloud-controller-manager
description: The AWS Cloud Controller Manager is the controller that is primarily responsible for creating and updating AWS loadbalancers (classic and NLB) and node lifecycle management.
pipeline:
- uses: go/build
with:
packages: ./cmd/aws-cloud-controller-manager
output: aws-cloud-controller-manager
ldflags: |
-X k8s.io/component-base/version.gitVersion=v${{package.version}}
-X main.gitVersion=v${{package.version}}
test:
pipeline:
- runs: |
aws-cloud-controller-manager --help
aws-cloud-controller-manager --version
- name: ${{package.name}}-ecr-credential-provider
description: The credential provider is a binary that is executed by kubelet to provide credentials for images in ECR.
pipeline:
- uses: go/build
with:
packages: ./cmd/ecr-credential-provider
output: ecr-credential-provider
ldflags: |
-X k8s.io/component-base/version.gitVersion=v${{package.version}}
-X main.gitVersion=v${{package.version}}
test:
pipeline:
- runs: |
ecr-credential-provider --help
ecr-credential-provider --version
- name: "${{package.name}}-cloud-controller-manager-compat"
description: "Compatibility package to place binaries in the location expected by upstream Dockerfile"
pipeline:
- runs: |
mkdir -p "${{targets.contextdir}}/bin"
ln -sf /usr/bin/aws-cloud-controller-manager ${{targets.contextdir}}/bin/aws-cloud-controller-manager
update:
enabled: true
github:
identifier: kubernetes/cloud-provider-aws
strip-prefix: v
tag-filter: v1.31

0 comments on commit f6bc9a4

Please sign in to comment.