timonel 0.3.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import { ApiObject } from 'cdk8s';
2
- import type { HelmChartMeta, HelperDefinition } from './HelmChartWriter';
2
+ import type { HelmChartMeta, HelperDefinition } from './HelmChartWriter.js';
3
3
  export interface HttpHeader {
4
4
  name: string;
5
5
  value: string;
@@ -298,36 +298,342 @@ export interface ServiceAccountSpec {
298
298
  imagePullSecrets?: string[];
299
299
  secrets?: string[];
300
300
  /**
301
- * EKS IRSA support: if set, adds annotation eks.amazonaws.com/role-arn
301
+ * EKS IRSA support: IAM role ARN for service account to assume
302
302
  * Example: arn:aws:iam::<account-id>:role/<role-name>
303
+ * Adds annotation eks.amazonaws.com/role-arn
303
304
  */
304
305
  awsRoleArn?: string;
305
306
  /**
306
- * Optional custom audience for IRSA (default is sts.amazonaws.com)
307
- * Adds annotation eks.amazonaws.com/audience when provided.
307
+ * IRSA audience for token validation (default: sts.amazonaws.com)
308
+ * Adds annotation eks.amazonaws.com/audience when provided
308
309
  */
309
310
  awsAudience?: string;
310
311
  /**
311
- * AKS Workload Identity: Azure application client ID.
312
- * Adds annotation azure.workload.identity/client-id when provided.
312
+ * AWS STS endpoint type for IRSA (regional recommended for better performance)
313
+ * Adds annotation eks.amazonaws.com/sts-regional-endpoints when provided
314
+ * @default 'regional'
315
+ */
316
+ awsStsEndpointType?: 'regional' | 'legacy';
317
+ /**
318
+ * AWS region for regional STS endpoint (auto-detected if not provided)
319
+ * Used with awsStsEndpointType: 'regional'
320
+ */
321
+ awsRegion?: string;
322
+ /**
323
+ * Token expiration time in seconds for IRSA tokens (3600-43200)
324
+ * Adds annotation eks.amazonaws.com/token-expiration when provided
325
+ * @default 3600
326
+ */
327
+ awsTokenExpiration?: number;
328
+ /**
329
+ * AKS Workload Identity: Azure application client ID
330
+ * Adds annotation azure.workload.identity/client-id when provided
313
331
  */
314
332
  azureClientId?: string;
315
333
  /**
316
- * AKS Workload Identity: Azure tenant ID.
317
- * Adds annotation azure.workload.identity/tenant-id when provided.
334
+ * AKS Workload Identity: Azure tenant ID
335
+ * Adds annotation azure.workload.identity/tenant-id when provided
318
336
  */
319
337
  azureTenantId?: string;
320
338
  /**
321
- * AKS Workload Identity: projected SA token expiration (seconds).
322
- * Adds annotation azure.workload.identity/service-account-token-expiration.
339
+ * AKS Workload Identity: projected SA token expiration (seconds)
340
+ * Adds annotation azure.workload.identity/service-account-token-expiration
323
341
  */
324
342
  azureServiceAccountTokenExpiration?: number;
325
343
  /**
326
- * GKE Workload Identity: Google service account email.
327
- * Adds annotation iam.gke.io/gcp-service-account when provided.
344
+ * GKE Workload Identity: Google service account email
345
+ * Adds annotation iam.gke.io/gcp-service-account when provided
328
346
  */
329
347
  gcpServiceAccountEmail?: string;
330
348
  }
349
+ export interface HorizontalPodAutoscalerMetric {
350
+ type: 'Resource' | 'Pods' | 'Object' | 'External';
351
+ resource?: {
352
+ name: 'cpu' | 'memory';
353
+ target: {
354
+ type: 'Utilization' | 'AverageValue';
355
+ averageUtilization?: number;
356
+ averageValue?: string;
357
+ };
358
+ };
359
+ pods?: {
360
+ metric: {
361
+ name: string;
362
+ selector?: Record<string, unknown>;
363
+ };
364
+ target: {
365
+ type: 'AverageValue';
366
+ averageValue: string;
367
+ };
368
+ };
369
+ object?: {
370
+ metric: {
371
+ name: string;
372
+ selector?: Record<string, unknown>;
373
+ };
374
+ describedObject: {
375
+ apiVersion: string;
376
+ kind: string;
377
+ name: string;
378
+ };
379
+ target: {
380
+ type: 'Value' | 'AverageValue';
381
+ value?: string;
382
+ averageValue?: string;
383
+ };
384
+ };
385
+ external?: {
386
+ metric: {
387
+ name: string;
388
+ selector?: Record<string, unknown>;
389
+ };
390
+ target: {
391
+ type: 'Value' | 'AverageValue';
392
+ value?: string;
393
+ averageValue?: string;
394
+ };
395
+ };
396
+ }
397
+ export interface HorizontalPodAutoscalerBehavior {
398
+ scaleUp?: {
399
+ stabilizationWindowSeconds?: number;
400
+ selectPolicy?: 'Max' | 'Min' | 'Disabled';
401
+ policies?: Array<{
402
+ type: 'Pods' | 'Percent';
403
+ value: number;
404
+ periodSeconds: number;
405
+ }>;
406
+ };
407
+ scaleDown?: {
408
+ stabilizationWindowSeconds?: number;
409
+ selectPolicy?: 'Max' | 'Min' | 'Disabled';
410
+ policies?: Array<{
411
+ type: 'Pods' | 'Percent';
412
+ value: number;
413
+ periodSeconds: number;
414
+ }>;
415
+ };
416
+ }
417
+ export interface HorizontalPodAutoscalerSpec {
418
+ name: string;
419
+ scaleTargetRef: {
420
+ apiVersion: string;
421
+ kind: 'Deployment' | 'StatefulSet' | 'ReplicaSet';
422
+ name: string;
423
+ };
424
+ minReplicas?: number;
425
+ maxReplicas: number;
426
+ metrics?: HorizontalPodAutoscalerMetric[];
427
+ behavior?: HorizontalPodAutoscalerBehavior;
428
+ labels?: Record<string, string>;
429
+ annotations?: Record<string, string>;
430
+ }
431
+ export interface VerticalPodAutoscalerResourcePolicy {
432
+ containerName?: string;
433
+ mode?: 'Auto' | 'Off';
434
+ minAllowed?: {
435
+ cpu?: string;
436
+ memory?: string;
437
+ };
438
+ maxAllowed?: {
439
+ cpu?: string;
440
+ memory?: string;
441
+ };
442
+ controlledResources?: Array<'cpu' | 'memory'>;
443
+ controlledValues?: 'RequestsAndLimits' | 'RequestsOnly';
444
+ }
445
+ export interface VerticalPodAutoscalerUpdatePolicy {
446
+ updateMode?: 'Off' | 'Initial' | 'Recreation' | 'Auto';
447
+ minReplicas?: number;
448
+ }
449
+ export interface PodDisruptionBudgetSpec {
450
+ name: string;
451
+ minAvailable?: number | string;
452
+ maxUnavailable?: number | string;
453
+ selector?: {
454
+ matchLabels?: Record<string, string>;
455
+ matchExpressions?: Array<{
456
+ key: string;
457
+ operator: 'In' | 'NotIn' | 'Exists' | 'DoesNotExist';
458
+ values?: string[];
459
+ }>;
460
+ };
461
+ labels?: Record<string, string>;
462
+ annotations?: Record<string, string>;
463
+ }
464
+ export interface AWSEBSStorageClassSpec {
465
+ name: string;
466
+ volumeType?: 'gp2' | 'gp3' | 'io1' | 'io2' | 'sc1' | 'st1';
467
+ fsType?: 'ext4' | 'xfs';
468
+ encrypted?: boolean;
469
+ kmsKeyId?: string;
470
+ iops?: number;
471
+ throughput?: number;
472
+ reclaimPolicy?: 'Delete' | 'Retain';
473
+ allowVolumeExpansion?: boolean;
474
+ volumeBindingMode?: 'Immediate' | 'WaitForFirstConsumer';
475
+ labels?: Record<string, string>;
476
+ annotations?: Record<string, string>;
477
+ }
478
+ export interface AWSEBSPersistentVolumeClaimSpec {
479
+ name: string;
480
+ storageClassName: string;
481
+ size: string;
482
+ accessModes?: AccessMode[];
483
+ labels?: Record<string, string>;
484
+ annotations?: Record<string, string>;
485
+ }
486
+ export interface AWSEFSStorageClassSpec {
487
+ name: string;
488
+ reclaimPolicy?: 'Delete' | 'Retain';
489
+ volumeBindingMode?: 'Immediate' | 'WaitForFirstConsumer';
490
+ labels?: Record<string, string>;
491
+ annotations?: Record<string, string>;
492
+ }
493
+ export interface AWSEFSPersistentVolumeSpec {
494
+ name: string;
495
+ fileSystemId: string;
496
+ accessPoint?: string;
497
+ directoryPerms?: string;
498
+ gidRangeStart?: number;
499
+ gidRangeEnd?: number;
500
+ basePath?: string;
501
+ subPath?: string;
502
+ capacity?: string;
503
+ accessModes?: AccessMode[];
504
+ storageClassName?: string;
505
+ labels?: Record<string, string>;
506
+ annotations?: Record<string, string>;
507
+ }
508
+ export interface AWSEFSPersistentVolumeClaimSpec {
509
+ name: string;
510
+ storageClassName: string;
511
+ size?: string;
512
+ accessModes?: AccessMode[];
513
+ labels?: Record<string, string>;
514
+ annotations?: Record<string, string>;
515
+ }
516
+ export interface AWSIRSAServiceAccountSpec {
517
+ name: string;
518
+ roleArn: string;
519
+ audience?: string;
520
+ stsEndpointType?: 'regional' | 'legacy';
521
+ region?: string;
522
+ tokenExpiration?: number;
523
+ labels?: Record<string, string>;
524
+ annotations?: Record<string, string>;
525
+ automountServiceAccountToken?: boolean;
526
+ imagePullSecrets?: string[];
527
+ secrets?: string[];
528
+ }
529
+ export interface AWSSecretsManagerObject {
530
+ objectName: string;
531
+ objectType: 'secretsmanager';
532
+ objectAlias?: string;
533
+ jmesPath?: string;
534
+ }
535
+ export interface AWSParameterStoreObject {
536
+ objectName: string;
537
+ objectType: 'ssmparameter';
538
+ objectAlias?: string;
539
+ }
540
+ export interface AWSSecretProviderClassSpec {
541
+ name: string;
542
+ region?: string;
543
+ objects: (AWSSecretsManagerObject | AWSParameterStoreObject)[];
544
+ labels?: Record<string, string>;
545
+ annotations?: Record<string, string>;
546
+ }
547
+ export interface AWSALBIngressSpec {
548
+ name: string;
549
+ rules: IngressRule[];
550
+ tls?: IngressTLS[];
551
+ scheme?: 'internet-facing' | 'internal';
552
+ targetType?: 'instance' | 'ip';
553
+ ipAddressType?: 'ipv4' | 'dualstack';
554
+ groupName?: string;
555
+ groupOrder?: number;
556
+ subnets?: string[];
557
+ securityGroups?: string[];
558
+ certificateArn?: string;
559
+ sslRedirect?: boolean;
560
+ healthCheckPath?: string;
561
+ healthCheckIntervalSeconds?: number;
562
+ healthCheckTimeoutSeconds?: number;
563
+ healthyThresholdCount?: number;
564
+ unhealthyThresholdCount?: number;
565
+ tags?: Record<string, string>;
566
+ labels?: Record<string, string>;
567
+ annotations?: Record<string, string>;
568
+ }
569
+ export interface VerticalPodAutoscalerSpec {
570
+ name: string;
571
+ targetRef: {
572
+ apiVersion: string;
573
+ kind: 'Deployment' | 'StatefulSet' | 'ReplicaSet' | 'DaemonSet' | 'Job' | 'CronJob';
574
+ name: string;
575
+ };
576
+ updatePolicy?: VerticalPodAutoscalerUpdatePolicy;
577
+ resourcePolicy?: {
578
+ containerPolicies?: VerticalPodAutoscalerResourcePolicy[];
579
+ };
580
+ recommenders?: Array<{
581
+ name: string;
582
+ }>;
583
+ labels?: Record<string, string>;
584
+ annotations?: Record<string, string>;
585
+ }
586
+ export interface NetworkPolicyPeer {
587
+ podSelector?: {
588
+ matchLabels?: Record<string, string>;
589
+ matchExpressions?: Array<{
590
+ key: string;
591
+ operator: 'In' | 'NotIn' | 'Exists' | 'DoesNotExist';
592
+ values?: string[];
593
+ }>;
594
+ };
595
+ namespaceSelector?: {
596
+ matchLabels?: Record<string, string>;
597
+ matchExpressions?: Array<{
598
+ key: string;
599
+ operator: 'In' | 'NotIn' | 'Exists' | 'DoesNotExist';
600
+ values?: string[];
601
+ }>;
602
+ };
603
+ ipBlock?: {
604
+ cidr: string;
605
+ except?: string[];
606
+ };
607
+ }
608
+ export interface NetworkPolicyPort {
609
+ protocol?: 'TCP' | 'UDP' | 'SCTP';
610
+ port?: number | string;
611
+ endPort?: number;
612
+ }
613
+ export interface NetworkPolicyIngressRule {
614
+ from?: NetworkPolicyPeer[];
615
+ ports?: NetworkPolicyPort[];
616
+ }
617
+ export interface NetworkPolicyEgressRule {
618
+ to?: NetworkPolicyPeer[];
619
+ ports?: NetworkPolicyPort[];
620
+ }
621
+ export interface NetworkPolicySpec {
622
+ name: string;
623
+ podSelector?: {
624
+ matchLabels?: Record<string, string>;
625
+ matchExpressions?: Array<{
626
+ key: string;
627
+ operator: 'In' | 'NotIn' | 'Exists' | 'DoesNotExist';
628
+ values?: string[];
629
+ }>;
630
+ };
631
+ policyTypes?: Array<'Ingress' | 'Egress'>;
632
+ ingress?: NetworkPolicyIngressRule[];
633
+ egress?: NetworkPolicyEgressRule[];
634
+ labels?: Record<string, string>;
635
+ annotations?: Record<string, string>;
636
+ }
331
637
  export interface RutterProps {
332
638
  meta: HelmChartMeta;
333
639
  defaultValues?: Record<string, unknown>;
@@ -338,6 +644,14 @@ export interface RutterProps {
338
644
  notesTpl?: string;
339
645
  /** Optional values.schema.json object */
340
646
  valuesSchema?: Record<string, unknown>;
647
+ /** Optional custom name for the generated manifest file (without extension) */
648
+ manifestName?: string;
649
+ /**
650
+ * If true, all Kubernetes resources will be combined into a single manifest file.
651
+ * If false (default), each resource will be in its own numbered file.
652
+ * @default false
653
+ */
654
+ singleManifestFile?: boolean;
341
655
  }
342
656
  /**
343
657
  * Rutter builds Kubernetes manifests using cdk8s and writes a Helm chart.
@@ -362,6 +676,7 @@ export declare class Rutter {
362
676
  private static readonly LABEL_NAME;
363
677
  private static readonly LABEL_INSTANCE;
364
678
  private static readonly HELPER_NAME;
679
+ private static readonly NETWORKING_API_VERSION;
365
680
  addDeployment(spec: DeploymentSpec): ApiObject;
366
681
  addService(spec: ServiceSpec): ApiObject;
367
682
  addReplicaSet(spec: ReplicaSetSpec): ApiObject;
@@ -373,10 +688,79 @@ export declare class Rutter {
373
688
  addConfigMap(spec: ConfigMapSpec): ApiObject;
374
689
  addSecret(spec: SecretSpec): ApiObject;
375
690
  addServiceAccount(spec: ServiceAccountSpec): ApiObject;
691
+ private buildServiceAccountAnnotations;
692
+ private addAWSIRSAAnnotations;
693
+ private addAzureWorkloadIdentityAnnotations;
694
+ private addGCPWorkloadIdentityAnnotations;
695
+ addHorizontalPodAutoscaler(spec: HorizontalPodAutoscalerSpec): ApiObject;
696
+ addVerticalPodAutoscaler(spec: VerticalPodAutoscalerSpec): ApiObject;
697
+ addPodDisruptionBudget(spec: PodDisruptionBudgetSpec): ApiObject;
698
+ addAWSEBSStorageClass(spec: AWSEBSStorageClassSpec): ApiObject;
699
+ addAWSEBSPersistentVolumeClaim(spec: AWSEBSPersistentVolumeClaimSpec): ApiObject;
700
+ addAWSEFSStorageClass(spec: AWSEFSStorageClassSpec): ApiObject;
701
+ addAWSEFSPersistentVolume(spec: AWSEFSPersistentVolumeSpec): ApiObject;
702
+ addAWSEFSPersistentVolumeClaim(spec: AWSEFSPersistentVolumeClaimSpec): ApiObject;
703
+ addAWSALBIngress(spec: AWSALBIngressSpec): ApiObject;
704
+ private buildALBAnnotations;
705
+ private addOptionalALBAnnotations;
706
+ private addHealthCheckAnnotations;
707
+ private addTagsAnnotation;
708
+ addAWSIRSAServiceAccount(spec: AWSIRSAServiceAccountSpec): ApiObject;
709
+ addAWSSecretProviderClass(spec: AWSSecretProviderClassSpec): ApiObject;
710
+ addNetworkPolicy(spec: NetworkPolicySpec): ApiObject;
711
+ private static readonly EMPTY_POD_SELECTOR;
712
+ /**
713
+ * Create a deny-all ingress NetworkPolicy for the current namespace
714
+ */
715
+ addDenyAllIngressNetworkPolicy(name?: string): ApiObject;
716
+ /**
717
+ * Create a deny-all egress NetworkPolicy for the current namespace
718
+ */
719
+ addDenyAllEgressNetworkPolicy(name?: string): ApiObject;
720
+ /**
721
+ * Create a deny-all NetworkPolicy for both ingress and egress
722
+ */
723
+ addDenyAllNetworkPolicy(name?: string): ApiObject;
724
+ /**
725
+ * Allow traffic from specific pods to target pods on specific ports
726
+ */
727
+ addAllowFromPodsNetworkPolicy(spec: {
728
+ name: string;
729
+ targetPodSelector: Record<string, string>;
730
+ sourcePodSelector: Record<string, string>;
731
+ ports?: NetworkPolicyPort[];
732
+ labels?: Record<string, string>;
733
+ annotations?: Record<string, string>;
734
+ }): ApiObject;
735
+ /**
736
+ * Allow traffic from specific namespace to target pods
737
+ */
738
+ addAllowFromNamespaceNetworkPolicy(spec: {
739
+ name: string;
740
+ targetPodSelector: Record<string, string>;
741
+ sourceNamespaceSelector: Record<string, string>;
742
+ ports?: NetworkPolicyPort[];
743
+ labels?: Record<string, string>;
744
+ annotations?: Record<string, string>;
745
+ }): ApiObject;
746
+ private validateNetworkPolicyTypes;
747
+ private validatePolicyTypeValues;
748
+ private validatePolicyTypeRules;
749
+ private validateNetworkPolicyCIDRs;
750
+ private isValidCIDR;
751
+ private isValidIPv4;
752
+ private isValidPrefix;
753
+ private validateIngressCIDRs;
754
+ private validateEgressCIDRs;
755
+ private validatePeerCIDRs;
376
756
  /**
377
757
  * Capture the YAML of an ApiObject or Construct into assets.
378
758
  */
379
759
  private capture;
760
+ /**
761
+ * Extract a meaningful name from a Kubernetes resource object
762
+ */
763
+ private getResourceName;
380
764
  /**
381
765
  * Add a raw CRD manifest to the chart (written under crds/).
382
766
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Rutter.d.ts","sourceRoot":"","sources":["../../src/lib/Rutter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Rutter.d.ts","sourceRoot":"","sources":["../../src/lib/Rutter.ts"],"names":[],"mappings":"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"}