commit ee41f79eda7f60cb33758f3cfad240f536e5f337 Author: Michalis Tsoukatos Date: Mon Nov 30 23:21:57 2020 +0200 Initial Commit diff --git a/README.md b/README.md new file mode 100644 index 0000000..a1ca677 --- /dev/null +++ b/README.md @@ -0,0 +1,18 @@ +# Portus Test Repository + +A simple docker-compose repository to test the [**Portus**][portus] click [**`here`**][portus] for the project's documentation + +## Instructions + +* `docker-compose up` +* open your browser on http://127.0.0.1:3000 +* Create the admin user +* Add 127.0.0.1:5000 as registry + * `name`: the name of your registry + * `use ssl`: do not tick it + * `external registry name`: 127.0.0.1:5000 +* `docker-login 127.0.0.1:5000 +* tag an image with the prefix 127.0.0.1:5000/ +* `docker push ` + +[portus]: http://port.us.org/ \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..6a30dad --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,74 @@ +version: "3.7" + +services: + portus-frontend: + image: opensuse/portus:head + environment: + CCONFIG_PREFIX: PORTUS + PORTUS_SECRET_KEY_BASE: b494a25faa8d22e430e843e220e424e10ac84d2ce0e64231f5b636d21251eb6d267adb042ad5884cbff0f3891bcf911bdf8abb3ce719849ccda9a4889249e5c2 + PORTUS_KEY_PATH: /certificates/portus.key + PORTUS_CHECK_SSL_USAGE_ENABLED: "false" + PORTUS_PASSWORD: testpass + PORTUS_DB_ADAPTER: postgresql + PORTUS_DB_HOST: postgres + PORTUS_DB_PORT: 5432 + PORTUS_DB_DATABASE: postgres + PORTUS_DB_USERNAME: postgres + PORTUS_DB_PASSWORD: postgres + PORTUS_MACHINE_FQDN_VALUE: 127.0.0.1 + RAILS_SERVE_STATIC_FILES: "true" + RAILS_SERVE_STATIC_ASSETS: "true" + ports: + - 3000:3000 + volumes: + - ./secrets:/certificates:ro + + portus-backend: + image: opensuse/portus:head + environment: + CCONFIG_PREFIX: PORTUS + PORTUS_SECRET_KEY_BASE: b494a25faa8d22e430e843e220e424e10ac84d2ce0e64231f5b636d21251eb6d267adb042ad5884cbff0f3891bcf911bdf8abb3ce719849ccda9a4889249e5c2 + PORTUS_KEY_PATH: /certificates/portus.key + PORTUS_CHECK_SSL_USAGE_ENABLED: "false" + PORTUS_PASSWORD: testpass + PORTUS_DB_ADAPTER: postgresql + PORTUS_DB_HOST: postgres + PORTUS_DB_PORT: 5432 + PORTUS_DB_DATABASE: postgres + PORTUS_DB_USERNAME: postgres + PORTUS_DB_PASSWORD: postgres + PORTUS_MACHINE_FQDN_VALUE: 127.0.0.1 + PORTUS_BACKGROUND: "true" + volumes: + - ./secrets:/certificates:ro + + postgres: + image: postgres + environment: + POSTGRES_USER: postgres + POSTGRES_DB: postgres + POSTGRES_PASSWORD: postgres + + registry: + image: registry + environment: + REGISTRY_AUTH_TOKEN_REALM: http://127.0.0.1:3000/v2/token + REGISTRY_AUTH_TOKEN_SERVICE: 127.0.0.1:5000 + REGISTRY_AUTH_TOKEN_ISSUER: 127.0.0.1 + EXTERNAL_IP: 127.0.0.1 + REGISTRY_AUTH_TOKEN_ROOTCERTBUNDLE: /secrets/portus.crt + REGISTRY_NOTIFICATIONS_ENDPOINTS: > + - name: portus + url: http://portus-frontend:3000/v2/webhooks/events + timeout: 2000ms + threshold: 5 + backoff: 1s + volumes: + - ./secrets:/secrets:ro + - ./registry/config.yml:/etc/docker/registry/config.yml:ro + - registry:/var/lib/registry:rw + ports: + - 5000:5000 + +volumes: + registry: diff --git a/registry/config.yml b/registry/config.yml new file mode 100644 index 0000000..8e0a00d --- /dev/null +++ b/registry/config.yml @@ -0,0 +1,10 @@ +version: 0.1 +storage: + filesystem: + rootdirectory: /var/lib/registry + delete: + enabled: true +http: + addr: 0.0.0.0:5000 + debug: + addr: 0.0.0.0:5001 diff --git a/secrets/portus.crt b/secrets/portus.crt new file mode 100644 index 0000000..14f4c95 --- /dev/null +++ b/secrets/portus.crt @@ -0,0 +1,15 @@ +-----BEGIN CERTIFICATE----- +MIICZjCCAc+gAwIBAgIUM4zpRKj7ZVRPS7NlGrMtu1GtkIwwDQYJKoZIhvcNAQEF +BQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM +GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yMDExMzAxOTQ0MDlaFw0yMTEx +MzAxOTQ0MDlaMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEw +HwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwgZ8wDQYJKoZIhvcNAQEB +BQADgY0AMIGJAoGBAJOc3c4abEliggfbSkat8vrJA+Q/ZGbAD5EHERh8KFN0GmYL +UwuTz5SKcmsB6orN/r66/aFxnnB89LYKTyhyOKTbkz9bI2+oPN9YGJd0xA6O13Pl +dJdF6pJTSPeoPL8XCN7Ugatsii6Daciu5wjVql2DMmaAck7He1yjdRGzZWGtAgMB +AAGjUzBRMB0GA1UdDgQWBBRjobos1Z71VW8BabufYPmkzChQhzAfBgNVHSMEGDAW +gBRjobos1Z71VW8BabufYPmkzChQhzAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3 +DQEBBQUAA4GBAAeGieL6smjYAIKnQAXj+85zwUF29oQoLkhWeo3bNXzVdK9z6tVO +E2MUof7Ur4chDIBuFki98X0qBvc11I4IihlH44qJ5Z/AkSZn4VNWr4Ppi5LxRRPH +7RiaC9qmHbApVp1K9FGCfU/URof4t5hxELMXIOpRftMs+nsNy4ikhCdv +-----END CERTIFICATE----- diff --git a/secrets/portus.key b/secrets/portus.key new file mode 100644 index 0000000..20c229c --- /dev/null +++ b/secrets/portus.key @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQCTnN3OGmxJYoIH20pGrfL6yQPkP2RmwA+RBxEYfChTdBpmC1ML +k8+UinJrAeqKzf6+uv2hcZ5wfPS2Ck8ocjik25M/WyNvqDzfWBiXdMQOjtdz5XSX +ReqSU0j3qDy/Fwje1IGrbIoug2nIrucI1apdgzJmgHJOx3tco3URs2VhrQIDAQAB +AoGANmT5vzcxbCFmtSpzxnPXM97bFkLd5pcjpVerTxCBc683Ax9tLLj9J0mVPCVq +nlemZfZV/CX4Mo95RZOq88aTZG1Yy0S8Ke2CKJgmWLqwNk+arLzuZud859Rz+8/h +5Gx26qTNHkdiJED+P+LIfwbcyyPFtTAvWHIsuFSflyUbhUECQQDChFwmmSTf/+le +md+5T4AL/uMkag5/Q8R7E+6cabyVSt1RysGcvUsiVCYAA5mgsw0aEmuNVoSqmQFo +1vRWyYJZAkEAwkUtIzQ1sNpKhS1hy1iPnZHbaAcqQ4w0SzPS9twaCTOIE0OneBEd +xoZvjphy91u+DioVN/aTSuYagoKu61NndQJARazJoV3L0pzFSAiQFb2/XQyg6iM/ +LCDnGTsLhmVtkoBthGW/MlivuA0yS2D+v4xDTip48fiirsT9t0L/5LJriQJBAIzj +sGWMkresyEinbfoUQytqQW3DbIJKZw53CjOf0n4D0lbuRMEN4MM+ch8/Lnl4HnCV +UoggmhfCo00tS4A9H5UCQDtzeCAtyR+SFoYHcn+JwY7T2pyWG5n6KuSQdoHTx/9f +OjIdSsx+RkUPW8cKFAPmw1XHmDu4JBt0a6t81qyIawU= +-----END RSA PRIVATE KEY-----