From 609e0fbb76a9cbfbd94df168357016528d971d73 Mon Sep 17 00:00:00 2001 From: = <=> Date: Fri, 1 May 2026 21:05:26 +0000 Subject: [PATCH] added aspire dashboard --- kubernetes-templates/aspire-dashboard.yml | 151 ++++++++++++++++++++++ 1 file changed, 151 insertions(+) create mode 100644 kubernetes-templates/aspire-dashboard.yml diff --git a/kubernetes-templates/aspire-dashboard.yml b/kubernetes-templates/aspire-dashboard.yml new file mode 100644 index 0000000..146045c --- /dev/null +++ b/kubernetes-templates/aspire-dashboard.yml @@ -0,0 +1,151 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: aspire +--- +apiVersion: v1 +kind: Secret +metadata: + name: aspire-dashboard-auth + namespace: aspire +type: Opaque +data: + dashboard-token: YmJkYjAyM2FiMDU1OTg1Mzg4NzZkYWE2YWJkMDI0N2I= + otlp-api-key: bWMzRzYzSzJqNVpPRXNpMEFqTW9qTFRYbTFLRVpGY3R6SUlqU3dEaVRHdXQ4cUdTa1B1V3d4R1AxUmJzY0pVbw== +--- +apiVersion: v1 +kind: Secret +metadata: + name: aspire-cert-secret + namespace: aspire +type: kubernetes.io/tls +data: + tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdCVENDQk8yZ0F3SUJBZ0lTQnJqanlsMnNnZ2Z3SnlxaUhiMDV2OG5zTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05Nall3TlRBeE1UZzFPVFE0V2hjTk1qWXdOek13TVRnMU9UUTNXakFnTVI0d0hBWURWUVFECkV4VmhjM0JwY21VdWEyaHZibWRwYzJFdVkyOHVlbUV3Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQ0R3QXcKZ2dJS0FvSUNBUUM3MlM1UWZHOGJ4L0JIRVFZbzJrdUttSm1IcmF1Z3BYd3ZOZjFHQ0pHUmE1QnAwc0xVWkw4Ugo4ZVUwSGdrUzFnYzNVMUdjelVrZHBJWll1WHBwWjBzRER1Q2ltZkZsbHZ2WFZ6WDJrMFN6blJJc29HYmxPM0o2CjFURkJhRlZ4cm9oMGhCK1RVTWJzbm9LRWREVnhPaXJmaGNrRnN5LzZKa2t5YUJSdERlMVBxeTZMcCtFazRYay8KSU1iemRxZE5VOStjMWxzWm0wR2xqZUlGK0hGZGlPcDYrWS9YSWxOYmUyaWMya2t4cDNJb1hPbGZZQ3NzVWdXUgp6TlV0TUxFVWhTeG0yeTVFUFp6Mm9wa0ZtMWVuUjRJQ0JqWTY4eEdHdHE5VzBoblY1RStNZGd3ait6c0ZOMHFBCkorTUdIL0k2eE1KQUdhRkJzN1hjeHdvRGlTaTIrY1JVTkFBU2MwRDNVZy83Vlc0b3ZHVXgrajR1QnJXREhqMVMKM09LdTRtNnJFMnRMcnNhd1R0YVYxZkkwaW94a2NwMjZqbjhPeU9zZ3lqTkdkSGVyMGQyVFVCRzJEZEdBRlFUNAorTTF3V1dUVXV2cmYwZTFkUlFvRFR5WUhoNU5HMmwxTklUMTNWWUhzdmh4a0UwRm14MHVHNi9EYlRFQ0pVbEVNCmhUbmRUYWhJMHhLUnlqSEszSFNLdGRVRTkzR28vSU1vQ05NenlRMWxQd01hM00vWHl6Q0dwRURYYWJRZnM0VHUKa2syNWVDcmFwNFJJQnRCMEtHUWM4TGxMTEVHbG1SeEU1VUd0dGVJd0VDZ2Uva2ZFK3AxZXFOcTI3eTZoV0o4Zwo5TTNyNVdxempmenF6eEpuQ2crMk9UUi80WENwYXYzSURJTzRLN1Y5MHRZTm9SY0h5T2JBR1FJREFRQUJvNElDCkpEQ0NBaUF3RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HQ0NzR0FRVUZCd01CTUF3R0ExVWQKRXdFQi93UUNNQUF3SFFZRFZSME9CQllFRkdvR0xyOFRsblpsUVY5VFF6VEpTc1ViZnpkdU1COEdBMVVkSXdRWQpNQmFBRkFDMUtmSXRqbTh4Nkp0TXJYZysrdHpwRE5IU01ETUdDQ3NHQVFVRkJ3RUJCQ2N3SlRBakJnZ3JCZ0VGCkJRY3dBb1lYYUhSMGNEb3ZMM0l4TWk1cExteGxibU55TG05eVp5OHdJQVlEVlIwUkJCa3dGNElWWVhOd2FYSmwKTG10b2IyNW5hWE5oTG1OdkxucGhNQk1HQTFVZElBUU1NQW93Q0FZR1o0RU1BUUlCTUM4R0ExVWRId1FvTUNZdwpKS0Fpb0NDR0htaDBkSEE2THk5eU1USXVZeTVzWlc1amNpNXZjbWN2TVRBNUxtTnliRENDQVF3R0Npc0dBUVFCCjFua0NCQUlFZ2YwRWdmb0ErQUIyQU1zNDl4V0pmSVNoUkY5YndkMzd5Vzd5bWxuTlJ3cHBCWVd3eXhUREZGam4KQUFBQm5lVWU0RGtBQUFRREFFY3dSUUlnTUJ1Q3c3clhLQlNGbjNIc1NFNGRGK0dPRlJpRjhmRm5zQnBnZFhkNQp6a0lDSVFDTWtkOU1Cd1VNYnlKNG54Ni9RVUtRZjBURWZaOUJSeWQzcmhISXNFajk5QUIrQUVhdmhqMDdQdVdmCnBYZmVxQ1JkTnJEWjdTS2lJL1JoZDBFaWxGTHVsVkJmQUFBQm5lVWU0TUlBQ0FBQUJRQUZiSW5jQkFNQVJ6QkYKQWlFQW50V0R0NitUNTNNc0R3aFlrQk11dFNIbWFvYzB1Lzk4YmkwU0ltU3VvUTRDSUhuU3FmdlFqMWFvMGkxWAp6TUdjcXpxRXpZeHJDVHV0ZjdUY2p3NWxuMUlYTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFCL0dYMlBJSzNZCkRFUklpMk53anpadEJ5K1BnY3ZFbXNuYzFsOVJHMkZRVFg0QzRCVWFmbExYdlExNjYra2x6VGt0S2I1c2xweSsKTGlYOEhmZ0ovZVVQMVJNVmtEM1M4Y28rV05EYWV5V3JFQ21DQ012KzhzTU44OE9PUWJwVmFZdUtpeldMZEpxVQo3dDBQV3A5NjJhSldDbmFwcUlGOFd3WmZRV1NsWGp2dUxQMWQ1OGRnbUdlclhqa1pvUWI3VGluVkMycDNDZThuCmdVYlRhNHAveU5WVzhFL3ozMFVIQ2F3YVh2M045Z3AyWkNDUFR2a2dqNVJyTzNPR0piWEZ0OEgzQThsdno4dEcKalZoU2VWTC85dzR1Y1ZyY2FyQ0E2eHY4SmNGL2tZT056TXR0Wnl1ODFIcFp6QS9XR3M2ZjZsbEpqeTFpSDVJRApjLzd0QVpSWEpFMVgKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZCakNDQXU2Z0F3SUJBZ0lSQU1JU01rdHdxYlNSY2R4QTkrS0ZKand3RFFZSktvWklodmNOQVFFTEJRQXcKVHpFTE1Ba0dBMVVFQmhNQ1ZWTXhLVEFuQmdOVkJBb1RJRWx1ZEdWeWJtVjBJRk5sWTNWeWFYUjVJRkpsYzJWaApjbU5vSUVkeWIzVndNUlV3RXdZRFZRUURFd3hKVTFKSElGSnZiM1FnV0RFd0hoY05NalF3TXpFek1EQXdNREF3CldoY05NamN3TXpFeU1qTTFPVFU1V2pBek1Rc3dDUVlEVlFRR0V3SlZVekVXTUJRR0ExVUVDaE1OVEdWMEozTWcKUlc1amNubHdkREVNTUFvR0ExVUVBeE1EVWpFeU1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQgpDZ0tDQVFFQTJwZ29kSzIrbFA0NzRCN2k1VXQxcXl3U2YrMm5BekorTnBmczZER1BwUk9OQzVrdUhzMEJVVDFNCjVTaHVDVlV4cXFVaVhYTDBMUWZDVFVBODN3RWp1WGczOVJwbE1qVG1obkdkQk8rRUNGdTlBaHFaNjZZQkFKcHoKa0cyUG9nZWcwSmZUMmtWaGdUVTlGUG5Fd0Y5cTNBdVdHckNmNHlycXZTcldtTWViY2FzN2RBODgyN0pndmxwTApUaGpwMnlwelhJbGhaWjcrN1R5bXkwNXY1Sjc1QUVhei94bE5LbU96am1iR0dJVnd4MUJsYnp0MDVVaUREd2hZClhTMGpuVjZqL3VqYkFLSFM5T01aVGZMdWV2WW5udVhObkMyaThuK2NGNjN2RXpjNTBiVElMRUhXaHNEcDdDSDQKV1J0L3VUcDhuMXdCbldJRXdpaTlDcTA4eWhEc0d3SURBUUFCbzRINE1JSDFNQTRHQTFVZER3RUIvd1FFQXdJQgpoakFkQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQWdZSUt3WUJCUVVIQXdFd0VnWURWUjBUQVFIL0JBZ3dCZ0VCCi93SUJBREFkQmdOVkhRNEVGZ1FVQUxVcDhpMk9iekhvbTB5dGVENzYzT2tNMGRJd0h3WURWUjBqQkJnd0ZvQVUKZWJSWjVudTI1ZVFCYzRBSWlNZ2FXUGJwbTI0d01nWUlLd1lCQlFVSEFRRUVKakFrTUNJR0NDc0dBUVVGQnpBQwpoaFpvZEhSd09pOHZlREV1YVM1c1pXNWpjaTV2Y21jdk1CTUdBMVVkSUFRTU1Bb3dDQVlHWjRFTUFRSUJNQ2NHCkExVWRId1FnTUI0d0hLQWFvQmlHRm1oMGRIQTZMeTk0TVM1akxteGxibU55TG05eVp5OHdEUVlKS29aSWh2Y04KQVFFTEJRQURnZ0lCQUk5MTBBblBhblpJWlRLUzNyVkV5SVYyOUJXRWpBSy9kdXV6OGVMNWJvU29WcEhoa2t2Mwo0ZW9BZUVpUGRaTGo1RVo3RzJBcklLK2d6aFRsUlExcTRGS0dwUFBhRkJTcHFWL3hiVWI1VWxBWFFPbmtIbjNtCkZWaitxWXY4Ny9XZVkrQm00c04zT3g4Qmh5YVU3VUFRM0xlWjdOMVgwMXh4UWU0d0lBQUUzSlZMVUNpSG1aTCsKcW9DVXRnWUlGUGdjZzM1MFFNVUlXZ3hQWE5HRW5jVDkyMW5lN25sdUkwMlY4cExVbUNscVhPc0N3VUx3K1BWTwpaQ0I3cU9NeHhNQm9DVWVMMkxsNG9NcE9TcjVwSkNwTE4zdFJBMnM2UDFLTHM5VFNyVmhPays3TFgyOE5NVWxJCnVzUS9ueExKSUQwUmhBZUZ0UGp5T0NPc2NRQkE1MytOUmpTQ2FrN1A0QTVqWDdwcG1rY0pFQ0wrUzBpM2tYVlUKeTVNZTVCYnJVODk3M2paTnYvYXg2K1pLNlRNOGpXbWltTDZvZjZPclg3WlU2RTJXcWF6enNGckxHM28ya3lTYgp6bGhTZ0o4MUNsNHR2M1NiWWlZWG5KRXhLUXZ6ZjgzRFlvdG94M2YwZnd2N3hsbjFBMlpMcGxDYjBPK2wvQUswCllFMERTMkZQeFNBSGkwaXdNZlcybk5ISnJYY1kzTExIRDc3Z1JnamU0RXZldWJpMnh4YStObWsvaG1oTGRJRVQKaVZERmFub0NyTVZJcFE1OVhXSGt6ZEZtb0hYSEJWN29pYlZqR1NPN1VMU1E3TUoxTno1MXBodURKU2dBSVU3QQowenJMbk9yQWovZGZybEVXUmhDdkFnYnV3TFpYMUEyc2pOalhvUE9IYnNQaXkrbE8xS0Y4L1hZNwotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== + tls.key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS1FJQkFBS0NBZ0VBdTlrdVVIeHZHOGZ3UnhFR0tOcExpcGlaaDYycm9LVjhMelg5UmdpUmtXdVFhZExDCjFHUy9FZkhsTkI0SkV0WUhOMU5Sbk0xSkhhU0dXTGw2YVdkTEF3N2dvcG54WlpiNzExYzE5cE5FczUwU0xLQm0KNVR0eWV0VXhRV2hWY2E2SWRJUWZrMURHN0o2Q2hIUTFjVG9xMzRYSkJiTXYraVpKTW1nVWJRM3RUNnN1aTZmaApKT0Y1UHlERzgzYW5UVlBmbk5aYkdadEJwWTNpQmZoeFhZanFldm1QMXlKVFczdG9uTnBKTWFkeUtGenBYMkFyCkxGSUZrY3pWTFRDeEZJVXNadHN1UkQyYzlxS1pCWnRYcDBlQ0FnWTJPdk1SaHJhdlZ0SVoxZVJQakhZTUkvczcKQlRkS2dDZmpCaC95T3NUQ1FCbWhRYk8xM01jS0E0a290dm5FVkRRQUVuTkE5MUlQKzFWdUtMeGxNZm8rTGdhMQpneDQ5VXR6aXJ1SnVxeE5yUzY3R3NFN1dsZFh5TklxTVpIS2R1bzUvRHNqcklNb3pSblIzcTlIZGsxQVJ0ZzNSCmdCVUUrUGpOY0ZsazFMcjYzOUh0WFVVS0EwOG1CNGVUUnRwZFRTRTlkMVdCN0w0Y1pCTkJac2RMaHV2dzIweEEKaVZKUkRJVTUzVTJvU05NU2tjb3h5dHgwaXJYVkJQZHhxUHlES0FqVE04a05aVDhER3R6UDE4c3docVJBMTJtMApIN09FN3BKTnVYZ3EycWVFU0FiUWRDaGtIUEM1U3l4QnBaa2NST1ZCcmJYaU1CQW9IdjVIeFBxZFhxamF0dTh1Cm9WaWZJUFRONitWcXM0Mzg2czhTWndvUHRqazBmK0Z3cVdyOXlBeUR1Q3UxZmRMV0RhRVhCOGptd0JrQ0F3RUEKQVFLQ0FnQUFpbi9XWmdGWTZtTEFCYVhIcE5kT1d5R29FU0U3S1hiWjJQVTFpQzFKSnE3b0N4NGFCLzgvNFRzNApndlNpUEFFUjBQamRjMzdvS2JMa1d3WmwrdER0dlpONmpHaDBVeksrL0VhUXd2eFI2eHdrQ2tNNW1rbjZYaFpSCitxZXlWOThYUE5FdGRyQlgrcDNrSFVTUklxcUFjYzF5S1lHMEhmdWNmRTNBd2FkREVUcGxWeEt3TFVFUTVEcUcKZFh0R1h2MDRJYXJxQURjNGI1ZnN6Zm9mbTVjWFN4UTF1YWpWVE4zd2c3VnR3ZTV6Zk04RVFnM2x4d2V5azQweQpuOThHc05wL29sWjRCbGhuSW5FLzRhSm5QaTY2N0VNb09NNStYWlRVTW04MkhUMzRhTmVnbStiZjNUaW05Vlp6ClRGREJpQk1LSmJpLzdIRlQ1VFBiYmoveWhQWWlpYTUyU1Y0amdFSGVtaDFNanF4c3dDYTk0Mm8vUGpKM3dJYjIKYVFWNHBQa2xDcXh1czdXemE1Z3Z4aysyeTlqR1dBdmdHSjFtVjcxVHNxT0RhWmt1UUZ4ZE90dDcxb2pTQ0ZVLwpHWUZvSGpHVnEzRzdKalBGdHRTK2I5VnpRZVZqTjJOZHdnVzNQckUwQk1PTzFIa1VwUHpZYWJRa3gxNldsTFM2CjRCdWdHM2h1QUZzQTQvazIydlhKTGRJUGQ5MTAwSHpuR1VFbnhWbmxBYzJqak9TSFhoVnMzS0ZpUVppUVJQWEoKK1FwZnRDUWIwb1RwRHhEaTFkMWNSOTNsM0p5eEk4VFlSL001TUo4eUkzZWhMWmpvS3dmbDFsREhtblRwS0tHdgpscmc4Qm93d0lsd1RWajN3bnNwUmFBNEZST0Vob2F4YkRlRWh5bmFwckNZTTZkVWpnUUtDQVFFQTdQRjZqWmtDCnhaQTdJalp2eDNYYXhkOTZiMWxEVlBjdlZ4TzU2aWFLSng3ZktDbG5TWngzWW1jRVlZMWtzOHUvTGJKazV3b1UKSXRCVTFZY1lEaWkrdjNRM3FQRnRlZGpiakxyRjQ0NmdLYy9qN2FzZHprQTJ0czB5N3V1ZWtZaDhoOUpCRWZJegpTVktpZzY2emZYZEwyeENwbEZ5bVhmS2dlRmhCa1FzRGdldVl2bUE5SDlzdjdYaGMxZjllQ1RWUEdqQjhpdXBoCllGdzBaeWNkOENkUE0wRzJ3bmg0OVdKY3lvYjBJMUVVcDM2WGZkNHVQSHpjMmM0SUxGMm9zNHpKMjNFa1ROSEMKb2RKRWFDaElGRVkxTGxTbmNkZ0RodWNCL3E1K1pINGhnSXA0cHhRMzZLK3hIcFVJZmsvNGU1M2JiNlZacXZVdQp5Y0NYOGxNS2hUaE53UUtDQVFFQXl2VGQraG9QME5RSUd2Qkl3c2JCT3lscHpNQVB0cTJmK0IrOXVRa3MzYXBUCnJsSXVDbkhqdXZGdE1pcVg2QmM3dEplVExYOTBPSjVkMU9leEhNR1ViSVJIZ0xxQ2VicHZSUXBIeVpSQi9tbmwKMEF5TUwxbXQ4RGxGdmNSYTJHYk5nMFJjRFZodXBWaVBGV2NyOU5mTkhSaWRlaG9wZHNEU0RTTkhNRHl1bzM4cgpoVE0yU1lMZWNndkV6cm9mcG0vWnI1elZpOGR1Vkd6Rm8rb0d5RWVYbGVYRlhmL0tDS0xyOFJCd3kyVWo1eTl4CitOMGxFRUpCY2QwcG1aWmVpVUtDTmtFS2lVVWlCeEswRE1ZZFVBUVJmU1dhanlhVUFTdVdtTC9aZFBVTnhVWWUKcmZzMGRzajY5V2liMXpDSEJwRVRNV1plTHg4RXBpTXRZSG44dnJHNFdRS0NBUUVBeWpwajdmeWRSLytNNk90cgpSZU1KNFA2WElmZ2VwcUwrVGFTeGRlNkUxVlRkQkFzcWM4Sk9ocmNFSHpxdHEyTUhmYm9Yc3JXQWNDSTlkYTJDCjAzcmxLc1RIU0xNZVMvUFJsdkJHTzYwY2QvTk9SeWhZSFJQalh1d09QNnJzUUt3c0ZVUlhjeml6bXk0ak5KN2oKNVA3dnlENFZibUlSUUhmM2pCOVBmcnJXdUlsYmFZajhRbmN5RmMwMzl4R29zZFZFK1VaTzFjV3JiTEhscS9EUAo5WXVuWmtqODhrZ2VmTmtCOTMxdFc4TTFES3ZZSW42Q0dmQThFczF0WG1obHR6RS9pOEtxUjhKMEN1ZEtxVmRRCkJiWFNhQU9xa2xqYTBjWFNod3RwSnQ0Y08vaHpkNjZpOVQ4V3ZkSlhXRzlxMWg3cURnVWpYZTA3ak1pTEp6REcKOXVNU1FRS0NBUUI4SkhHTzVOZ2R2VVJEN2d3amo5MXNLYlc4ZHhKbGhDaGdabEh2Vjh4b3ZpRzNkQzhUVm55Ywp3Y1l3TkZ0OHJKRnBzbmxsRUJ2djhmYWxIeDkzM25UQ045dGd3elRCN3FiWERTWENDSHloZVBjSVhsUjFOaDZ0CjNPcHEzQ3RSU1BpV1BYOHM3cFduYjliOW1ZRUtuK0duMVlHbHlWRHBnYUk2UlFUclhZTFpJUlZtd1YrSWNaTk4KSVNPOTY1MG1laTRtUEFGbklaSzc4MWlsSGFZT1piUTBEVHEvZDVHRjNOb0ROekkzUjJOQnF3VEUyOGdxL012NQpNUFdjSzUwaHlsdkpnZGxIQTlGL2tCSXY2aExOK2Q4VXRLYW92MGt5dWczQTIwRFJTSCttMW5BM3JYdDIyUktnCmY5OHJMbFM1VUkzejNwRG5zOHB0TVFFMWpRaHJRRnZwQW9JQkFRQ0NJdnRpamdlQzV6UmZMOVd6UmxscXRHUU0KSzRrTnNvQ2ZCdTFnTFpqOWI5dGlLSUI3VmpqZDBJaDRabk1NNUwvMkY0cG1IYzV2UnFrNWFmdVRVUE9FbTg2NwpkWll5U1RkOFdEbTZBVWwrbHFWTGdXV0RpOXZiUXN6R0phQWd5VWVwZkdxUlZWbnZFSlEvdzBqWVNaTkNsZWFoCm1ZMUVQY2c1NVowOU1DYld5VnU5UGVPaS9tSXd5cDU0NjhKbmxNNjBnbTgvN1E5dFdZcklxVWFDM1hvdDZEZnIKaVpZMFNZMndjVU5CNXpNbWQ4NmUza09RQTFHclZ2RHVaZnVKb05DS25ITUI0L3pMK2lNYk50aWYzSHVrdVVUcwp5OGc2TGdJSlM5WmwwUnlzeTYrWDhNWEhMSmw0NjVSc3IvczdFOWlyNWFQdExvRG9VdmZiMy82V0FUOTgKLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: aspire-dashboard-pvc + namespace: aspire +spec: + accessModes: ["ReadWriteOnce"] + storageClassName: nfs-storage + resources: + requests: + storage: 1Gi +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: aspire-dashboard + namespace: aspire +spec: + replicas: 1 + selector: + matchLabels: + app: aspire-dashboard + template: + metadata: + labels: + app: aspire-dashboard + spec: + containers: + - name: dashboard + image: mcr.microsoft.com/dotnet/aspire-dashboard:8.0 + ports: + - name: ui + containerPort: 18888 + - name: otlp-grpc + containerPort: 18889 + - name: otlp-http + containerPort: 18890 + env: + - name: Dashboard__ApplicationName + value: "Khongisa Monitoring" + - name: Dashboard__Frontend__EndpointUrls + value: "http://0.0.0.0:18888" + - name: Dashboard__Otlp__EndpointUrl + value: "http://0.0.0.0:18889" + - name: Dashboard__Otlp__HttpEndpointUrl + value: "http://0.0.0.0:18890" + - name: ASPIRE_ALLOW_UNSECURED_TRANSPORT + value: "true" + - name: Dashboard__Frontend__AuthMode + value: "BrowserToken" + - name: Dashboard__Frontend__BrowserToken + valueFrom: + secretKeyRef: + name: aspire-dashboard-auth + key: dashboard-token + - name: Dashboard__Otlp__AuthMode + value: "ApiKey" + - name: Dashboard__Otlp__PrimaryApiKey + valueFrom: + secretKeyRef: + name: aspire-dashboard-auth + key: otlp-api-key + volumeMounts: + - name: aspire-keys + mountPath: /home/app/.aspnet/DataProtection-Keys + volumes: + - name: aspire-keys + persistentVolumeClaim: + claimName: aspire-dashboard-pvc +--- +apiVersion: v1 +kind: Service +metadata: + name: aspire-dashboard-service + namespace: aspire +spec: + type: NodePort + selector: + app: aspire-dashboard + ports: + - name: ui + port: 18888 + targetPort: 18888 + - name: otlp-grpc + port: 4317 + targetPort: 18889 + nodePort: 31017 + - name: otlp-http + port: 4318 + targetPort: 18890 +--- +apiVersion: traefik.io/v1alpha1 +kind: IngressRoute +metadata: + name: aspire-dashboard-web + namespace: aspire +spec: + entryPoints: + - websecure + routes: + # Rule for Dashboard UI + - match: Host(`aspire.khongisa.co.za`) && PathPrefix(`/`) + kind: Rule + services: + - name: aspire-dashboard-service + port: 18888 + # Rule for HTTP OTLP Telemetry + - match: Host(`aspire.khongisa.co.za`) && PathPrefix(`/otlp`) + kind: Rule + middlewares: + - name: aspire-strip-prefix + services: + - name: aspire-dashboard-service + port: 4318 + tls: + secretName: aspire-cert-secret +--- +apiVersion: traefik.io/v1alpha1 +kind: Middleware +metadata: + name: aspire-strip-prefix + namespace: aspire +spec: + stripPrefix: + prefixes: + - /otlp \ No newline at end of file