Skip to content

Commit

Permalink
0.2.0
Browse files Browse the repository at this point in the history
  • Loading branch information
sebt3 committed Mar 7, 2024
1 parent 640640b commit c9b78ba
Show file tree
Hide file tree
Showing 29 changed files with 206 additions and 123 deletions.
16 changes: 7 additions & 9 deletions front/libs/certmanager/custom.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// noGramoGenerator
import { QTableColumn } from 'quasar'
import { tableColumnAlign } from '../core'
import { tableColumnAlign, timeAgo } from '../core'
import { networkColor, networkIcon } from '../../routes/custom';
export const certmanagerIcon = networkIcon;
export const certmanagerTitle = 'cert-manager';
Expand Down Expand Up @@ -29,32 +29,30 @@ export const colorIssuer = networkColor;
export const descriptionIssuer = '';
export const shortIssuer = 'Issuer';
export const extraChallengeColumns:Array<QTableColumn> = [
{name: 'State', label: 'State', field: row => row.status.state, sortable: true, align: tableColumnAlign.left},
{name: 'Domain', label: 'Domain', field: row => row.spec.dnsName, sortable: true, align: tableColumnAlign.left},
{name: 'Reason', label: 'Reason', field: row => row.status.reason, sortable: true, align: tableColumnAlign.left},
{name: 'Age', label: 'Age', field: row => row.metadata.creationTimestamp, sortable: true, align: tableColumnAlign.left},
{name: 'Age', label: 'Age', field: row => timeAgo(row.metadata.creationTimestamp), sortable: true, align: tableColumnAlign.left},
];
export const extraOrderColumns:Array<QTableColumn> = [
{name: 'State', label: 'State', field: row => row.status.state, sortable: true, align: tableColumnAlign.left},
{name: 'Issuer', label: 'Issuer', field: row => row.spec.issuerRef.name, sortable: true, align: tableColumnAlign.left},
{name: 'Reason', label: 'Reason', field: row => row.status.reason, sortable: true, align: tableColumnAlign.left},
{name: 'Age', label: 'Age', field: row => row.metadata.creationTimestamp, sortable: true, align: tableColumnAlign.left},
{name: 'Age', label: 'Age', field: row => timeAgo(row.metadata.creationTimestamp), sortable: true, align: tableColumnAlign.left},
];
export const extraCertificateColumns:Array<QTableColumn> = [
{name: 'Secret', label: 'Secret', field: row => row.spec.secretName, sortable: true, align: tableColumnAlign.left},
{name: 'Issuer', label: 'Issuer', field: row => row.spec.issuerRef.name, sortable: true, align: tableColumnAlign.left},
{name: 'Age', label: 'Age', field: row => row.metadata.creationTimestamp, sortable: true, align: tableColumnAlign.left},
{name: 'Age', label: 'Age', field: row => timeAgo(row.metadata.creationTimestamp), sortable: true, align: tableColumnAlign.left},
];
export const extraCertificateRequestColumns:Array<QTableColumn> = [
{name: 'Issuer', label: 'Issuer', field: row => row.spec.issuerRef.name, sortable: true, align: tableColumnAlign.left},
{name: 'Requestor', label: 'Requestor', field: row => row.spec.username, sortable: true, align: tableColumnAlign.left},
{name: 'Age', label: 'Age', field: row => row.metadata.creationTimestamp, sortable: true, align: tableColumnAlign.left},
{name: 'Age', label: 'Age', field: row => timeAgo(row.metadata.creationTimestamp), sortable: true, align: tableColumnAlign.left},
];
export const extraClusterIssuerColumns:Array<QTableColumn> = [
{name: 'Age', label: 'Age', field: row => row.metadata.creationTimestamp, sortable: true, align: tableColumnAlign.left},
{name: 'Age', label: 'Age', field: row => timeAgo(row.metadata.creationTimestamp), sortable: true, align: tableColumnAlign.left},
];
export const extraIssuerColumns:Array<QTableColumn> = [
{name: 'Age', label: 'Age', field: row => row.metadata.creationTimestamp, sortable: true, align: tableColumnAlign.left},
{name: 'Age', label: 'Age', field: row => timeAgo(row.metadata.creationTimestamp), sortable: true, align: tableColumnAlign.left},
];
// Certificate') (eq short 'CertificateRequest')) (or (eq short 'ClusterIssuer') (eq short 'Issuer'
export const ChallengeListExcludes = [
Expand Down
9 changes: 9 additions & 0 deletions front/libs/core/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -114,3 +114,12 @@ export function addByPath(target,path,data) {
export function getByPath(obj, path) {
return path.split("/").reduce((res,cur) => res==null?null:res[cur.replaceAll('~1','/')],obj)
}

export function timeAgo(date:string) {
const delta = new Date().getTime() - new Date(date).getTime();
const days = Math.floor(delta / (1000 * 60 * 60 * 24));
const hours = Math.floor((delta % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
const minutes = Math.floor((delta % (1000 * 60 * 60)) / (1000 * 60));
const seconds = Math.floor((delta % (1000 * 60)) / 1000);
return `${days>0?`${days} days `:''}${hours>0?`${hours} hours `:''}${minutes>0?`${minutes} minutes `:''}${seconds>0?`${seconds} seconds `:''}`
}
29 changes: 16 additions & 13 deletions front/libs/fluxcd/custom.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// noGramoGenerator
import { QTableColumn } from 'quasar'
import { tableColumnAlign } from '../core'
import { tableColumnAlign, timeAgo } from '../core'
import { automationColor, automationIcon, } from '../../routes/custom';
export const fluxcdIcon = automationIcon;
export const fluxcdTitle = 'Flux CD';
Expand Down Expand Up @@ -58,52 +58,54 @@ export const descriptionHelmRelease = '';
export const shortHelmRelease = 'HelmRelease';

export const extraKustomizationColumns:Array<QTableColumn> = [
{name: 'Age', label: 'Age', field: row => row.metadata.creationTimestamp, sortable: true, align: tableColumnAlign.left},
{name: 'Children', label: 'Children', field: row => row.status.inventory.entries.length, sortable: true, align: tableColumnAlign.left},
{name: 'LastChange', label: 'Last Change', field: row => timeAgo(row.status?.conditions[0].lastTransitionTime), sortable: true, align: tableColumnAlign.left},
];
export const extraReceiverColumns:Array<QTableColumn> = [
{name: 'Age', label: 'Age', field: row => row.metadata.creationTimestamp, sortable: true, align: tableColumnAlign.left},
{name: 'Age', label: 'Age', field: row => timeAgo(row.metadata.creationTimestamp), sortable: true, align: tableColumnAlign.left},
];
export const extraAlertColumns:Array<QTableColumn> = [
{name: 'Age', label: 'Age', field: row => row.metadata.creationTimestamp, sortable: true, align: tableColumnAlign.left},
{name: 'Age', label: 'Age', field: row => timeAgo(row.metadata.creationTimestamp), sortable: true, align: tableColumnAlign.left},
];
export const extraProviderColumns:Array<QTableColumn> = [
{name: 'Age', label: 'Age', field: row => row.metadata.creationTimestamp, sortable: true, align: tableColumnAlign.left},
{name: 'Age', label: 'Age', field: row => timeAgo(row.metadata.creationTimestamp), sortable: true, align: tableColumnAlign.left},
];
export const extraGitRepositoryColumns:Array<QTableColumn> = [
{name: 'URL', label: 'URL', field: row => row.spec.url, sortable: true, align: tableColumnAlign.left},
{name: 'Age', label: 'Age', field: row => row.metadata.creationTimestamp, sortable: true, align: tableColumnAlign.left},
{name: 'LastChange', label: 'Last Change', field: row => row.status!=undefined&&Array.isArray(row.status.conditions)?timeAgo(row.status.conditions[0].lastTransitionTime):'--', sortable: true, align: tableColumnAlign.left},
];
export const extraBucketColumns:Array<QTableColumn> = [
{name: 'Endpoint', label: 'Endpoint', field: row => row.spec.endpoint, sortable: true, align: tableColumnAlign.left},
{name: 'Age', label: 'Age', field: row => row.metadata.creationTimestamp, sortable: true, align: tableColumnAlign.left},
{name: 'Age', label: 'Age', field: row => timeAgo(row.metadata.creationTimestamp), sortable: true, align: tableColumnAlign.left},
];
export const extraHelmChartColumns:Array<QTableColumn> = [
{name: 'Chart', label: 'Chart', field: row => row.spec.chart, sortable: true, align: tableColumnAlign.left},
{name: 'Version', label: 'Version', field: row => row.spec.version, sortable: true, align: tableColumnAlign.left},
{name: 'Source Kind', label: 'Source Kind', field: row => row.spec.sourceRef.kind, sortable: true, align: tableColumnAlign.left},
{name: 'Source Name', label: 'Source Name', field: row => row.spec.sourceRef.name, sortable: true, align: tableColumnAlign.left},
{name: 'Age', label: 'Age', field: row => row.metadata.creationTimestamp, sortable: true, align: tableColumnAlign.left},
{name: 'Age', label: 'Age', field: row => timeAgo(row.metadata.creationTimestamp), sortable: true, align: tableColumnAlign.left},
];
export const extraHelmRepositoryColumns:Array<QTableColumn> = [
{name: 'URL', label: 'URL', field: row => row.spec.url, sortable: true, align: tableColumnAlign.left},
{name: 'Age', label: 'Age', field: row => row.metadata.creationTimestamp, sortable: true, align: tableColumnAlign.left},
{name: 'Age', label: 'Age', field: row => timeAgo(row.metadata.creationTimestamp), sortable: true, align: tableColumnAlign.left},
];
export const extraOCIRepositoryColumns:Array<QTableColumn> = [
{name: 'URL', label: 'URL', field: row => row.spec.url, sortable: true, align: tableColumnAlign.left},
{name: 'Age', label: 'Age', field: row => row.metadata.creationTimestamp, sortable: true, align: tableColumnAlign.left},
{name: 'Age', label: 'Age', field: row => timeAgo(row.metadata.creationTimestamp), sortable: true, align: tableColumnAlign.left},
];
export const extraImageUpdateAutomationColumns:Array<QTableColumn> = [
{name: 'Last run', label: 'Last run', field: row => row.status?.lastAutomationRunTime, sortable: true, align: tableColumnAlign.left},
{name: 'Last run', label: 'Last run', field: row => timeAgo(row.status?.lastAutomationRunTime), sortable: true, align: tableColumnAlign.left},
];
export const extraImagePolicyColumns:Array<QTableColumn> = [
{name: 'LatestImage', label: 'LatestImage', field: row => row.status?.latestImage, sortable: true, align: tableColumnAlign.left},
{name: 'LastChange', label: 'Last Change', field: row => timeAgo(row.status?.conditions[0].lastTransitionTime), sortable: true, align: tableColumnAlign.left},
];
export const extraImageRepositoryColumns:Array<QTableColumn> = [
{name: 'Last scan', label: 'Last scan', field: row => row.status.lastScanResult?.scanTime, sortable: true, align: tableColumnAlign.left},
{name: 'LastScan', label: 'Last scan', field: row => timeAgo(row.status.lastScanResult?.scanTime), sortable: true, align: tableColumnAlign.left},
{name: 'Tags', label: 'Tags', field: row => row.status?.lastScanResult?.tagCount, sortable: true, align: tableColumnAlign.left},
];
export const extraHelmReleaseColumns:Array<QTableColumn> = [
{name: 'Age', label: 'Age', field: row => row.metadata.creationTimestamp, sortable: true, align: tableColumnAlign.left},
{name: 'Age', label: 'Age', field: row => timeAgo(row.metadata.creationTimestamp), sortable: true, align: tableColumnAlign.left},
];
export const KustomizationListExcludes = [
];
Expand Down Expand Up @@ -131,6 +133,7 @@ export const ProviderSimpleExcludes = [
];
export const GitRepositoryListExcludes = [
{ path: 'spec/url', include: true },
{ path: 'status', include: true },
];
export const GitRepositoryReadExcludes = [
];
Expand Down
5 changes: 2 additions & 3 deletions front/libs/jaegertracing/custom.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// noGramoGenerator
import { QTableColumn } from 'quasar'
import { tableColumnAlign } from '../core'
import { tableColumnAlign, timeAgo } from '../core'
import { systemColor, systemIcon, } from '../../routes/custom';
export const jaegertracingIcon = systemIcon;
export const jaegertracingTitle = 'Tracing';
Expand All @@ -13,14 +13,13 @@ export const extraJaegerColumns:Array<QTableColumn> = [
{name: 'Version', label: 'Version', field: row => row.status.version, sortable: true, align: tableColumnAlign.left},
{name: 'Strategy', label: 'Strategy', field: row => row.spec.strategy, sortable: true, align: tableColumnAlign.left},
{name: 'Storage', label: 'Storage', field: row => row.spec.storage.type, sortable: true, align: tableColumnAlign.left},
{name: 'Age', label: 'Age', field: row => row.metadata.creationTimestamp, sortable: true, align: tableColumnAlign.left},
{name: 'Age', label: 'Age', field: row => timeAgo(row.metadata.creationTimestamp), sortable: true, align: tableColumnAlign.left},
];
export const JaegerListExcludes = [
{ path: 'status/phase', include: true },
{ path: 'status/version', include: true },
{ path: 'spec/strategy', include: true },
{ path: 'spec/storage/type', include: true },
{ path: 'metadata/creationTimestamp', include: true },
];
export const JaegerReadExcludes = [
];
Expand Down
Loading

0 comments on commit c9b78ba

Please sign in to comment.