Skip to content

Commit

Permalink
doc(README):update README to reflect latest changes (#740)
Browse files Browse the repository at this point in the history
Signed-off-by: Steven Zou <szou@vmware.com>
  • Loading branch information
steven-zou authored Aug 11, 2021
1 parent 6195bc8 commit 36567d3
Show file tree
Hide file tree
Showing 2 changed files with 58 additions and 50 deletions.
35 changes: 18 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,9 @@ Harbor deployment stack is controlled by a custom Harbor resource `HarborCluster
* Add the optional Harbor components
* Support upgrading the managed Harbor registry version
* Deletes all the linked resources when deleting the Harbor cluster
* Configures Harbor system settings with ConfigMap in a declarative way
* Support services exposed with [ingress](https://kubernetes.io/fr/docs/concepts/services-networking/ingress/) ([`default`](https://git.k8s.io/ingress-nginx/README.md#readme), [`gce`](https://git.k8s.io/ingress-gce/README.md#readme) and `ncp`)
* Configures Harbor system settings with CRD-based configuration or labeled ConfigMap
* Support services exposed with [ingress](https://kubernetes.io/fr/docs/concepts/services-networking/ingress/) ([`default`](https://git.k8s.io/ingress-nginx/README.md#readme), [`gce`](https://git.k8s.io/ingress-gce/README.md#readme), `ncp` and `contour`)
* Support services exposed with LoadBalancer

## Future features

Expand All @@ -42,15 +43,13 @@ Harbor deployment stack is controlled by a custom Harbor resource `HarborCluster
* [ ] [gcs](https://cloud.google.com/storage): A driver storing objects in a Google Cloud Storage bucket.
* Supports updating the deployed Harbor cluster
* Remove the optional Harbor components
* CRD based day2 configuration
* Support services exposed with LoadBalancer
* More day2 operations (see [PoC project](https://github.com/szlabs/harbor-automation-4k8s))
* Auto mapping Kubernetes namespaces and Harbor project
* Pull secrets injections
* Container image path rewriting
* Transparent proxy cache settings

## Replease plans
## Release plans

* [Release 1.1](https://github.com/goharbor/harbor-operator/projects/8)
* [Release 1.2](https://github.com/goharbor/harbor-operator/projects/7)
Expand All @@ -65,7 +64,7 @@ Versions of the underlying components are listed below:

| Components | Harbor | MinIO operator | PostgreSQL operator | Redis operator |
|---------------|-------------------|----------------|---------------------|----------------|
| Versions | 2.2.x `[1]` | 4.0.6 | 1.5.0 | 1.0.0 |
| Versions | 2.3.x `[1]` | 4.0.6+ | 1.5.0+ | 1.0.0 |

NOTES:

Expand All @@ -77,28 +76,30 @@ NOTES:

Harbor operator supports two extra Kubernetes versions besides the current latest version (`n-2` pattern):

| Versions | 1.19 | 1.20 | 1.21 |
|---------------|--------------------|--------------------|---------------------------|
| Compatibility | :heavy_check_mark: | :heavy_check_mark: | :heavy_multiplication_x: |
| Versions | 1.19 | 1.20 | 1.21 |
|---------------|--------------------|--------------------|---------------------|
| Compatibility | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |

### Cert manager versions

Harbor operator relies on cert manager to manage kinds of certificates used by Harbor cluster components. Table shown below lists the compatibilities of cert manager versions:

| Versions | 1.1.1 | 1.2.0 | 1.3.1 | 1.4.0 |
|---------------|--------------------|--------------------|----------------------|----------------------|
| Compatibility | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Versions | 1.2 | 1.3 | 1.4 |
|---------------|--------------------|----------------------|----------------------|
| Compatibility | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |

### Ingress controller types

Harbor operator exposes the frontend service with ingress (CRD version: `v1beta1`). Table shown below lists the ingress controller types supported.

| Ingress Controller | default | gce | ncp | contour |
|----------------------|---------------------|--------------------|--------------------|---------------------|
| Compatibility | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Description | Default ingress controller like NGINX | Google Cloud Engine ingress controller | NSX-T Container plugin ingress controller | Ingress controller that works by deploying the Envoy proxy |
| Ingress Controller | Compatibility | Description |
|----------------------|---------------------|------------------------------------------------------------|
| default | :heavy_check_mark: | Default ingress controller like NGINX |
| gce | :heavy_check_mark: | Google Cloud Engine ingress controller |
| ncp | :heavy_check_mark: | NSX-T Container plugin ingress controller |
| contour | :heavy_check_mark: | Ingress controller that works by deploying the Envoy proxy |

NOTES:
**NOTES:**

:heavy_check_mark: : support
:heavy_multiplication_x: : not support
Expand Down
73 changes: 40 additions & 33 deletions docs/installation/customize-storage-db-redis.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,28 +52,33 @@ Then put the related PostgreSQL info into the `database` spec. e.g.:

```yaml
spec:
# Configure existing pre-deployed or cloud database service.
database: # Optional
# PostgreSQL user name to connect as.
# Defaults to be the same as the operating system name of the user running the application.
username: postgres # Required
# Secret containing the password to be used if the server demands password authentication.
passwordRef: harbor-database-password # Optional
# PostgreSQL hosts.
# At least 1.
hosts:
# Name of host to connect to.
# If a host name begins with a slash, it specifies Unix-domain communication rather than
# TCP/IP communication; the value is the name of the directory in which the socket file is stored.
- host: my.psql.com # Required
# Port number to connect to at the server host,
# or socket file name extension for Unix-domain connections.
# Zero, specifies the default port number established when PostgreSQL was built.
database:
# Configure existing pre-deployed or cloud database service.
kind: PostgreSQL
# Database spec
spec:
# PostgreSQL configuration spec.
postgresql:
# PostgreSQL user name to connect as.
# Defaults to be the same as the operating system name of the user running the application.
username: postgres # Required
# Secret containing the password to be used if the server demands password authentication.
passwordRef: harbor-database-password # Optional
# PostgreSQL hosts.
# At least 1.
hosts:
# Name of host to connect to.
# If a host name begins with a slash, it specifies Unix-domain communication rather than
# TCP/IP communication; the value is the name of the directory in which the socket file is stored.
- host: my.psql.com # Required
# Port number to connect to at the server host,
# or socket file name extension for Unix-domain connections.
# Zero, specifies the default port number established when PostgreSQL was built.
port: 5432 # Optional
# PostgreSQL has native support for using SSL connections to encrypt client/server communications for increased security.
# Supports values ["disable","allow","prefer","require","verify-ca","verify-full"].
sslMode: prefer # Optional, default=prefer
prefix: prefix # Optional
# PostgreSQL has native support for using SSL connections to encrypt client/server communications for increased security.
# Supports values ["disable","allow","prefer","require","verify-ca","verify-full"].
sslMode: prefer # Optional, default=prefer
prefix: prefix # Optional
```

The thing to note here is the names of the databases `core`, `notaryserver` (only needed when enabling notary) and `notarysigner` (only needed when enabling notary) are relatively unchangeable. You can only append some prefixes to the database names by setting the optional field `prefix` in the `database` spec. For example, if the `spec.database.prefix` is "prefix", the database names will be "prefix-core", "prefix-notaryserver" and "prefix-notarysigner".
Expand Down Expand Up @@ -108,16 +113,18 @@ Then put the related Redis info into the `redis` spec. e.g.:

```yaml
spec:
# Redis configuration.
redis: # Optional
# Server host.
host: myredis.com # Required
# Server port.
port: 6347 # Required
# For setting sentinel masterSet.
sentinelMasterSet: sentinel # Optional
# Secret containing the password to use when connecting to the server.
passwordRef: harbor-redis # Optional
# Secret containing the client certificate to authenticate with.
certificateRef: cert # Optional
kind: Redis
spec:
# Redis configuration.
redis:
# Server host.
host: myredis.com # Required
# Server port.
port: 6347 # Required
# For setting sentinel masterSet.
sentinelMasterSet: sentinel # Optional
# Secret containing the password to use when connecting to the server.
passwordRef: harbor-redis # Optional
# Secret containing the client certificate to authenticate with.
certificateRef: cert # Optional
```

0 comments on commit 36567d3

Please sign in to comment.