diff --git a/docs/installation_guide.md b/docs/installation_guide.md
index 2672ae44a..ca44e9a73 100644
--- a/docs/installation_guide.md
+++ b/docs/installation_guide.md
@@ -17,9 +17,25 @@ In addition, the deployment instructions on Kubernetes has been created by the c
## Prerequisites for the target host
Harbor is deployed as several Docker containers, and, therefore, can be deployed on any Linux distribution that supports Docker. The target host requires Python, Docker, and Docker Compose to be installed.
-* Python should be version 2.7 or higher. Note that you may have to install Python on Linux distributions (Gentoo, Arch) that do not come with a Python interpreter installed by default
-* Docker engine should be version 1.10 or higher. For installation instructions, please refer to: https://docs.docker.com/engine/installation/
-* Docker Compose needs to be version 1.6.0 or higher. For installation instructions, please refer to: https://docs.docker.com/compose/install/
+### Hardware
+|Resource|Capacity|Description|
+|---|---|---|
+|CPU|minimal 2 CPU|4 CPU is prefered|
+|Mem|minimal 4GB|8GB is prefered|
+|Disk|minimal 40GB|160GB is prefered|
+### Software
+|Software|Version|Description|
+|---|---|---|
+|Python|version 2.7 or higher|Note that you may have to install Python on Linux distributions (Gentoo, Arch) that do not come with a Python interpreter installed by default|
+|Docker engine|version 1.10 or higher|For installation instructions, please refer to: https://docs.docker.com/engine/installation/|
+|Docker Compose|version 1.6.0 or higher|For installation instructions, please refer to: https://docs.docker.com/compose/install/|
+|Openssl|latest is prefered|Generate certificate and keys for Harbor|
+### Network ports
+|Port|Protocol|Description|
+|---|---|---|
+|443|HTTPS|Harbor UI and API will accept requests on this port for https protocol|
+|4443|HTTS|Connections to the Docker Content Trust service for Harbor, only needed when Notary is enabled|
+|80|HTTP|Harbor UI and API will accept requests on this port for http protocol|
## Installation Steps
diff --git a/src/ui_ng/lib/package.json b/src/ui_ng/lib/package.json
index bba58816b..e5ea1c350 100644
--- a/src/ui_ng/lib/package.json
+++ b/src/ui_ng/lib/package.json
@@ -1,6 +1,6 @@
{
"name": "harbor-ui",
- "version": "0.6.30",
+ "version": "0.6.41",
"description": "Harbor shared UI components based on Clarity and Angular4",
"scripts": {
"start": "ng serve --host 0.0.0.0 --port 4500 --proxy-config proxy.config.json",
diff --git a/src/ui_ng/lib/pkg/package.json b/src/ui_ng/lib/pkg/package.json
index f85d0b751..1a5e8cbff 100644
--- a/src/ui_ng/lib/pkg/package.json
+++ b/src/ui_ng/lib/pkg/package.json
@@ -1,6 +1,6 @@
{
"name": "harbor-ui",
- "version": "0.6.30",
+ "version": "0.6.41",
"description": "Harbor shared UI components based on Clarity and Angular4",
"author": "VMware",
"module": "index.js",
diff --git a/src/ui_ng/lib/src/list-replication-rule/list-replication-rule.component.css.ts b/src/ui_ng/lib/src/list-replication-rule/list-replication-rule.component.css.ts
new file mode 100644
index 000000000..67157fd6c
--- /dev/null
+++ b/src/ui_ng/lib/src/list-replication-rule/list-replication-rule.component.css.ts
@@ -0,0 +1,2 @@
+export const LIST_REPLICATION_RULE_CSS = `
+`
\ No newline at end of file
diff --git a/src/ui_ng/lib/src/list-replication-rule/list-replication-rule.component.html.ts b/src/ui_ng/lib/src/list-replication-rule/list-replication-rule.component.html.ts
index 979fcee1d..444cbad41 100644
--- a/src/ui_ng/lib/src/list-replication-rule/list-replication-rule.component.html.ts
+++ b/src/ui_ng/lib/src/list-replication-rule/list-replication-rule.component.html.ts
@@ -18,7 +18,15 @@ export const LIST_REPLICATION_RULE_TEMPLATE: string = `
{{p.projects?.length>0 ? p.projects[0].name : ''}}
- {{p.description ? p.description : '-'}}
+
+ {{p.description ? trancatedDescription(p.description) : '-'}}
+
+ 35" clrTooltipTrigger shape="ellipsis-horizontal" size="18">
+
+ {{p.description}}
+
+
+ {{p.targets?.length>0 ? p.targets[0].name : ''}}{{p.trigger ? p.trigger.kind : ''}}
diff --git a/src/ui_ng/lib/src/list-replication-rule/list-replication-rule.component.ts b/src/ui_ng/lib/src/list-replication-rule/list-replication-rule.component.ts
index bfa68e05e..eb3d99334 100644
--- a/src/ui_ng/lib/src/list-replication-rule/list-replication-rule.component.ts
+++ b/src/ui_ng/lib/src/list-replication-rule/list-replication-rule.component.ts
@@ -42,12 +42,14 @@ import { toPromise, CustomComparator } from '../utils';
import { State, Comparator } from 'clarity-angular';
import { LIST_REPLICATION_RULE_TEMPLATE } from './list-replication-rule.component.html';
+import { LIST_REPLICATION_RULE_CSS } from './list-replication-rule.component.css';
import {BatchInfo, BathInfoChanges} from "../confirmation-dialog/confirmation-batch-message";
import {Observable} from "rxjs/Observable";
@Component({
selector: 'hbr-list-replication-rule',
template: LIST_REPLICATION_RULE_TEMPLATE,
+ styles: [LIST_REPLICATION_RULE_CSS],
changeDetection: ChangeDetectionStrategy.OnPush
})
export class ListReplicationRuleComponent implements OnInit, OnChanges {
@@ -102,6 +104,14 @@ export class ListReplicationRuleComponent implements OnInit, OnChanges {
return !this.readonly && !this.projectId ? true : false;
}
+ trancatedDescription(desc: string): string {
+ if (desc.length > 35 ) {
+ return desc.substr(0, 35);
+ } else {
+ return desc;
+ }
+ }
+
ngOnInit(): void {
//Global scope
if (!this.projectScope) {
diff --git a/src/ui_ng/lib/src/tag/tag.component.html.ts b/src/ui_ng/lib/src/tag/tag.component.html.ts
index ecedbd9e3..34e4dc753 100644
--- a/src/ui_ng/lib/src/tag/tag.component.html.ts
+++ b/src/ui_ng/lib/src/tag/tag.component.html.ts
@@ -24,11 +24,9 @@ export const TAG_TEMPLATE = `