Antonio Ojea
6552f2710f
use default flags for apiserver on integration tests
2024-06-04 22:09:35 +00:00
Stephen Kitt
5300466a5c
Use canonical json-patch v4 import
...
The canonical import for json-patch v4 is
gopkg.in/evanphx/json-patch.v4 (see
https://github.com/evanphx/json-patch/blob/master/README.md#get-it for
reference).
Using the v4-specific path should also reduce the risk of unwanted v5
upgrade attempts, because they won't be offered as automated upgrades
by dependency upgrade management tools, and they won't happen through
indirect dependencies (see
https://github.com/kubernetes/kubernetes/pull/120327 for context).
Signed-off-by: Stephen Kitt <skitt@redhat.com >
2024-05-28 10:48:22 +02:00
Patrick Ohly
b92273a760
apiserver + controllers: enhance context support
...
27a68aee3a
introduced context support for events. Creating an event
broadcaster with context makes tests more resilient against leaking goroutines
when that context gets canceled at the end of a test and enables per-test
output via ktesting.
The context could get passed to the constructor. A cleaner solution is to
enhance context support for the apiserver and then pass the context into the
controller's run method. This ripples up the call stack to all places which
start an apiserver.
2024-04-29 20:59:21 +02:00
Dr. Stefan Schimanski
3b6d2a66a4
pkg/controlplane: split apart generic server part of instance.go
...
Signed-off-by: Dr. Stefan Schimanski <stefan.schimanski@gmail.com >
2024-04-29 10:15:02 +02:00
Marek Siarkowicz
3ee8178768
Cleanup defer from SetFeatureGateDuringTest function call
2024-04-24 20:25:29 +02:00
Anish Ramasekar
8d563c2cde
Revert "Run controlplane/transformation
integration tests in parallel"
2024-04-23 13:48:33 -07:00
Anish Ramasekar
689363be06
Run transformation integration tests in parallel
...
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com >
2024-04-22 09:46:42 -07:00
Anish Ramasekar
1e048d5f24
generate unique UDS path for transformation integration tests
...
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com >
2024-04-22 09:42:16 -07:00
Patrick Ohly
1d653e6185
test: use cancelation from ktesting
...
The return type of ktesting.NewTestContext is now a TContext. Code
which combined it WithCancel often didn't compile anymore (cannot overwrite
ktesting.TContext with context.Context). This is a good thing because all of
that code can be simplified to let ktesting handle the cancelation.
2024-03-01 07:51:22 +01:00
Anish Ramasekar
77241d3125
Add apiserver_encryption_config_controller_automatic_reloads_total
...
metric
- Adds `apiserver_encryption_config_controller_automatic_reloads_total`
metric with status label for encryption config reload success/failure.
- Deprecated `apiserver_encryption_config_controller_automatic_reload_failures_total` and `apiserver_encryption_config_controller_automatic_reload_success_total`
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com >
2024-02-12 21:47:46 -08:00
Anish Ramasekar
75695dae10
move encryption config types to standard API server config location
...
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com >
2023-12-18 20:54:24 +00:00
Nilekh Chaudhari
e95b7c6d8b
feat: updates encryption config file watch logic to polling
...
Signed-off-by: Nilekh Chaudhari <1626598+nilekhc@users.noreply.github.com >
fix (#2 )
Signed-off-by: Monis Khan <mok@microsoft.com >
2023-10-30 16:20:39 +00:00
Kubernetes Prow Robot
ebf46ce1b4
Merge pull request #121485 from ritazh/kmsv2-ga
...
[KMSv2] promote KMSv2 and KMSv2KDF to GA
2023-10-27 02:23:50 +02:00
Rita Zhang
a9b1adbafc
[KMSv2] promote KMSv2 and KMSv2KDF to GA
...
Signed-off-by: Rita Zhang <rita.z.zhang@gmail.com >
2023-10-26 15:05:31 -07:00
Nilekh Chaudhari
a92c1269e2
test: fixes hot reload flake
...
Signed-off-by: Nilekh Chaudhari <1626598+nilekhc@users.noreply.github.com >
2023-10-25 01:14:00 +00:00
Nilekh Chaudhari
71a1565d06
revert: reverts fixes for TestEncryptionConfigHotReload flake
...
Signed-off-by: Nilekh Chaudhari <1626598+nilekhc@users.noreply.github.com >
2023-10-25 01:08:04 +00:00
Nilekh Chaudhari
d9c967113f
tests: fixes flake in TestEncryptionConfigHotReload
...
Signed-off-by: Nilekh Chaudhari <1626598+nilekhc@users.noreply.github.com >
2023-10-23 18:03:05 +00:00
Rita Zhang
7710128636
kms: remove livez check
...
Signed-off-by: Rita Zhang <rita.z.zhang@gmail.com >
2023-09-12 08:48:26 -07:00
Rita Zhang
43ccf6c4e8
kmsv2: add apiserver identity to metrics
...
Signed-off-by: Rita Zhang <rita.z.zhang@gmail.com >
2023-09-09 15:31:32 -07:00
Monis Khan
657cc2045e
kmsv2: enable KMSv2KDF feature gate by default
...
Signed-off-by: Monis Khan <mok@microsoft.com >
2023-09-05 15:20:10 -04:00
Monis Khan
95121fe846
kmsv2: add legacy data integration test
...
Signed-off-by: Monis Khan <mok@microsoft.com >
2023-09-01 15:33:28 -04:00
Kubernetes Prow Robot
a99e377a54
Merge pull request #120221 from enj/enj/i/kms_cache_metrics_lock
...
kmsv2: fix race in simpleCache.set when setting cache size metric
2023-09-01 10:00:31 -07:00
Monis Khan
b10697c788
kmsv2: fix race in simpleCache.set when setting cache size metric
...
Signed-off-by: Monis Khan <mok@microsoft.com >
2023-08-31 16:26:58 -04:00
Kubernetes Prow Robot
9c25ce6f3e
Merge pull request #119540 from SataQiu/clean-apiserver-20230724
...
Remove the deprecated kube-apiserver identity lease garbage collector for k8s.io/component=kube-apiserver
2023-08-28 10:49:42 -07:00
Rita Zhang
d86e72202c
kmsv2 test feature enablement unit test
...
Signed-off-by: Rita Zhang <rita.z.zhang@gmail.com >
2023-08-18 15:28:32 -07:00
Rita Zhang
67769438e1
kmsv2 test feature enablement disablement and restart
...
Signed-off-by: Rita Zhang <rita.z.zhang@gmail.com >
2023-07-25 09:50:59 -07:00
SataQiu
213ed03c00
remove deprecated kube-apiserver identity lease garbage collector
2023-07-25 10:10:18 +08:00
Kubernetes Prow Robot
773a6b1e46
Merge pull request #118828 from enj/enj/f/kms_v2_hkdf_expand
...
kmsv2: KDF based nonce extension
2023-07-21 16:10:19 -07:00
Monis Khan
bf49c727ba
kmsv2: KDF based nonce extension
...
Signed-off-by: Monis Khan <mok@microsoft.com >
2023-07-21 15:25:52 -04:00
Richa Banker
cd5f3d9f9d
Add impl for uvip
2023-07-18 17:36:22 -07:00
Nilekh Chaudhari
131216fa8f
chore: hashes keyID
...
Signed-off-by: Nilekh Chaudhari <1626598+nilekhc@users.noreply.github.com >
2023-07-13 20:42:09 +00:00
HirazawaUi
5289a7b029
fix fd leaks and failed file removing for test directory
2023-05-09 09:22:31 -05:00
Kubernetes Prow Robot
8a58c00c2a
Merge pull request #117735 from nilekhc/fix-TestKMSv2Healthz-flake
...
[KMSv2] fix: fixes flake in TestKMSv2Healthz
2023-05-04 15:45:33 -07:00
Kante Yin
a7035f5459
Pass Context to StartTestServer
...
Signed-off-by: Kante Yin <kerthcet@gmail.com >
2023-05-04 10:25:09 +08:00
Nilekh Chaudhari
9d19c207d2
fix: fixes flake in TestKMSv2Healthz
...
Signed-off-by: Nilekh Chaudhari <1626598+nilekhc@users.noreply.github.com >
2023-05-02 21:01:48 +00:00
Rita Zhang
906f0607ef
Clean up kms test
...
Signed-off-by: Rita Zhang <rita.z.zhang@gmail.com >
2023-03-28 22:36:41 -07:00
Kubernetes Prow Robot
50070e664b
Merge pull request #116626 from nilekhc/fix-kmsv2-healthz-flake
...
[KMSv2] fix: increases timeout to avoid flake
2023-03-14 20:28:34 -07:00
Kubernetes Prow Robot
15040e1c86
Merge pull request #115123 from aramase/v2beta1
...
[KMSv2] Generate proto API and update feature gate for beta
2023-03-14 19:26:25 -07:00
Nilekh Chaudhari
c09aa7dead
fix: increases timeout to avoid flake
...
Signed-off-by: Nilekh Chaudhari <1626598+nilekhc@users.noreply.github.com >
2023-03-15 00:18:58 +00:00
Anish Ramasekar
ad698cc0ae
[KMSv2] Generate proto API and update feature gate for beta
...
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com >
2023-03-14 23:18:16 +00:00
Antonio Ojea
23252d70b4
add integration test
2023-03-14 22:58:11 +00:00
Monis Khan
832d6f0e19
kmsv2: re-use DEK while key ID is unchanged
...
This change updates KMS v2 to not create a new DEK for every
encryption. Instead, we re-use the DEK while the key ID is stable.
Specifically:
We no longer use a random 12 byte nonce per encryption. Instead, we
use both a random 4 byte nonce and an 8 byte nonce set via an atomic
counter. Since each DEK is randomly generated and never re-used,
the combination of DEK and counter are always unique. Thus there
can never be a nonce collision. AES GCM strongly encourages the use
of a 12 byte nonce, hence the additional 4 byte random nonce. We
could leave those 4 bytes set to all zeros, but there is no harm in
setting them to random data (it may help in some edge cases such as
live VM migration).
If the plugin is not healthy, the last DEK will be used for
encryption for up to three minutes (there is no difference on the
behavior of reads which have always used the DEK cache). This will
reduce the impact of a short plugin outage while making it easy to
perform storage migration after a key ID change (i.e. simply wait
ten minutes after the key ID change before starting the migration).
The DEK rotation cycle is performed in sync with the KMS v2 status
poll thus we always have the correct information to determine if a
read is stale in regards to storage migration.
Signed-off-by: Monis Khan <mok@microsoft.com >
2023-03-14 10:23:50 -04:00
Nilekh Chaudhari
9382fab9b6
feat: implements encrypt all
...
Signed-off-by: Nilekh Chaudhari <1626598+nilekhc@users.noreply.github.com >
2023-03-08 22:18:49 +00:00
Yuan Chen
a24aef6510
Replace a function closure
...
Replace more closures with pointer conversion
Replace deprecated Int32Ptr to Int32
2023-02-27 09:13:36 -08:00
Anish Ramasekar
c9b8ad6a55
[KMSv2] restructure kms staging dir
...
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com >
2023-02-21 22:40:25 +00:00
Anish Ramasekar
de3b2d525b
[KMSv2] Add metrics for grpc service
...
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com >
2023-02-09 18:51:37 +00:00
Nilekh Chaudhari
b3f326722d
chore: improves tests
...
Signed-off-by: Nilekh Chaudhari <1626598+nilekhc@users.noreply.github.com >
2023-01-30 23:18:14 +00:00
Anish Ramasekar
4804baa011
kmsv2: implement expire cache with clock
...
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com >
2023-01-25 22:50:32 +00:00
Kubernetes Prow Robot
285e7969b2
Merge pull request #114544 from ritazh/kmsv2-keyid-staleness
...
[KMSv2] Use status key ID to determine staleness of encrypted data
2023-01-19 10:28:16 -08:00
Rita Zhang
510ac9b391
kmsv2: use status key ID to update staleness of encrypted data
...
Signed-off-by: Rita Zhang <rita.z.zhang@gmail.com >
2023-01-19 08:09:24 -08:00