You are on page 1of 3

28/2/24, 11:15 quarkus/extensions/kubernetes-client/runtime-internal/src/main/java/io/quarkus/kubernetes/client/runtime/KubernetesClientBuild…

quarkusio / quarkus Public

Code Issues 2.3k Pull requests 184 Discussions Actions Projects 8 Wiki Security In

quarkus / extensions / kubernetes-client / runtime-internal / src / main / java / io / quarkus / kubernetes / client / runtime
/ KubernetesClientBuildConfig.java

Copy path
radcortez Move Kubernetes Client to use ConfigMapping 8 months ago

168 lines (137 loc) · 3.96 KB

Code Blame Raw

1 package io.quarkus.kubernetes.client.runtime;
2
3 import java.time.Duration;
4 import java.util.List;
5 import java.util.Optional;
6
7 import io.quarkus.runtime.annotations.ConfigDocSection;
8 import io.quarkus.runtime.annotations.ConfigPhase;
9 import io.quarkus.runtime.annotations.ConfigRoot;
10 import io.smallrye.config.ConfigMapping;
11 import io.smallrye.config.WithDefault;
12
13 @ConfigMapping(prefix = "quarkus.kubernetes-client")
14 @ConfigRoot(phase = ConfigPhase.BUILD_AND_RUN_TIME_FIXED)
15 public interface KubernetesClientBuildConfig {
16
17 /**
18 * Whether the client should trust a self-signed certificate if so presented by the API server
19 */
20 Optional<Boolean> trustCerts();
21
22 /**
23 * URL of the Kubernetes API server
24 */
25 Optional<String> apiServerUrl();
26
27 /**
28 * Use api-server-url instead.
29 */
30 @Deprecated(forRemoval = true)
31 Optional<String> masterUrl();
32
33 /**
34 * Default namespace to use
35 */
36 Optional<String> namespace();
37
38 /**
39 * CA certificate file
40 */
41 Optional<String> caCertFile();
42
43 /**
44 * CA certificate data
45 */
46 Optional<String> caCertData();
47
48 /**
49 * Client certificate file
50 */
51 Optional<String> clientCertFile();
52
53 /**
https://github.com/quarkusio/quarkus/blob/main/extensions/kubernetes-client/runtime-internal/src/main/java/io/quarkus/kubernetes/client/runtime/… 1/3
28/2/24, 11:15 quarkus/extensions/kubernetes-client/runtime-internal/src/main/java/io/quarkus/kubernetes/client/runtime/KubernetesClientBuild…
53 /**
54 * Client certificate data
55 */
56 Optional<String> clientCertData();
57
58 /**
59 * Client key file
60 */
61 Optional<String> clientKeyFile();
62
63 /**
64 * Client key data
65 */
66 Optional<String> clientKeyData();
67
68 /**
69 * Client key algorithm
70 */
71 Optional<String> clientKeyAlgo();
72
73 /**
74 * Client key passphrase
75 */
76 Optional<String> clientKeyPassphrase();
77
78 /**
79 * Kubernetes auth username
80 */
81 Optional<String> username();
82
83 /**
84 * Kubernetes auth password
85 */
86 Optional<String> password();
87
88 /**
89 * Kubernetes oauth token
90 */
91 Optional<String> token();
92
93 /**
94 * Watch reconnect interval
95 */
96 @WithDefault("PT1S") // default lifted from Kubernetes Client
97 Duration watchReconnectInterval();
98
99 /**
100 * Maximum reconnect attempts in case of watch failure
101 * By default there is no limit to the number of reconnect attempts
102 */
103 @WithDefault("-1") // default lifted from Kubernetes Client
104 int watchReconnectLimit();
105
106 /**
107 * Maximum amount of time to wait for a connection with the API server to be established
108 */
109 @WithDefault("PT10S") // default lifted from Kubernetes Client
110 Duration connectionTimeout();
111
112 /**
113 * Maximum amount of time to wait for a request to the API server to be completed
114 */
115 @WithDefault("PT10S") // default lifted from Kubernetes Client
116 Duration requestTimeout();
117
118 /**
119 * Maximum number of retry attempts for API requests that fail with an HTTP code of >= 500
120 */
121 @WithDefault("0") // default lifted from Kubernetes Client
122 Integer requestRetryBackoffLimit();
123
https://github.com/quarkusio/quarkus/blob/main/extensions/kubernetes-client/runtime-internal/src/main/java/io/quarkus/kubernetes/client/runtime/… 2/3
28/2/24, 11:15 quarkus/extensions/kubernetes-client/runtime-internal/src/main/java/io/quarkus/kubernetes/client/runtime/KubernetesClientBuild…
123
124 /**
125 * Time interval between retry attempts for API requests that fail with an HTTP code of >= 500
126 */
127 @WithDefault("PT1S") // default lifted from Kubernetes Client
128 Duration requestRetryBackoffInterval();
129
130 /**
131 * HTTP proxy used to access the Kubernetes API server
132 */
133 Optional<String> httpProxy();
134
135 /**
136 * HTTPS proxy used to access the Kubernetes API server
137 */
138 Optional<String> httpsProxy();
139
140 /**
141 * Proxy username
142 */
143 Optional<String> proxyUsername();
144
145 /**
146 * Proxy password
147 */
148 Optional<String> proxyPassword();
149
150 /**
151 * IP addresses or hosts to exclude from proxying
152 */
153 Optional<List<String>> noProxy();
154
155 /**
156 * Enable the generation of the RBAC manifests. If enabled and no other role binding are provided using the properties
157 * `quarkus.kubernetes.rbac.`, it will generate a default role binding using the role "view" and the application
158 * service account.
159 */
160 @WithDefault("true")
161 boolean generateRbac();
162
163 /**
164 * Dev Services
165 */
166 @ConfigDocSection
167 KubernetesDevServicesBuildTimeConfig devservices();
168 }

https://github.com/quarkusio/quarkus/blob/main/extensions/kubernetes-client/runtime-internal/src/main/java/io/quarkus/kubernetes/client/runtime/… 3/3

You might also like