timonel 2.1.0 → 2.2.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.
- package/CHANGELOG.md +12 -0
- package/README.md +43 -809
- package/SECURITY.md +48 -20
- package/dist/cli.js +52 -12
- package/dist/cli.js.map +1 -1
- package/dist/lib/Rutter.d.ts +280 -0
- package/dist/lib/Rutter.d.ts.map +1 -1
- package/dist/lib/Rutter.js +353 -0
- package/dist/lib/Rutter.js.map +1 -1
- package/package.json +1 -1
package/SECURITY.md
CHANGED
|
@@ -2,16 +2,34 @@
|
|
|
2
2
|
|
|
3
3
|
## Reporting Security Vulnerabilities
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
**Please report security vulnerabilities responsibly:**
|
|
6
|
+
|
|
7
|
+
1. **Use GitHub Security Advisories** (preferred): [Report a vulnerability](https://github.com/KenkoGeek/timonel/security/advisories/new)
|
|
8
|
+
2. **Email**: [security@kenkogeek.com](mailto:security@kenkogeek.com)
|
|
9
|
+
3. **DO NOT** create public issues for security vulnerabilities
|
|
10
|
+
|
|
11
|
+
**Include in your report:**
|
|
12
|
+
|
|
13
|
+
- Detailed vulnerability description
|
|
14
|
+
- Steps to reproduce
|
|
15
|
+
- Potential impact assessment
|
|
16
|
+
- Suggested mitigation (if any)
|
|
17
|
+
|
|
18
|
+
**Response timeline:**
|
|
19
|
+
|
|
20
|
+
- Initial response: 48 hours
|
|
21
|
+
- Triage completion: 5 business days
|
|
22
|
+
- Status updates: Every 10 business days
|
|
9
23
|
|
|
10
24
|
## Supported Versions
|
|
11
25
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
|
26
|
+
We provide security updates for the following versions:
|
|
27
|
+
|
|
28
|
+
| Version | Supported | Notes |
|
|
29
|
+
| ------- | -------------- | ------------------- |
|
|
30
|
+
| 2.x.x | ✅ Current | Active development |
|
|
31
|
+
| 1.x.x | ❌ End of life | No security updates |
|
|
32
|
+
| < 1.0 | ❌ End of life | No security updates |
|
|
15
33
|
|
|
16
34
|
## Development Security
|
|
17
35
|
|
|
@@ -24,21 +42,31 @@
|
|
|
24
42
|
|
|
25
43
|
### Dependencies
|
|
26
44
|
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
- Minimal
|
|
45
|
+
- **Automated updates**: Dependabot weekly scans
|
|
46
|
+
- **Vulnerability scanning**: `pnpm audit` in CI/CD
|
|
47
|
+
- **Zero runtime network calls**: Library operates offline
|
|
48
|
+
- **Minimal footprint**: Essential dependencies only
|
|
49
|
+
- **Pinned versions**: Exact dependency versions in lockfile
|
|
31
50
|
|
|
32
51
|
### CI/CD Security
|
|
33
52
|
|
|
34
|
-
- GitHub Actions with minimal permissions
|
|
35
|
-
- Dependency caching with
|
|
36
|
-
-
|
|
37
|
-
-
|
|
53
|
+
- **Least privilege**: GitHub Actions with minimal GITHUB_TOKEN permissions
|
|
54
|
+
- **Integrity checks**: Dependency caching with SHA verification
|
|
55
|
+
- **Multi-layer scanning**: ESLint security plugin + CodeQL + pnpm audit
|
|
56
|
+
- **Branch protection**: Required status checks and reviews
|
|
57
|
+
- **Secrets management**: No hardcoded credentials
|
|
58
|
+
|
|
59
|
+
### Security Features
|
|
60
|
+
|
|
61
|
+
- **Input validation**: Path traversal prevention and sanitization
|
|
62
|
+
- **TypeScript strict mode**: Compile-time safety checks
|
|
63
|
+
- **No eval()**: Static code generation only
|
|
64
|
+
- **File system isolation**: Controlled output directory access
|
|
65
|
+
- **OWASP compliance**: Following secure coding guidelines
|
|
38
66
|
|
|
39
|
-
|
|
67
|
+
## Security Considerations for Users
|
|
40
68
|
|
|
41
|
-
-
|
|
42
|
-
-
|
|
43
|
-
-
|
|
44
|
-
-
|
|
69
|
+
- **Generated charts**: Review templates before deployment
|
|
70
|
+
- **Values files**: Avoid hardcoded secrets in values
|
|
71
|
+
- **Network policies**: Use provided NetworkPolicy helpers
|
|
72
|
+
- **RBAC**: Apply principle of least privilege in Kubernetes
|
package/dist/cli.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import * as fs from 'fs';
|
|
3
3
|
import * as path from 'path';
|
|
4
4
|
import * as cp from 'child_process';
|
|
5
|
+
import { createRequire } from 'module';
|
|
5
6
|
const HELM_INSTALL_URL = 'https://helm.sh/docs/intro/install/';
|
|
6
7
|
const HELM_ENV_VAR_MSG = 'Or set HELM_BIN environment variable to helm binary path.';
|
|
7
8
|
function usageAndExit(msg) {
|
|
@@ -121,24 +122,45 @@ async function cmdSynth(projectDir, out, flags) {
|
|
|
121
122
|
console.error(`chart.ts not found at ${chartTs}`);
|
|
122
123
|
process.exit(1);
|
|
123
124
|
}
|
|
124
|
-
// Enable TS runtime with
|
|
125
|
+
// Enable TS runtime with inline config
|
|
125
126
|
const { register } = await import('ts-node');
|
|
126
127
|
register({
|
|
127
128
|
transpileOnly: true,
|
|
128
129
|
compilerOptions: {
|
|
129
|
-
module: '
|
|
130
|
+
module: 'CommonJS',
|
|
130
131
|
moduleResolution: 'node',
|
|
132
|
+
esModuleInterop: true,
|
|
133
|
+
allowSyntheticDefaultImports: true,
|
|
134
|
+
strict: true,
|
|
135
|
+
target: 'ES2020',
|
|
131
136
|
},
|
|
132
137
|
});
|
|
133
|
-
//
|
|
134
|
-
const allowedPaths = [process.cwd()];
|
|
138
|
+
// Comprehensive path validation to prevent path traversal and code injection
|
|
135
139
|
const resolvedPath = path.resolve(chartTs);
|
|
136
|
-
|
|
137
|
-
|
|
140
|
+
const cwd = path.resolve(process.cwd());
|
|
141
|
+
// Ensure path is within current working directory (prevent path traversal)
|
|
142
|
+
if (!resolvedPath.startsWith(cwd + path.sep) && resolvedPath !== cwd) {
|
|
143
|
+
console.error('Security: Module path must be within current working directory');
|
|
144
|
+
console.error(`Attempted: ${resolvedPath}`);
|
|
145
|
+
console.error(`Allowed: ${cwd}`);
|
|
146
|
+
process.exit(1);
|
|
147
|
+
}
|
|
148
|
+
// Validate file extension to prevent loading non-TypeScript files
|
|
149
|
+
if (!chartTs.endsWith('.ts')) {
|
|
150
|
+
console.error('Security: Only TypeScript files (.ts) are allowed');
|
|
151
|
+
process.exit(1);
|
|
152
|
+
}
|
|
153
|
+
// Additional security: normalize path to prevent bypass attempts
|
|
154
|
+
const normalizedPath = path.normalize(resolvedPath);
|
|
155
|
+
if (normalizedPath !== resolvedPath) {
|
|
156
|
+
console.error('Security: Path normalization mismatch detected');
|
|
138
157
|
process.exit(1);
|
|
139
158
|
}
|
|
140
159
|
try {
|
|
141
|
-
|
|
160
|
+
// Use createRequire for CommonJS compatibility in ES modules
|
|
161
|
+
const require = createRequire(import.meta.url);
|
|
162
|
+
// eslint-disable-next-line security/detect-non-literal-require -- CLI tool needs dynamic module loading
|
|
163
|
+
const mod = require(resolvedPath);
|
|
142
164
|
const runner = mod.default || mod.run || mod.synth;
|
|
143
165
|
if (typeof runner !== 'function') {
|
|
144
166
|
console.error('chart.ts must export a default/run/synth function');
|
|
@@ -324,19 +346,37 @@ async function cmdUmbrellaSynth(outDir, flags) {
|
|
|
324
346
|
console.error('umbrella.ts not found.');
|
|
325
347
|
process.exit(1);
|
|
326
348
|
}
|
|
327
|
-
// Enable TS runtime
|
|
349
|
+
// Enable TS runtime with inline config
|
|
328
350
|
require('ts-node').register({
|
|
329
351
|
transpileOnly: true,
|
|
330
352
|
compilerOptions: {
|
|
331
353
|
module: 'CommonJS',
|
|
332
354
|
moduleResolution: 'node',
|
|
355
|
+
esModuleInterop: true,
|
|
356
|
+
allowSyntheticDefaultImports: true,
|
|
357
|
+
strict: true,
|
|
358
|
+
target: 'ES2020',
|
|
333
359
|
},
|
|
334
360
|
});
|
|
335
|
-
//
|
|
336
|
-
const allowedPaths = [process.cwd()];
|
|
361
|
+
// Comprehensive path validation to prevent path traversal and code injection
|
|
337
362
|
const resolvedPath = path.resolve(umbrellaFile);
|
|
338
|
-
|
|
339
|
-
|
|
363
|
+
const cwd = path.resolve(process.cwd());
|
|
364
|
+
// Ensure path is within current working directory (prevent path traversal)
|
|
365
|
+
if (!resolvedPath.startsWith(cwd + path.sep) && resolvedPath !== cwd) {
|
|
366
|
+
console.error('Security: Module path must be within current working directory');
|
|
367
|
+
console.error(`Attempted: ${resolvedPath}`);
|
|
368
|
+
console.error(`Allowed: ${cwd}`);
|
|
369
|
+
process.exit(1);
|
|
370
|
+
}
|
|
371
|
+
// Validate file extension to prevent loading non-TypeScript files
|
|
372
|
+
if (!umbrellaFile.endsWith('.ts')) {
|
|
373
|
+
console.error('Security: Only TypeScript files (.ts) are allowed');
|
|
374
|
+
process.exit(1);
|
|
375
|
+
}
|
|
376
|
+
// Additional security: normalize path to prevent bypass attempts
|
|
377
|
+
const normalizedPath = path.normalize(resolvedPath);
|
|
378
|
+
if (normalizedPath !== resolvedPath) {
|
|
379
|
+
console.error('Security: Path normalization mismatch detected');
|
|
340
380
|
process.exit(1);
|
|
341
381
|
}
|
|
342
382
|
const mod = require(resolvedPath);
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/Rutter.d.ts
CHANGED
|
@@ -608,6 +608,193 @@ export interface AWSSecretProviderClassSpec {
|
|
|
608
608
|
labels?: Record<string, string>;
|
|
609
609
|
annotations?: Record<string, string>;
|
|
610
610
|
}
|
|
611
|
+
/**
|
|
612
|
+
* Configuration interface for Azure Workload Identity ServiceAccount.
|
|
613
|
+
* Enables secure authentication to Azure services without storing credentials.
|
|
614
|
+
*
|
|
615
|
+
* @see https://learn.microsoft.com/en-us/azure/aks/workload-identity-overview
|
|
616
|
+
*/
|
|
617
|
+
export interface AzureWorkloadIdentityServiceAccountSpec {
|
|
618
|
+
/** Name of the ServiceAccount */
|
|
619
|
+
name: string;
|
|
620
|
+
/** Azure application client ID for workload identity */
|
|
621
|
+
clientId: string;
|
|
622
|
+
/** Azure tenant ID where the application is registered */
|
|
623
|
+
tenantId: string;
|
|
624
|
+
/** Service account token expiration in seconds (3600-86400) */
|
|
625
|
+
tokenExpiration?: number;
|
|
626
|
+
/** Labels to apply to the ServiceAccount */
|
|
627
|
+
labels?: Record<string, string>;
|
|
628
|
+
/** Additional annotations to apply to the ServiceAccount */
|
|
629
|
+
annotations?: Record<string, string>;
|
|
630
|
+
/** Whether to automount service account token */
|
|
631
|
+
automountServiceAccountToken?: boolean;
|
|
632
|
+
/** Names of image pull secrets */
|
|
633
|
+
imagePullSecrets?: string[];
|
|
634
|
+
/** Names of secrets to mount */
|
|
635
|
+
secrets?: string[];
|
|
636
|
+
}
|
|
637
|
+
/**
|
|
638
|
+
* Azure Key Vault object configuration for SecretProviderClass.
|
|
639
|
+
*/
|
|
640
|
+
export interface AzureKeyVaultObject {
|
|
641
|
+
/** Name of the object in Azure Key Vault */
|
|
642
|
+
objectName: string;
|
|
643
|
+
/** Type of object to retrieve */
|
|
644
|
+
objectType: 'secret' | 'key' | 'cert';
|
|
645
|
+
/** Optional alias for the object when mounted */
|
|
646
|
+
objectAlias?: string;
|
|
647
|
+
/** Optional version of the object */
|
|
648
|
+
objectVersion?: string;
|
|
649
|
+
}
|
|
650
|
+
/**
|
|
651
|
+
* Configuration interface for Azure Key Vault SecretProviderClass.
|
|
652
|
+
* Enables mounting secrets from Azure Key Vault using CSI driver.
|
|
653
|
+
*
|
|
654
|
+
* @see https://learn.microsoft.com/en-us/azure/aks/csi-secrets-store-driver
|
|
655
|
+
*/
|
|
656
|
+
export interface AzureKeyVaultSecretProviderClassSpec {
|
|
657
|
+
/** Name of the SecretProviderClass */
|
|
658
|
+
name: string;
|
|
659
|
+
/** Name of the Azure Key Vault */
|
|
660
|
+
keyVaultName: string;
|
|
661
|
+
/** Azure tenant ID */
|
|
662
|
+
tenantId: string;
|
|
663
|
+
/** Objects to retrieve from Key Vault */
|
|
664
|
+
objects: AzureKeyVaultObject[];
|
|
665
|
+
/** User-assigned managed identity client ID for authentication */
|
|
666
|
+
userAssignedIdentityID?: string;
|
|
667
|
+
/** Azure cloud environment */
|
|
668
|
+
cloudName?: 'AzurePublicCloud' | 'AzureUSGovernmentCloud' | 'AzureChinaCloud';
|
|
669
|
+
/** Labels to apply to the SecretProviderClass */
|
|
670
|
+
labels?: Record<string, string>;
|
|
671
|
+
/** Additional annotations to apply to the SecretProviderClass */
|
|
672
|
+
annotations?: Record<string, string>;
|
|
673
|
+
}
|
|
674
|
+
/**
|
|
675
|
+
* Configuration interface for Azure Files StorageClass.
|
|
676
|
+
* Defines parameters for creating Azure Files StorageClass in AKS.
|
|
677
|
+
*
|
|
678
|
+
* @see https://learn.microsoft.com/en-us/azure/aks/azure-csi-files-storage-provision
|
|
679
|
+
*/
|
|
680
|
+
export interface AzureFilesStorageClassSpec {
|
|
681
|
+
/** Name of the StorageClass */
|
|
682
|
+
name: string;
|
|
683
|
+
/** Azure Files SKU */
|
|
684
|
+
skuName?: 'Standard_LRS' | 'Standard_GRS' | 'Standard_RAGRS' | 'Standard_ZRS' | 'Premium_LRS' | 'Premium_ZRS';
|
|
685
|
+
/** File share protocol */
|
|
686
|
+
protocol?: 'smb' | 'nfs';
|
|
687
|
+
/** Allow shared access across multiple pods */
|
|
688
|
+
allowSharedAccess?: boolean;
|
|
689
|
+
/** Resource group for storage account */
|
|
690
|
+
resourceGroup?: string;
|
|
691
|
+
/** Storage account name */
|
|
692
|
+
storageAccount?: string;
|
|
693
|
+
/** Location for storage account */
|
|
694
|
+
location?: string;
|
|
695
|
+
/** Network endpoints for storage account */
|
|
696
|
+
networkEndpointType?: 'publicEndpoint' | 'privateEndpoint';
|
|
697
|
+
/** Mount permissions for NFS (e.g., '0777') */
|
|
698
|
+
mountPermissions?: string;
|
|
699
|
+
/** Root squash type for NFS */
|
|
700
|
+
rootSquashType?: 'NoRootSquash' | 'RootSquash' | 'AllSquash';
|
|
701
|
+
/** Volume reclaim policy */
|
|
702
|
+
reclaimPolicy?: 'Delete' | 'Retain';
|
|
703
|
+
/** Allow volume expansion */
|
|
704
|
+
allowVolumeExpansion?: boolean;
|
|
705
|
+
/** Volume binding mode */
|
|
706
|
+
volumeBindingMode?: 'Immediate' | 'WaitForFirstConsumer';
|
|
707
|
+
/** Mount options for the storage class */
|
|
708
|
+
mountOptions?: string[];
|
|
709
|
+
/** Labels to apply to the StorageClass */
|
|
710
|
+
labels?: Record<string, string>;
|
|
711
|
+
/** Annotations to apply to the StorageClass */
|
|
712
|
+
annotations?: Record<string, string>;
|
|
713
|
+
}
|
|
714
|
+
/**
|
|
715
|
+
* Configuration interface for Azure Files PersistentVolume.
|
|
716
|
+
* Defines parameters for static Azure Files volume provisioning.
|
|
717
|
+
*/
|
|
718
|
+
export interface AzureFilesPersistentVolumeSpec {
|
|
719
|
+
/** Name of the PersistentVolume */
|
|
720
|
+
name: string;
|
|
721
|
+
/** Storage capacity */
|
|
722
|
+
capacity: string;
|
|
723
|
+
/** Access modes */
|
|
724
|
+
accessModes?: AccessMode[];
|
|
725
|
+
/** Storage account name */
|
|
726
|
+
storageAccount: string;
|
|
727
|
+
/** File share name */
|
|
728
|
+
shareName: string;
|
|
729
|
+
/** Resource group name */
|
|
730
|
+
resourceGroup?: string;
|
|
731
|
+
/** File share protocol */
|
|
732
|
+
protocol?: 'smb' | 'nfs';
|
|
733
|
+
/** Secret name containing storage account key (SMB only) */
|
|
734
|
+
secretName?: string;
|
|
735
|
+
/** Secret namespace (SMB only) */
|
|
736
|
+
secretNamespace?: string;
|
|
737
|
+
/** Server address override */
|
|
738
|
+
server?: string;
|
|
739
|
+
/** Folder name within share */
|
|
740
|
+
folderName?: string;
|
|
741
|
+
/** Mount permissions for NFS */
|
|
742
|
+
mountPermissions?: string;
|
|
743
|
+
/** Volume reclaim policy */
|
|
744
|
+
reclaimPolicy?: ReclaimPolicy;
|
|
745
|
+
/** Storage class name */
|
|
746
|
+
storageClassName?: string;
|
|
747
|
+
/** Mount options */
|
|
748
|
+
mountOptions?: string[];
|
|
749
|
+
/** Labels to apply to the PersistentVolume */
|
|
750
|
+
labels?: Record<string, string>;
|
|
751
|
+
/** Annotations to apply to the PersistentVolume */
|
|
752
|
+
annotations?: Record<string, string>;
|
|
753
|
+
}
|
|
754
|
+
/**
|
|
755
|
+
* Configuration interface for Azure Files PersistentVolumeClaim.
|
|
756
|
+
* Simplifies creation of PVCs for Azure Files.
|
|
757
|
+
*/
|
|
758
|
+
export interface AzureFilesPersistentVolumeClaimSpec {
|
|
759
|
+
/** Name of the PersistentVolumeClaim */
|
|
760
|
+
name: string;
|
|
761
|
+
/** Storage class name */
|
|
762
|
+
storageClassName: string;
|
|
763
|
+
/** Storage size request */
|
|
764
|
+
size: string;
|
|
765
|
+
/** Access modes */
|
|
766
|
+
accessModes?: AccessMode[];
|
|
767
|
+
/** Labels to apply to the PersistentVolumeClaim */
|
|
768
|
+
labels?: Record<string, string>;
|
|
769
|
+
/** Annotations to apply to the PersistentVolumeClaim */
|
|
770
|
+
annotations?: Record<string, string>;
|
|
771
|
+
}
|
|
772
|
+
/**
|
|
773
|
+
* Configuration interface for Azure Container Registry ServiceAccount.
|
|
774
|
+
* Simplifies ACR integration with AKS using managed identity.
|
|
775
|
+
*/
|
|
776
|
+
export interface AzureACRServiceAccountSpec {
|
|
777
|
+
/** Name of the ServiceAccount */
|
|
778
|
+
name: string;
|
|
779
|
+
/** Azure Container Registry name */
|
|
780
|
+
acrName: string;
|
|
781
|
+
/** Resource group containing the ACR */
|
|
782
|
+
resourceGroup: string;
|
|
783
|
+
/** Client ID for Workload Identity (optional) */
|
|
784
|
+
clientId?: string;
|
|
785
|
+
/** Tenant ID for Workload Identity (optional) */
|
|
786
|
+
tenantId?: string;
|
|
787
|
+
/** Labels to apply to the ServiceAccount */
|
|
788
|
+
labels?: Record<string, string>;
|
|
789
|
+
/** Additional annotations to apply to the ServiceAccount */
|
|
790
|
+
annotations?: Record<string, string>;
|
|
791
|
+
/** Whether to automount service account token */
|
|
792
|
+
automountServiceAccountToken?: boolean;
|
|
793
|
+
/** Names of additional image pull secrets */
|
|
794
|
+
imagePullSecrets?: string[];
|
|
795
|
+
/** Names of secrets to mount */
|
|
796
|
+
secrets?: string[];
|
|
797
|
+
}
|
|
611
798
|
/**
|
|
612
799
|
* Configuration interface for Azure Disk StorageClass.
|
|
613
800
|
* Defines the parameters for creating an Azure Disk StorageClass in AKS.
|
|
@@ -874,6 +1061,7 @@ export declare class Rutter {
|
|
|
874
1061
|
private static readonly STORAGE_API_VERSION;
|
|
875
1062
|
private static readonly AZURE_DISK_CSI_DRIVER;
|
|
876
1063
|
private static readonly AZURE_DISK_PROVISIONER_ANNOTATION;
|
|
1064
|
+
private static readonly AZURE_FILES_CSI_DRIVER;
|
|
877
1065
|
addDeployment(spec: DeploymentSpec): ApiObject;
|
|
878
1066
|
addService(spec: ServiceSpec): ApiObject;
|
|
879
1067
|
addReplicaSet(spec: ReplicaSetSpec): ApiObject;
|
|
@@ -939,6 +1127,88 @@ export declare class Rutter {
|
|
|
939
1127
|
private addAGICAdvancedAnnotations;
|
|
940
1128
|
addAWSIRSAServiceAccount(spec: AWSIRSAServiceAccountSpec): ApiObject;
|
|
941
1129
|
addAWSSecretProviderClass(spec: AWSSecretProviderClassSpec): ApiObject;
|
|
1130
|
+
/**
|
|
1131
|
+
* Add Azure Workload Identity ServiceAccount.
|
|
1132
|
+
* Creates a ServiceAccount with Azure Workload Identity annotations for secure authentication.
|
|
1133
|
+
*
|
|
1134
|
+
* @param spec - Azure Workload Identity ServiceAccount specification
|
|
1135
|
+
* @returns The created ServiceAccount ApiObject
|
|
1136
|
+
*
|
|
1137
|
+
* @example
|
|
1138
|
+
* ```typescript
|
|
1139
|
+
* rutter.addAzureWorkloadIdentityServiceAccount({
|
|
1140
|
+
* name: 'workload-identity-sa',
|
|
1141
|
+
* clientId: '12345678-1234-1234-1234-123456789012',
|
|
1142
|
+
* tenantId: '87654321-4321-4321-4321-210987654321',
|
|
1143
|
+
* tokenExpiration: 3600
|
|
1144
|
+
* });
|
|
1145
|
+
* ```
|
|
1146
|
+
*/
|
|
1147
|
+
addAzureWorkloadIdentityServiceAccount(spec: AzureWorkloadIdentityServiceAccountSpec): ApiObject;
|
|
1148
|
+
/**
|
|
1149
|
+
* Add Azure Key Vault SecretProviderClass.
|
|
1150
|
+
* Creates a SecretProviderClass for mounting secrets from Azure Key Vault using CSI driver.
|
|
1151
|
+
*
|
|
1152
|
+
* @param spec - Azure Key Vault SecretProviderClass specification
|
|
1153
|
+
* @returns The created SecretProviderClass ApiObject
|
|
1154
|
+
*
|
|
1155
|
+
* @example
|
|
1156
|
+
* ```typescript
|
|
1157
|
+
* rutter.addAzureKeyVaultSecretProviderClass({
|
|
1158
|
+
* name: 'app-secrets',
|
|
1159
|
+
* keyVaultName: 'my-keyvault',
|
|
1160
|
+
* tenantId: '87654321-4321-4321-4321-210987654321',
|
|
1161
|
+
* objects: [
|
|
1162
|
+
* { objectName: 'database-password', objectType: 'secret' },
|
|
1163
|
+
* { objectName: 'api-key', objectType: 'secret', objectAlias: 'API_KEY' }
|
|
1164
|
+
* ],
|
|
1165
|
+
* userAssignedIdentityID: '12345678-1234-1234-1234-123456789012'
|
|
1166
|
+
* });
|
|
1167
|
+
* ```
|
|
1168
|
+
*/
|
|
1169
|
+
addAzureKeyVaultSecretProviderClass(spec: AzureKeyVaultSecretProviderClassSpec): ApiObject;
|
|
1170
|
+
/**
|
|
1171
|
+
* Add Azure Files StorageClass.
|
|
1172
|
+
* Creates a StorageClass for dynamic provisioning of Azure Files volumes.
|
|
1173
|
+
*
|
|
1174
|
+
* @param spec - Azure Files StorageClass specification
|
|
1175
|
+
* @returns The created StorageClass ApiObject
|
|
1176
|
+
*
|
|
1177
|
+
* @example
|
|
1178
|
+
* ```typescript
|
|
1179
|
+
* rutter.addAzureFilesStorageClass({
|
|
1180
|
+
* name: 'azure-files-premium',
|
|
1181
|
+
* skuName: 'Premium_LRS',
|
|
1182
|
+
* protocol: 'smb',
|
|
1183
|
+
* allowSharedAccess: true
|
|
1184
|
+
* });
|
|
1185
|
+
* ```
|
|
1186
|
+
*/
|
|
1187
|
+
addAzureFilesStorageClass(spec: AzureFilesStorageClassSpec): ApiObject;
|
|
1188
|
+
/**
|
|
1189
|
+
* Add Azure Files PersistentVolume.
|
|
1190
|
+
* Creates a PersistentVolume for static Azure Files volume provisioning.
|
|
1191
|
+
*
|
|
1192
|
+
* @param spec - Azure Files PersistentVolume specification
|
|
1193
|
+
* @returns The created PersistentVolume ApiObject
|
|
1194
|
+
*/
|
|
1195
|
+
addAzureFilesPersistentVolume(spec: AzureFilesPersistentVolumeSpec): ApiObject;
|
|
1196
|
+
/**
|
|
1197
|
+
* Add Azure Files PersistentVolumeClaim.
|
|
1198
|
+
* Creates a PersistentVolumeClaim for Azure Files storage.
|
|
1199
|
+
*
|
|
1200
|
+
* @param spec - Azure Files PersistentVolumeClaim specification
|
|
1201
|
+
* @returns The created PersistentVolumeClaim ApiObject
|
|
1202
|
+
*/
|
|
1203
|
+
addAzureFilesPersistentVolumeClaim(spec: AzureFilesPersistentVolumeClaimSpec): ApiObject;
|
|
1204
|
+
/**
|
|
1205
|
+
* Add Azure Container Registry ServiceAccount.
|
|
1206
|
+
* Creates a ServiceAccount configured for ACR access.
|
|
1207
|
+
*
|
|
1208
|
+
* @param spec - Azure ACR ServiceAccount specification
|
|
1209
|
+
* @returns The created ServiceAccount ApiObject
|
|
1210
|
+
*/
|
|
1211
|
+
addAzureACRServiceAccount(spec: AzureACRServiceAccountSpec): ApiObject;
|
|
942
1212
|
addAzureDiskStorageClass(spec: AzureDiskStorageClassSpec): ApiObject;
|
|
943
1213
|
private buildAzureDiskParameters;
|
|
944
1214
|
private addOptionalAzureDiskParameters;
|
|
@@ -1009,6 +1279,8 @@ export declare class Rutter {
|
|
|
1009
1279
|
private validateAGICSecurityParams;
|
|
1010
1280
|
private isValidHostname;
|
|
1011
1281
|
private validateAGICAnnotationConsistency;
|
|
1282
|
+
private buildAzureFilesParameters;
|
|
1283
|
+
private buildAzureFilesPVCSISpec;
|
|
1012
1284
|
private buildPodEnvironment;
|
|
1013
1285
|
private buildJobSpec;
|
|
1014
1286
|
private buildJobPodTemplate;
|
|
@@ -1034,6 +1306,14 @@ export declare class Rutter {
|
|
|
1034
1306
|
* Get default resource limits for Jobs and CronJobs
|
|
1035
1307
|
*/
|
|
1036
1308
|
private getDefaultResources;
|
|
1309
|
+
/**
|
|
1310
|
+
* Validate Azure Files parameters for security and compliance
|
|
1311
|
+
*/
|
|
1312
|
+
private validateAzureFilesParameters;
|
|
1313
|
+
/**
|
|
1314
|
+
* Sanitize volume handle to ensure valid format for CSI driver
|
|
1315
|
+
*/
|
|
1316
|
+
private sanitizeVolumeHandle;
|
|
1037
1317
|
/**
|
|
1038
1318
|
* Capture the YAML of an ApiObject or Construct into assets.
|
|
1039
1319
|
*/
|