cloudsnorkel.cdk-github-runners 0.14.0__tar.gz → 0.14.2__tar.gz
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.
Potentially problematic release.
This version of cloudsnorkel.cdk-github-runners might be problematic. Click here for more details.
- {cloudsnorkel.cdk-github-runners-0.14.0 → cloudsnorkel_cdk_github_runners-0.14.2}/PKG-INFO +58 -8
- cloudsnorkel.cdk-github-runners-0.14.0/src/cloudsnorkel.cdk_github_runners.egg-info/PKG-INFO → cloudsnorkel_cdk_github_runners-0.14.2/README.md +52 -30
- {cloudsnorkel.cdk-github-runners-0.14.0 → cloudsnorkel_cdk_github_runners-0.14.2}/pyproject.toml +1 -1
- {cloudsnorkel.cdk-github-runners-0.14.0 → cloudsnorkel_cdk_github_runners-0.14.2}/setup.py +4 -4
- {cloudsnorkel.cdk-github-runners-0.14.0 → cloudsnorkel_cdk_github_runners-0.14.2}/src/cloudsnorkel/cdk_github_runners/__init__.py +74 -14
- cloudsnorkel_cdk_github_runners-0.14.2/src/cloudsnorkel/cdk_github_runners/_jsii/__init__.py +45 -0
- cloudsnorkel_cdk_github_runners-0.14.2/src/cloudsnorkel/cdk_github_runners/_jsii/cdk-github-runners@0.14.2.jsii.tgz +0 -0
- cloudsnorkel.cdk-github-runners-0.14.0/README.md → cloudsnorkel_cdk_github_runners-0.14.2/src/cloudsnorkel.cdk_github_runners.egg-info/PKG-INFO +80 -7
- {cloudsnorkel.cdk-github-runners-0.14.0 → cloudsnorkel_cdk_github_runners-0.14.2}/src/cloudsnorkel.cdk_github_runners.egg-info/SOURCES.txt +1 -1
- {cloudsnorkel.cdk-github-runners-0.14.0 → cloudsnorkel_cdk_github_runners-0.14.2}/src/cloudsnorkel.cdk_github_runners.egg-info/requires.txt +2 -2
- cloudsnorkel.cdk-github-runners-0.14.0/src/cloudsnorkel/cdk_github_runners/_jsii/__init__.py +0 -30
- cloudsnorkel.cdk-github-runners-0.14.0/src/cloudsnorkel/cdk_github_runners/_jsii/cdk-github-runners@0.14.0.jsii.tgz +0 -0
- {cloudsnorkel.cdk-github-runners-0.14.0 → cloudsnorkel_cdk_github_runners-0.14.2}/LICENSE +0 -0
- {cloudsnorkel.cdk-github-runners-0.14.0 → cloudsnorkel_cdk_github_runners-0.14.2}/MANIFEST.in +0 -0
- {cloudsnorkel.cdk-github-runners-0.14.0 → cloudsnorkel_cdk_github_runners-0.14.2}/setup.cfg +0 -0
- {cloudsnorkel.cdk-github-runners-0.14.0 → cloudsnorkel_cdk_github_runners-0.14.2}/src/cloudsnorkel/cdk_github_runners/py.typed +0 -0
- {cloudsnorkel.cdk-github-runners-0.14.0 → cloudsnorkel_cdk_github_runners-0.14.2}/src/cloudsnorkel.cdk_github_runners.egg-info/dependency_links.txt +0 -0
- {cloudsnorkel.cdk-github-runners-0.14.0 → cloudsnorkel_cdk_github_runners-0.14.2}/src/cloudsnorkel.cdk_github_runners.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: cloudsnorkel.cdk-github-runners
|
|
3
|
-
Version: 0.14.
|
|
3
|
+
Version: 0.14.2
|
|
4
4
|
Summary: CDK construct to create GitHub Actions self-hosted runners. A webhook listens to events and creates ephemeral runners on the fly.
|
|
5
5
|
Home-page: https://github.com/CloudSnorkel/cdk-github-runners.git
|
|
6
6
|
Author: Amir Szekely<amir@cloudsnorkel.com>
|
|
@@ -20,6 +20,11 @@ Classifier: License :: OSI Approved
|
|
|
20
20
|
Requires-Python: ~=3.8
|
|
21
21
|
Description-Content-Type: text/markdown
|
|
22
22
|
License-File: LICENSE
|
|
23
|
+
Requires-Dist: aws-cdk-lib<3.0.0,>=2.123.0
|
|
24
|
+
Requires-Dist: constructs<11.0.0,>=10.0.5
|
|
25
|
+
Requires-Dist: jsii<2.0.0,>=1.103.1
|
|
26
|
+
Requires-Dist: publication>=0.0.3
|
|
27
|
+
Requires-Dist: typeguard<5.0.0,>=2.13.3
|
|
23
28
|
|
|
24
29
|
# GitHub Self-Hosted Runners CDK Constructs
|
|
25
30
|
|
|
@@ -43,7 +48,7 @@ Self-hosted runners in AWS are useful when:
|
|
|
43
48
|
|
|
44
49
|
* You need easy access to internal resources in your actions
|
|
45
50
|
* You want to pre-install some software for your actions
|
|
46
|
-
* You want to provide some basic AWS API access (but [aws-actions/configure-aws-credentials](https://github.com/marketplace/actions/configure-aws-credentials-for-github-actions) has more security controls)
|
|
51
|
+
* You want to provide some basic AWS API access (but [aws-actions/configure-aws-credentials](https://github.com/marketplace/actions/configure-aws-credentials-action-for-github-actions) has more security controls)
|
|
47
52
|
* You are using GitHub Enterprise Server
|
|
48
53
|
|
|
49
54
|
Ephemeral (or on-demand) runners are the [recommended way by GitHub](https://docs.github.com/en/actions/hosting-your-own-runners/autoscaling-with-self-hosted-runners#using-ephemeral-runners-for-autoscaling) for auto-scaling, and they make sure all jobs run with a clean image. Runners are started on-demand. You don't pay unless a job is running.
|
|
@@ -93,9 +98,14 @@ You can also create your own provider by implementing `IRunnerProvider`.
|
|
|
93
98
|
### Use
|
|
94
99
|
|
|
95
100
|
```python
|
|
101
|
+
from aws_cdk import App, Stack
|
|
96
102
|
from cloudsnorkel.cdk_github_runners import GitHubRunners
|
|
97
103
|
|
|
98
|
-
|
|
104
|
+
app = App()
|
|
105
|
+
stack = Stack(app, "github-runners")
|
|
106
|
+
GitHubRunners(stack, "runners")
|
|
107
|
+
|
|
108
|
+
app.synth()
|
|
99
109
|
```
|
|
100
110
|
|
|
101
111
|
</details>
|
|
@@ -112,9 +122,14 @@ You can also create your own provider by implementing `IRunnerProvider`.
|
|
|
112
122
|
### Use
|
|
113
123
|
|
|
114
124
|
```python
|
|
125
|
+
import { App, Stack } from 'aws-cdk-lib';
|
|
115
126
|
import { GitHubRunners } from '@cloudsnorkel/cdk-github-runners';
|
|
116
127
|
|
|
117
|
-
new
|
|
128
|
+
const app = new App();
|
|
129
|
+
const stack = new Stack(app, 'github-runners');
|
|
130
|
+
new GitHubRunners(stack, 'runners');
|
|
131
|
+
|
|
132
|
+
app.synth();
|
|
118
133
|
```
|
|
119
134
|
|
|
120
135
|
</details>
|
|
@@ -134,9 +149,19 @@ You can also create your own provider by implementing `IRunnerProvider`.
|
|
|
134
149
|
### Use
|
|
135
150
|
|
|
136
151
|
```java
|
|
152
|
+
import software.amazon.awscdk.App;
|
|
153
|
+
import software.amazon.awscdk.Stack;
|
|
137
154
|
import com.cloudsnorkel.cdk.github.runners.GitHubRunners;
|
|
138
155
|
|
|
139
|
-
|
|
156
|
+
public class Example {
|
|
157
|
+
public static void main(String[] args){
|
|
158
|
+
App app = new App();
|
|
159
|
+
Stack stack = new Stack(app, "github-runners");
|
|
160
|
+
GitHubRunners.Builder.create(stack, "runners").build();
|
|
161
|
+
|
|
162
|
+
app.synth();
|
|
163
|
+
}
|
|
164
|
+
}
|
|
140
165
|
```
|
|
141
166
|
|
|
142
167
|
</details>
|
|
@@ -153,9 +178,21 @@ You can also create your own provider by implementing `IRunnerProvider`.
|
|
|
153
178
|
### Use
|
|
154
179
|
|
|
155
180
|
```go
|
|
156
|
-
|
|
181
|
+
package main
|
|
182
|
+
|
|
183
|
+
import (
|
|
184
|
+
"github.com/CloudSnorkel/cdk-github-runners-go/cloudsnorkelcdkgithubrunners"
|
|
185
|
+
"github.com/aws/aws-cdk-go/awscdk/v2"
|
|
186
|
+
"github.com/aws/jsii-runtime-go"
|
|
187
|
+
)
|
|
188
|
+
|
|
189
|
+
func main() {
|
|
190
|
+
app := awscdk.NewApp(nil)
|
|
191
|
+
stack := awscdk.NewStack(app, jsii.String("github-runners"), &awscdk.StackProps{})
|
|
192
|
+
cloudsnorkelcdkgithubrunners.NewGitHubRunners(stack, jsii.String("runners"), &cloudsnorkelcdkgithubrunners.GitHubRunnersProps{})
|
|
157
193
|
|
|
158
|
-
|
|
194
|
+
app.Synth(nil)
|
|
195
|
+
}
|
|
159
196
|
```
|
|
160
197
|
|
|
161
198
|
</details>
|
|
@@ -172,9 +209,22 @@ You can also create your own provider by implementing `IRunnerProvider`.
|
|
|
172
209
|
### Use
|
|
173
210
|
|
|
174
211
|
```csharp
|
|
212
|
+
using Amazon.CDK;
|
|
175
213
|
using CloudSnorkel;
|
|
176
214
|
|
|
177
|
-
|
|
215
|
+
namespace Example
|
|
216
|
+
{
|
|
217
|
+
sealed class Program
|
|
218
|
+
{
|
|
219
|
+
public static void Main(string[] args)
|
|
220
|
+
{
|
|
221
|
+
var app = new App();
|
|
222
|
+
var stack = new Stack(app, "github-runners");
|
|
223
|
+
new GitHubRunners(stack, "runners");
|
|
224
|
+
app.Synth();
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}
|
|
178
228
|
```
|
|
179
229
|
|
|
180
230
|
</details>
|
|
@@ -1,26 +1,3 @@
|
|
|
1
|
-
Metadata-Version: 2.1
|
|
2
|
-
Name: cloudsnorkel.cdk-github-runners
|
|
3
|
-
Version: 0.14.0
|
|
4
|
-
Summary: CDK construct to create GitHub Actions self-hosted runners. A webhook listens to events and creates ephemeral runners on the fly.
|
|
5
|
-
Home-page: https://github.com/CloudSnorkel/cdk-github-runners.git
|
|
6
|
-
Author: Amir Szekely<amir@cloudsnorkel.com>
|
|
7
|
-
License: Apache-2.0
|
|
8
|
-
Project-URL: Source, https://github.com/CloudSnorkel/cdk-github-runners.git
|
|
9
|
-
Classifier: Intended Audience :: Developers
|
|
10
|
-
Classifier: Operating System :: OS Independent
|
|
11
|
-
Classifier: Programming Language :: JavaScript
|
|
12
|
-
Classifier: Programming Language :: Python :: 3 :: Only
|
|
13
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
14
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
15
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
16
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
17
|
-
Classifier: Typing :: Typed
|
|
18
|
-
Classifier: Development Status :: 4 - Beta
|
|
19
|
-
Classifier: License :: OSI Approved
|
|
20
|
-
Requires-Python: ~=3.8
|
|
21
|
-
Description-Content-Type: text/markdown
|
|
22
|
-
License-File: LICENSE
|
|
23
|
-
|
|
24
1
|
# GitHub Self-Hosted Runners CDK Constructs
|
|
25
2
|
|
|
26
3
|
[](https://www.npmjs.com/package/@cloudsnorkel/cdk-github-runners)
|
|
@@ -43,7 +20,7 @@ Self-hosted runners in AWS are useful when:
|
|
|
43
20
|
|
|
44
21
|
* You need easy access to internal resources in your actions
|
|
45
22
|
* You want to pre-install some software for your actions
|
|
46
|
-
* You want to provide some basic AWS API access (but [aws-actions/configure-aws-credentials](https://github.com/marketplace/actions/configure-aws-credentials-for-github-actions) has more security controls)
|
|
23
|
+
* You want to provide some basic AWS API access (but [aws-actions/configure-aws-credentials](https://github.com/marketplace/actions/configure-aws-credentials-action-for-github-actions) has more security controls)
|
|
47
24
|
* You are using GitHub Enterprise Server
|
|
48
25
|
|
|
49
26
|
Ephemeral (or on-demand) runners are the [recommended way by GitHub](https://docs.github.com/en/actions/hosting-your-own-runners/autoscaling-with-self-hosted-runners#using-ephemeral-runners-for-autoscaling) for auto-scaling, and they make sure all jobs run with a clean image. Runners are started on-demand. You don't pay unless a job is running.
|
|
@@ -93,9 +70,14 @@ You can also create your own provider by implementing `IRunnerProvider`.
|
|
|
93
70
|
### Use
|
|
94
71
|
|
|
95
72
|
```python
|
|
73
|
+
from aws_cdk import App, Stack
|
|
96
74
|
from cloudsnorkel.cdk_github_runners import GitHubRunners
|
|
97
75
|
|
|
98
|
-
|
|
76
|
+
app = App()
|
|
77
|
+
stack = Stack(app, "github-runners")
|
|
78
|
+
GitHubRunners(stack, "runners")
|
|
79
|
+
|
|
80
|
+
app.synth()
|
|
99
81
|
```
|
|
100
82
|
|
|
101
83
|
</details>
|
|
@@ -112,9 +94,14 @@ You can also create your own provider by implementing `IRunnerProvider`.
|
|
|
112
94
|
### Use
|
|
113
95
|
|
|
114
96
|
```python
|
|
97
|
+
import { App, Stack } from 'aws-cdk-lib';
|
|
115
98
|
import { GitHubRunners } from '@cloudsnorkel/cdk-github-runners';
|
|
116
99
|
|
|
117
|
-
new
|
|
100
|
+
const app = new App();
|
|
101
|
+
const stack = new Stack(app, 'github-runners');
|
|
102
|
+
new GitHubRunners(stack, 'runners');
|
|
103
|
+
|
|
104
|
+
app.synth();
|
|
118
105
|
```
|
|
119
106
|
|
|
120
107
|
</details>
|
|
@@ -134,9 +121,19 @@ You can also create your own provider by implementing `IRunnerProvider`.
|
|
|
134
121
|
### Use
|
|
135
122
|
|
|
136
123
|
```java
|
|
124
|
+
import software.amazon.awscdk.App;
|
|
125
|
+
import software.amazon.awscdk.Stack;
|
|
137
126
|
import com.cloudsnorkel.cdk.github.runners.GitHubRunners;
|
|
138
127
|
|
|
139
|
-
|
|
128
|
+
public class Example {
|
|
129
|
+
public static void main(String[] args){
|
|
130
|
+
App app = new App();
|
|
131
|
+
Stack stack = new Stack(app, "github-runners");
|
|
132
|
+
GitHubRunners.Builder.create(stack, "runners").build();
|
|
133
|
+
|
|
134
|
+
app.synth();
|
|
135
|
+
}
|
|
136
|
+
}
|
|
140
137
|
```
|
|
141
138
|
|
|
142
139
|
</details>
|
|
@@ -153,9 +150,21 @@ You can also create your own provider by implementing `IRunnerProvider`.
|
|
|
153
150
|
### Use
|
|
154
151
|
|
|
155
152
|
```go
|
|
156
|
-
|
|
153
|
+
package main
|
|
154
|
+
|
|
155
|
+
import (
|
|
156
|
+
"github.com/CloudSnorkel/cdk-github-runners-go/cloudsnorkelcdkgithubrunners"
|
|
157
|
+
"github.com/aws/aws-cdk-go/awscdk/v2"
|
|
158
|
+
"github.com/aws/jsii-runtime-go"
|
|
159
|
+
)
|
|
160
|
+
|
|
161
|
+
func main() {
|
|
162
|
+
app := awscdk.NewApp(nil)
|
|
163
|
+
stack := awscdk.NewStack(app, jsii.String("github-runners"), &awscdk.StackProps{})
|
|
164
|
+
cloudsnorkelcdkgithubrunners.NewGitHubRunners(stack, jsii.String("runners"), &cloudsnorkelcdkgithubrunners.GitHubRunnersProps{})
|
|
157
165
|
|
|
158
|
-
|
|
166
|
+
app.Synth(nil)
|
|
167
|
+
}
|
|
159
168
|
```
|
|
160
169
|
|
|
161
170
|
</details>
|
|
@@ -172,9 +181,22 @@ You can also create your own provider by implementing `IRunnerProvider`.
|
|
|
172
181
|
### Use
|
|
173
182
|
|
|
174
183
|
```csharp
|
|
184
|
+
using Amazon.CDK;
|
|
175
185
|
using CloudSnorkel;
|
|
176
186
|
|
|
177
|
-
|
|
187
|
+
namespace Example
|
|
188
|
+
{
|
|
189
|
+
sealed class Program
|
|
190
|
+
{
|
|
191
|
+
public static void Main(string[] args)
|
|
192
|
+
{
|
|
193
|
+
var app = new App();
|
|
194
|
+
var stack = new Stack(app, "github-runners");
|
|
195
|
+
new GitHubRunners(stack, "runners");
|
|
196
|
+
app.Synth();
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
178
200
|
```
|
|
179
201
|
|
|
180
202
|
</details>
|
|
@@ -5,7 +5,7 @@ kwargs = json.loads(
|
|
|
5
5
|
"""
|
|
6
6
|
{
|
|
7
7
|
"name": "cloudsnorkel.cdk-github-runners",
|
|
8
|
-
"version": "0.14.
|
|
8
|
+
"version": "0.14.2",
|
|
9
9
|
"description": "CDK construct to create GitHub Actions self-hosted runners. A webhook listens to events and creates ephemeral runners on the fly.",
|
|
10
10
|
"license": "Apache-2.0",
|
|
11
11
|
"url": "https://github.com/CloudSnorkel/cdk-github-runners.git",
|
|
@@ -26,7 +26,7 @@ kwargs = json.loads(
|
|
|
26
26
|
],
|
|
27
27
|
"package_data": {
|
|
28
28
|
"cloudsnorkel.cdk_github_runners._jsii": [
|
|
29
|
-
"cdk-github-runners@0.14.
|
|
29
|
+
"cdk-github-runners@0.14.2.jsii.tgz"
|
|
30
30
|
],
|
|
31
31
|
"cloudsnorkel.cdk_github_runners": [
|
|
32
32
|
"py.typed"
|
|
@@ -36,9 +36,9 @@ kwargs = json.loads(
|
|
|
36
36
|
"install_requires": [
|
|
37
37
|
"aws-cdk-lib>=2.123.0, <3.0.0",
|
|
38
38
|
"constructs>=10.0.5, <11.0.0",
|
|
39
|
-
"jsii>=1.
|
|
39
|
+
"jsii>=1.103.1, <2.0.0",
|
|
40
40
|
"publication>=0.0.3",
|
|
41
|
-
"typeguard
|
|
41
|
+
"typeguard>=2.13.3,<5.0.0"
|
|
42
42
|
],
|
|
43
43
|
"classifiers": [
|
|
44
44
|
"Intended Audience :: Developers",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'''
|
|
1
|
+
r'''
|
|
2
2
|
# GitHub Self-Hosted Runners CDK Constructs
|
|
3
3
|
|
|
4
4
|
[](https://www.npmjs.com/package/@cloudsnorkel/cdk-github-runners)
|
|
@@ -21,7 +21,7 @@ Self-hosted runners in AWS are useful when:
|
|
|
21
21
|
|
|
22
22
|
* You need easy access to internal resources in your actions
|
|
23
23
|
* You want to pre-install some software for your actions
|
|
24
|
-
* You want to provide some basic AWS API access (but [aws-actions/configure-aws-credentials](https://github.com/marketplace/actions/configure-aws-credentials-for-github-actions) has more security controls)
|
|
24
|
+
* You want to provide some basic AWS API access (but [aws-actions/configure-aws-credentials](https://github.com/marketplace/actions/configure-aws-credentials-action-for-github-actions) has more security controls)
|
|
25
25
|
* You are using GitHub Enterprise Server
|
|
26
26
|
|
|
27
27
|
Ephemeral (or on-demand) runners are the [recommended way by GitHub](https://docs.github.com/en/actions/hosting-your-own-runners/autoscaling-with-self-hosted-runners#using-ephemeral-runners-for-autoscaling) for auto-scaling, and they make sure all jobs run with a clean image. Runners are started on-demand. You don't pay unless a job is running.
|
|
@@ -71,9 +71,14 @@ You can also create your own provider by implementing `IRunnerProvider`.
|
|
|
71
71
|
### Use
|
|
72
72
|
|
|
73
73
|
```python
|
|
74
|
+
from aws_cdk import App, Stack
|
|
74
75
|
from cloudsnorkel.cdk_github_runners import GitHubRunners
|
|
75
76
|
|
|
76
|
-
|
|
77
|
+
app = App()
|
|
78
|
+
stack = Stack(app, "github-runners")
|
|
79
|
+
GitHubRunners(stack, "runners")
|
|
80
|
+
|
|
81
|
+
app.synth()
|
|
77
82
|
```
|
|
78
83
|
|
|
79
84
|
</details>
|
|
@@ -90,9 +95,14 @@ You can also create your own provider by implementing `IRunnerProvider`.
|
|
|
90
95
|
### Use
|
|
91
96
|
|
|
92
97
|
```python
|
|
98
|
+
import { App, Stack } from 'aws-cdk-lib';
|
|
93
99
|
import { GitHubRunners } from '@cloudsnorkel/cdk-github-runners';
|
|
94
100
|
|
|
95
|
-
new
|
|
101
|
+
const app = new App();
|
|
102
|
+
const stack = new Stack(app, 'github-runners');
|
|
103
|
+
new GitHubRunners(stack, 'runners');
|
|
104
|
+
|
|
105
|
+
app.synth();
|
|
96
106
|
```
|
|
97
107
|
|
|
98
108
|
</details>
|
|
@@ -112,9 +122,19 @@ You can also create your own provider by implementing `IRunnerProvider`.
|
|
|
112
122
|
### Use
|
|
113
123
|
|
|
114
124
|
```java
|
|
125
|
+
import software.amazon.awscdk.App;
|
|
126
|
+
import software.amazon.awscdk.Stack;
|
|
115
127
|
import com.cloudsnorkel.cdk.github.runners.GitHubRunners;
|
|
116
128
|
|
|
117
|
-
|
|
129
|
+
public class Example {
|
|
130
|
+
public static void main(String[] args){
|
|
131
|
+
App app = new App();
|
|
132
|
+
Stack stack = new Stack(app, "github-runners");
|
|
133
|
+
GitHubRunners.Builder.create(stack, "runners").build();
|
|
134
|
+
|
|
135
|
+
app.synth();
|
|
136
|
+
}
|
|
137
|
+
}
|
|
118
138
|
```
|
|
119
139
|
|
|
120
140
|
</details>
|
|
@@ -131,9 +151,21 @@ You can also create your own provider by implementing `IRunnerProvider`.
|
|
|
131
151
|
### Use
|
|
132
152
|
|
|
133
153
|
```go
|
|
134
|
-
|
|
154
|
+
package main
|
|
135
155
|
|
|
136
|
-
|
|
156
|
+
import (
|
|
157
|
+
"github.com/CloudSnorkel/cdk-github-runners-go/cloudsnorkelcdkgithubrunners"
|
|
158
|
+
"github.com/aws/aws-cdk-go/awscdk/v2"
|
|
159
|
+
"github.com/aws/jsii-runtime-go"
|
|
160
|
+
)
|
|
161
|
+
|
|
162
|
+
func main() {
|
|
163
|
+
app := awscdk.NewApp(nil)
|
|
164
|
+
stack := awscdk.NewStack(app, jsii.String("github-runners"), &awscdk.StackProps{})
|
|
165
|
+
cloudsnorkelcdkgithubrunners.NewGitHubRunners(stack, jsii.String("runners"), &cloudsnorkelcdkgithubrunners.GitHubRunnersProps{})
|
|
166
|
+
|
|
167
|
+
app.Synth(nil)
|
|
168
|
+
}
|
|
137
169
|
```
|
|
138
170
|
|
|
139
171
|
</details>
|
|
@@ -150,9 +182,22 @@ You can also create your own provider by implementing `IRunnerProvider`.
|
|
|
150
182
|
### Use
|
|
151
183
|
|
|
152
184
|
```csharp
|
|
185
|
+
using Amazon.CDK;
|
|
153
186
|
using CloudSnorkel;
|
|
154
187
|
|
|
155
|
-
|
|
188
|
+
namespace Example
|
|
189
|
+
{
|
|
190
|
+
sealed class Program
|
|
191
|
+
{
|
|
192
|
+
public static void Main(string[] args)
|
|
193
|
+
{
|
|
194
|
+
var app = new App();
|
|
195
|
+
var stack = new Stack(app, "github-runners");
|
|
196
|
+
new GitHubRunners(stack, "runners");
|
|
197
|
+
app.Synth();
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
}
|
|
156
201
|
```
|
|
157
202
|
|
|
158
203
|
</details>
|
|
@@ -355,7 +400,22 @@ import jsii
|
|
|
355
400
|
import publication
|
|
356
401
|
import typing_extensions
|
|
357
402
|
|
|
358
|
-
|
|
403
|
+
import typeguard
|
|
404
|
+
from importlib.metadata import version as _metadata_package_version
|
|
405
|
+
TYPEGUARD_MAJOR_VERSION = int(_metadata_package_version('typeguard').split('.')[0])
|
|
406
|
+
|
|
407
|
+
def check_type(argname: str, value: object, expected_type: typing.Any) -> typing.Any:
|
|
408
|
+
if TYPEGUARD_MAJOR_VERSION <= 2:
|
|
409
|
+
return typeguard.check_type(argname=argname, value=value, expected_type=expected_type) # type:ignore
|
|
410
|
+
else:
|
|
411
|
+
if isinstance(value, jsii._reference_map.InterfaceDynamicProxy): # pyright: ignore [reportAttributeAccessIssue]
|
|
412
|
+
pass
|
|
413
|
+
else:
|
|
414
|
+
if TYPEGUARD_MAJOR_VERSION == 3:
|
|
415
|
+
typeguard.config.collection_check_strategy = typeguard.CollectionCheckStrategy.ALL_ITEMS # type:ignore
|
|
416
|
+
typeguard.check_type(value=value, expected_type=expected_type) # type:ignore
|
|
417
|
+
else:
|
|
418
|
+
typeguard.check_type(value=value, expected_type=expected_type, collection_check_strategy=typeguard.CollectionCheckStrategy.ALL_ITEMS) # type:ignore
|
|
359
419
|
|
|
360
420
|
from ._jsii import *
|
|
361
421
|
|
|
@@ -5906,7 +5966,7 @@ class AmiBuilder(
|
|
|
5906
5966
|
):
|
|
5907
5967
|
'''(deprecated) An AMI builder that uses AWS Image Builder to build AMIs pre-baked with all the GitHub Actions runner requirements.
|
|
5908
5968
|
|
|
5909
|
-
Builders can be used with {@link
|
|
5969
|
+
Builders can be used with {@link Ec2RunnerProvider }.
|
|
5910
5970
|
|
|
5911
5971
|
Each builder re-runs automatically at a set interval to make sure the AMIs contain the latest versions of everything.
|
|
5912
5972
|
|
|
@@ -5931,7 +5991,7 @@ class AmiBuilder(
|
|
|
5931
5991
|
amiBuilder: builder,
|
|
5932
5992
|
});
|
|
5933
5993
|
|
|
5934
|
-
:deprecated: use RunnerImageBuilder
|
|
5994
|
+
:deprecated: use RunnerImageBuilder, e.g. with Ec2RunnerProvider.imageBuilder()
|
|
5935
5995
|
|
|
5936
5996
|
:stability: deprecated
|
|
5937
5997
|
'''
|
|
@@ -6204,7 +6264,7 @@ class AmiBuilder(
|
|
|
6204
6264
|
if __debug__:
|
|
6205
6265
|
type_hints = typing.get_type_hints(_typecheckingstub__8088868062a70621aab7b900883cf52d9c930de8a458039564d69a7d0cc80f52)
|
|
6206
6266
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
6207
|
-
jsii.set(self, "components", value)
|
|
6267
|
+
jsii.set(self, "components", value) # pyright: ignore[reportArgumentType]
|
|
6208
6268
|
|
|
6209
6269
|
|
|
6210
6270
|
@jsii.implements(IRunnerImageBuilder)
|
|
@@ -7368,7 +7428,7 @@ class ContainerImageBuilder(
|
|
|
7368
7428
|
if __debug__:
|
|
7369
7429
|
type_hints = typing.get_type_hints(_typecheckingstub__f4c47d52e3f51709153fc49a53f833f06b1fd2ba44d3c86696b418a3bf88a972)
|
|
7370
7430
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
7371
|
-
jsii.set(self, "components", value)
|
|
7431
|
+
jsii.set(self, "components", value) # pyright: ignore[reportArgumentType]
|
|
7372
7432
|
|
|
7373
7433
|
|
|
7374
7434
|
@jsii.implements(IRunnerProvider)
|
|
@@ -10171,7 +10231,7 @@ class RunnerImageBuilder(
|
|
|
10171
10231
|
if __debug__:
|
|
10172
10232
|
type_hints = typing.get_type_hints(_typecheckingstub__705c18a1eedaa490aebad511aac32a801519a57162e30be4673a8ab87ca434dc)
|
|
10173
10233
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
10174
|
-
jsii.set(self, "components", value)
|
|
10234
|
+
jsii.set(self, "components", value) # pyright: ignore[reportArgumentType]
|
|
10175
10235
|
|
|
10176
10236
|
|
|
10177
10237
|
class _RunnerImageBuilderProxy(RunnerImageBuilder):
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
from pkgutil import extend_path
|
|
2
|
+
__path__ = extend_path(__path__, __name__)
|
|
3
|
+
|
|
4
|
+
import abc
|
|
5
|
+
import builtins
|
|
6
|
+
import datetime
|
|
7
|
+
import enum
|
|
8
|
+
import typing
|
|
9
|
+
|
|
10
|
+
import jsii
|
|
11
|
+
import publication
|
|
12
|
+
import typing_extensions
|
|
13
|
+
|
|
14
|
+
import typeguard
|
|
15
|
+
from importlib.metadata import version as _metadata_package_version
|
|
16
|
+
TYPEGUARD_MAJOR_VERSION = int(_metadata_package_version('typeguard').split('.')[0])
|
|
17
|
+
|
|
18
|
+
def check_type(argname: str, value: object, expected_type: typing.Any) -> typing.Any:
|
|
19
|
+
if TYPEGUARD_MAJOR_VERSION <= 2:
|
|
20
|
+
return typeguard.check_type(argname=argname, value=value, expected_type=expected_type) # type:ignore
|
|
21
|
+
else:
|
|
22
|
+
if isinstance(value, jsii._reference_map.InterfaceDynamicProxy): # pyright: ignore [reportAttributeAccessIssue]
|
|
23
|
+
pass
|
|
24
|
+
else:
|
|
25
|
+
if TYPEGUARD_MAJOR_VERSION == 3:
|
|
26
|
+
typeguard.config.collection_check_strategy = typeguard.CollectionCheckStrategy.ALL_ITEMS # type:ignore
|
|
27
|
+
typeguard.check_type(value=value, expected_type=expected_type) # type:ignore
|
|
28
|
+
else:
|
|
29
|
+
typeguard.check_type(value=value, expected_type=expected_type, collection_check_strategy=typeguard.CollectionCheckStrategy.ALL_ITEMS) # type:ignore
|
|
30
|
+
|
|
31
|
+
import aws_cdk._jsii
|
|
32
|
+
import constructs._jsii
|
|
33
|
+
|
|
34
|
+
__jsii_assembly__ = jsii.JSIIAssembly.load(
|
|
35
|
+
"@cloudsnorkel/cdk-github-runners",
|
|
36
|
+
"0.14.2",
|
|
37
|
+
__name__[0:-6],
|
|
38
|
+
"cdk-github-runners@0.14.2.jsii.tgz",
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
__all__ = [
|
|
42
|
+
"__jsii_assembly__",
|
|
43
|
+
]
|
|
44
|
+
|
|
45
|
+
publication.publish()
|
|
Binary file
|
|
@@ -1,3 +1,31 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: cloudsnorkel.cdk-github-runners
|
|
3
|
+
Version: 0.14.2
|
|
4
|
+
Summary: CDK construct to create GitHub Actions self-hosted runners. A webhook listens to events and creates ephemeral runners on the fly.
|
|
5
|
+
Home-page: https://github.com/CloudSnorkel/cdk-github-runners.git
|
|
6
|
+
Author: Amir Szekely<amir@cloudsnorkel.com>
|
|
7
|
+
License: Apache-2.0
|
|
8
|
+
Project-URL: Source, https://github.com/CloudSnorkel/cdk-github-runners.git
|
|
9
|
+
Classifier: Intended Audience :: Developers
|
|
10
|
+
Classifier: Operating System :: OS Independent
|
|
11
|
+
Classifier: Programming Language :: JavaScript
|
|
12
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
17
|
+
Classifier: Typing :: Typed
|
|
18
|
+
Classifier: Development Status :: 4 - Beta
|
|
19
|
+
Classifier: License :: OSI Approved
|
|
20
|
+
Requires-Python: ~=3.8
|
|
21
|
+
Description-Content-Type: text/markdown
|
|
22
|
+
License-File: LICENSE
|
|
23
|
+
Requires-Dist: aws-cdk-lib<3.0.0,>=2.123.0
|
|
24
|
+
Requires-Dist: constructs<11.0.0,>=10.0.5
|
|
25
|
+
Requires-Dist: jsii<2.0.0,>=1.103.1
|
|
26
|
+
Requires-Dist: publication>=0.0.3
|
|
27
|
+
Requires-Dist: typeguard<5.0.0,>=2.13.3
|
|
28
|
+
|
|
1
29
|
# GitHub Self-Hosted Runners CDK Constructs
|
|
2
30
|
|
|
3
31
|
[](https://www.npmjs.com/package/@cloudsnorkel/cdk-github-runners)
|
|
@@ -20,7 +48,7 @@ Self-hosted runners in AWS are useful when:
|
|
|
20
48
|
|
|
21
49
|
* You need easy access to internal resources in your actions
|
|
22
50
|
* You want to pre-install some software for your actions
|
|
23
|
-
* You want to provide some basic AWS API access (but [aws-actions/configure-aws-credentials](https://github.com/marketplace/actions/configure-aws-credentials-for-github-actions) has more security controls)
|
|
51
|
+
* You want to provide some basic AWS API access (but [aws-actions/configure-aws-credentials](https://github.com/marketplace/actions/configure-aws-credentials-action-for-github-actions) has more security controls)
|
|
24
52
|
* You are using GitHub Enterprise Server
|
|
25
53
|
|
|
26
54
|
Ephemeral (or on-demand) runners are the [recommended way by GitHub](https://docs.github.com/en/actions/hosting-your-own-runners/autoscaling-with-self-hosted-runners#using-ephemeral-runners-for-autoscaling) for auto-scaling, and they make sure all jobs run with a clean image. Runners are started on-demand. You don't pay unless a job is running.
|
|
@@ -70,9 +98,14 @@ You can also create your own provider by implementing `IRunnerProvider`.
|
|
|
70
98
|
### Use
|
|
71
99
|
|
|
72
100
|
```python
|
|
101
|
+
from aws_cdk import App, Stack
|
|
73
102
|
from cloudsnorkel.cdk_github_runners import GitHubRunners
|
|
74
103
|
|
|
75
|
-
|
|
104
|
+
app = App()
|
|
105
|
+
stack = Stack(app, "github-runners")
|
|
106
|
+
GitHubRunners(stack, "runners")
|
|
107
|
+
|
|
108
|
+
app.synth()
|
|
76
109
|
```
|
|
77
110
|
|
|
78
111
|
</details>
|
|
@@ -89,9 +122,14 @@ You can also create your own provider by implementing `IRunnerProvider`.
|
|
|
89
122
|
### Use
|
|
90
123
|
|
|
91
124
|
```python
|
|
125
|
+
import { App, Stack } from 'aws-cdk-lib';
|
|
92
126
|
import { GitHubRunners } from '@cloudsnorkel/cdk-github-runners';
|
|
93
127
|
|
|
94
|
-
new
|
|
128
|
+
const app = new App();
|
|
129
|
+
const stack = new Stack(app, 'github-runners');
|
|
130
|
+
new GitHubRunners(stack, 'runners');
|
|
131
|
+
|
|
132
|
+
app.synth();
|
|
95
133
|
```
|
|
96
134
|
|
|
97
135
|
</details>
|
|
@@ -111,9 +149,19 @@ You can also create your own provider by implementing `IRunnerProvider`.
|
|
|
111
149
|
### Use
|
|
112
150
|
|
|
113
151
|
```java
|
|
152
|
+
import software.amazon.awscdk.App;
|
|
153
|
+
import software.amazon.awscdk.Stack;
|
|
114
154
|
import com.cloudsnorkel.cdk.github.runners.GitHubRunners;
|
|
115
155
|
|
|
116
|
-
|
|
156
|
+
public class Example {
|
|
157
|
+
public static void main(String[] args){
|
|
158
|
+
App app = new App();
|
|
159
|
+
Stack stack = new Stack(app, "github-runners");
|
|
160
|
+
GitHubRunners.Builder.create(stack, "runners").build();
|
|
161
|
+
|
|
162
|
+
app.synth();
|
|
163
|
+
}
|
|
164
|
+
}
|
|
117
165
|
```
|
|
118
166
|
|
|
119
167
|
</details>
|
|
@@ -130,9 +178,21 @@ You can also create your own provider by implementing `IRunnerProvider`.
|
|
|
130
178
|
### Use
|
|
131
179
|
|
|
132
180
|
```go
|
|
133
|
-
|
|
181
|
+
package main
|
|
182
|
+
|
|
183
|
+
import (
|
|
184
|
+
"github.com/CloudSnorkel/cdk-github-runners-go/cloudsnorkelcdkgithubrunners"
|
|
185
|
+
"github.com/aws/aws-cdk-go/awscdk/v2"
|
|
186
|
+
"github.com/aws/jsii-runtime-go"
|
|
187
|
+
)
|
|
188
|
+
|
|
189
|
+
func main() {
|
|
190
|
+
app := awscdk.NewApp(nil)
|
|
191
|
+
stack := awscdk.NewStack(app, jsii.String("github-runners"), &awscdk.StackProps{})
|
|
192
|
+
cloudsnorkelcdkgithubrunners.NewGitHubRunners(stack, jsii.String("runners"), &cloudsnorkelcdkgithubrunners.GitHubRunnersProps{})
|
|
134
193
|
|
|
135
|
-
|
|
194
|
+
app.Synth(nil)
|
|
195
|
+
}
|
|
136
196
|
```
|
|
137
197
|
|
|
138
198
|
</details>
|
|
@@ -149,9 +209,22 @@ You can also create your own provider by implementing `IRunnerProvider`.
|
|
|
149
209
|
### Use
|
|
150
210
|
|
|
151
211
|
```csharp
|
|
212
|
+
using Amazon.CDK;
|
|
152
213
|
using CloudSnorkel;
|
|
153
214
|
|
|
154
|
-
|
|
215
|
+
namespace Example
|
|
216
|
+
{
|
|
217
|
+
sealed class Program
|
|
218
|
+
{
|
|
219
|
+
public static void Main(string[] args)
|
|
220
|
+
{
|
|
221
|
+
var app = new App();
|
|
222
|
+
var stack = new Stack(app, "github-runners");
|
|
223
|
+
new GitHubRunners(stack, "runners");
|
|
224
|
+
app.Synth();
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}
|
|
155
228
|
```
|
|
156
229
|
|
|
157
230
|
</details>
|
|
@@ -11,4 +11,4 @@ src/cloudsnorkel.cdk_github_runners.egg-info/top_level.txt
|
|
|
11
11
|
src/cloudsnorkel/cdk_github_runners/__init__.py
|
|
12
12
|
src/cloudsnorkel/cdk_github_runners/py.typed
|
|
13
13
|
src/cloudsnorkel/cdk_github_runners/_jsii/__init__.py
|
|
14
|
-
src/cloudsnorkel/cdk_github_runners/_jsii/cdk-github-runners@0.14.
|
|
14
|
+
src/cloudsnorkel/cdk_github_runners/_jsii/cdk-github-runners@0.14.2.jsii.tgz
|
cloudsnorkel.cdk-github-runners-0.14.0/src/cloudsnorkel/cdk_github_runners/_jsii/__init__.py
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
from pkgutil import extend_path
|
|
2
|
-
__path__ = extend_path(__path__, __name__)
|
|
3
|
-
|
|
4
|
-
import abc
|
|
5
|
-
import builtins
|
|
6
|
-
import datetime
|
|
7
|
-
import enum
|
|
8
|
-
import typing
|
|
9
|
-
|
|
10
|
-
import jsii
|
|
11
|
-
import publication
|
|
12
|
-
import typing_extensions
|
|
13
|
-
|
|
14
|
-
from typeguard import check_type
|
|
15
|
-
|
|
16
|
-
import aws_cdk._jsii
|
|
17
|
-
import constructs._jsii
|
|
18
|
-
|
|
19
|
-
__jsii_assembly__ = jsii.JSIIAssembly.load(
|
|
20
|
-
"@cloudsnorkel/cdk-github-runners",
|
|
21
|
-
"0.14.0",
|
|
22
|
-
__name__[0:-6],
|
|
23
|
-
"cdk-github-runners@0.14.0.jsii.tgz",
|
|
24
|
-
)
|
|
25
|
-
|
|
26
|
-
__all__ = [
|
|
27
|
-
"__jsii_assembly__",
|
|
28
|
-
]
|
|
29
|
-
|
|
30
|
-
publication.publish()
|
|
Binary file
|
|
File without changes
|
{cloudsnorkel.cdk-github-runners-0.14.0 → cloudsnorkel_cdk_github_runners-0.14.2}/MANIFEST.in
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|