@cloudsnorkel/cdk-github-runners 0.3.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +124 -10
- package/API.md +122 -7
- package/lib/lambdas/delete-runner/index.js +2 -2
- package/lib/lambdas/setup/index.js +71 -23
- package/lib/lambdas/status/index.js +2 -2
- package/lib/lambdas/token-retriever/index.js +2 -2
- package/lib/providers/codebuild.js +1 -1
- package/lib/providers/common.js +3 -3
- package/lib/providers/docker-images/codebuild/linux-arm64/Dockerfile +5 -1
- package/lib/providers/docker-images/codebuild/linux-x64/Dockerfile +5 -1
- package/lib/providers/docker-images/fargate/linux-arm64/Dockerfile +5 -1
- package/lib/providers/docker-images/fargate/linux-x64/Dockerfile +5 -1
- package/lib/providers/docker-images/lambda/linux-arm64/Dockerfile +4 -0
- package/lib/providers/docker-images/lambda/linux-x64/Dockerfile +4 -0
- package/lib/providers/fargate.js +1 -1
- package/lib/providers/image-builders/codebuild.d.ts +8 -0
- package/lib/providers/image-builders/codebuild.js +17 -3
- package/lib/providers/image-builders/static.js +1 -1
- package/lib/providers/lambda.js +1 -1
- package/lib/runner.d.ts +54 -7
- package/lib/runner.js +32 -10
- package/lib/secrets.js +1 -1
- package/package.json +4 -4
|
@@ -7585,7 +7585,7 @@ var require_dist_node10 = __commonJS({
|
|
|
7585
7585
|
"node_modules/@octokit/plugin-paginate-rest/dist-node/index.js"(exports2) {
|
|
7586
7586
|
"use strict";
|
|
7587
7587
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
7588
|
-
var VERSION = "2.
|
|
7588
|
+
var VERSION = "2.20.0";
|
|
7589
7589
|
function ownKeys(object, enumerableOnly) {
|
|
7590
7590
|
var keys = Object.keys(object);
|
|
7591
7591
|
if (Object.getOwnPropertySymbols) {
|
|
@@ -7713,7 +7713,7 @@ var require_dist_node10 = __commonJS({
|
|
|
7713
7713
|
var composePaginateRest = Object.assign(paginate, {
|
|
7714
7714
|
iterator
|
|
7715
7715
|
});
|
|
7716
|
-
var paginatingEndpoints = ["GET /app/hook/deliveries", "GET /app/installations", "GET /applications/grants", "GET /authorizations", "GET /enterprises/{enterprise}/actions/permissions/organizations", "GET /enterprises/{enterprise}/actions/runner-groups", "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations", "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners", "GET /enterprises/{enterprise}/actions/runners", "GET /enterprises/{enterprise}/actions/runners/downloads", "GET /enterprises/{enterprise}/actions/runners/{runner_id}/labels", "GET /enterprises/{enterprise}/secret-scanning/alerts", "GET /events", "GET /gists", "GET /gists/public", "GET /gists/starred", "GET /gists/{gist_id}/comments", "GET /gists/{gist_id}/commits", "GET /gists/{gist_id}/forks", "GET /installation/repositories", "GET /issues", "GET /marketplace_listing/plans", "GET /marketplace_listing/plans/{plan_id}/accounts", "GET /marketplace_listing/stubbed/plans", "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts", "GET /networks/{owner}/{repo}/events", "GET /notifications", "GET /organizations", "GET /organizations/{organization_id}/custom_roles", "GET /orgs/{org}/actions/permissions/repositories", "GET /orgs/{org}/actions/runner-groups", "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories", "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners", "GET /orgs/{org}/actions/runners", "GET /orgs/{org}/actions/runners/downloads", "GET /orgs/{org}/actions/runners/{runner_id}/labels", "GET /orgs/{org}/actions/secrets", "GET /orgs/{org}/actions/secrets/{secret_name}/repositories", "GET /orgs/{org}/blocks", "GET /orgs/{org}/code-scanning/alerts", "GET /orgs/{org}/credential-authorizations", "GET /orgs/{org}/dependabot/secrets", "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories", "GET /orgs/{org}/events", "GET /orgs/{org}/external-groups", "GET /orgs/{org}/failed_invitations", "GET /orgs/{org}/hooks", "GET /orgs/{org}/hooks/{hook_id}/deliveries", "GET /orgs/{org}/installations", "GET /orgs/{org}/invitations", "GET /orgs/{org}/invitations/{invitation_id}/teams", "GET /orgs/{org}/issues", "GET /orgs/{org}/members", "GET /orgs/{org}/migrations", "GET /orgs/{org}/migrations/{migration_id}/repositories", "GET /orgs/{org}/outside_collaborators", "GET /orgs/{org}/packages", "GET /orgs/{org}/projects", "GET /orgs/{org}/public_members", "GET /orgs/{org}/repos", "GET /orgs/{org}/secret-scanning/alerts", "GET /orgs/{org}/team-sync/groups", "GET /orgs/{org}/teams", "GET /orgs/{org}/teams/{team_slug}/discussions", "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", "GET /orgs/{org}/teams/{team_slug}/external-groups", "GET /orgs/{org}/teams/{team_slug}/invitations", "GET /orgs/{org}/teams/{team_slug}/members", "GET /orgs/{org}/teams/{team_slug}/projects", "GET /orgs/{org}/teams/{team_slug}/repos", "GET /orgs/{org}/teams/{team_slug}/team-sync/group-mappings", "GET /orgs/{org}/teams/{team_slug}/teams", "GET /projects/columns/{column_id}/cards", "GET /projects/{project_id}/collaborators", "GET /projects/{project_id}/columns", "GET /repos/{owner}/{repo}/actions/artifacts", "GET /repos/{owner}/{repo}/actions/runners", "GET /repos/{owner}/{repo}/actions/runners/downloads", "GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels", "GET /repos/{owner}/{repo}/actions/runs", "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts", "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs", "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs", "GET /repos/{owner}/{repo}/actions/secrets", "GET /repos/{owner}/{repo}/actions/workflows", "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs", "GET /repos/{owner}/{repo}/assignees", "GET /repos/{owner}/{repo}/autolinks", "GET /repos/{owner}/{repo}/branches", "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations", "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", "GET /repos/{owner}/{repo}/code-scanning/alerts", "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", "GET /repos/{owner}/{repo}/code-scanning/analyses", "GET /repos/{owner}/{repo}/codespaces", "GET /repos/{owner}/{repo}/codespaces/devcontainers", "GET /repos/{owner}/{repo}/codespaces/secrets", "GET /repos/{owner}/{repo}/collaborators", "GET /repos/{owner}/{repo}/comments", "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions", "GET /repos/{owner}/{repo}/commits", "GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head", "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments", "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls", "GET /repos/{owner}/{repo}/commits/{ref}/check-runs", "GET /repos/{owner}/{repo}/commits/{ref}/check-suites", "GET /repos/{owner}/{repo}/commits/{ref}/statuses", "GET /repos/{owner}/{repo}/contributors", "GET /repos/{owner}/{repo}/dependabot/secrets", "GET /repos/{owner}/{repo}/deployments", "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses", "GET /repos/{owner}/{repo}/events", "GET /repos/{owner}/{repo}/forks", "GET /repos/{owner}/{repo}/git/matching-refs/{ref}", "GET /repos/{owner}/{repo}/hooks", "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries", "GET /repos/{owner}/{repo}/invitations", "GET /repos/{owner}/{repo}/issues", "GET /repos/{owner}/{repo}/issues/comments", "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", "GET /repos/{owner}/{repo}/issues/events", "GET /repos/{owner}/{repo}/issues/{issue_number}/comments", "GET /repos/{owner}/{repo}/issues/{issue_number}/events", "GET /repos/{owner}/{repo}/issues/{issue_number}/labels", "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions", "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline", "GET /repos/{owner}/{repo}/keys", "GET /repos/{owner}/{repo}/labels", "GET /repos/{owner}/{repo}/milestones", "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels", "GET /repos/{owner}/{repo}/notifications", "GET /repos/{owner}/{repo}/pages/builds", "GET /repos/{owner}/{repo}/projects", "GET /repos/{owner}/{repo}/pulls", "GET /repos/{owner}/{repo}/pulls/comments", "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments", "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits", "GET /repos/{owner}/{repo}/pulls/{pull_number}/files", "GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews", "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments", "GET /repos/{owner}/{repo}/releases", "GET /repos/{owner}/{repo}/releases/{release_id}/assets", "GET /repos/{owner}/{repo}/releases/{release_id}/reactions", "GET /repos/{owner}/{repo}/secret-scanning/alerts", "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations", "GET /repos/{owner}/{repo}/stargazers", "GET /repos/{owner}/{repo}/subscribers", "GET /repos/{owner}/{repo}/tags", "GET /repos/{owner}/{repo}/tags/protection", "GET /repos/{owner}/{repo}/teams", "GET /repositories", "GET /repositories/{repository_id}/environments/{environment_name}/secrets", "GET /scim/v2/enterprises/{enterprise}/Groups", "GET /scim/v2/enterprises/{enterprise}/Users", "GET /scim/v2/organizations/{org}/Users", "GET /search/code", "GET /search/commits", "GET /search/issues", "GET /search/labels", "GET /search/repositories", "GET /search/topics", "GET /search/users", "GET /teams/{team_id}/discussions", "GET /teams/{team_id}/discussions/{discussion_number}/comments", "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", "GET /teams/{team_id}/discussions/{discussion_number}/reactions", "GET /teams/{team_id}/invitations", "GET /teams/{team_id}/members", "GET /teams/{team_id}/projects", "GET /teams/{team_id}/repos", "GET /teams/{team_id}/team-sync/group-mappings", "GET /teams/{team_id}/teams", "GET /user/blocks", "GET /user/codespaces", "GET /user/codespaces/secrets", "GET /user/codespaces/secrets/{secret_name}/repositories", "GET /user/emails", "GET /user/followers", "GET /user/following", "GET /user/gpg_keys", "GET /user/installations", "GET /user/installations/{installation_id}/repositories", "GET /user/issues", "GET /user/keys", "GET /user/marketplace_purchases", "GET /user/marketplace_purchases/stubbed", "GET /user/memberships/orgs", "GET /user/migrations", "GET /user/migrations/{migration_id}/repositories", "GET /user/orgs", "GET /user/packages", "GET /user/public_emails", "GET /user/repos", "GET /user/repository_invitations", "GET /user/starred", "GET /user/subscriptions", "GET /user/teams", "GET /users", "GET /users/{username}/events", "GET /users/{username}/events/orgs/{org}", "GET /users/{username}/events/public", "GET /users/{username}/followers", "GET /users/{username}/following", "GET /users/{username}/gists", "GET /users/{username}/gpg_keys", "GET /users/{username}/keys", "GET /users/{username}/orgs", "GET /users/{username}/packages", "GET /users/{username}/projects", "GET /users/{username}/received_events", "GET /users/{username}/received_events/public", "GET /users/{username}/repos", "GET /users/{username}/starred", "GET /users/{username}/subscriptions"];
|
|
7716
|
+
var paginatingEndpoints = ["GET /app/hook/deliveries", "GET /app/installations", "GET /applications/grants", "GET /authorizations", "GET /enterprises/{enterprise}/actions/permissions/organizations", "GET /enterprises/{enterprise}/actions/runner-groups", "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations", "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners", "GET /enterprises/{enterprise}/actions/runners", "GET /enterprises/{enterprise}/actions/runners/downloads", "GET /enterprises/{enterprise}/actions/runners/{runner_id}/labels", "GET /enterprises/{enterprise}/secret-scanning/alerts", "GET /events", "GET /gists", "GET /gists/public", "GET /gists/starred", "GET /gists/{gist_id}/comments", "GET /gists/{gist_id}/commits", "GET /gists/{gist_id}/forks", "GET /installation/repositories", "GET /issues", "GET /marketplace_listing/plans", "GET /marketplace_listing/plans/{plan_id}/accounts", "GET /marketplace_listing/stubbed/plans", "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts", "GET /networks/{owner}/{repo}/events", "GET /notifications", "GET /organizations", "GET /organizations/{organization_id}/custom_roles", "GET /orgs/{org_id}/codespaces", "GET /orgs/{org}/actions/permissions/repositories", "GET /orgs/{org}/actions/runner-groups", "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories", "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners", "GET /orgs/{org}/actions/runners", "GET /orgs/{org}/actions/runners/downloads", "GET /orgs/{org}/actions/runners/{runner_id}/labels", "GET /orgs/{org}/actions/secrets", "GET /orgs/{org}/actions/secrets/{secret_name}/repositories", "GET /orgs/{org}/blocks", "GET /orgs/{org}/code-scanning/alerts", "GET /orgs/{org}/credential-authorizations", "GET /orgs/{org}/dependabot/secrets", "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories", "GET /orgs/{org}/events", "GET /orgs/{org}/external-groups", "GET /orgs/{org}/failed_invitations", "GET /orgs/{org}/hooks", "GET /orgs/{org}/hooks/{hook_id}/deliveries", "GET /orgs/{org}/installations", "GET /orgs/{org}/invitations", "GET /orgs/{org}/invitations/{invitation_id}/teams", "GET /orgs/{org}/issues", "GET /orgs/{org}/members", "GET /orgs/{org}/migrations", "GET /orgs/{org}/migrations/{migration_id}/repositories", "GET /orgs/{org}/outside_collaborators", "GET /orgs/{org}/packages", "GET /orgs/{org}/projects", "GET /orgs/{org}/public_members", "GET /orgs/{org}/repos", "GET /orgs/{org}/secret-scanning/alerts", "GET /orgs/{org}/team-sync/groups", "GET /orgs/{org}/teams", "GET /orgs/{org}/teams/{team_slug}/discussions", "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", "GET /orgs/{org}/teams/{team_slug}/external-groups", "GET /orgs/{org}/teams/{team_slug}/invitations", "GET /orgs/{org}/teams/{team_slug}/members", "GET /orgs/{org}/teams/{team_slug}/projects", "GET /orgs/{org}/teams/{team_slug}/repos", "GET /orgs/{org}/teams/{team_slug}/team-sync/group-mappings", "GET /orgs/{org}/teams/{team_slug}/teams", "GET /projects/columns/{column_id}/cards", "GET /projects/{project_id}/collaborators", "GET /projects/{project_id}/columns", "GET /repos/{owner}/{repo}/actions/artifacts", "GET /repos/{owner}/{repo}/actions/runners", "GET /repos/{owner}/{repo}/actions/runners/downloads", "GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels", "GET /repos/{owner}/{repo}/actions/runs", "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts", "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs", "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs", "GET /repos/{owner}/{repo}/actions/secrets", "GET /repos/{owner}/{repo}/actions/workflows", "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs", "GET /repos/{owner}/{repo}/assignees", "GET /repos/{owner}/{repo}/autolinks", "GET /repos/{owner}/{repo}/branches", "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations", "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", "GET /repos/{owner}/{repo}/code-scanning/alerts", "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", "GET /repos/{owner}/{repo}/code-scanning/analyses", "GET /repos/{owner}/{repo}/codespaces", "GET /repos/{owner}/{repo}/codespaces/devcontainers", "GET /repos/{owner}/{repo}/codespaces/secrets", "GET /repos/{owner}/{repo}/collaborators", "GET /repos/{owner}/{repo}/comments", "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions", "GET /repos/{owner}/{repo}/commits", "GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head", "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments", "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls", "GET /repos/{owner}/{repo}/commits/{ref}/check-runs", "GET /repos/{owner}/{repo}/commits/{ref}/check-suites", "GET /repos/{owner}/{repo}/commits/{ref}/statuses", "GET /repos/{owner}/{repo}/contributors", "GET /repos/{owner}/{repo}/dependabot/secrets", "GET /repos/{owner}/{repo}/deployments", "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses", "GET /repos/{owner}/{repo}/events", "GET /repos/{owner}/{repo}/forks", "GET /repos/{owner}/{repo}/git/matching-refs/{ref}", "GET /repos/{owner}/{repo}/hooks", "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries", "GET /repos/{owner}/{repo}/invitations", "GET /repos/{owner}/{repo}/issues", "GET /repos/{owner}/{repo}/issues/comments", "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", "GET /repos/{owner}/{repo}/issues/events", "GET /repos/{owner}/{repo}/issues/{issue_number}/comments", "GET /repos/{owner}/{repo}/issues/{issue_number}/events", "GET /repos/{owner}/{repo}/issues/{issue_number}/labels", "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions", "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline", "GET /repos/{owner}/{repo}/keys", "GET /repos/{owner}/{repo}/labels", "GET /repos/{owner}/{repo}/milestones", "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels", "GET /repos/{owner}/{repo}/notifications", "GET /repos/{owner}/{repo}/pages/builds", "GET /repos/{owner}/{repo}/projects", "GET /repos/{owner}/{repo}/pulls", "GET /repos/{owner}/{repo}/pulls/comments", "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments", "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits", "GET /repos/{owner}/{repo}/pulls/{pull_number}/files", "GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews", "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments", "GET /repos/{owner}/{repo}/releases", "GET /repos/{owner}/{repo}/releases/{release_id}/assets", "GET /repos/{owner}/{repo}/releases/{release_id}/reactions", "GET /repos/{owner}/{repo}/secret-scanning/alerts", "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations", "GET /repos/{owner}/{repo}/stargazers", "GET /repos/{owner}/{repo}/subscribers", "GET /repos/{owner}/{repo}/tags", "GET /repos/{owner}/{repo}/tags/protection", "GET /repos/{owner}/{repo}/teams", "GET /repositories", "GET /repositories/{repository_id}/environments/{environment_name}/secrets", "GET /scim/v2/enterprises/{enterprise}/Groups", "GET /scim/v2/enterprises/{enterprise}/Users", "GET /scim/v2/organizations/{org}/Users", "GET /search/code", "GET /search/commits", "GET /search/issues", "GET /search/labels", "GET /search/repositories", "GET /search/topics", "GET /search/users", "GET /teams/{team_id}/discussions", "GET /teams/{team_id}/discussions/{discussion_number}/comments", "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", "GET /teams/{team_id}/discussions/{discussion_number}/reactions", "GET /teams/{team_id}/invitations", "GET /teams/{team_id}/members", "GET /teams/{team_id}/projects", "GET /teams/{team_id}/repos", "GET /teams/{team_id}/team-sync/group-mappings", "GET /teams/{team_id}/teams", "GET /user/blocks", "GET /user/codespaces", "GET /user/codespaces/secrets", "GET /user/codespaces/secrets/{secret_name}/repositories", "GET /user/emails", "GET /user/followers", "GET /user/following", "GET /user/gpg_keys", "GET /user/installations", "GET /user/installations/{installation_id}/repositories", "GET /user/issues", "GET /user/keys", "GET /user/marketplace_purchases", "GET /user/marketplace_purchases/stubbed", "GET /user/memberships/orgs", "GET /user/migrations", "GET /user/migrations/{migration_id}/repositories", "GET /user/orgs", "GET /user/packages", "GET /user/public_emails", "GET /user/repos", "GET /user/repository_invitations", "GET /user/starred", "GET /user/subscriptions", "GET /user/teams", "GET /users", "GET /users/{username}/events", "GET /users/{username}/events/orgs/{org}", "GET /users/{username}/events/public", "GET /users/{username}/followers", "GET /users/{username}/following", "GET /users/{username}/gists", "GET /users/{username}/gpg_keys", "GET /users/{username}/keys", "GET /users/{username}/orgs", "GET /users/{username}/packages", "GET /users/{username}/projects", "GET /users/{username}/received_events", "GET /users/{username}/received_events/public", "GET /users/{username}/repos", "GET /users/{username}/starred", "GET /users/{username}/subscriptions"];
|
|
7717
7717
|
function isPaginatingEndpoint(arg) {
|
|
7718
7718
|
if (typeof arg === "string") {
|
|
7719
7719
|
return paginatingEndpoints.includes(arg);
|
|
@@ -7799,6 +7799,8 @@ var require_dist_node11 = __commonJS({
|
|
|
7799
7799
|
createRemoveTokenForOrg: ["POST /orgs/{org}/actions/runners/remove-token"],
|
|
7800
7800
|
createRemoveTokenForRepo: ["POST /repos/{owner}/{repo}/actions/runners/remove-token"],
|
|
7801
7801
|
createWorkflowDispatch: ["POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches"],
|
|
7802
|
+
deleteActionsCacheById: ["DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}"],
|
|
7803
|
+
deleteActionsCacheByKey: ["DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}"],
|
|
7802
7804
|
deleteArtifact: ["DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"],
|
|
7803
7805
|
deleteEnvironmentSecret: ["DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"],
|
|
7804
7806
|
deleteOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}"],
|
|
@@ -7815,6 +7817,7 @@ var require_dist_node11 = __commonJS({
|
|
|
7815
7817
|
downloadWorkflowRunLogs: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs"],
|
|
7816
7818
|
enableSelectedRepositoryGithubActionsOrganization: ["PUT /orgs/{org}/actions/permissions/repositories/{repository_id}"],
|
|
7817
7819
|
enableWorkflow: ["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable"],
|
|
7820
|
+
getActionsCacheList: ["GET /repos/{owner}/{repo}/actions/caches"],
|
|
7818
7821
|
getActionsCacheUsage: ["GET /repos/{owner}/{repo}/actions/cache/usage"],
|
|
7819
7822
|
getActionsCacheUsageByRepoForOrg: ["GET /orgs/{org}/actions/cache/usage-by-repository"],
|
|
7820
7823
|
getActionsCacheUsageForEnterprise: ["GET /enterprises/{enterprise}/actions/cache/usage"],
|
|
@@ -7874,6 +7877,7 @@ var require_dist_node11 = __commonJS({
|
|
|
7874
7877
|
removeCustomLabelFromSelfHostedRunnerForRepo: ["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}"],
|
|
7875
7878
|
removeSelectedRepoFromOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"],
|
|
7876
7879
|
reviewPendingDeploymentsForRun: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"],
|
|
7880
|
+
setActionsOidcCustomIssuerPolicyForEnterprise: ["PUT /enterprises/{enterprise}/actions/oidc/customization/issuer"],
|
|
7877
7881
|
setAllowedActionsOrganization: ["PUT /orgs/{org}/actions/permissions/selected-actions"],
|
|
7878
7882
|
setAllowedActionsRepository: ["PUT /repos/{owner}/{repo}/actions/permissions/selected-actions"],
|
|
7879
7883
|
setCustomLabelsForSelfHostedRunnerForOrg: ["PUT /orgs/{org}/actions/runners/{runner_id}/labels"],
|
|
@@ -8020,6 +8024,7 @@ var require_dist_node11 = __commonJS({
|
|
|
8020
8024
|
createWithPrForAuthenticatedUser: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces"],
|
|
8021
8025
|
createWithRepoForAuthenticatedUser: ["POST /repos/{owner}/{repo}/codespaces"],
|
|
8022
8026
|
deleteForAuthenticatedUser: ["DELETE /user/codespaces/{codespace_name}"],
|
|
8027
|
+
deleteFromOrganization: ["DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}"],
|
|
8023
8028
|
deleteRepoSecret: ["DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"],
|
|
8024
8029
|
deleteSecretForAuthenticatedUser: ["DELETE /user/codespaces/secrets/{secret_name}"],
|
|
8025
8030
|
exportForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/exports"],
|
|
@@ -8031,6 +8036,7 @@ var require_dist_node11 = __commonJS({
|
|
|
8031
8036
|
getSecretForAuthenticatedUser: ["GET /user/codespaces/secrets/{secret_name}"],
|
|
8032
8037
|
listDevcontainersInRepositoryForAuthenticatedUser: ["GET /repos/{owner}/{repo}/codespaces/devcontainers"],
|
|
8033
8038
|
listForAuthenticatedUser: ["GET /user/codespaces"],
|
|
8039
|
+
listInOrganization: ["GET /orgs/{org_id}/codespaces"],
|
|
8034
8040
|
listInRepositoryForAuthenticatedUser: ["GET /repos/{owner}/{repo}/codespaces"],
|
|
8035
8041
|
listRepoSecrets: ["GET /repos/{owner}/{repo}/codespaces/secrets"],
|
|
8036
8042
|
listRepositoriesForSecretForAuthenticatedUser: ["GET /user/codespaces/secrets/{secret_name}/repositories"],
|
|
@@ -8040,6 +8046,7 @@ var require_dist_node11 = __commonJS({
|
|
|
8040
8046
|
setRepositoriesForSecretForAuthenticatedUser: ["PUT /user/codespaces/secrets/{secret_name}/repositories"],
|
|
8041
8047
|
startForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/start"],
|
|
8042
8048
|
stopForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/stop"],
|
|
8049
|
+
stopInOrganization: ["POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop"],
|
|
8043
8050
|
updateForAuthenticatedUser: ["PATCH /user/codespaces/{codespace_name}"]
|
|
8044
8051
|
},
|
|
8045
8052
|
dependabot: {
|
|
@@ -8059,6 +8066,7 @@ var require_dist_node11 = __commonJS({
|
|
|
8059
8066
|
setSelectedReposForOrgSecret: ["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories"]
|
|
8060
8067
|
},
|
|
8061
8068
|
dependencyGraph: {
|
|
8069
|
+
createRepositorySnapshot: ["POST /repos/{owner}/{repo}/dependency-graph/snapshots"],
|
|
8062
8070
|
diffRange: ["GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}"]
|
|
8063
8071
|
},
|
|
8064
8072
|
emojis: {
|
|
@@ -8721,7 +8729,7 @@ var require_dist_node11 = __commonJS({
|
|
|
8721
8729
|
updateAuthenticated: ["PATCH /user"]
|
|
8722
8730
|
}
|
|
8723
8731
|
};
|
|
8724
|
-
var VERSION = "5.
|
|
8732
|
+
var VERSION = "5.16.0";
|
|
8725
8733
|
function endpointsToMethods(octokit, endpointsMap) {
|
|
8726
8734
|
const newMethods = {};
|
|
8727
8735
|
for (const [scope, endpoints] of Object.entries(endpointsMap)) {
|
|
@@ -8844,8 +8852,16 @@ async function updateSecretValue(arn, value) {
|
|
|
8844
8852
|
await sm.updateSecret({ SecretId: arn, SecretString: value }).promise();
|
|
8845
8853
|
}
|
|
8846
8854
|
|
|
8855
|
+
// src/lambdas/github.ts
|
|
8856
|
+
function baseUrlFromDomain(domain) {
|
|
8857
|
+
if (domain == "github.com") {
|
|
8858
|
+
return "https://api.github.com";
|
|
8859
|
+
}
|
|
8860
|
+
return `https://${domain}/api/v3`;
|
|
8861
|
+
}
|
|
8862
|
+
|
|
8847
8863
|
// src/lambdas/setup/index.ts
|
|
8848
|
-
function getHtml(manifest, token) {
|
|
8864
|
+
function getHtml(manifest, token, domain) {
|
|
8849
8865
|
return `<!DOCTYPE html>
|
|
8850
8866
|
<html lang="en">
|
|
8851
8867
|
<head>
|
|
@@ -8856,18 +8872,19 @@ function getHtml(manifest, token) {
|
|
|
8856
8872
|
<body>
|
|
8857
8873
|
<h1>Setup GitHub Runners</h1>
|
|
8858
8874
|
<p>You can choose between creating a new app that will provide authentication for specific repositories, or a personal access token that will provide access to all repositories available to you. Apps are easier to set up and provide more fine-grained access control.</p>
|
|
8859
|
-
<form>
|
|
8875
|
+
<form action="domain?token=${token}" method="post">
|
|
8860
8876
|
<fieldset>
|
|
8861
8877
|
<legend>GitHub Domain</legend>
|
|
8862
8878
|
<p>When using a GitHub Enterprise Server, change this to your own domain like github.mycompany.com.</p>
|
|
8863
8879
|
<label for="domain">Domain: </label>
|
|
8864
|
-
<input id="domain" value="
|
|
8880
|
+
<input id="domain" name="domain" value="${domain}">
|
|
8881
|
+
<input type="submit" value="Update">
|
|
8865
8882
|
</fieldset>
|
|
8866
8883
|
</form>
|
|
8867
8884
|
|
|
8868
8885
|
<h2>Using App</h2>
|
|
8869
8886
|
<p>Choose whether you want a personal app, an organization app, or an existing app created according to the instructions in <a href="https://github.com/CloudSnorkel/cdk-github-runners/blob/main/SETUP_GITHUB.md">SETUP_GITHUB.md</a>. The scope of the app should match the scope of the repositories you need to provide runners for.</p>
|
|
8870
|
-
<form action="https
|
|
8887
|
+
<form action="https://${domain}/settings/apps/new?state=${token}" method="post" id="appform">
|
|
8871
8888
|
<fieldset>
|
|
8872
8889
|
<legend>New Personal App</legend>
|
|
8873
8890
|
<input type="hidden" name="manifest" id="manifest">
|
|
@@ -8876,7 +8893,7 @@ function getHtml(manifest, token) {
|
|
|
8876
8893
|
</form>
|
|
8877
8894
|
|
|
8878
8895
|
<br>
|
|
8879
|
-
<form action="https
|
|
8896
|
+
<form action="https://${domain}/organizations/ORGANIZATION/settings/apps/new?state=${token}" method="post" id="orgappform">
|
|
8880
8897
|
<fieldset>
|
|
8881
8898
|
<legend>New Organization App</legend>
|
|
8882
8899
|
<label for="org">Organization slug:</label>
|
|
@@ -8891,7 +8908,7 @@ function getHtml(manifest, token) {
|
|
|
8891
8908
|
<fieldset>
|
|
8892
8909
|
<p>Existing apps must have <code>actions</code> and <code>administration</code> write permissions. Don't forget to set up the webhook and its secret as described in <a href="https://github.com/CloudSnorkel/cdk-github-runners/blob/main/SETUP_GITHUB.md">SETUP_GITHUB.md</a>.</p>
|
|
8893
8910
|
<legend>Existing App</legend>
|
|
8894
|
-
<input type="hidden" name="domain" id="existingdomain" value="
|
|
8911
|
+
<input type="hidden" name="domain" id="existingdomain" value="${domain}">
|
|
8895
8912
|
<label for="appid">App id:</label>
|
|
8896
8913
|
<input type="number" id="appid" name="appid"><br><br>
|
|
8897
8914
|
<label for="pk">Private key:</label>
|
|
@@ -8905,7 +8922,7 @@ function getHtml(manifest, token) {
|
|
|
8905
8922
|
<form action="pat?token=${token}" method="post">
|
|
8906
8923
|
<fieldset>
|
|
8907
8924
|
<label for="pat">Token:</label>
|
|
8908
|
-
<input type="hidden" name="domain" id="patdomain" value="
|
|
8925
|
+
<input type="hidden" name="domain" id="patdomain" value="${domain}">
|
|
8909
8926
|
<input type="password" id="pat" name="pat">
|
|
8910
8927
|
<input type="submit" value="Set">
|
|
8911
8928
|
</fieldset>
|
|
@@ -8948,12 +8965,13 @@ function getManifest(baseUrl) {
|
|
|
8948
8965
|
}
|
|
8949
8966
|
async function handleRoot(event, setupToken) {
|
|
8950
8967
|
const setupBaseUrl = `https://${event.requestContext.domainName}`;
|
|
8968
|
+
const githubSecrets = await getSecretJsonValue(process.env.GITHUB_SECRET_ARN);
|
|
8951
8969
|
return {
|
|
8952
8970
|
statusCode: 200,
|
|
8953
8971
|
headers: {
|
|
8954
8972
|
"Content-Type": "text/html"
|
|
8955
8973
|
},
|
|
8956
|
-
body: getHtml(getManifest(setupBaseUrl), setupToken)
|
|
8974
|
+
body: getHtml(getManifest(setupBaseUrl), setupToken, githubSecrets.domain)
|
|
8957
8975
|
};
|
|
8958
8976
|
}
|
|
8959
8977
|
function decodeBody(event) {
|
|
@@ -8963,6 +8981,22 @@ function decodeBody(event) {
|
|
|
8963
8981
|
}
|
|
8964
8982
|
return querystring.decode(body);
|
|
8965
8983
|
}
|
|
8984
|
+
async function handleDomain(event, setupToken) {
|
|
8985
|
+
const body = decodeBody(event);
|
|
8986
|
+
if (!body.domain) {
|
|
8987
|
+
return {
|
|
8988
|
+
statusCode: 400,
|
|
8989
|
+
headers: {
|
|
8990
|
+
"Content-Type": "text/html"
|
|
8991
|
+
},
|
|
8992
|
+
body: "Invalid domain"
|
|
8993
|
+
};
|
|
8994
|
+
}
|
|
8995
|
+
const githubSecrets = await getSecretJsonValue(process.env.GITHUB_SECRET_ARN);
|
|
8996
|
+
githubSecrets.domain = body.domain;
|
|
8997
|
+
await updateSecretValue(process.env.GITHUB_SECRET_ARN, JSON.stringify(githubSecrets));
|
|
8998
|
+
return handleRoot(event, setupToken);
|
|
8999
|
+
}
|
|
8966
9000
|
async function handlePat(event) {
|
|
8967
9001
|
const body = decodeBody(event);
|
|
8968
9002
|
if (!body.pat || !body.domain) {
|
|
@@ -8999,7 +9033,9 @@ async function handleNewApp(event) {
|
|
|
8999
9033
|
body: "Invalid code"
|
|
9000
9034
|
};
|
|
9001
9035
|
}
|
|
9002
|
-
const
|
|
9036
|
+
const githubSecrets = await getSecretJsonValue(process.env.GITHUB_SECRET_ARN);
|
|
9037
|
+
const baseUrl = baseUrlFromDomain(githubSecrets.domain);
|
|
9038
|
+
const newApp = await new import_rest.Octokit({ baseUrl }).rest.apps.createFromManifest({ code });
|
|
9003
9039
|
await updateSecretValue(process.env.GITHUB_SECRET_ARN, JSON.stringify({
|
|
9004
9040
|
domain: new URL(newApp.data.html_url).host,
|
|
9005
9041
|
appId: newApp.data.id,
|
|
@@ -9077,21 +9113,33 @@ exports.handler = async function(event) {
|
|
|
9077
9113
|
body: "Wrong setup token."
|
|
9078
9114
|
};
|
|
9079
9115
|
}
|
|
9080
|
-
|
|
9081
|
-
|
|
9082
|
-
|
|
9083
|
-
|
|
9084
|
-
|
|
9085
|
-
|
|
9086
|
-
|
|
9087
|
-
|
|
9088
|
-
|
|
9116
|
+
try {
|
|
9117
|
+
if (event.requestContext.http.path == "/") {
|
|
9118
|
+
return await handleRoot(event, setupToken);
|
|
9119
|
+
} else if (event.requestContext.http.path == "/domain" && event.requestContext.http.method == "POST") {
|
|
9120
|
+
return await handleDomain(event, setupToken);
|
|
9121
|
+
} else if (event.requestContext.http.path == "/pat" && event.requestContext.http.method == "POST") {
|
|
9122
|
+
return await handlePat(event);
|
|
9123
|
+
} else if (event.requestContext.http.path == "/complete-new-app" && event.requestContext.http.method == "GET") {
|
|
9124
|
+
return await handleNewApp(event);
|
|
9125
|
+
} else if (event.requestContext.http.path == "/app" && event.requestContext.http.method == "POST") {
|
|
9126
|
+
return await handleExistingApp(event);
|
|
9127
|
+
} else {
|
|
9128
|
+
return {
|
|
9129
|
+
statusCode: 404,
|
|
9130
|
+
headers: {
|
|
9131
|
+
"Content-Type": "text/html"
|
|
9132
|
+
},
|
|
9133
|
+
body: "Not found"
|
|
9134
|
+
};
|
|
9135
|
+
}
|
|
9136
|
+
} catch (e) {
|
|
9089
9137
|
return {
|
|
9090
|
-
statusCode:
|
|
9138
|
+
statusCode: 500,
|
|
9091
9139
|
headers: {
|
|
9092
9140
|
"Content-Type": "text/html"
|
|
9093
9141
|
},
|
|
9094
|
-
body:
|
|
9142
|
+
body: `<b>Error:</b> ${e}`
|
|
9095
9143
|
};
|
|
9096
9144
|
}
|
|
9097
9145
|
};
|
|
@@ -11386,9 +11386,9 @@ var require_yallist = __commonJS({
|
|
|
11386
11386
|
}
|
|
11387
11387
|
});
|
|
11388
11388
|
|
|
11389
|
-
// node_modules/lru-cache/index.js
|
|
11389
|
+
// node_modules/@octokit/auth-app/node_modules/lru-cache/index.js
|
|
11390
11390
|
var require_lru_cache = __commonJS({
|
|
11391
|
-
"node_modules/lru-cache/index.js"(exports2, module2) {
|
|
11391
|
+
"node_modules/@octokit/auth-app/node_modules/lru-cache/index.js"(exports2, module2) {
|
|
11392
11392
|
"use strict";
|
|
11393
11393
|
var Yallist = require_yallist();
|
|
11394
11394
|
var MAX = Symbol("max");
|
|
@@ -11386,9 +11386,9 @@ var require_yallist = __commonJS({
|
|
|
11386
11386
|
}
|
|
11387
11387
|
});
|
|
11388
11388
|
|
|
11389
|
-
// node_modules/lru-cache/index.js
|
|
11389
|
+
// node_modules/@octokit/auth-app/node_modules/lru-cache/index.js
|
|
11390
11390
|
var require_lru_cache = __commonJS({
|
|
11391
|
-
"node_modules/lru-cache/index.js"(exports2, module2) {
|
|
11391
|
+
"node_modules/@octokit/auth-app/node_modules/lru-cache/index.js"(exports2, module2) {
|
|
11392
11392
|
"use strict";
|
|
11393
11393
|
var Yallist = require_yallist();
|
|
11394
11394
|
var MAX = Symbol("max");
|
|
@@ -145,7 +145,7 @@ class CodeBuildRunner extends constructs_1.Construct {
|
|
|
145
145
|
}
|
|
146
146
|
exports.CodeBuildRunner = CodeBuildRunner;
|
|
147
147
|
_a = JSII_RTTI_SYMBOL_1;
|
|
148
|
-
CodeBuildRunner[_a] = { fqn: "@cloudsnorkel/cdk-github-runners.CodeBuildRunner", version: "0.3.
|
|
148
|
+
CodeBuildRunner[_a] = { fqn: "@cloudsnorkel/cdk-github-runners.CodeBuildRunner", version: "0.3.1" };
|
|
149
149
|
/**
|
|
150
150
|
* Path to Dockerfile for Linux x64 with all the requirements for CodeBuild runner. Use this Dockerfile unless you need to customize it further than allowed by hooks.
|
|
151
151
|
*
|
package/lib/providers/common.js
CHANGED
|
@@ -29,7 +29,7 @@ class RunnerVersion {
|
|
|
29
29
|
}
|
|
30
30
|
exports.RunnerVersion = RunnerVersion;
|
|
31
31
|
_a = JSII_RTTI_SYMBOL_1;
|
|
32
|
-
RunnerVersion[_a] = { fqn: "@cloudsnorkel/cdk-github-runners.RunnerVersion", version: "0.3.
|
|
32
|
+
RunnerVersion[_a] = { fqn: "@cloudsnorkel/cdk-github-runners.RunnerVersion", version: "0.3.1" };
|
|
33
33
|
/**
|
|
34
34
|
* CPU architecture enum for an image.
|
|
35
35
|
*/
|
|
@@ -51,7 +51,7 @@ class Architecture {
|
|
|
51
51
|
}
|
|
52
52
|
exports.Architecture = Architecture;
|
|
53
53
|
_b = JSII_RTTI_SYMBOL_1;
|
|
54
|
-
Architecture[_b] = { fqn: "@cloudsnorkel/cdk-github-runners.Architecture", version: "0.3.
|
|
54
|
+
Architecture[_b] = { fqn: "@cloudsnorkel/cdk-github-runners.Architecture", version: "0.3.1" };
|
|
55
55
|
/**
|
|
56
56
|
* ARM64
|
|
57
57
|
*/
|
|
@@ -81,7 +81,7 @@ class Os {
|
|
|
81
81
|
}
|
|
82
82
|
exports.Os = Os;
|
|
83
83
|
_c = JSII_RTTI_SYMBOL_1;
|
|
84
|
-
Os[_c] = { fqn: "@cloudsnorkel/cdk-github-runners.Os", version: "0.3.
|
|
84
|
+
Os[_c] = { fqn: "@cloudsnorkel/cdk-github-runners.Os", version: "0.3.1" };
|
|
85
85
|
/**
|
|
86
86
|
* Linux
|
|
87
87
|
*/
|
|
@@ -6,10 +6,14 @@ RUN addgroup runner && adduser --system --disabled-password --home /home/runner
|
|
|
6
6
|
|
|
7
7
|
# add dependencies and sudo
|
|
8
8
|
ARG EXTRA_PACKAGES=""
|
|
9
|
-
RUN apt-get update && apt-get upgrade -y && apt-get install -y curl sudo jq bash zip unzip iptables software-properties-common $EXTRA_PACKAGES && \
|
|
9
|
+
RUN apt-get update && apt-get upgrade -y && apt-get install -y curl sudo jq bash zip unzip iptables software-properties-common ca-certificates $EXTRA_PACKAGES && \
|
|
10
10
|
usermod -aG sudo runner && \
|
|
11
11
|
echo "%sudo ALL=(ALL:ALL) NOPASSWD: ALL" > /etc/sudoers.d/runner
|
|
12
12
|
|
|
13
|
+
# install extra certificates
|
|
14
|
+
COPY extra_certs/. /tmp/certs/
|
|
15
|
+
RUN if [ -f /tmp/certs/certs.pem ]; then cp /tmp/certs/certs.pem /usr/local/share/ca-certificates/github-enterprise-server.crt; update-ca-certificates; else echo no self-signed certificates; fi
|
|
16
|
+
|
|
13
17
|
# add latest git
|
|
14
18
|
RUN add-apt-repository ppa:git-core/ppa && apt update && apt-get install -y git
|
|
15
19
|
|
|
@@ -6,10 +6,14 @@ RUN addgroup runner && adduser --system --disabled-password --home /home/runner
|
|
|
6
6
|
|
|
7
7
|
# add dependencies and sudo
|
|
8
8
|
ARG EXTRA_PACKAGES=""
|
|
9
|
-
RUN apt-get update && apt-get upgrade -y && apt-get install -y curl sudo jq bash zip unzip iptables software-properties-common $EXTRA_PACKAGES && \
|
|
9
|
+
RUN apt-get update && apt-get upgrade -y && apt-get install -y curl sudo jq bash zip unzip iptables software-properties-common ca-certificates $EXTRA_PACKAGES && \
|
|
10
10
|
usermod -aG sudo runner && \
|
|
11
11
|
echo "%sudo ALL=(ALL:ALL) NOPASSWD: ALL" > /etc/sudoers.d/runner
|
|
12
12
|
|
|
13
|
+
# install extra certificates
|
|
14
|
+
COPY extra_certs/. /tmp/certs/
|
|
15
|
+
RUN if [ -f /tmp/certs/certs.pem ]; then cp /tmp/certs/certs.pem /usr/local/share/ca-certificates/github-enterprise-server.crt; update-ca-certificates; else echo no self-signed certificates; fi
|
|
16
|
+
|
|
13
17
|
# add latest git
|
|
14
18
|
RUN add-apt-repository ppa:git-core/ppa && apt update && apt-get install -y git
|
|
15
19
|
|
|
@@ -6,10 +6,14 @@ RUN addgroup runner && adduser --system --disabled-password --home /home/runner
|
|
|
6
6
|
|
|
7
7
|
# add dependencies and sudo
|
|
8
8
|
ARG EXTRA_PACKAGES=""
|
|
9
|
-
RUN apt-get update && apt-get upgrade -y && apt-get install -y curl sudo jq bash zip unzip software-properties-common $EXTRA_PACKAGES && \
|
|
9
|
+
RUN apt-get update && apt-get upgrade -y && apt-get install -y curl sudo jq bash zip unzip software-properties-common ca-certificates $EXTRA_PACKAGES && \
|
|
10
10
|
usermod -aG sudo runner && \
|
|
11
11
|
echo "%sudo ALL=(ALL:ALL) NOPASSWD: ALL" > /etc/sudoers.d/runner
|
|
12
12
|
|
|
13
|
+
# install extra certificates
|
|
14
|
+
COPY extra_certs/. /tmp/certs/
|
|
15
|
+
RUN if [ -f /tmp/certs/certs.pem ]; then cp /tmp/certs/certs.pem /usr/local/share/ca-certificates/github-enterprise-server.crt; update-ca-certificates; else echo no self-signed certificates; fi
|
|
16
|
+
|
|
13
17
|
# add latest git
|
|
14
18
|
RUN add-apt-repository ppa:git-core/ppa && apt update && apt-get install -y git
|
|
15
19
|
|
|
@@ -6,10 +6,14 @@ RUN addgroup runner && adduser --system --disabled-password --home /home/runner
|
|
|
6
6
|
|
|
7
7
|
# add dependencies and sudo
|
|
8
8
|
ARG EXTRA_PACKAGES=""
|
|
9
|
-
RUN apt-get update && apt-get upgrade -y && apt-get install -y curl sudo jq bash zip unzip software-properties-common $EXTRA_PACKAGES && \
|
|
9
|
+
RUN apt-get update && apt-get upgrade -y && apt-get install -y curl sudo jq bash zip unzip software-properties-common ca-certificates $EXTRA_PACKAGES && \
|
|
10
10
|
usermod -aG sudo runner && \
|
|
11
11
|
echo "%sudo ALL=(ALL:ALL) NOPASSWD: ALL" > /etc/sudoers.d/runner
|
|
12
12
|
|
|
13
|
+
# install extra certificates
|
|
14
|
+
COPY extra_certs/. /tmp/certs/
|
|
15
|
+
RUN if [ -f /tmp/certs/certs.pem ]; then cp /tmp/certs/certs.pem /usr/local/share/ca-certificates/github-enterprise-server.crt; update-ca-certificates; else echo no self-signed certificates; fi
|
|
16
|
+
|
|
13
17
|
# add latest git
|
|
14
18
|
RUN add-apt-repository ppa:git-core/ppa && apt update && apt-get install -y git
|
|
15
19
|
|
|
@@ -5,6 +5,10 @@ FROM $BASE_IMAGE
|
|
|
5
5
|
|
|
6
6
|
WORKDIR /runner
|
|
7
7
|
|
|
8
|
+
# install extra certificates
|
|
9
|
+
COPY extra_certs/. /tmp/certs/
|
|
10
|
+
RUN if [ -f /tmp/certs/certs.pem ]; then cp /tmp/certs/certs.pem /etc/pki/ca-trust/source/anchors/ghe.crt; update-ca-trust; else echo no self-signed certificates; fi
|
|
11
|
+
|
|
8
12
|
# add dependencies
|
|
9
13
|
ARG EXTRA_PACKAGES=""
|
|
10
14
|
RUN yum update -y && yum install -y jq tar gzip bzip2 which binutils git zip unzip $EXTRA_PACKAGES
|
|
@@ -5,6 +5,10 @@ FROM $BASE_IMAGE
|
|
|
5
5
|
|
|
6
6
|
WORKDIR /runner
|
|
7
7
|
|
|
8
|
+
# install extra certificates
|
|
9
|
+
COPY extra_certs/. /tmp/certs/
|
|
10
|
+
RUN if [ -f /tmp/certs/certs.pem ]; then cp /tmp/certs/certs.pem /etc/pki/ca-trust/source/anchors/ghe.crt; update-ca-trust; else echo no self-signed certificates; fi
|
|
11
|
+
|
|
8
12
|
# add dependencies
|
|
9
13
|
ARG EXTRA_PACKAGES=""
|
|
10
14
|
RUN yum update -y && yum install -y jq tar gzip bzip2 which binutils git zip unzip $EXTRA_PACKAGES
|
package/lib/providers/fargate.js
CHANGED
|
@@ -135,7 +135,7 @@ class FargateRunner extends constructs_1.Construct {
|
|
|
135
135
|
}
|
|
136
136
|
exports.FargateRunner = FargateRunner;
|
|
137
137
|
_a = JSII_RTTI_SYMBOL_1;
|
|
138
|
-
FargateRunner[_a] = { fqn: "@cloudsnorkel/cdk-github-runners.FargateRunner", version: "0.3.
|
|
138
|
+
FargateRunner[_a] = { fqn: "@cloudsnorkel/cdk-github-runners.FargateRunner", version: "0.3.1" };
|
|
139
139
|
/**
|
|
140
140
|
* Path to Dockerfile for Linux x64 with all the requirement for Fargate runner. Use this Dockerfile unless you need to customize it further than allowed by hooks.
|
|
141
141
|
*
|
|
@@ -154,6 +154,14 @@ export declare class CodeBuildImageBuilder extends Construct implements IImageBu
|
|
|
154
154
|
* @param statement IAM policy statement
|
|
155
155
|
*/
|
|
156
156
|
addPolicyStatement(statement: iam.PolicyStatement): void;
|
|
157
|
+
/**
|
|
158
|
+
* Add extra trusted certificates. This helps deal with self-signed certificates for GitHub Enterprise Server.
|
|
159
|
+
*
|
|
160
|
+
* All first party Dockerfiles support this. Others may not.
|
|
161
|
+
*
|
|
162
|
+
* @param path path to directory containing a file called certs.pem containing all the required certificates
|
|
163
|
+
*/
|
|
164
|
+
addExtraCertificates(path: string): void;
|
|
157
165
|
/**
|
|
158
166
|
* Called by IRunnerProvider to finalize settings and create the image builder.
|
|
159
167
|
*/
|