|
18 | 18 | ** |
19 | 19 | ** This file was automatically generated by the `cloudposse/build-harness`. |
20 | 20 | ** 1) Make all changes to `README.yaml` |
21 | | - ** 2) Run `make init` (you only need to do this once) |
22 | | - ** 3) Run`make readme` to rebuild this file. |
| 21 | + ** 2) Install [atmos](https://atmos.tools/install/) (you only need to do this once) |
| 22 | + ** 3) Run`atmos readme` to rebuild this file. |
23 | 23 | ** |
24 | 24 | ** (We maintain HUNDREDS of open source projects. This is how we maintain our sanity.) |
25 | 25 | ** |
@@ -93,8 +93,49 @@ Build Docker image and push it. |
93 | 93 |
|
94 | 94 |
|
95 | 95 |
|
| 96 | +## Inputs |
| 97 | +<!-- markdownlint-disable --> |
| 98 | +| Name | Description | Default | Required | |
| 99 | +|------|-------------|---------|----------| |
| 100 | +| allow | List of extra privileged entitlement (e.g., network.host,security.insecure) | N/A | false | |
| 101 | +| binfmt-image | Binfmt image | public.ecr.aws/eks-distro-build-tooling/binfmt-misc:qemu-v7.0.0 | false | |
| 102 | +| build-args | List of build-time variables | N/A | false | |
| 103 | +| build-contexts | List of additional build contexts (e.g., name=path) | N/A | false | |
| 104 | +| buildkitd-flags | BuildKit daemon flags | --allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host | false | |
| 105 | +| cache-from | List of external cache sources for buildx (e.g., user/app:cache, type=local,src=path/to/dir) | type=gha | false | |
| 106 | +| cache-to | List of cache export destinations for buildx (e.g., user/app:cache, type=local,dest=path/to/dir) | type=gha,mode=max | false | |
| 107 | +| debug | Enable debug mode | false | false | |
| 108 | +| docker-metadata-pr-head-sha | Set to `true` to tag images with the PR HEAD SHA instead of the merge commit SHA within pull requests. | false | false | |
| 109 | +| driver-opts | List of additional driver-specific options. (eg. image=moby/buildkit:master) | image=public.ecr.aws/vend/moby/buildkit:buildx-stable-1 | false | |
| 110 | +| file | Dockerfile name | Dockerfile | false | |
| 111 | +| image\_name | Image name (excluding registry). Defaults to {{$organization/$repository}}. | | false | |
| 112 | +| inspect | Set to `true` will pull and inspect the image and output it to the step summary. | false | false | |
| 113 | +| login | Docker login | | false | |
| 114 | +| network | Set the networking mode for the RUN instructions during build | N/A | false | |
| 115 | +| no-cache | Send the --no-cache flag to the docker build process | false | false | |
| 116 | +| organization | Organization | N/A | true | |
| 117 | +| password | Docker password | | false | |
| 118 | +| platforms | List of target platforms for build (e.g. linux/amd64,linux/arm64,linux/riscv64,linux/ppc64le,linux/s390x,etc) | linux/amd64 | false | |
| 119 | +| provenance | Generate provenance attestation for the build | N/A | false | |
| 120 | +| registry | Docker registry | N/A | true | |
| 121 | +| repository | Repository | N/A | true | |
| 122 | +| secret-files | List of secret files to expose to the build (e.g., key=filename, MY\_SECRET=./secret.txt) | N/A | false | |
| 123 | +| secrets | List of secrets to expose to the build (e.g., key=string, GIT\_AUTH\_TOKEN=mytoken) | N/A | false | |
| 124 | +| ssh | List of SSH agent socket or keys to expose to the build | N/A | false | |
| 125 | +| tags | List of tags (supports https://github.com/docker/metadata-action#tags-input) | N/A | false | |
| 126 | +| target | Sets the target stage to build | | false | |
| 127 | +| workdir | Working directory | ./ | false | |
| 128 | +<!-- markdownlint-restore --> |
96 | 129 |
|
97 | 130 |
|
| 131 | +## Outputs |
| 132 | +<!-- markdownlint-disable --> |
| 133 | +| Name | Description | |
| 134 | +|------|-------------| |
| 135 | +| image | Docker image name | |
| 136 | +| metadata | Docker image metadata | |
| 137 | +| tag | Docker image tag | |
| 138 | +<!-- markdownlint-restore --> |
98 | 139 |
|
99 | 140 |
|
100 | 141 |
|
@@ -137,36 +178,7 @@ In general, PRs are welcome. We follow the typical "fork-and-pull" Git workflow. |
137 | 178 | 5. **Push** your work back up to your fork |
138 | 179 | 6. Submit a **Pull Request** so that we can review your changes |
139 | 180 |
|
140 | | -**NOTE:** Be sure to merge the latest changes from "upstream" before making a pull request!## Running Terraform Tests |
141 | | - |
142 | | -We use [Atmos](https://atmos.tools) to streamline how Terraform tests are run. It centralizes configuration and wraps common test workflows with easy-to-use commands. |
143 | | - |
144 | | -All tests are located in the [`test/`](test) folder. |
145 | | - |
146 | | -Under the hood, tests are powered by Terratest together with our internal [Test Helpers](https://github.com/cloudposse/test-helpers) library, providing robust infrastructure validation. |
147 | | - |
148 | | -Setup dependencies: |
149 | | -- Install Atmos ([installation guide](https://atmos.tools/install/)) |
150 | | -- Install Go [1.24+ or newer](https://go.dev/doc/install) |
151 | | -- Install Terraform or OpenTofu |
152 | | - |
153 | | -To run tests: |
154 | | - |
155 | | -- Run all tests: |
156 | | - ```sh |
157 | | - atmos test run |
158 | | - ``` |
159 | | -- Clean up test artifacts: |
160 | | - ```sh |
161 | | - atmos test clean |
162 | | - ``` |
163 | | -- Explore additional test options: |
164 | | - ```sh |
165 | | - atmos test --help |
166 | | - ``` |
167 | | -The configuration for test commands is centrally managed. To review what's being imported, see the [`atmos.yaml`](https://raw.githubusercontent.com/cloudposse/.github/refs/heads/main/.github/atmos/terraform-module.yaml) file. |
168 | | - |
169 | | -Learn more about our [automated testing in our documentation](https://docs.cloudposse.com/community/contribute/automated-testing/) or implementing [custom commands](https://atmos.tools/core-concepts/custom-commands/) with atmos. |
| 181 | +**NOTE:** Be sure to merge the latest changes from "upstream" before making a pull request! |
170 | 182 |
|
171 | 183 | ### 🌎 Slack Community |
172 | 184 |
|
|
0 commit comments