-
Notifications
You must be signed in to change notification settings - Fork 212
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
3e6563a
commit 8f07fc0
Showing
9 changed files
with
586 additions
and
586 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
syntax = "proto3"; | ||
package aksnodeconfig.v1; | ||
|
||
message BootstrappingConfig { | ||
// Method to authenticate the node to the API server | ||
BootstrappingAuthMethod bootstrapping_auth_method = 1; | ||
|
||
// how the node should join and communicate with the API server after authentication | ||
ClusterJoinMethod cluster_join_method = 2; | ||
|
||
// Only required until Secure TLS bootstrapping in place. Would use kubelet identity after that. | ||
optional string tls_bootstrapping_token = 3; | ||
|
||
// Only used when secure TLS bootstrapping is enabled or one of the Azure/Arc methods. This is the appserver appid that the node will use to bootstrap. | ||
optional string custom_aad_resource = 4; | ||
|
||
// Only used when one of the Azure/Arc methods is enabled. This is the client ID of the MSI that the node will use to bootstrap. | ||
optional string custom_aad_client_id = 5; | ||
|
||
enum BootstrappingAuthMethod { | ||
// This is the default K8s bootstrap authentication method - a time limited bootstrap token. It's stored as a secret | ||
// with a particular type in the API server. | ||
//nolint:gosec // this is a const string to use in switch statements, not hardcoded credentials | ||
BOOTSTRAP_TOKEN = 0; | ||
// Secure TLS bootstrapping is a process where the node can use signed metadata from the Azure IMDS service to authenticate | ||
// against the api server | ||
SECURE_TLS_BOOTSTRAPPING = 1; | ||
// Nodes running outside Azure can use the Azure Arc MSI to authenticate to an API server. This only works when the cluster is | ||
// using AAD authentication. | ||
ARC_MSI = 2; | ||
// Nodes running inside Azure can use the Azure Arc MSI to authenticate to an API server. This only works when the cluster is | ||
// using AAD authentication. | ||
AZURE_MSI = 3; | ||
} | ||
|
||
enum ClusterJoinMethod { | ||
// The default behaviour is for the node to make a certificate signing request (CSR) and then | ||
// use that CSR for ongoing communication. | ||
GENERATE_CSR = 0; | ||
// In some cases, the node will use the bootstrapping auth to register itself as a node and for ongoing communications. | ||
USE_BOOTSTRAPPING_AUTH = 1; | ||
} | ||
} |
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.