Skip to content

Latest commit

 

History

History
176 lines (150 loc) · 7.44 KB

README.md

File metadata and controls

176 lines (150 loc) · 7.44 KB

Harbor

About Certificates

# Windows WSL
# CA certificate
openssl genrsa -out ca.key 4096
openssl req -x509 -new -nodes -sha512 -days 3650 \
 -subj "/C=CN/ST=Shanghai/L=Shanghai/O=devops/OU=Personal/CN=172.22.152.92" \
 -key ca.key \
 -out ca.crt

# Server certificate
openssl genrsa -out 172.22.152.92.key 4096

openssl req -sha512 -new \
    -subj "/C=CN/ST=Shanghai/L=Shanghai/O=devops/OU=Personal/CN=172.22.152.92" \
    -key 172.22.152.92.key \
    -out 172.22.152.92.csr

# DEPLOY_ENV
cat > v3.ext <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names

[alt_names]
IP.1=172.22.152.92
IP.2=192.168.3.182
IP.3=127.0.0.1
EOF

openssl x509 -req -sha512 -days 3650 \
    -extfile v3.ext \
    -CA ca.crt -CAkey ca.key -CAcreateserial \
    -in 172.22.152.92.csr \
    -out 172.22.152.92.crt

# for Docker
# WARN: Cannot find effectice setting on daemon.json for Windwos Docker Desktop.
openssl x509 -inform PEM -in 172.22.152.92.crt -out 172.22.152.92.cert

Install ca.crt and 172.22.152.92.cert, and add ca.crt to trusted root CA.

Setup

# Windows WSL
$ ./prepare
prepare base dir is set to /mnt/d/workspace/application-store/harbor/harbor
Clearing the configuration file: /config/core/app.conf
Clearing the configuration file: /config/core/env
Clearing the configuration file: /config/db/env
Clearing the configuration file: /config/jobservice/config.yml
Clearing the configuration file: /config/jobservice/env
Clearing the configuration file: /config/log/logrotate.conf
Clearing the configuration file: /config/log/rsyslog_docker.conf
Clearing the configuration file: /config/nginx/nginx.conf
Clearing the configuration file: /config/portal/nginx.conf
Clearing the configuration file: /config/registry/config.yml
Clearing the configuration file: /config/registry/passwd
Clearing the configuration file: /config/registry/root.crt
Clearing the configuration file: /config/registryctl/config.yml
Clearing the configuration file: /config/registryctl/env
Generated configuration file: /config/portal/nginx.conf
Generated configuration file: /config/log/logrotate.conf
Generated configuration file: /config/log/rsyslog_docker.conf
Generated configuration file: /config/nginx/nginx.conf
Generated configuration file: /config/core/env
Generated configuration file: /config/core/app.conf
Generated configuration file: /config/registry/config.yml
Generated configuration file: /config/registryctl/env
Generated configuration file: /config/registryctl/config.yml
Generated configuration file: /config/db/env
Generated configuration file: /config/jobservice/env
Generated configuration file: /config/jobservice/config.yml
loaded secret from file: /data/secret/keys/secretkey
Generated configuration file: /compose_location/docker-compose.yml
Clean up the input dir

$ ./install.sh

[Step 0]: checking if docker is installed ...

Note: docker version: 24.0.5

[Step 1]: checking docker-compose is installed ...

Note: Docker Compose version v2.20.2-desktop.1

[Step 2]: loading Harbor images ...
Loaded image: goharbor/harbor-portal:v2.10.1
Loaded image: goharbor/harbor-db:v2.10.1
Loaded image: goharbor/redis-photon:v2.10.1
Loaded image: goharbor/nginx-photon:v2.10.1
Loaded image: goharbor/prepare:v2.10.1
Loaded image: goharbor/harbor-core:v2.10.1
Loaded image: goharbor/harbor-log:v2.10.1
Loaded image: goharbor/harbor-jobservice:v2.10.1
Loaded image: goharbor/harbor-registryctl:v2.10.1
Loaded image: goharbor/harbor-exporter:v2.10.1
Loaded image: goharbor/registry-photon:v2.10.1
Loaded image: goharbor/trivy-adapter-photon:v2.10.1


[Step 3]: preparing environment ...

[Step 4]: preparing harbor configs ...
prepare base dir is set to /mnt/d/workspace/application-store/harbor/harbor
Clearing the configuration file: /config/core/app.conf
Clearing the configuration file: /config/core/env
Clearing the configuration file: /config/db/env
Clearing the configuration file: /config/jobservice/config.yml
Clearing the configuration file: /config/jobservice/env
Clearing the configuration file: /config/log/logrotate.conf
Clearing the configuration file: /config/log/rsyslog_docker.conf
Clearing the configuration file: /config/nginx/nginx.conf
Clearing the configuration file: /config/portal/nginx.conf
Clearing the configuration file: /config/registry/config.yml
Clearing the configuration file: /config/registry/passwd
Clearing the configuration file: /config/registry/root.crt
Clearing the configuration file: /config/registryctl/config.yml
Clearing the configuration file: /config/registryctl/env
Generated configuration file: /config/portal/nginx.conf
Generated configuration file: /config/log/logrotate.conf
Generated configuration file: /config/log/rsyslog_docker.conf
Generated configuration file: /config/nginx/nginx.conf
Generated configuration file: /config/core/env
Generated configuration file: /config/core/app.conf
Generated configuration file: /config/registry/config.yml
Generated configuration file: /config/registryctl/env
Generated configuration file: /config/registryctl/config.yml
Generated configuration file: /config/db/env
Generated configuration file: /config/jobservice/env
Generated configuration file: /config/jobservice/config.yml
loaded secret from file: /data/secret/keys/secretkey
Generated configuration file: /compose_location/docker-compose.yml
Clean up the input dir


Note: stopping existing Harbor instance ...
[+] Running 10/10
 ✔ Container harbor-jobservice  Removed                                               1.1s
 ✔ Container registryctl        Removed                                               0.9s
 ✔ Container nginx              Removed                                               1.0s
 ✔ Container harbor-portal      Removed                                               0.4s
 ✔ Container harbor-core        Removed                                               4.6s
 ✔ Container harbor-db          Removed                                               0.9s
 ✔ Container registry           Removed                                               0.7s
 ✔ Container redis              Removed                                               0.8s
 ✔ Container harbor-log         Removed                                               10.4s
 ✔ Network harbor_harbor        Removed                                               0.2s


[Step 5]: starting Harbor ...
[+] Running 10/10
 ✔ Network harbor_harbor        Created                                               0.0s
 ✔ Container harbor-log         Started                                               0.6s
 ✔ Container harbor-db          Started                                               1.5s
 ✔ Container harbor-portal      Started                                               1.0s
 ✔ Container registry           Started                                               1.4s
 ✔ Container redis              Started                                               1.2s
 ✔ Container registryctl        Started                                               1.4s
 ✔ Container harbor-core        Started                                               1.7s
 ✔ Container nginx              Started                                               2.1s
 ✔ Container harbor-jobservice  Started                                               2.2s
✔ ----Harbor has been installed and started successfully.----

Access https://172.22.152.92/ with admin/Harbor12345.