@@ -8,6 +8,7 @@ import {Toolkit} from '@docker/actions-toolkit/lib/toolkit';
8
8
import { Node } from '@docker/actions-toolkit/lib/types/buildx/builder' ;
9
9
10
10
export const builderNodeEnvPrefix = 'BUILDER_NODE' ;
11
+ const defaultBuildkitdFlags = '--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host' ;
11
12
12
13
export interface Inputs {
13
14
version : string ;
@@ -32,7 +33,7 @@ export async function getInputs(): Promise<Inputs> {
32
33
name : await getBuilderName ( core . getInput ( 'driver' ) || 'docker-container' ) ,
33
34
driver : core . getInput ( 'driver' ) || 'docker-container' ,
34
35
driverOpts : Util . getInputList ( 'driver-opts' , { ignoreComma : true , quote : false } ) ,
35
- buildkitdFlags : core . getInput ( 'buildkitd-flags' ) || '--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host' ,
36
+ buildkitdFlags : core . getInput ( 'buildkitd-flags' ) ,
36
37
platforms : Util . getInputList ( 'platforms' ) ,
37
38
install : core . getBooleanInput ( 'install' ) ,
38
39
use : core . getBooleanInput ( 'use' ) ,
@@ -52,11 +53,13 @@ export async function getBuilderName(driver: string): Promise<string> {
52
53
export async function getCreateArgs ( inputs : Inputs , toolkit : Toolkit ) : Promise < Array < string > > {
53
54
const args : Array < string > = [ 'create' , '--name' , inputs . name , '--driver' , inputs . driver ] ;
54
55
if ( await toolkit . buildx . versionSatisfies ( '>=0.3.0' ) ) {
55
- await Util . asyncForEach ( inputs . driverOpts , async driverOpt => {
56
+ await Util . asyncForEach ( inputs . driverOpts , async ( driverOpt : string ) => {
56
57
args . push ( '--driver-opt' , driverOpt ) ;
57
58
} ) ;
58
- if ( driverSupportsFlags ( inputs . driver ) && inputs . buildkitdFlags ) {
59
+ if ( inputs . buildkitdFlags ) {
59
60
args . push ( '--buildkitd-flags' , inputs . buildkitdFlags ) ;
61
+ } else if ( driverSupportsBuildkitdFlags ( inputs . driver ) ) {
62
+ args . push ( '--buildkitd-flags' , defaultBuildkitdFlags ) ;
60
63
}
61
64
}
62
65
if ( inputs . platforms . length > 0 ) {
@@ -65,12 +68,10 @@ export async function getCreateArgs(inputs: Inputs, toolkit: Toolkit): Promise<A
65
68
if ( inputs . use ) {
66
69
args . push ( '--use' ) ;
67
70
}
68
- if ( driverSupportsFlags ( inputs . driver ) ) {
69
- if ( inputs . buildkitdConfig ) {
70
- args . push ( '--config' , toolkit . buildkit . config . resolveFromFile ( inputs . buildkitdConfig ) ) ;
71
- } else if ( inputs . buildkitdConfigInline ) {
72
- args . push ( '--config' , toolkit . buildkit . config . resolveFromString ( inputs . buildkitdConfigInline ) ) ;
73
- }
71
+ if ( inputs . buildkitdConfig ) {
72
+ args . push ( '--config' , toolkit . buildkit . config . resolveFromFile ( inputs . buildkitdConfig ) ) ;
73
+ } else if ( inputs . buildkitdConfigInline ) {
74
+ args . push ( '--config' , toolkit . buildkit . config . resolveFromString ( inputs . buildkitdConfigInline ) ) ;
74
75
}
75
76
if ( inputs . endpoint ) {
76
77
args . push ( inputs . endpoint ) ;
@@ -86,11 +87,13 @@ export async function getAppendArgs(inputs: Inputs, node: Node, toolkit: Toolkit
86
87
args . push ( '--node' , `node-${ uuid . v4 ( ) } ` ) ;
87
88
}
88
89
if ( node [ 'driver-opts' ] && ( await toolkit . buildx . versionSatisfies ( '>=0.3.0' ) ) ) {
89
- await Util . asyncForEach ( node [ 'driver-opts' ] , async driverOpt => {
90
+ await Util . asyncForEach ( node [ 'driver-opts' ] , async ( driverOpt : string ) => {
90
91
args . push ( '--driver-opt' , driverOpt ) ;
91
92
} ) ;
92
- if ( driverSupportsFlags ( inputs . driver ) && node [ 'buildkitd-flags' ] ) {
93
+ if ( node [ 'buildkitd-flags' ] ) {
93
94
args . push ( '--buildkitd-flags' , node [ 'buildkitd-flags' ] ) ;
95
+ } else if ( driverSupportsBuildkitdFlags ( inputs . driver ) ) {
96
+ args . push ( '--buildkitd-flags' , defaultBuildkitdFlags ) ;
94
97
}
95
98
}
96
99
if ( node . platforms ) {
@@ -110,6 +113,6 @@ export async function getInspectArgs(inputs: Inputs, toolkit: Toolkit): Promise<
110
113
return args ;
111
114
}
112
115
113
- function driverSupportsFlags ( driver : string ) : boolean {
116
+ function driverSupportsBuildkitdFlags ( driver : string ) : boolean {
114
117
return driver == '' || driver == 'docker-container' || driver == 'docker' || driver == 'kubernetes' ;
115
118
}
0 commit comments