@@ -19,12 +19,11 @@ ci: {
1919 role: "arn:aws:iam::123456:role/ci"
2020 }
2121 earthly: {
22- credentials: {
22+ satellite: credentials: {
2323 provider: "aws"
2424 path: "path/to/secret"
2525 }
26- org: "myorg"
27- satellite: "sat"
26+ version: "latest"
2827 }
2928 }
3029}
@@ -52,10 +51,32 @@ jobs:
5251
5352The action will then perform the following:
5453
55- 1. Install the latest version of the Forge CLI
56- 2. Authenticate to AWS via OIDC
57- 3. Authenticate to Earthly Cloud using the credentials in the AWS Secrets Manager secret stored at ` path/to/secret`
58- 4. Set the default Earthly Cloud organization to `myorg`
54+ 1. **AWS Provider Setup** (if configured):
55+ - Authenticate to AWS using OIDC with the configured role
56+ - Login to Amazon ECR if a registry is specified
57+
58+ 2. **Docker Provider Setup** (if configured):
59+ - Login to Docker Hub using credentials from the configured secret
60+
61+ 3. **GitHub Provider Setup** (if configured):
62+ - Login to GitHub Container Registry (ghcr.io) using the GitHub token
63+
64+ 4. **Earthly Provider Setup** (if configured):
65+ - Install Earthly CLI (latest or specified version)
66+ - Configure remote Earthly satellite authentication if credentials are provided
67+
68+ 5. **Timoni Provider Setup** (if configured):
69+ - Install Timoni CLI with the specified version
70+
71+ 6. **CUE Provider Setup** (if configured):
72+ - Install CUE CLI with the specified version
73+
74+ 7. **KCL Provider Setup** (if configured):
75+ - Install KCL CLI with the specified version
76+
77+ 8. **Tailscale Provider Setup** (if configured):
78+ - Install and configure Tailscale using OAuth2 credentials
79+ - Apply specified tags to the Tailscale node
5980
6081### Configuring Providers
6182
@@ -70,7 +91,15 @@ The below list documents the expected format for each provider:
7091 - ` username`: The username to login with
7192 - `password` : The password to login with
72931. Earthly
73- - `token` : The Earthly Cloud token to login with
94+ - `ca_certificate` : Base64-encoded string containing the common CA certificate for mTLS
95+ - `certificate` : Base64 encoded string containing the (signed) client certificate used to authenticate with the satellite
96+ - `private_key` : Base64 encoded string containing the private key used to authenticate with the satellite
97+ - `host` : The address of the remote satellite in the form of `tcp://hostname:8372`
98+ 1. Tailscale
99+ - `client_id` : The OAuth2 client ID used to authenticate with the Tailscale API
100+ - `client_secret` : The OAuth2 secret key used to authenticate with the Tailscale API
101+ 1. GitHub
102+ - `token` : The access token used to authenticate with GitHub
74103
75104If the secret uses a different format, the `maps` field of the secret can be used to map them correctly :
76105
@@ -103,7 +132,15 @@ Note that this _only_ works when run within the Catalyst Forge repository.
103132
104133# # Inputs
105134
106- | Name | Description | Required | Default |
107- | ------------- | ---------------------------------------- | -------- | ----------------------- |
108- | forge_version | The version of the forge CLI to install | No | `"latest"` |
109- | github_token | The GitHub token used for authentication | No | `"${{ github.token }}"` |
135+ | Name | Description | Required | Default |
136+ | ---------------------- | -------------------------------------------------------------------- | -------- | ----------------------- |
137+ | github_token | The GitHub token used for authentication | No | `"${{ github.token }}"` |
138+ | skip_aws | If true, skip authenticating with AWS and configuring ECR | No | `"false"` |
139+ | skip_cue | If true, skips installing CUE CLI if the provider is configured | No | `"false"` |
140+ | skip_docker | If true, skip authenticating to DockerHub | No | `"false"` |
141+ | skip_earthly_install | If true, skip installing Earthly | No | `"false"` |
142+ | skip_earthly_satellite | If true, skip adding authentication for the remote Earthly satellite | No | `"false"` |
143+ | skip_github | If true, skip authenticating to GitHub Container Registry | No | `"false"` |
144+ | skip_kcl | If true, skips installing KCL CLI if the provider is configured | No | `"false"` |
145+ | skip_tailscale | If true, skips installing and authenticating with skip_tailscale | No | `"false"` |
146+ | skip_timoni | If true, skips installing Timoni CLI if the provider is configured | No | `"false"` |
0 commit comments