mirror of
https://github.com/goharbor/harbor.git
synced 2024-09-29 13:57:33 +02:00
Merge branch 'master' of https://github.com/vmware/harbor
This commit is contained in:
commit
a1a5835d76
@ -11,7 +11,7 @@ pipeline:
|
|||||||
recursive: false
|
recursive: false
|
||||||
|
|
||||||
integration-test-on-pr:
|
integration-test-on-pr:
|
||||||
image: vmware/harbor-e2e-engine:1.37
|
image: vmware/harbor-e2e-engine:1.38
|
||||||
pull: true
|
pull: true
|
||||||
privileged: true
|
privileged: true
|
||||||
environment:
|
environment:
|
||||||
@ -35,7 +35,7 @@ pipeline:
|
|||||||
status: success
|
status: success
|
||||||
|
|
||||||
bundle:
|
bundle:
|
||||||
image: vmware/harbor-e2e-engine:1.37
|
image: vmware/harbor-e2e-engine:1.38
|
||||||
pull: true
|
pull: true
|
||||||
privileged: true
|
privileged: true
|
||||||
environment:
|
environment:
|
||||||
|
@ -1 +1 @@
|
|||||||
eyJhbGciOiJIUzI1NiJ9.IyBIYXJib3IgZHJvbmUuCi0tLQp3b3Jrc3BhY2U6CiAgYmFzZTogL2Ryb25lCiAgcGF0aDogc3JjL2dpdGh1Yi5jb20vdm13YXJlL2hhcmJvcgoKcGlwZWxpbmU6CiAgY2xvbmU6CiAgICBpbWFnZTogcGx1Z2lucy9naXQKICAgIHRhZ3M6IHRydWUKICAgIHJlY3Vyc2l2ZTogZmFsc2UKCiAgaW50ZWdyYXRpb24tdGVzdC1vbi1wcjoKICAgIGltYWdlOiB2bXdhcmUvaGFyYm9yLWUyZS1lbmdpbmU6MS4zNwogICAgcHVsbDogdHJ1ZQogICAgcHJpdmlsZWdlZDogdHJ1ZQogICAgZW52aXJvbm1lbnQ6CiAgICAgIEJJTjogYmluCiAgICAgIEdPUEFUSDogL2Ryb25lCiAgICAgIFNIRUxMOiAvYmluL2Jhc2gKICAgICAgTE9HX1RFTVBfRElSOiBpbnN0YWxsLWxvZ3MKICAgICAgR0lUSFVCX0FVVE9NQVRJT05fQVBJX0tFWTogICR7R0lUSFVCX0FVVE9NQVRJT05fQVBJX0tFWX0KICAgICAgRFJPTkVfU0VSVkVSOiAgJHtEUk9ORV9TRVJWRVJ9CiAgICAgIERST05FX1RPS0VOOiAgJHtEUk9ORV9UT0tFTl9JTlRFfQogICAgICBIQVJCT1JfQURNSU46ICR7SEFSQk9SX0FETUlOfQogICAgICBIQVJCT1JfUEFTU1dPUkQ6ICR7SEFSQk9SX1BBU1NXT1JEfQogICAgICBHU19QUk9KRUNUX0lEOiAke0dTX1BST0pFQ1RfSUR9CiAgICAgIEdTX0NMSUVOVF9FTUFJTDogJHtHU19DTElFTlRfRU1BSUx9CiAgICAgIEdTX1BSSVZBVEVfS0VZOiAke0dTX1BSSVZBVEVfS0VZfQogICAgICBET01BSU46ICR7Q0lfRE9NQUlOfQogICAgICBNQUlMX1BXRDogJHtNQUlMX1BXRH0KICAgIGNvbW1hbmRzOgogICAgICAtIHRlc3RzL2ludGVncmF0aW9uLnNoCiAgICB3aGVuOgogICAgICBzdGF0dXM6IHN1Y2Nlc3MKCiAgYnVuZGxlOgogICAgaW1hZ2U6IHZtd2FyZS9oYXJib3ItZTJlLWVuZ2luZToxLjM3CiAgICBwdWxsOiB0cnVlCiAgICBwcml2aWxlZ2VkOiB0cnVlCiAgICBlbnZpcm9ubWVudDoKICAgICAgQklOOiBiaW4KICAgICAgR09QQVRIOiAvZHJvbmUKICAgICAgU0hFTEw6IC9iaW4vYmFzaAogICAgICBCVUlMRF9OVU1CRVI6ICR7RFJPTkVfQlVJTERfTlVNQkVSfQogICAgY29tbWFuZHM6CiAgICAgIC0gZHUgLWtzIGhhcmJvci1vZmZsaW5lLWluc3RhbGxlci0qLnRneiB8IGF3ayAne3ByaW50ICQxIC8gMTAyNH0nIHwgeyByZWFkIHg7IGVjaG8gJHggTUI7IH0KICAgICAgLSBta2RpciAtcCBidW5kbGUKICAgICAgLSBjcCBoYXJib3Itb2ZmbGluZS1pbnN0YWxsZXItKi50Z3ogYnVuZGxlCiAgICAgIC0gbHMgLWxhIGJ1bmRsZQogICAgd2hlbjoKICAgICAgcmVwbzogdm13YXJlL2hhcmJvcgogICAgICBldmVudDogWyBwdXNoLCB0YWcgXQogICAgICBicmFuY2g6IFsgbWFzdGVyLCByZWxlYXNlLSosIHJlZnMvdGFncy8qIF0KICAgICAgc3RhdHVzOiBzdWNjZXNzCgogIG5vdGlmeS1zbGFjazoKICAgIGltYWdlOiBwbHVnaW5zL3NsYWNrCiAgICB3ZWJob29rOiAke1NMQUNLX1VSTH0KICAgIHVzZXJuYW1lOiBkcm9uZQogICAgdGVtcGxhdGU6ID4KICAgICAgYnVpbGQgaHR0cHM6Ly9jaS52Y25hLmlvL3Ztd2FyZS9oYXJib3Ive3sgYnVpbGQubnVtYmVyIH19IGZpbmlzaGVkIHdpdGggYSB7eyBidWlsZC5zdGF0dXMgfX0gc3RhdHVzLiBQbGVhc2UgZmluZCBsb2dzIGF0IGh0dHBzOi8vc3RvcmFnZS5nb29nbGVhcGlzLmNvbS9oYXJib3ItY2ktbG9ncy9pbnRlZ3JhdGlvbl9sb2dzX3t7IGJ1aWxkLm51bWJlciB9fV97eyBidWlsZC5jb21taXQgfX0udGFyLmd6CiAgICB3aGVuOgogICAgICByZXBvOiB2bXdhcmUvaGFyYm9yCiAgICAgIGJyYW5jaDogWyBtYXN0ZXIsIHJlbGVhc2UtKiwgcmVmcy90YWdzLyogXQogICAgICBzdGF0dXM6IFsgZmFpbHVyZSwgc3VjY2VzcyBdCgogIHB1Ymxpc2gtZ2NzLWJ1aWxkczoKICAgIGltYWdlOiBtYXBsYWluL2Ryb25lLWdjczpsYXRlc3QKICAgIHB1bGw6IHRydWUKICAgIHNvdXJjZTogYnVuZGxlCiAgICB0YXJnZXQ6IGhhcmJvci1idWlsZHMKICAgIGFjbDoKICAgICAgLSBhbGxVc2VyczpSRUFERVIKICAgIGNhY2hlX2NvbnRyb2w6IHB1YmxpYyxtYXgtYWdlPTM2MDAKICAgIHdoZW46CiAgICAgIHJlcG86IHZtd2FyZS9oYXJib3IKICAgICAgZXZlbnQ6IFsgcHVzaCwgdGFnIF0KICAgICAgYnJhbmNoOiBbIG1hc3RlciwgcmVsZWFzZS0qIF0KICAgICAgc3RhdHVzOiBzdWNjZXNzCgogIHB1Ymxpc2gtZ2NzLXJlbGVhc2VzOgogICAgaW1hZ2U6IG1hcGxhaW4vZHJvbmUtZ2NzOmxhdGVzdAogICAgcHVsbDogdHJ1ZQogICAgc291cmNlOiBidW5kbGUKICAgIHRhcmdldDogaGFyYm9yLXJlbGVhc2VzCiAgICBhY2w6CiAgICAgIC0gYWxsVXNlcnM6UkVBREVSCiAgICBjYWNoZV9jb250cm9sOiBwdWJsaWMsbWF4LWFnZT0zNjAwCiAgICB3aGVuOgogICAgICByZXBvOiB2bXdhcmUvaGFyYm9yCiAgICAgIGV2ZW50OiBbIHB1c2gsIHRhZyBdCiAgICAgIGJyYW5jaDogWyByZWxlYXNlLSosIHJlZnMvdGFncy8qIF0KICAgICAgc3RhdHVzOiBzdWNjZXNzCgogIHRyaWdnZXI6CiAgICBpbWFnZTogcGx1Z2lucy9kb3duc3RyZWFtCiAgICBzZXJ2ZXI6IGh0dHBzOi8vY2kudmNuYS5pbwogICAgdG9rZW46ICR7RE9XTlNUUkVBTV9UT0tFTn0KICAgIGZvcms6IHRydWUKICAgIHJlcG9zaXRvcmllczoKICAgICAgIC0gdm13YXJlL3ZpYy1wcm9kdWN0CiAgICB3aGVuOgogICAgICByZXBvOiB2bXdhcmUvaGFyYm9yCiAgICAgIGV2ZW50OiBbIHB1c2gsIHRhZyBdCiAgICAgIGJyYW5jaDogWyBtYXN0ZXIsIHJlbGVhc2UtKiwgcmVmcy90YWdzLyogXQogICAgICBzdGF0dXM6IHN1Y2Nlc3MK.pc3_vwqOx7Nf2Yz9LnFrIzik0K6o0f5Dpv2Aludl3B8
|
eyJhbGciOiJIUzI1NiJ9.IyBIYXJib3IgZHJvbmUuCi0tLQp3b3Jrc3BhY2U6CiAgYmFzZTogL2Ryb25lCiAgcGF0aDogc3JjL2dpdGh1Yi5jb20vdm13YXJlL2hhcmJvcgoKcGlwZWxpbmU6CiAgY2xvbmU6CiAgICBpbWFnZTogcGx1Z2lucy9naXQKICAgIHRhZ3M6IHRydWUKICAgIHJlY3Vyc2l2ZTogZmFsc2UKCiAgaW50ZWdyYXRpb24tdGVzdC1vbi1wcjoKICAgIGltYWdlOiB2bXdhcmUvaGFyYm9yLWUyZS1lbmdpbmU6MS4zOAogICAgcHVsbDogdHJ1ZQogICAgcHJpdmlsZWdlZDogdHJ1ZQogICAgZW52aXJvbm1lbnQ6CiAgICAgIEJJTjogYmluCiAgICAgIEdPUEFUSDogL2Ryb25lCiAgICAgIFNIRUxMOiAvYmluL2Jhc2gKICAgICAgTE9HX1RFTVBfRElSOiBpbnN0YWxsLWxvZ3MKICAgICAgR0lUSFVCX0FVVE9NQVRJT05fQVBJX0tFWTogICR7R0lUSFVCX0FVVE9NQVRJT05fQVBJX0tFWX0KICAgICAgRFJPTkVfU0VSVkVSOiAgJHtEUk9ORV9TRVJWRVJ9CiAgICAgIERST05FX1RPS0VOOiAgJHtEUk9ORV9UT0tFTl9JTlRFfQogICAgICBIQVJCT1JfQURNSU46ICR7SEFSQk9SX0FETUlOfQogICAgICBIQVJCT1JfUEFTU1dPUkQ6ICR7SEFSQk9SX1BBU1NXT1JEfQogICAgICBHU19QUk9KRUNUX0lEOiAke0dTX1BST0pFQ1RfSUR9CiAgICAgIEdTX0NMSUVOVF9FTUFJTDogJHtHU19DTElFTlRfRU1BSUx9CiAgICAgIEdTX1BSSVZBVEVfS0VZOiAke0dTX1BSSVZBVEVfS0VZfQogICAgICBET01BSU46ICR7Q0lfRE9NQUlOfQogICAgICBNQUlMX1BXRDogJHtNQUlMX1BXRH0KICAgIGNvbW1hbmRzOgogICAgICAtIHRlc3RzL2ludGVncmF0aW9uLnNoCiAgICB3aGVuOgogICAgICBzdGF0dXM6IHN1Y2Nlc3MKCiAgYnVuZGxlOgogICAgaW1hZ2U6IHZtd2FyZS9oYXJib3ItZTJlLWVuZ2luZToxLjM4CiAgICBwdWxsOiB0cnVlCiAgICBwcml2aWxlZ2VkOiB0cnVlCiAgICBlbnZpcm9ubWVudDoKICAgICAgQklOOiBiaW4KICAgICAgR09QQVRIOiAvZHJvbmUKICAgICAgU0hFTEw6IC9iaW4vYmFzaAogICAgICBCVUlMRF9OVU1CRVI6ICR7RFJPTkVfQlVJTERfTlVNQkVSfQogICAgY29tbWFuZHM6CiAgICAgIC0gZHUgLWtzIGhhcmJvci1vZmZsaW5lLWluc3RhbGxlci0qLnRneiB8IGF3ayAne3ByaW50ICQxIC8gMTAyNH0nIHwgeyByZWFkIHg7IGVjaG8gJHggTUI7IH0KICAgICAgLSBta2RpciAtcCBidW5kbGUKICAgICAgLSBjcCBoYXJib3Itb2ZmbGluZS1pbnN0YWxsZXItKi50Z3ogYnVuZGxlCiAgICAgIC0gbHMgLWxhIGJ1bmRsZQogICAgd2hlbjoKICAgICAgcmVwbzogdm13YXJlL2hhcmJvcgogICAgICBldmVudDogWyBwdXNoLCB0YWcgXQogICAgICBicmFuY2g6IFsgbWFzdGVyLCByZWxlYXNlLSosIHJlZnMvdGFncy8qIF0KICAgICAgc3RhdHVzOiBzdWNjZXNzCgogIG5vdGlmeS1zbGFjazoKICAgIGltYWdlOiBwbHVnaW5zL3NsYWNrCiAgICB3ZWJob29rOiAke1NMQUNLX1VSTH0KICAgIHVzZXJuYW1lOiBkcm9uZQogICAgdGVtcGxhdGU6ID4KICAgICAgYnVpbGQgaHR0cHM6Ly9jaS52Y25hLmlvL3Ztd2FyZS9oYXJib3Ive3sgYnVpbGQubnVtYmVyIH19IGZpbmlzaGVkIHdpdGggYSB7eyBidWlsZC5zdGF0dXMgfX0gc3RhdHVzLiBQbGVhc2UgZmluZCBsb2dzIGF0IGh0dHBzOi8vc3RvcmFnZS5nb29nbGVhcGlzLmNvbS9oYXJib3ItY2ktbG9ncy9pbnRlZ3JhdGlvbl9sb2dzX3t7IGJ1aWxkLm51bWJlciB9fV97eyBidWlsZC5jb21taXQgfX0udGFyLmd6CiAgICB3aGVuOgogICAgICByZXBvOiB2bXdhcmUvaGFyYm9yCiAgICAgIGJyYW5jaDogWyBtYXN0ZXIsIHJlbGVhc2UtKiwgcmVmcy90YWdzLyogXQogICAgICBzdGF0dXM6IFsgZmFpbHVyZSwgc3VjY2VzcyBdCgogIHB1Ymxpc2gtZ2NzLWJ1aWxkczoKICAgIGltYWdlOiBtYXBsYWluL2Ryb25lLWdjczpsYXRlc3QKICAgIHB1bGw6IHRydWUKICAgIHNvdXJjZTogYnVuZGxlCiAgICB0YXJnZXQ6IGhhcmJvci1idWlsZHMKICAgIGFjbDoKICAgICAgLSBhbGxVc2VyczpSRUFERVIKICAgIGNhY2hlX2NvbnRyb2w6IHB1YmxpYyxtYXgtYWdlPTM2MDAKICAgIHdoZW46CiAgICAgIHJlcG86IHZtd2FyZS9oYXJib3IKICAgICAgZXZlbnQ6IFsgcHVzaCwgdGFnIF0KICAgICAgYnJhbmNoOiBbIG1hc3RlciwgcmVsZWFzZS0qIF0KICAgICAgc3RhdHVzOiBzdWNjZXNzCgogIHB1Ymxpc2gtZ2NzLXJlbGVhc2VzOgogICAgaW1hZ2U6IG1hcGxhaW4vZHJvbmUtZ2NzOmxhdGVzdAogICAgcHVsbDogdHJ1ZQogICAgc291cmNlOiBidW5kbGUKICAgIHRhcmdldDogaGFyYm9yLXJlbGVhc2VzCiAgICBhY2w6CiAgICAgIC0gYWxsVXNlcnM6UkVBREVSCiAgICBjYWNoZV9jb250cm9sOiBwdWJsaWMsbWF4LWFnZT0zNjAwCiAgICB3aGVuOgogICAgICByZXBvOiB2bXdhcmUvaGFyYm9yCiAgICAgIGV2ZW50OiBbIHB1c2gsIHRhZyBdCiAgICAgIGJyYW5jaDogWyByZWxlYXNlLSosIHJlZnMvdGFncy8qIF0KICAgICAgc3RhdHVzOiBzdWNjZXNzCgogIHRyaWdnZXI6CiAgICBpbWFnZTogcGx1Z2lucy9kb3duc3RyZWFtCiAgICBzZXJ2ZXI6IGh0dHBzOi8vY2kudmNuYS5pbwogICAgdG9rZW46ICR7RE9XTlNUUkVBTV9UT0tFTn0KICAgIGZvcms6IHRydWUKICAgIHJlcG9zaXRvcmllczoKICAgICAgIC0gdm13YXJlL3ZpYy1wcm9kdWN0CiAgICB3aGVuOgogICAgICByZXBvOiB2bXdhcmUvaGFyYm9yCiAgICAgIGV2ZW50OiBbIHB1c2gsIHRhZyBdCiAgICAgIGJyYW5jaDogWyBtYXN0ZXIsIHJlbGVhc2UtKiwgcmVmcy90YWdzLyogXQogICAgICBzdGF0dXM6IHN1Y2Nlc3MK.zJ8m0va6puda1z8zxRk0rDeqPYZxfv7E8TRVI3d_1Sg
|
4
Makefile
4
Makefile
@ -84,8 +84,8 @@ NOTARYFLAG=false
|
|||||||
REGISTRYVERSION=2.6.2-photon
|
REGISTRYVERSION=2.6.2-photon
|
||||||
NGINXVERSION=1.11.13
|
NGINXVERSION=1.11.13
|
||||||
PHOTONVERSION=1.0
|
PHOTONVERSION=1.0
|
||||||
NOTARYVERSION=server-0.5.0
|
NOTARYVERSION=server-0.5.1
|
||||||
NOTARYSIGNERVERSION=signer-0.5.0
|
NOTARYSIGNERVERSION=signer-0.5.1
|
||||||
MARIADBVERSION=10.2.8
|
MARIADBVERSION=10.2.8
|
||||||
HTTPPROXY=
|
HTTPPROXY=
|
||||||
REBUILDCLARITYFLAG=false
|
REBUILDCLARITYFLAG=false
|
||||||
|
@ -7,7 +7,7 @@ services:
|
|||||||
networks:
|
networks:
|
||||||
- harbor-notary
|
- harbor-notary
|
||||||
notary-server:
|
notary-server:
|
||||||
image: vmware/notary-photon:server-0.5.0
|
image: vmware/notary-photon:server-0.5.1
|
||||||
container_name: notary-server
|
container_name: notary-server
|
||||||
restart: always
|
restart: always
|
||||||
networks:
|
networks:
|
||||||
@ -27,7 +27,7 @@ services:
|
|||||||
syslog-address: "tcp://127.0.0.1:1514"
|
syslog-address: "tcp://127.0.0.1:1514"
|
||||||
tag: "notary-server"
|
tag: "notary-server"
|
||||||
notary-signer:
|
notary-signer:
|
||||||
image: vmware/notary-photon:signer-0.5.0
|
image: vmware/notary-photon:signer-0.5.1
|
||||||
container_name: notary-signer
|
container_name: notary-signer
|
||||||
restart: always
|
restart: always
|
||||||
networks:
|
networks:
|
||||||
|
@ -1,5 +1,8 @@
|
|||||||
from library/photon:1.0
|
FROM vmware/photon:1.0
|
||||||
|
|
||||||
|
RUN tdnf distro-sync -y \
|
||||||
|
&& tdnf erase vim -y \
|
||||||
|
&& tdnf clean all
|
||||||
COPY ./binary/notary-server /bin/notary-server
|
COPY ./binary/notary-server /bin/notary-server
|
||||||
COPY ./migrate /bin/migrate
|
COPY ./migrate /bin/migrate
|
||||||
COPY ./migrations/ /migrations/
|
COPY ./migrations/ /migrations/
|
||||||
|
@ -1,5 +1,8 @@
|
|||||||
from library/photon:1.0
|
FROM vmware/photon:1.0
|
||||||
|
|
||||||
|
RUN tdnf distro-sync -y \
|
||||||
|
&& tdnf erase vim -y \
|
||||||
|
&& tdnf clean all
|
||||||
COPY ./binary/notary-signer /bin/notary-signer
|
COPY ./binary/notary-signer /bin/notary-signer
|
||||||
COPY ./migrate /bin/migrate
|
COPY ./migrate /bin/migrate
|
||||||
COPY ./migrations/ /migrations/
|
COPY ./migrations/ /migrations/
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
FROM library/photon:1.0
|
FROM vmware/photon:1.0
|
||||||
|
|
||||||
RUN mkdir /harbor/
|
|
||||||
|
|
||||||
|
RUN tdnf distro-sync -y \
|
||||||
|
&& tdnf erase vim -y \
|
||||||
|
&& tdnf clean all \
|
||||||
|
&& mkdir /harbor/
|
||||||
COPY ./make/dev/ui/harbor_ui /harbor/
|
COPY ./make/dev/ui/harbor_ui /harbor/
|
||||||
|
|
||||||
COPY ./src/ui/views /harbor/views
|
COPY ./src/ui/views /harbor/views
|
||||||
|
@ -16,6 +16,17 @@
|
|||||||
Documentation This resource contains keywords related to creating and using certificates. Requires scripts in infra/integration-image/scripts be available in PATH
|
Documentation This resource contains keywords related to creating and using certificates. Requires scripts in infra/integration-image/scripts be available in PATH
|
||||||
|
|
||||||
*** Keywords ***
|
*** Keywords ***
|
||||||
|
Generate Certificate Authority For Chrome
|
||||||
|
# add the ca to chrome trust list to enable https testing.
|
||||||
|
[Arguments] ${password}=%{HARBOR_PASSWORD}
|
||||||
|
Log To Console Generate Certificate Authority For Chrome
|
||||||
|
${rc} ${out}= Run And Return Rc And Output echo ${password} > password.ca
|
||||||
|
Log ${out}
|
||||||
|
Should Be Equal As Integers ${rc} 0
|
||||||
|
${rc} ${out}= Run And Return Rc And Output certutil -d sql:$HOME/.pki/nssdb -A -t TC -f password.ca -n "Harbor" -i ./harbor_ca.crt
|
||||||
|
Log ${out}
|
||||||
|
Should Be Equal As Integers ${rc} 0
|
||||||
|
|
||||||
Generate Certificate Authority
|
Generate Certificate Authority
|
||||||
# Generates CA (private/ca.key.pem, certs/ca.cert.pem, certs/STARK_ENTERPRISES_ROOT_CA.crt) in OUT_DIR
|
# Generates CA (private/ca.key.pem, certs/ca.cert.pem, certs/STARK_ENTERPRISES_ROOT_CA.crt) in OUT_DIR
|
||||||
[Arguments] ${CA_NAME}=STARK_ENTERPRISES_ROOT_CA ${OUT_DIR}=/root/ca
|
[Arguments] ${CA_NAME}=STARK_ENTERPRISES_ROOT_CA ${OUT_DIR}=/root/ca
|
||||||
@ -24,7 +35,6 @@ Generate Certificate Authority
|
|||||||
Log ${out}
|
Log ${out}
|
||||||
Should Be Equal As Integers ${rc} 0
|
Should Be Equal As Integers ${rc} 0
|
||||||
|
|
||||||
|
|
||||||
Generate Wildcard Server Certificate
|
Generate Wildcard Server Certificate
|
||||||
# Generates key and signs with CA for *.DOMAIN (csr/*.DOMAIN.csr.pem,
|
# Generates key and signs with CA for *.DOMAIN (csr/*.DOMAIN.csr.pem,
|
||||||
# private/*.DOMAIN.key.pem, certs/*.DOMAIN.cert.pem) in OUT_DIR
|
# private/*.DOMAIN.key.pem, certs/*.DOMAIN.cert.pem) in OUT_DIR
|
||||||
|
@ -40,11 +40,11 @@ Push image
|
|||||||
Log To Console \nRunning docker push ${image}...
|
Log To Console \nRunning docker push ${image}...
|
||||||
${rc}= Run And Return Rc docker pull ${image}
|
${rc}= Run And Return Rc docker pull ${image}
|
||||||
${rc} ${output}= Run And Return Rc And Output docker login -u ${user} -p ${pwd} ${ip}
|
${rc} ${output}= Run And Return Rc And Output docker login -u ${user} -p ${pwd} ${ip}
|
||||||
Log To Console ${output}
|
Log ${output}
|
||||||
Should Be Equal As Integers ${rc} 0
|
Should Be Equal As Integers ${rc} 0
|
||||||
${rc}= Run And Return Rc docker tag ${image} ${ip}/${project}/${image}
|
${rc}= Run And Return Rc docker tag ${image} ${ip}/${project}/${image}
|
||||||
${rc} ${output}= Run And Return Rc And Output docker push ${ip}/${project}/${image}
|
${rc} ${output}= Run And Return Rc And Output docker push ${ip}/${project}/${image}
|
||||||
Log To Console ${output}
|
Log ${output}
|
||||||
Should Be Equal As Integers ${rc} 0
|
Should Be Equal As Integers ${rc} 0
|
||||||
${rc}= Run And Return Rc docker logout ${ip}
|
${rc}= Run And Return Rc docker logout ${ip}
|
||||||
|
|
||||||
@ -53,11 +53,11 @@ Push Image With Tag
|
|||||||
Log To Console \nRunning docker push ${image}...
|
Log To Console \nRunning docker push ${image}...
|
||||||
${rc}= Run And Return Rc docker pull ${image}
|
${rc}= Run And Return Rc docker pull ${image}
|
||||||
${rc} ${output}= Run And Return Rc And Output docker login -u ${user} -p ${pwd} ${ip}
|
${rc} ${output}= Run And Return Rc And Output docker login -u ${user} -p ${pwd} ${ip}
|
||||||
Log To Console ${output}
|
Log ${output}
|
||||||
Should Be Equal As Integers ${rc} 0
|
Should Be Equal As Integers ${rc} 0
|
||||||
${rc}= Run And Return Rc docker tag ${image} ${tag}
|
${rc}= Run And Return Rc docker tag ${image} ${tag}
|
||||||
${rc} ${output}= Run And Return Rc And Output docker push ${tag}
|
${rc} ${output}= Run And Return Rc And Output docker push ${tag}
|
||||||
Log To Console ${output}
|
Log ${output}
|
||||||
Should Be Equal As Integers ${rc} 0
|
Should Be Equal As Integers ${rc} 0
|
||||||
${rc}= Run And Return Rc docker logout ${ip}
|
${rc}= Run And Return Rc docker logout ${ip}
|
||||||
|
|
||||||
@ -66,7 +66,7 @@ Cannot Pull image
|
|||||||
${rc} ${output}= Run And Return Rc And Output docker login -u ${user} -p ${pwd} ${ip}
|
${rc} ${output}= Run And Return Rc And Output docker login -u ${user} -p ${pwd} ${ip}
|
||||||
Should Be Equal As Integers ${rc} 0
|
Should Be Equal As Integers ${rc} 0
|
||||||
${rc} ${output}= Run And Return Rc And Output docker pull ${ip}/${project}/${image}
|
${rc} ${output}= Run And Return Rc And Output docker pull ${ip}/${project}/${image}
|
||||||
Log To Console ${output}
|
Log ${output}
|
||||||
Should Not Be Equal As Integers ${rc} 0
|
Should Not Be Equal As Integers ${rc} 0
|
||||||
|
|
||||||
Cannot Push image
|
Cannot Push image
|
||||||
@ -74,11 +74,11 @@ Cannot Push image
|
|||||||
Log To Console \nRunning docker push ${image}...
|
Log To Console \nRunning docker push ${image}...
|
||||||
${rc}= Run And Return Rc docker pull ${image}
|
${rc}= Run And Return Rc docker pull ${image}
|
||||||
${rc} ${output}= Run And Return Rc And Output docker login -u ${user} -p ${pwd} ${ip}
|
${rc} ${output}= Run And Return Rc And Output docker login -u ${user} -p ${pwd} ${ip}
|
||||||
Log To Console ${output}
|
Log ${output}
|
||||||
Should Be Equal As Integers ${rc} 0
|
Should Be Equal As Integers ${rc} 0
|
||||||
${rc}= Run And Return Rc docker tag ${image} ${ip}/${project}/${image}
|
${rc}= Run And Return Rc docker tag ${image} ${ip}/${project}/${image}
|
||||||
${rc} ${output}= Run And Return Rc And Output docker push ${ip}/${project}/${image}
|
${rc} ${output}= Run And Return Rc And Output docker push ${ip}/${project}/${image}
|
||||||
Log To Console ${output}
|
Log ${output}
|
||||||
Should Not Be Equal As Integers ${rc} 0
|
Should Not Be Equal As Integers ${rc} 0
|
||||||
${rc}= Run And Return Rc docker logout ${ip}
|
${rc}= Run And Return Rc docker logout ${ip}
|
||||||
|
|
||||||
|
@ -31,55 +31,26 @@ Install Harbor to Test Server
|
|||||||
Should Be Equal As Integers ${rc} 0
|
Should Be Equal As Integers ${rc} 0
|
||||||
Log To Console \n${output}
|
Log To Console \n${output}
|
||||||
Log To Console \nconfig harbor cfg
|
Log To Console \nconfig harbor cfg
|
||||||
Run Keywords Config Harbor cfg
|
|
||||||
Run Keywords Prepare Cert
|
|
||||||
Log To Console \ncomplile and up harbor now
|
|
||||||
Run Keywords Compile and Up Harbor With Source Code
|
|
||||||
${rc} ${output}= Run And Return Rc And Output docker ps
|
|
||||||
Should Be Equal As Integers ${rc} 0
|
|
||||||
Log To Console \n${output}
|
|
||||||
|
|
||||||
Install Harbor With Notary to Test Server
|
|
||||||
Log To Console \nStart Docker Daemon
|
|
||||||
Start Docker Daemon Locally
|
|
||||||
Sleep 5s
|
|
||||||
${rc} ${output}= Run And Return Rc And Output docker ps
|
|
||||||
Should Be Equal As Integers ${rc} 0
|
|
||||||
Log To Console \n${output}
|
|
||||||
Log To Console \nconfig harbor cfg
|
|
||||||
Config Harbor cfg http_proxy=https
|
Config Harbor cfg http_proxy=https
|
||||||
${rc} ${ip}= Run And Return Rc And Output ip addr s eth0 |grep "inet "|awk '{print $2}' |awk -F "/" '{print $1}'
|
Prepare Cert
|
||||||
Log ${ip}
|
|
||||||
${rc}= Run And Return Rc sed "s/^IP=.*/IP=${ip}/g" -i ./tests/generateCerts.sh
|
|
||||||
Log ${rc}
|
|
||||||
${rc} ${output}= Run And Return Rc And Output ./tests/generateCerts.sh
|
|
||||||
Should Be Equal As Integers ${rc} 0
|
|
||||||
${rc}= Run And Return Rc mkdir -p /etc/docker/certs.d/${ip}/
|
|
||||||
Should Be Equal As Integers ${rc} 0
|
|
||||||
${rc}= Run And Return Rc mkdir -p ~/.docker/tls/${ip}:4443/
|
|
||||||
Should Be Equal As Integers ${rc} 0
|
|
||||||
${rc} ${output}= Run And Return Rc And Output cp ./harbor_ca.crt /etc/docker/certs.d/${ip}/
|
|
||||||
Log To Console ${output}
|
|
||||||
Should Be Equal As Integers ${rc} 0
|
|
||||||
${rc} ${output}= Run And Return Rc And Output cp ./harbor_ca.crt ~/.docker/tls/${ip}:4443/
|
|
||||||
Log To Console ${output}
|
|
||||||
Should Be Equal As Integers ${rc} 0
|
|
||||||
Log To Console \ncomplile and up harbor now
|
Log To Console \ncomplile and up harbor now
|
||||||
Compile and Up Harbor With Source Code with_notary=true
|
Compile and Up Harbor With Source Code
|
||||||
${rc} ${output}= Run And Return Rc And Output docker ps
|
${rc} ${output}= Run And Return Rc And Output docker ps
|
||||||
Should Be Equal As Integers ${rc} 0
|
Should Be Equal As Integers ${rc} 0
|
||||||
Log To Console \n${output}
|
Log To Console \n${output}
|
||||||
|
Generate Certificate Authority For Chrome
|
||||||
|
|
||||||
Up Harbor
|
Up Harbor
|
||||||
[Arguments] ${with_notary}=true ${with_clair}=true
|
[Arguments] ${with_notary}=true ${with_clair}=true
|
||||||
${rc} ${output}= Run And Return Rc And Output make start -e NOTARYFLAG=${with_notary} CLAIRFLAG=${with_clair}
|
${rc} ${output}= Run And Return Rc And Output make start -e NOTARYFLAG=${with_notary} CLAIRFLAG=${with_clair}
|
||||||
Log To Console ${rc}
|
Log ${rc}
|
||||||
|
Log ${output}
|
||||||
Should Be Equal As Integers ${rc} 0
|
Should Be Equal As Integers ${rc} 0
|
||||||
|
|
||||||
Down Harbor
|
Down Harbor
|
||||||
[Arguments] ${with_notary}=true ${with_clair}=true
|
[Arguments] ${with_notary}=true ${with_clair}=true
|
||||||
${rc} ${output}= Run And Return Rc And Output echo "Y" | make down -e NOTARYFLAG=${with_notary} CLAIRFLAG=${with_clair}
|
${rc} ${output}= Run And Return Rc And Output echo "Y" | make down -e NOTARYFLAG=${with_notary} CLAIRFLAG=${with_clair}
|
||||||
Log To Console ${rc}
|
Log ${rc}
|
||||||
Should Be Equal As Integers ${rc} 0
|
Should Be Equal As Integers ${rc} 0
|
||||||
|
|
||||||
Package Harbor Offline
|
Package Harbor Offline
|
||||||
@ -87,18 +58,19 @@ Package Harbor Offline
|
|||||||
Log To Console \nStart Docker Daemon
|
Log To Console \nStart Docker Daemon
|
||||||
Start Docker Daemon Locally
|
Start Docker Daemon Locally
|
||||||
${rc} ${output}= Run And Return Rc And Output make package_offline DEVFLAG=false GOBUILDIMAGE=${golang_image} COMPILETAG=compile_golangimage CLARITYIMAGE=${clarity_image} NOTARYFLAG=${with_notary} CLAIRFLAG=${with_clair} MIGRATORFLAG=${with_migrator} HTTPPROXY=
|
${rc} ${output}= Run And Return Rc And Output make package_offline DEVFLAG=false GOBUILDIMAGE=${golang_image} COMPILETAG=compile_golangimage CLARITYIMAGE=${clarity_image} NOTARYFLAG=${with_notary} CLAIRFLAG=${with_clair} MIGRATORFLAG=${with_migrator} HTTPPROXY=
|
||||||
Log To Console ${rc}
|
Log ${rc}
|
||||||
Log ${output}
|
Log ${output}
|
||||||
Should Be Equal As Integers ${rc} 0
|
Should Be Equal As Integers ${rc} 0
|
||||||
|
|
||||||
Switch To LDAP
|
Switch To LDAP
|
||||||
Down Harbor with_notary=false
|
Down Harbor
|
||||||
${rc} ${output}= Run And Return Rc And Output rm -rf /data
|
${rc} ${output}= Run And Return Rc And Output rm -rf /data
|
||||||
Log To Console ${rc}
|
Log ${rc}
|
||||||
Should Be Equal As Integers ${rc} 0
|
Should Be Equal As Integers ${rc} 0
|
||||||
Config Harbor cfg auth=ldap_auth
|
Prepare Cert
|
||||||
Prepare with_notary=false
|
Config Harbor cfg auth=ldap_auth http_proxy=https
|
||||||
Up Harbor with_notary=false
|
Prepare
|
||||||
|
Up Harbor
|
||||||
${rc}= Run And Return Rc docker pull vmware/harbor-ldap-test:1.1.1
|
${rc}= Run And Return Rc docker pull vmware/harbor-ldap-test:1.1.1
|
||||||
Log ${rc}
|
Log ${rc}
|
||||||
Should Be Equal As Integers ${rc} 0
|
Should Be Equal As Integers ${rc} 0
|
||||||
@ -106,57 +78,42 @@ Switch To LDAP
|
|||||||
Log ${rc}
|
Log ${rc}
|
||||||
Should Be Equal As Integers ${rc} 0
|
Should Be Equal As Integers ${rc} 0
|
||||||
${rc} ${output}= Run And Return Rc And Output docker ps
|
${rc} ${output}= Run And Return Rc And Output docker ps
|
||||||
|
Log ${output}
|
||||||
Should Be Equal As Integers ${rc} 0
|
Should Be Equal As Integers ${rc} 0
|
||||||
|
Generate Certificate Authority For Chrome
|
||||||
|
|
||||||
Switch To Notary
|
Enabe Notary Client
|
||||||
Down Harbor with_notary=false
|
|
||||||
${rc} ${output}= Run And Return Rc And Output rm -rf /data
|
|
||||||
Log To Console ${rc}
|
|
||||||
${rc} ${output}= Run And Return Rc And Output rm -rf ~/.docker/
|
${rc} ${output}= Run And Return Rc And Output rm -rf ~/.docker/
|
||||||
Log To Console ${rc}
|
|
||||||
Should Be Equal As Integers ${rc} 0
|
|
||||||
Config Harbor cfg http_proxy=https
|
|
||||||
${rc} ${ip}= Run And Return Rc And Output ip addr s eth0 |grep "inet "|awk '{print $2}' |awk -F "/" '{print $1}'
|
|
||||||
Log ${ip}
|
|
||||||
${rc}= Run And Return Rc sed "s/^IP=.*/IP=${ip}/g" -i ./tests/generateCerts.sh
|
|
||||||
Log ${rc}
|
Log ${rc}
|
||||||
${rc} ${output}= Run And Return Rc And Output ./tests/generateCerts.sh
|
|
||||||
Should Be Equal As Integers ${rc} 0
|
Should Be Equal As Integers ${rc} 0
|
||||||
|
Log ${ip}
|
||||||
${rc}= Run And Return Rc mkdir -p /etc/docker/certs.d/${ip}/
|
${rc}= Run And Return Rc mkdir -p /etc/docker/certs.d/${ip}/
|
||||||
Should Be Equal As Integers ${rc} 0
|
Should Be Equal As Integers ${rc} 0
|
||||||
${rc}= Run And Return Rc mkdir -p ~/.docker/tls/${ip}:4443/
|
${rc}= Run And Return Rc mkdir -p ~/.docker/tls/${ip}:4443/
|
||||||
Should Be Equal As Integers ${rc} 0
|
Should Be Equal As Integers ${rc} 0
|
||||||
${rc} ${output}= Run And Return Rc And Output cp ./harbor_ca.crt /etc/docker/certs.d/${ip}/
|
${rc} ${output}= Run And Return Rc And Output cp ./harbor_ca.crt /etc/docker/certs.d/${ip}/
|
||||||
Log To Console ${output}
|
Log ${output}
|
||||||
Should Be Equal As Integers ${rc} 0
|
Should Be Equal As Integers ${rc} 0
|
||||||
${rc} ${output}= Run And Return Rc And Output cp ./harbor_ca.crt ~/.docker/tls/${ip}:4443/
|
${rc} ${output}= Run And Return Rc And Output cp ./harbor_ca.crt ~/.docker/tls/${ip}:4443/
|
||||||
Log To Console ${output}
|
Log ${output}
|
||||||
Should Be Equal As Integers ${rc} 0
|
Should Be Equal As Integers ${rc} 0
|
||||||
${rc} ${output}= Run And Return Rc And Output ls -la /etc/docker/certs.d/${ip}/
|
${rc} ${output}= Run And Return Rc And Output ls -la /etc/docker/certs.d/${ip}/
|
||||||
Log To Console ${output}
|
Log ${output}
|
||||||
${rc} ${output}= Run And Return Rc And Output ls -la ~/.docker/tls/${ip}:4443/
|
${rc} ${output}= Run And Return Rc And Output ls -la ~/.docker/tls/${ip}:4443/
|
||||||
Log To Console ${output}
|
Log ${output}
|
||||||
Prepare
|
|
||||||
Sleep 3s
|
|
||||||
Up Harbor
|
|
||||||
Sleep 30s
|
|
||||||
${rc} ${output}= Run And Return Rc And Output docker ps
|
|
||||||
Should Be Equal As Integers ${rc} 0
|
|
||||||
Log To Console \n${output}
|
|
||||||
|
|
||||||
Prepare
|
Prepare
|
||||||
[Arguments] ${with_notary}=true ${with_clair}=true
|
[Arguments] ${with_notary}=true ${with_clair}=true
|
||||||
${rc} ${output}= Run And Return Rc And Output make prepare -e NOTARYFLAG=${with_notary} CLAIRFLAG=${with_clair}
|
${rc} ${output}= Run And Return Rc And Output make prepare -e NOTARYFLAG=${with_notary} CLAIRFLAG=${with_clair}
|
||||||
Log To Console ${rc}
|
Log ${rc}
|
||||||
Log To Console ${output}
|
Log ${output}
|
||||||
Should Be Equal As Integers ${rc} 0
|
Should Be Equal As Integers ${rc} 0
|
||||||
|
|
||||||
Config Harbor cfg
|
Config Harbor cfg
|
||||||
# Will change the IP and Protocol in the harbor.cfg
|
# Will change the IP and Protocol in the harbor.cfg
|
||||||
[Arguments] ${http_proxy}=http ${auth}=db_auth
|
[Arguments] ${http_proxy}=http ${auth}=db_auth
|
||||||
${rc} ${output}= Run And Return Rc And Output ip addr s eth0 |grep "inet "|awk '{print $2}' |awk -F "/" '{print $1}'
|
${rc} ${output}= Run And Return Rc And Output ip addr s eth0 |grep "inet "|awk '{print $2}' |awk -F "/" '{print $1}'
|
||||||
Log ${output}
|
${rc}= Run And Return Rc sed "s/^hostname = .*/hostname = ${output}/g" -i ./make/harbor.cfg
|
||||||
${rc}= Run And Return Rc sed "s/reg.mydomain.com/${output}/" -i ./make/harbor.cfg
|
|
||||||
Log ${rc}
|
Log ${rc}
|
||||||
Should Be Equal As Integers ${rc} 0
|
Should Be Equal As Integers ${rc} 0
|
||||||
${rc}= Run And Return Rc sed "s/^ui_url_protocol = .*/ui_url_protocol = ${http_proxy}/g" -i ./make/harbor.cfg
|
${rc}= Run And Return Rc sed "s/^ui_url_protocol = .*/ui_url_protocol = ${http_proxy}/g" -i ./make/harbor.cfg
|
||||||
@ -165,15 +122,22 @@ Config Harbor cfg
|
|||||||
${rc}= Run And Return Rc sed "s/^auth_mode = .*/auth_mode = ${auth}/g" -i ./make/harbor.cfg
|
${rc}= Run And Return Rc sed "s/^auth_mode = .*/auth_mode = ${auth}/g" -i ./make/harbor.cfg
|
||||||
Log ${rc}
|
Log ${rc}
|
||||||
Should Be Equal As Integers ${rc} 0
|
Should Be Equal As Integers ${rc} 0
|
||||||
|
${out}= Run cat ./make/harbor.cfg
|
||||||
|
Log ${out}
|
||||||
|
|
||||||
Prepare Cert
|
Prepare Cert
|
||||||
# Will change the IP and Protocol in the harbor.cfg
|
# Will change the IP and Protocol in the harbor.cfg
|
||||||
${rc}= Run And Return Rc ./tests/generateCerts.sh
|
${rc} ${ip}= Run And Return Rc And Output ip addr s eth0 |grep "inet "|awk '{print $2}' |awk -F "/" '{print $1}'
|
||||||
|
Log ${ip}
|
||||||
|
${rc}= Run And Return Rc sed "s/^IP=.*/IP=${ip}/g" -i ./tests/generateCerts.sh
|
||||||
Log ${rc}
|
Log ${rc}
|
||||||
|
${out}= Run cat ./tests/generateCerts.sh
|
||||||
|
Log ${out}
|
||||||
|
${rc} ${output}= Run And Return Rc And Output ./tests/generateCerts.sh
|
||||||
Should Be Equal As Integers ${rc} 0
|
Should Be Equal As Integers ${rc} 0
|
||||||
|
|
||||||
Compile and Up Harbor With Source Code
|
Compile and Up Harbor With Source Code
|
||||||
[Arguments] ${golang_image}=golang:1.7.3 ${clarity_image}=vmware/harbor-clarity-ui-builder:${CLAIR_BUILDER} ${with_notary}=false ${with_clair}=true
|
[Arguments] ${golang_image}=golang:1.7.3 ${clarity_image}=vmware/harbor-clarity-ui-builder:${CLAIR_BUILDER} ${with_notary}=true ${with_clair}=true
|
||||||
${rc} ${output}= Run And Return Rc And Output docker pull ${clarity_image}
|
${rc} ${output}= Run And Return Rc And Output docker pull ${clarity_image}
|
||||||
Log ${output}
|
Log ${output}
|
||||||
Should Be Equal As Integers ${rc} 0
|
Should Be Equal As Integers ${rc} 0
|
||||||
|
@ -31,9 +31,7 @@ Init Chrome Driver
|
|||||||
Call Method ${chrome options} add_argument --headless
|
Call Method ${chrome options} add_argument --headless
|
||||||
Call Method ${chrome options} add_argument --disable-gpu
|
Call Method ${chrome options} add_argument --disable-gpu
|
||||||
Call Method ${chrome options} add_argument --start-maximized
|
Call Method ${chrome options} add_argument --start-maximized
|
||||||
Call Method ${chrome options} add_argument --ignore-certificate-errors
|
Call Method ${chrome options} add_argument --no-sandbox
|
||||||
Call Method ${chrome options} add_argument --disable-web-security
|
|
||||||
Call Method ${chrome options} add_argument --allow-running-insecure-content
|
|
||||||
Call Method ${chrome options} add_argument --window-size\=1600,900
|
Call Method ${chrome options} add_argument --window-size\=1600,900
|
||||||
${chrome options.binary_location} Set Variable /usr/bin/google-chrome
|
${chrome options.binary_location} Set Variable /usr/bin/google-chrome
|
||||||
Create Webdriver Chrome Chrome_headless chrome_options=${chrome options}
|
Create Webdriver Chrome Chrome_headless chrome_options=${chrome options}
|
||||||
|
@ -19,7 +19,7 @@ Suite Setup Install Harbor to Test Server
|
|||||||
Default Tags BAT
|
Default Tags BAT
|
||||||
|
|
||||||
*** Variables ***
|
*** Variables ***
|
||||||
${HARBOR_URL} http://localhost
|
${HARBOR_URL} https://${ip}
|
||||||
|
|
||||||
*** Test Cases ***
|
*** Test Cases ***
|
||||||
Test Case - Create An New User
|
Test Case - Create An New User
|
||||||
@ -278,6 +278,26 @@ Test Case - Assign Sys Admin
|
|||||||
Administration Tag Should Display
|
Administration Tag Should Display
|
||||||
Close Browser
|
Close Browser
|
||||||
|
|
||||||
|
Test Case - Admin Push Signed Image
|
||||||
|
Enabe Notary Client
|
||||||
|
|
||||||
|
${rc} ${output}= Run And Return Rc And Output docker pull hello-world:latest
|
||||||
|
Log ${output}
|
||||||
|
|
||||||
|
Push image ${ip} %{HARBOR_ADMIN} %{HARBOR_PASSWORD} library hello-world:latest
|
||||||
|
${rc} ${output}= Run And Return Rc And Output ./tests/robot-cases/Group9-Content-trust/notary-push-image.sh
|
||||||
|
Log ${output}
|
||||||
|
Should Be Equal As Integers ${rc} 0
|
||||||
|
|
||||||
|
${rc} ${output}= Run And Return Rc And Output curl -u admin:Harbor12345 -s --insecure -H "Content-Type: application/json" -X GET "https://${ip}/api/repositories/library/tomcat/signatures"
|
||||||
|
Log To Console ${output}
|
||||||
|
Should Be Equal As Integers ${rc} 0
|
||||||
|
#Should Contain ${output} sha256
|
||||||
|
|
||||||
|
Test Case - Admin Push Un-Signed Image
|
||||||
|
${rc} ${output}= Run And Return Rc And Output docker push ${ip}/library/hello-world:latest
|
||||||
|
Log To Console ${output}
|
||||||
|
|
||||||
Test Case - Ldap Sign in and out
|
Test Case - Ldap Sign in and out
|
||||||
Switch To LDAP
|
Switch To LDAP
|
||||||
Init Chrome Driver
|
Init Chrome Driver
|
||||||
@ -305,25 +325,5 @@ Test Case - Ldap User Push An Image
|
|||||||
Wait Until Page Contains project${d}/hello-world
|
Wait Until Page Contains project${d}/hello-world
|
||||||
Close Browser
|
Close Browser
|
||||||
|
|
||||||
Test Case - Admin Push Signed Image
|
|
||||||
Switch To Notary
|
|
||||||
|
|
||||||
${rc} ${output}= Run And Return Rc And Output docker pull hello-world:latest
|
|
||||||
Log To Console ${output}
|
|
||||||
|
|
||||||
Push image ${ip} %{HARBOR_ADMIN} %{HARBOR_PASSWORD} library hello-world:latest
|
|
||||||
${rc} ${output}= Run And Return Rc And Output ./tests/robot-cases/Group9-Content-trust/notary-push-image.sh
|
|
||||||
Log To Console ${output}
|
|
||||||
Should Be Equal As Integers ${rc} 0
|
|
||||||
|
|
||||||
${rc} ${output}= Run And Return Rc And Output curl -u admin:Harbor12345 -s --insecure -H "Content-Type: application/json" -X GET "https://${ip}/api/repositories/library/tomcat/signatures"
|
|
||||||
Log To Console ${output}
|
|
||||||
Should Be Equal As Integers ${rc} 0
|
|
||||||
#Should Contain ${output} sha256
|
|
||||||
|
|
||||||
Test Case - Admin Push Un-Signed Image
|
|
||||||
${rc} ${output}= Run And Return Rc And Output docker push ${ip}/library/hello-world:latest
|
|
||||||
Log To Console ${output}
|
|
||||||
|
|
||||||
Test Case - Clean Harbor Images
|
Test Case - Clean Harbor Images
|
||||||
Down Harbor with_notary=true
|
Down Harbor
|
||||||
|
@ -19,10 +19,11 @@ Default Tags regression
|
|||||||
|
|
||||||
*** Test Cases ***
|
*** Test Cases ***
|
||||||
Test Case - Admin Push Signed Image
|
Test Case - Admin Push Signed Image
|
||||||
Install Harbor With Notary to Test Server
|
Install Harbor to Test Server
|
||||||
|
Enabe Notary Client
|
||||||
|
|
||||||
${rc} ${output}= Run And Return Rc And Output ./tests/robot-cases/Group9-Content-trust/notary-push-image.sh
|
${rc} ${output}= Run And Return Rc And Output ./tests/robot-cases/Group9-Content-trust/notary-push-image.sh
|
||||||
Log To Console ${output}
|
Log ${output}
|
||||||
Should Be Equal As Integers ${rc} 0
|
Should Be Equal As Integers ${rc} 0
|
||||||
|
|
||||||
${rc} ${ip}= Run And Return Rc And Output ip addr s eth0 |grep "inet "|awk '{print $2}' |awk -F "/" '{print $1}'
|
${rc} ${ip}= Run And Return Rc And Output ip addr s eth0 |grep "inet "|awk '{print $2}' |awk -F "/" '{print $1}'
|
||||||
|
Loading…
Reference in New Issue
Block a user