use of com.marcnuri.yakc.model.io.k8s.api.core.v1.ServiceAccount in project yakc by manusa.
the class ServiceAccountIT method deleteNamespacedServiceAccount.
@Test
@DisplayName("deleteNamespacedServiceAccount, should delete existing ServiceAccount")
void deleteNamespacedServiceAccount() throws IOException {
// When
final ServiceAccount result = KC.create(CoreV1Api.class).deleteNamespacedServiceAccount(serviceAccountName, NAMESPACE, DeleteOptions.builder().propagationPolicy("Background").build()).get();
// Then
assertThat(result).isNotNull().extracting(ServiceAccount::getMetadata).hasFieldOrPropertyWithValue("name", serviceAccountName);
}
use of com.marcnuri.yakc.model.io.k8s.api.core.v1.ServiceAccount in project yakc by manusa.
the class ServiceAccountIT method readNamespacedServiceAccount.
@Test
@DisplayName("readNamespacedServiceAccount, should read newly created ServiceAccount")
void readNamespacedServiceAccount() throws IOException {
// When
final ServiceAccount serviceAccountFromServer = KC.create(CoreV1Api.class).readNamespacedServiceAccount(serviceAccountName, NAMESPACE).get();
// Then
assertThat(serviceAccountFromServer).isNotNull().hasFieldOrPropertyWithValue("metadata.name", serviceAccountName).extracting(ServiceAccount::getSecrets).asList().hasSizeGreaterThanOrEqualTo(1).element(0).hasFieldOrPropertyWithValue("name", "doesnt-exist");
}
use of com.marcnuri.yakc.model.io.k8s.api.core.v1.ServiceAccount in project kas-fleetshard by bf2fc6cc711aee1a0c2a.
the class KafkaCluster method addQuotaConfig.
private void addQuotaConfig(ManagedKafka managedKafka, Kafka current, Map<String, Object> config) {
config.put("client.quota.callback.class", IO_STRIMZI_KAFKA_QUOTA_STATIC_QUOTA_CALLBACK);
// Throttle at Ingress/Egress MB/sec per broker
config.put(QUOTA_PRODUCE, String.valueOf(getIngressBytes(managedKafka, current)));
config.put(QUOTA_FETCH, String.valueOf(getEgressBytes(managedKafka, current)));
// Start throttling when disk is above requested size. Full stop when only storageMinMargin is free.
Quantity maxDataRetentionSize = getAdjustedMaxDataRetentionSize(managedKafka, current);
long hardStorageLimit = Quantity.getAmountInBytes(maxDataRetentionSize).longValue() - Quantity.getAmountInBytes(storageMinMargin).longValue();
long softStorageLimit = Quantity.getAmountInBytes(maxDataRetentionSize).longValue() - getStoragePadding(managedKafka, current);
config.put("client.quota.callback.static.storage.soft", String.valueOf(softStorageLimit));
config.put("client.quota.callback.static.storage.hard", String.valueOf(hardStorageLimit));
// Check storage every storageCheckInterval seconds
config.put("client.quota.callback.static.storage.check-interval", String.valueOf(storageCheckInterval));
// Configure the quota plugin so that the canary is not subjected to the quota checks.
Optional<ServiceAccount> canaryServiceAccount = managedKafka.getServiceAccount(ServiceAccount.ServiceAccountName.Canary);
canaryServiceAccount.ifPresent(serviceAccount -> config.put("client.quota.callback.static.excluded.principal.name.list", serviceAccount.getPrincipal()));
config.put("quota.window.num", "30");
config.put("quota.window.size.seconds", "2");
}
Aggregations