From 379ce4d64d1f0b603c7681475d77930d381ada56 Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: Fri, 11 Sep 2020 16:00:57 +0200 Subject: [PATCH] some more --- blazegraph.yaml | 4 +- fdp-api.yaml | 2 +- fdp-client.yaml | 6 +- ffds-config.yaml | 2 +- ffds-register-api.yaml | 2 +- ffds-register.yaml | 2 +- get_helm.sh | 235 +++++++++++++++++++++++++++++++++++++++++ gitlab.yaml | 76 +++++++++++++ index.html | 207 ++++++++++++++++++++++++++++++++++++ index.html.1 | 207 ++++++++++++++++++++++++++++++++++++ ingress.yml | 31 +++--- mongo.yaml | 3 + registry-gitlab.yml | 45 ++++++++ volumepv.yml | 27 +++++ 14 files changed, 823 insertions(+), 26 deletions(-) create mode 100755 get_helm.sh create mode 100644 gitlab.yaml create mode 100644 index.html create mode 100644 index.html.1 create mode 100644 registry-gitlab.yml diff --git a/blazegraph.yaml b/blazegraph.yaml index 5dc10f8..17d149a 100644 --- a/blazegraph.yaml +++ b/blazegraph.yaml @@ -6,7 +6,9 @@ metadata: app: fdp tier: blazegrah spec: - type: LoadBalancer + type: NodePort + externalIPs: + - 10.6.10.9 ports: - protocol: TCP port: 8888 diff --git a/fdp-api.yaml b/fdp-api.yaml index 78990dc..b166d0d 100644 --- a/fdp-api.yaml +++ b/fdp-api.yaml @@ -38,7 +38,7 @@ spec: spec: containers: - name: fdp-api - image: cines/cines-fdp:v3 + image: cines/cines-fdp:v6 ports: - name: http containerPort: 80 diff --git a/fdp-client.yaml b/fdp-client.yaml index 0f631a2..7e31b44 100644 --- a/fdp-client.yaml +++ b/fdp-client.yaml @@ -6,7 +6,9 @@ metadata: app: fdp tier: front spec: - type: LoadBalancer + type: NodePort + externalIPs: + - 10.6.10.9 ports: - protocol: TCP port: 80 @@ -38,7 +40,7 @@ spec: spec: containers: - name: fdp-client - image: cines/cines-fdp-client:v3 + image: cines/cines-fdp-client:v4 ports: - name: http containerPort: 80 diff --git a/ffds-config.yaml b/ffds-config.yaml index 4172985..37c4fa8 100644 --- a/ffds-config.yaml +++ b/ffds-config.yaml @@ -6,4 +6,4 @@ metadata: tier: ffds name: ffds-config data: - ingressUrl: "http:\\localhost" + ingressUrl: "http:\\sandbox9.cines.fr" diff --git a/ffds-register-api.yaml b/ffds-register-api.yaml index 643200e..6817cf6 100644 --- a/ffds-register-api.yaml +++ b/ffds-register-api.yaml @@ -39,7 +39,7 @@ spec: spec: containers: - name: ffds-register-api - image: cines/ffds-register-api:v1 + image: cines/ffds-register-api:v2 ports: - name: http containerPort: 8080 diff --git a/ffds-register.yaml b/ffds-register.yaml index d3a093e..1d560d2 100644 --- a/ffds-register.yaml +++ b/ffds-register.yaml @@ -38,7 +38,7 @@ spec: spec: containers: - name: ffds-register - image: cines/ffds-register-front:v1 + image: cines/ffds-register-front:v4 env: - name: ingressUrl valueFrom: diff --git a/get_helm.sh b/get_helm.sh new file mode 100755 index 0000000..f2495e4 --- /dev/null +++ b/get_helm.sh @@ -0,0 +1,235 @@ +#!/usr/bin/env bash + +# Copyright The Helm Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# The install script is based off of the MIT-licensed script from glide, +# the package manager for Go: https://github.com/Masterminds/glide.sh/blob/master/get + +: ${BINARY_NAME:="helm"} +: ${USE_SUDO:="true"} +: ${HELM_INSTALL_DIR:="/usr/local/bin"} + +# initArch discovers the architecture for this system. +initArch() { + ARCH=$(uname -m) + case $ARCH in + armv5*) ARCH="armv5";; + armv6*) ARCH="armv6";; + armv7*) ARCH="arm";; + aarch64) ARCH="arm64";; + x86) ARCH="386";; + x86_64) ARCH="amd64";; + i686) ARCH="386";; + i386) ARCH="386";; + esac +} + +# initOS discovers the operating system for this system. +initOS() { + OS=$(echo `uname`|tr '[:upper:]' '[:lower:]') + + case "$OS" in + # Minimalist GNU for Windows + mingw*) OS='windows';; + esac +} + +# runs the given command as root (detects if we are root already) +runAsRoot() { + local CMD="$*" + + if [ $EUID -ne 0 -a $USE_SUDO = "true" ]; then + CMD="sudo $CMD" + fi + + $CMD +} + +# verifySupported checks that the os/arch combination is supported for +# binary builds. +verifySupported() { + local supported="darwin-amd64\nlinux-386\nlinux-amd64\nlinux-arm\nlinux-arm64\nlinux-ppc64le\nlinux-s390x\nwindows-amd64" + if ! echo "${supported}" | grep -q "${OS}-${ARCH}"; then + echo "No prebuilt binary for ${OS}-${ARCH}." + echo "To build from source, go to https://github.com/helm/helm" + exit 1 + fi + + if ! type "curl" > /dev/null && ! type "wget" > /dev/null; then + echo "Either curl or wget is required" + exit 1 + fi +} + +# checkDesiredVersion checks if the desired version is available. +checkDesiredVersion() { + if [ "x$DESIRED_VERSION" == "x" ]; then + # Get tag from release URL + local latest_release_url="https://github.com/helm/helm/releases" + if type "curl" > /dev/null; then + TAG=$(curl -Ls $latest_release_url | grep 'href="/helm/helm/releases/tag/v3.[0-9]*.[0-9]*\"' | grep -v no-underline | head -n 1 | cut -d '"' -f 2 | awk '{n=split($NF,a,"/");print a[n]}' | awk 'a !~ $0{print}; {a=$0}') + elif type "wget" > /dev/null; then + TAG=$(wget $latest_release_url -O - 2>&1 | grep 'href="/helm/helm/releases/tag/v3.[0-9]*.[0-9]*\"' | grep -v no-underline | head -n 1 | cut -d '"' -f 2 | awk '{n=split($NF,a,"/");print a[n]}' | awk 'a !~ $0{print}; {a=$0}') + fi + else + TAG=$DESIRED_VERSION + fi +} + +# checkHelmInstalledVersion checks which version of helm is installed and +# if it needs to be changed. +checkHelmInstalledVersion() { + if [[ -f "${HELM_INSTALL_DIR}/${BINARY_NAME}" ]]; then + local version=$("${HELM_INSTALL_DIR}/${BINARY_NAME}" version --template="{{ .Version }}") + if [[ "$version" == "$TAG" ]]; then + echo "Helm ${version} is already ${DESIRED_VERSION:-latest}" + return 0 + else + echo "Helm ${TAG} is available. Changing from version ${version}." + return 1 + fi + else + return 1 + fi +} + +# downloadFile downloads the latest binary package and also the checksum +# for that binary. +downloadFile() { + HELM_DIST="helm-$TAG-$OS-$ARCH.tar.gz" + DOWNLOAD_URL="https://get.helm.sh/$HELM_DIST" + CHECKSUM_URL="$DOWNLOAD_URL.sha256" + HELM_TMP_ROOT="$(mktemp -dt helm-installer-XXXXXX)" + HELM_TMP_FILE="$HELM_TMP_ROOT/$HELM_DIST" + HELM_SUM_FILE="$HELM_TMP_ROOT/$HELM_DIST.sha256" + echo "Downloading $DOWNLOAD_URL" + if type "curl" > /dev/null; then + curl -SsL "$CHECKSUM_URL" -o "$HELM_SUM_FILE" + elif type "wget" > /dev/null; then + wget -q -O "$HELM_SUM_FILE" "$CHECKSUM_URL" + fi + if type "curl" > /dev/null; then + curl -SsL "$DOWNLOAD_URL" -o "$HELM_TMP_FILE" + elif type "wget" > /dev/null; then + wget -q -O "$HELM_TMP_FILE" "$DOWNLOAD_URL" + fi +} + +# installFile verifies the SHA256 for the file, then unpacks and +# installs it. +installFile() { + HELM_TMP="$HELM_TMP_ROOT/$BINARY_NAME" + local sum=$(openssl sha1 -sha256 ${HELM_TMP_FILE} | awk '{print $2}') + local expected_sum=$(cat ${HELM_SUM_FILE}) + if [ "$sum" != "$expected_sum" ]; then + echo "SHA sum of ${HELM_TMP_FILE} does not match. Aborting." + exit 1 + fi + + mkdir -p "$HELM_TMP" + tar xf "$HELM_TMP_FILE" -C "$HELM_TMP" + HELM_TMP_BIN="$HELM_TMP/$OS-$ARCH/helm" + echo "Preparing to install $BINARY_NAME into ${HELM_INSTALL_DIR}" + runAsRoot cp "$HELM_TMP_BIN" "$HELM_INSTALL_DIR/$BINARY_NAME" + echo "$BINARY_NAME installed into $HELM_INSTALL_DIR/$BINARY_NAME" +} + +# fail_trap is executed if an error occurs. +fail_trap() { + result=$? + if [ "$result" != "0" ]; then + if [[ -n "$INPUT_ARGUMENTS" ]]; then + echo "Failed to install $BINARY_NAME with the arguments provided: $INPUT_ARGUMENTS" + help + else + echo "Failed to install $BINARY_NAME" + fi + echo -e "\tFor support, go to https://github.com/helm/helm." + fi + cleanup + exit $result +} + +# testVersion tests the installed client to make sure it is working. +testVersion() { + set +e + HELM="$(command -v $BINARY_NAME)" + if [ "$?" = "1" ]; then + echo "$BINARY_NAME not found. Is $HELM_INSTALL_DIR on your "'$PATH?' + exit 1 + fi + set -e +} + +# help provides possible cli installation arguments +help () { + echo "Accepted cli arguments are:" + echo -e "\t[--help|-h ] ->> prints this help" + echo -e "\t[--version|-v <desired_version>] . When not defined it fetches the latest release from GitHub" + echo -e "\te.g. --version v3.0.0 or -v canary" + echo -e "\t[--no-sudo] ->> install without sudo" +} + +# cleanup temporary files to avoid https://github.com/helm/helm/issues/2977 +cleanup() { + if [[ -d "${HELM_TMP_ROOT:-}" ]]; then + rm -rf "$HELM_TMP_ROOT" + fi +} + +# Execution + +#Stop execution on any error +trap "fail_trap" EXIT +set -e + +# Parsing input arguments (if any) +export INPUT_ARGUMENTS="${@}" +set -u +while [[ $# -gt 0 ]]; do + case $1 in + '--version'|-v) + shift + if [[ $# -ne 0 ]]; then + export DESIRED_VERSION="${1}" + else + echo -e "Please provide the desired version. e.g. --version v3.0.0 or -v canary" + exit 0 + fi + ;; + '--no-sudo') + USE_SUDO="false" + ;; + '--help'|-h) + help + exit 0 + ;; + *) exit 1 + ;; + esac + shift +done +set +u + +initArch +initOS +verifySupported +checkDesiredVersion +if ! checkHelmInstalledVersion; then + downloadFile + installFile +fi +testVersion +cleanup diff --git a/gitlab.yaml b/gitlab.yaml new file mode 100644 index 0000000..2ea60a8 --- /dev/null +++ b/gitlab.yaml @@ -0,0 +1,76 @@ +apiVersion: v1 +kind: Service +metadata: + labels: + app: gitlab + tier: gitlab + name: gitlab +spec: + type: NodePort + ports: + - name: "80" + port: 80 + targetPort: 80 + - name: "22" + port: 22 + targetPort: 22 + - name: "443" + port: 443 + targetPort: 443 + selector: + app: gitlab + tier: gitlab + +--- + +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + labels: + app: gitlab + tier: gitlab + name: gitlab-claim4 +spec: + storageClassName: standard + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 100Mi + +--- + +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app: gitlab + tier: gitlab + name: gitlab +spec: + replicas: 1 + selector: + matchLabels: + app: gitlab + tier: gitlab + template: + metadata: + annotations: + labels: + app: gitlab + tier: gitlab + spec: + containers: + - image: gitlab/gitlab-ee:latest + name: gitlab + ports: + - containerPort: 27017 + volumeMounts: + - mountPath: /data/gitlab + name: gitlab-claim4 + restartPolicy: Always + volumes: + - name: gitlab-claim4 + persistentVolumeClaim: + claimName: gitlab-claim4 + diff --git a/index.html b/index.html new file mode 100644 index 0000000..62c6c79 --- /dev/null +++ b/index.html @@ -0,0 +1,207 @@ +<!DOCTYPE html> +<html class="devise-layout-html"> +<head prefix="og: http://ogp.me/ns#"> +<meta charset="utf-8"> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> + +<meta content="object" property="og:type"> +<meta content="GitLab" property="og:site_name"> +<meta content="Sign in" property="og:title"> +<meta content="GitLab Enterprise Edition" property="og:description"> +<meta content="http://10.6.10.9:30689/assets/gitlab_logo-7ae504fe4f68fdebb3c2034e36621930cd36ea87924c11ff65dbcb8ed50dca58.png" property="og:image"> +<meta content="64" property="og:image:width"> +<meta content="64" property="og:image:height"> +<meta content="http://10.6.10.9:30689/users/sign_in" property="og:url"> +<meta content="summary" property="twitter:card"> +<meta content="Sign in" property="twitter:title"> +<meta content="GitLab Enterprise Edition" property="twitter:description"> +<meta content="http://10.6.10.9:30689/assets/gitlab_logo-7ae504fe4f68fdebb3c2034e36621930cd36ea87924c11ff65dbcb8ed50dca58.png" property="twitter:image"> + +<title>Sign in · GitLab</title> +<meta content="GitLab Enterprise Edition" name="description"> +<link rel="shortcut icon" type="image/png" href="/assets/favicon-7901bd695fb93edb07975966062049829afb56cf11511236e61bcf425070e36e.png" id="favicon" data-original-href="/assets/favicon-7901bd695fb93edb07975966062049829afb56cf11511236e61bcf425070e36e.png" /> + +<link rel="stylesheet" media="all" href="/assets/application-30a9dffe86b597151eff49443097496f0d1014bb6695a2f69a7c97dc1c27828f.css" /> + + +<link rel="stylesheet" media="all" href="/assets/highlight/themes/white-3a5ccf16b3cb943249b10b6fd8a260ac3c8a79ea432c44c3886d1d1ea9df4694.css" /> + +<script> +//<![CDATA[ +window.gon={}; +//]]> +</script> + + +<script src="/assets/webpack/runtime.32772922.bundle.js" defer="defer"></script> +<script src="/assets/webpack/main.db26cd4a.chunk.js" defer="defer"></script> +<script src="/assets/webpack/commons-pages.admin.sessions-pages.groups.omniauth_callbacks-pages.ldap.omniauth_callbacks-pages.omn-c3aaf8c4.fa50e779.chunk.js" defer="defer"></script> +<script src="/assets/webpack/pages.sessions.new.0550609a.chunk.js" defer="defer"></script> + + +<meta name="csrf-param" content="authenticity_token" /> +<meta name="csrf-token" content="y3JEtx7PceZKZ4QJkpx/0fdp07TCpYxVmB0AJMq3aGIrORUuIQ2qF+drRUajIcQKpGKeJENQnAXyx6jdV0Trbw==" /> + +<meta name="action-cable-url" content="/-/cable" /> +<meta content="origin-when-cross-origin" name="referrer"> +<meta content="width=device-width, initial-scale=1, maximum-scale=1" name="viewport"> +<meta content="#474D57" name="theme-color"> +<link rel="apple-touch-icon" type="image/x-icon" href="/assets/touch-icon-iphone-5a9cee0e8a51212e70b90c87c12f382c428870c0ff67d1eb034d884b78d2dae7.png" /> +<link rel="apple-touch-icon" type="image/x-icon" href="/assets/touch-icon-ipad-a6eec6aeb9da138e507593b464fdac213047e49d3093fc30e90d9a995df83ba3.png" sizes="76x76" /> +<link rel="apple-touch-icon" type="image/x-icon" href="/assets/touch-icon-iphone-retina-72e2aadf86513a56e050e7f0f2355deaa19cc17ed97bbe5147847f2748e5a3e3.png" sizes="120x120" /> +<link rel="apple-touch-icon" type="image/x-icon" href="/assets/touch-icon-ipad-retina-8ebe416f5313483d9c1bc772b5bbe03ecad52a54eba443e5215a22caed2a16a2.png" sizes="152x152" /> +<link color="rgb(226, 67, 41)" href="/assets/logo-d36b5212042cebc89b96df4bf6ac24e43db316143e89926c0db839ff694d2de4.svg" rel="mask-icon"> +<meta content="/assets/msapplication-tile-1196ec67452f618d39cdd85e2e3a542f76574c071051ae7effbfde01710eb17d.png" name="msapplication-TileImage"> +<meta content="#30353E" name="msapplication-TileColor"> + + + + +</head> + +<body class="application gl-browser-generic gl-platform-other login-page navless ui-indigo" data-page="sessions:new" data-qa-selector="login_page"> + +<script> +//<![CDATA[ +gl = window.gl || {}; +gl.client = {"isGeneric":true,"isOther":true}; + + +//]]> +</script> +<div class="page-wrap"> +<header class="navbar fixed-top navbar-empty"> +<svg width="24" height="24" class="tanuki-logo" viewBox="0 0 36 36"> + <path class="tanuki-shape tanuki-left-ear" fill="#e24329" d="M2 14l9.38 9v-9l-4-12.28c-.205-.632-1.176-.632-1.38 0z"/> + <path class="tanuki-shape tanuki-right-ear" fill="#e24329" d="M34 14l-9.38 9v-9l4-12.28c.205-.632 1.176-.632 1.38 0z"/> + <path class="tanuki-shape tanuki-nose" fill="#e24329" d="M18,34.38 3,14 33,14 Z"/> + <path class="tanuki-shape tanuki-left-eye" fill="#fc6d26" d="M18,34.38 11.38,14 2,14 6,25Z"/> + <path class="tanuki-shape tanuki-right-eye" fill="#fc6d26" d="M18,34.38 24.62,14 34,14 30,25Z"/> + <path class="tanuki-shape tanuki-left-cheek" fill="#fca326" d="M2 14L.1 20.16c-.18.565 0 1.2.5 1.56l17.42 12.66z"/> + <path class="tanuki-shape tanuki-right-cheek" fill="#fca326" d="M34 14l1.9 6.16c.18.565 0 1.2-.5 1.56L18 34.38z"/> +</svg> + +</header> + +<div class="login-page-broadcast"> + + +</div> +<div class="container navless-container"> +<div class="content"> +<div class="flash-container flash-container-page sticky"> +</div> + +<div class="row mt-3"> +<div class="col-sm-12"> +<h1 class="mb-3 font-weight-normal"> +GitLab Enterprise Edition +</h1> +</div> +</div> +<div class="row mb-3"> +<div class="col-sm-7 order-12 order-sm-1 brand-holder"> + +<h3 class="mt-sm-0"> +A complete DevOps platform +</h3> +<p> +GitLab is a single application for the entire software development lifecycle. From project planning and source code management to CI/CD, monitoring, and security. +</p> + +</div> +<div class="col-sm-5 order-1 order-sm-12 new-session-forms-container"> +<div id="signin-container"> +<ul class="nav-links new-session-tabs nav-tabs nav" role="tablist"> +<li class="nav-item" role="presentation"> +<a class="nav-link active" data-qa-selector="sign_in_tab" data-toggle="tab" href="#login-pane" role="tab">Sign in</a> +</li> +<li class="nav-item" role="presentation"> +<a class="nav-link" data-qa-selector="register_tab" data-toggle="tab" data-track-event="click_button" data-track-label="sign_in_register" data-track-property="" data-track-value="" href="#register-pane" role="tab">Register</a> +</li> +</ul> + +<div class="tab-content"> +<div class="login-box tab-pane active" id="login-pane" role="tabpanel"> +<div class="login-body"> +<form class="new_user gl-show-field-errors" id="new_user" aria-live="assertive" action="/users/sign_in" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓" /><input type="hidden" name="authenticity_token" value="RMDXxYFR36P5llYdMHrXhksxbYRaou0RMxhDl63rqEWki4ZcvpMEUlSal1IBx2xdGDogFNtX/UFZwutuMBgrSA==" /><div class="form-group"> +<label for="user_login" class="label-bold">Username or email</label> +<input class="form-control top" autofocus="autofocus" autocapitalize="off" autocorrect="off" required="required" title="This field is required." data-qa-selector="login_field" type="text" name="user[login]" id="user_login" /> +</div> +<div class="form-group"> +<label class="label-bold" for="user_password">Password</label> +<input class="form-control bottom" required="required" title="This field is required." data-qa-selector="password_field" type="password" name="user[password]" id="user_password" /> +</div> +<div class="remember-me"> +<label for="user_remember_me"> +<input name="user[remember_me]" type="hidden" value="0" /><input class="remember-me-checkbox" type="checkbox" value="1" name="user[remember_me]" id="user_remember_me" /> +<span>Remember me</span> +</label> +<div class="float-right"> +<a href="/users/password/new">Forgot your password?</a> +</div> +</div> +<div></div> +<div class="submit-container move-submit-down"> +<input type="submit" name="commit" value="Sign in" class="btn btn-success" data-qa-selector="sign_in_button" data-disable-with="Sign in" /> +</div> +</form> +</div> +</div> + +<div class="tab-pane login-box" id="register-pane" role="tabpanel"> +<div class="login-body"> +<form class="new_new_user gl-show-field-errors" id="new_new_user" aria-live="assertive" action="/users" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓" /><input type="hidden" name="authenticity_token" value="EmgDmGJb5wSgKntnBjL0b/sUI18TFdsHGsuB/3xwFdryI1IBXZk89Q0muig3j0+0qB9uz5Lgy1dwESkG4YOW1w==" /><div class="devise-errors"> + +</div> +<div class="name form-group"> +<label class="label-bold" for="new_user_name">Full name</label> +<input class="form-control top js-block-emoji js-validate-length" data-max-length="255" data-max-length-message="Name is too long (maximum is 255 characters)." data-qa-selector="new_user_name_field" required="required" title="This field is required." type="text" name="new_user[name]" id="new_user_name" /> +</div> +<div class="username form-group"> +<label class="label-bold" for="new_user_username">Username</label> +<input class="form-control middle js-block-emoji js-validate-length js-validate-username" data-min-length="2" data-min-length-message="Username is too short (minimum is 2 characters)." data-max-length="255" data-max-length-message="Username is too long (maximum is 255 characters)." data-qa-selector="new_user_username_field" pattern="[a-zA-Z0-9_\.][a-zA-Z0-9_\-\.]*[a-zA-Z0-9_\-]|[a-zA-Z0-9_]" required="required" title="Please create a username with only alphanumeric characters." type="text" name="new_user[username]" id="new_user_username" /> +<p class="validation-error gl-field-error-ignore field-validation hide">Username is already taken.</p> +<p class="validation-success gl-field-error-ignore field-validation hide">Username is available.</p> +<p class="validation-pending gl-field-error-ignore field-validation hide">Checking username availability...</p> +</div> +<div class="form-group"> +<label class="label-bold" for="new_user_email">Email</label> +<input class="form-control middle" data-qa-selector="new_user_email_field" required="required" title="Please provide a valid email address." type="email" name="new_user[email]" id="new_user_email" /> +</div> +<div class="form-group"> +<label class="label-bold" for="new_user_email_confirmation">Email confirmation</label> +<input class="form-control middle" data-qa-selector="new_user_email_confirmation_field" required="required" title="Please retype the email address." type="email" name="new_user[email_confirmation]" id="new_user_email_confirmation" /> +</div> +<div class="form-group append-bottom-20" id="password-strength"> +<label class="label-bold" for="new_user_password">Password</label> +<input class="form-control bottom" data-qa-selector="new_user_password_field" required="required" pattern=".{8,}" title="Minimum length is 8 characters." type="password" name="new_user[password]" id="new_user_password" /> +<p class="gl-field-hint text-secondary">Minimum length is 8 characters</p> +</div> + +<div></div> +<div class="submit-container"> +<input type="submit" name="commit" value="Register" class="btn-register btn" data-qa-selector="new_user_register_button" data-disable-with="Register" /> +</div> +</form></div> +</div> + +</div> +</div> + +</div> +</div> +</div> +</div> +<hr class="footer-fixed"> +<div class="container footer-container"> +<div class="footer-links"> +<a href="/explore">Explore</a> +<a href="/help">Help</a> +<a href="https://about.gitlab.com/">About GitLab</a> +</div> +</div> + +</div> +</body> +</html> diff --git a/index.html.1 b/index.html.1 new file mode 100644 index 0000000..92cd457 --- /dev/null +++ b/index.html.1 @@ -0,0 +1,207 @@ +<!DOCTYPE html> +<html class="devise-layout-html"> +<head prefix="og: http://ogp.me/ns#"> +<meta charset="utf-8"> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> + +<meta content="object" property="og:type"> +<meta content="GitLab" property="og:site_name"> +<meta content="Sign in" property="og:title"> +<meta content="GitLab Enterprise Edition" property="og:description"> +<meta content="http://10.6.10.9:30689/assets/gitlab_logo-7ae504fe4f68fdebb3c2034e36621930cd36ea87924c11ff65dbcb8ed50dca58.png" property="og:image"> +<meta content="64" property="og:image:width"> +<meta content="64" property="og:image:height"> +<meta content="http://10.6.10.9:30689/users/sign_in" property="og:url"> +<meta content="summary" property="twitter:card"> +<meta content="Sign in" property="twitter:title"> +<meta content="GitLab Enterprise Edition" property="twitter:description"> +<meta content="http://10.6.10.9:30689/assets/gitlab_logo-7ae504fe4f68fdebb3c2034e36621930cd36ea87924c11ff65dbcb8ed50dca58.png" property="twitter:image"> + +<title>Sign in · GitLab</title> +<meta content="GitLab Enterprise Edition" name="description"> +<link rel="shortcut icon" type="image/png" href="/assets/favicon-7901bd695fb93edb07975966062049829afb56cf11511236e61bcf425070e36e.png" id="favicon" data-original-href="/assets/favicon-7901bd695fb93edb07975966062049829afb56cf11511236e61bcf425070e36e.png" /> + +<link rel="stylesheet" media="all" href="/assets/application-30a9dffe86b597151eff49443097496f0d1014bb6695a2f69a7c97dc1c27828f.css" /> + + +<link rel="stylesheet" media="all" href="/assets/highlight/themes/white-3a5ccf16b3cb943249b10b6fd8a260ac3c8a79ea432c44c3886d1d1ea9df4694.css" /> + +<script> +//<![CDATA[ +window.gon={}; +//]]> +</script> + + +<script src="/assets/webpack/runtime.32772922.bundle.js" defer="defer"></script> +<script src="/assets/webpack/main.db26cd4a.chunk.js" defer="defer"></script> +<script src="/assets/webpack/commons-pages.admin.sessions-pages.groups.omniauth_callbacks-pages.ldap.omniauth_callbacks-pages.omn-c3aaf8c4.fa50e779.chunk.js" defer="defer"></script> +<script src="/assets/webpack/pages.sessions.new.0550609a.chunk.js" defer="defer"></script> + + +<meta name="csrf-param" content="authenticity_token" /> +<meta name="csrf-token" content="UgkbEAtrwGSIXNjWnnELIRkvC91wjZxVeknIn6fCPTWyRJT2bsGjmpR2g7d0HolrX3yGKAas5/COh/myGHzcbA==" /> + +<meta name="action-cable-url" content="/-/cable" /> +<meta content="origin-when-cross-origin" name="referrer"> +<meta content="width=device-width, initial-scale=1, maximum-scale=1" name="viewport"> +<meta content="#474D57" name="theme-color"> +<link rel="apple-touch-icon" type="image/x-icon" href="/assets/touch-icon-iphone-5a9cee0e8a51212e70b90c87c12f382c428870c0ff67d1eb034d884b78d2dae7.png" /> +<link rel="apple-touch-icon" type="image/x-icon" href="/assets/touch-icon-ipad-a6eec6aeb9da138e507593b464fdac213047e49d3093fc30e90d9a995df83ba3.png" sizes="76x76" /> +<link rel="apple-touch-icon" type="image/x-icon" href="/assets/touch-icon-iphone-retina-72e2aadf86513a56e050e7f0f2355deaa19cc17ed97bbe5147847f2748e5a3e3.png" sizes="120x120" /> +<link rel="apple-touch-icon" type="image/x-icon" href="/assets/touch-icon-ipad-retina-8ebe416f5313483d9c1bc772b5bbe03ecad52a54eba443e5215a22caed2a16a2.png" sizes="152x152" /> +<link color="rgb(226, 67, 41)" href="/assets/logo-d36b5212042cebc89b96df4bf6ac24e43db316143e89926c0db839ff694d2de4.svg" rel="mask-icon"> +<meta content="/assets/msapplication-tile-1196ec67452f618d39cdd85e2e3a542f76574c071051ae7effbfde01710eb17d.png" name="msapplication-TileImage"> +<meta content="#30353E" name="msapplication-TileColor"> + + + + +</head> + +<body class="application gl-browser-generic gl-platform-other login-page navless ui-indigo" data-page="sessions:new" data-qa-selector="login_page"> + +<script> +//<![CDATA[ +gl = window.gl || {}; +gl.client = {"isGeneric":true,"isOther":true}; + + +//]]> +</script> +<div class="page-wrap"> +<header class="navbar fixed-top navbar-empty"> +<svg width="24" height="24" class="tanuki-logo" viewBox="0 0 36 36"> + <path class="tanuki-shape tanuki-left-ear" fill="#e24329" d="M2 14l9.38 9v-9l-4-12.28c-.205-.632-1.176-.632-1.38 0z"/> + <path class="tanuki-shape tanuki-right-ear" fill="#e24329" d="M34 14l-9.38 9v-9l4-12.28c.205-.632 1.176-.632 1.38 0z"/> + <path class="tanuki-shape tanuki-nose" fill="#e24329" d="M18,34.38 3,14 33,14 Z"/> + <path class="tanuki-shape tanuki-left-eye" fill="#fc6d26" d="M18,34.38 11.38,14 2,14 6,25Z"/> + <path class="tanuki-shape tanuki-right-eye" fill="#fc6d26" d="M18,34.38 24.62,14 34,14 30,25Z"/> + <path class="tanuki-shape tanuki-left-cheek" fill="#fca326" d="M2 14L.1 20.16c-.18.565 0 1.2.5 1.56l17.42 12.66z"/> + <path class="tanuki-shape tanuki-right-cheek" fill="#fca326" d="M34 14l1.9 6.16c.18.565 0 1.2-.5 1.56L18 34.38z"/> +</svg> + +</header> + +<div class="login-page-broadcast"> + + +</div> +<div class="container navless-container"> +<div class="content"> +<div class="flash-container flash-container-page sticky"> +</div> + +<div class="row mt-3"> +<div class="col-sm-12"> +<h1 class="mb-3 font-weight-normal"> +GitLab Enterprise Edition +</h1> +</div> +</div> +<div class="row mb-3"> +<div class="col-sm-7 order-12 order-sm-1 brand-holder"> + +<h3 class="mt-sm-0"> +A complete DevOps platform +</h3> +<p> +GitLab is a single application for the entire software development lifecycle. From project planning and source code management to CI/CD, monitoring, and security. +</p> + +</div> +<div class="col-sm-5 order-1 order-sm-12 new-session-forms-container"> +<div id="signin-container"> +<ul class="nav-links new-session-tabs nav-tabs nav" role="tablist"> +<li class="nav-item" role="presentation"> +<a class="nav-link active" data-qa-selector="sign_in_tab" data-toggle="tab" href="#login-pane" role="tab">Sign in</a> +</li> +<li class="nav-item" role="presentation"> +<a class="nav-link" data-qa-selector="register_tab" data-toggle="tab" data-track-event="click_button" data-track-label="sign_in_register" data-track-property="" data-track-value="" href="#register-pane" role="tab">Register</a> +</li> +</ul> + +<div class="tab-content"> +<div class="login-box tab-pane active" id="login-pane" role="tabpanel"> +<div class="login-body"> +<form class="new_user gl-show-field-errors" id="new_user" aria-live="assertive" action="/users/sign_in" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓" /><input type="hidden" name="authenticity_token" value="rLlLlMGPYUvX5mgWBxgwpsSsOYuR+CIdV1ImQDgUJhVM9MRypCUCtcvMM3ftd7Lsgv+0fufZWbijnBdth6rHTA==" /><div class="form-group"> +<label for="user_login" class="label-bold">Username or email</label> +<input class="form-control top" autofocus="autofocus" autocapitalize="off" autocorrect="off" required="required" title="This field is required." data-qa-selector="login_field" type="text" name="user[login]" id="user_login" /> +</div> +<div class="form-group"> +<label class="label-bold" for="user_password">Password</label> +<input class="form-control bottom" required="required" title="This field is required." data-qa-selector="password_field" type="password" name="user[password]" id="user_password" /> +</div> +<div class="remember-me"> +<label for="user_remember_me"> +<input name="user[remember_me]" type="hidden" value="0" /><input class="remember-me-checkbox" type="checkbox" value="1" name="user[remember_me]" id="user_remember_me" /> +<span>Remember me</span> +</label> +<div class="float-right"> +<a href="/users/password/new">Forgot your password?</a> +</div> +</div> +<div></div> +<div class="submit-container move-submit-down"> +<input type="submit" name="commit" value="Sign in" class="btn btn-success" data-qa-selector="sign_in_button" data-disable-with="Sign in" /> +</div> +</form> +</div> +</div> + +<div class="tab-pane login-box" id="register-pane" role="tabpanel"> +<div class="login-body"> +<form class="new_new_user gl-show-field-errors" id="new_new_user" aria-live="assertive" action="/users" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓" /><input type="hidden" name="authenticity_token" value="NxIfB+IJB0kECXTTest2Km5sKHf1KzPmTK+yjuo9E2zXX5Dhh6NktxgjL7KQpPRgKD+lgoMKSEO4YYOjVYPyNQ==" /><div class="devise-errors"> + +</div> +<div class="name form-group"> +<label class="label-bold" for="new_user_name">Full name</label> +<input class="form-control top js-block-emoji js-validate-length" data-max-length="255" data-max-length-message="Name is too long (maximum is 255 characters)." data-qa-selector="new_user_name_field" required="required" title="This field is required." type="text" name="new_user[name]" id="new_user_name" /> +</div> +<div class="username form-group"> +<label class="label-bold" for="new_user_username">Username</label> +<input class="form-control middle js-block-emoji js-validate-length js-validate-username" data-min-length="2" data-min-length-message="Username is too short (minimum is 2 characters)." data-max-length="255" data-max-length-message="Username is too long (maximum is 255 characters)." data-qa-selector="new_user_username_field" pattern="[a-zA-Z0-9_\.][a-zA-Z0-9_\-\.]*[a-zA-Z0-9_\-]|[a-zA-Z0-9_]" required="required" title="Please create a username with only alphanumeric characters." type="text" name="new_user[username]" id="new_user_username" /> +<p class="validation-error gl-field-error-ignore field-validation hide">Username is already taken.</p> +<p class="validation-success gl-field-error-ignore field-validation hide">Username is available.</p> +<p class="validation-pending gl-field-error-ignore field-validation hide">Checking username availability...</p> +</div> +<div class="form-group"> +<label class="label-bold" for="new_user_email">Email</label> +<input class="form-control middle" data-qa-selector="new_user_email_field" required="required" title="Please provide a valid email address." type="email" name="new_user[email]" id="new_user_email" /> +</div> +<div class="form-group"> +<label class="label-bold" for="new_user_email_confirmation">Email confirmation</label> +<input class="form-control middle" data-qa-selector="new_user_email_confirmation_field" required="required" title="Please retype the email address." type="email" name="new_user[email_confirmation]" id="new_user_email_confirmation" /> +</div> +<div class="form-group append-bottom-20" id="password-strength"> +<label class="label-bold" for="new_user_password">Password</label> +<input class="form-control bottom" data-qa-selector="new_user_password_field" required="required" pattern=".{8,}" title="Minimum length is 8 characters." type="password" name="new_user[password]" id="new_user_password" /> +<p class="gl-field-hint text-secondary">Minimum length is 8 characters</p> +</div> + +<div></div> +<div class="submit-container"> +<input type="submit" name="commit" value="Register" class="btn-register btn" data-qa-selector="new_user_register_button" data-disable-with="Register" /> +</div> +</form></div> +</div> + +</div> +</div> + +</div> +</div> +</div> +</div> +<hr class="footer-fixed"> +<div class="container footer-container"> +<div class="footer-links"> +<a href="/explore">Explore</a> +<a href="/help">Help</a> +<a href="https://about.gitlab.com/">About GitLab</a> +</div> +</div> + +</div> +</body> +</html> diff --git a/ingress.yml b/ingress.yml index b3dd24f..e8be82b 100644 --- a/ingress.yml +++ b/ingress.yml @@ -1,40 +1,33 @@ -apiVersion: networking.k8s.io/v1 +apiVersion: networking.k8s.io/v1beta1 kind: Ingress metadata: - name: ingress-ffds + name: ingress-rules annotations: ingress.kubernetes.io/rewrite-target: / spec: rules: - - host: + - host: http: paths: - path: /api pathType: Prefix backend: - service: - name: ffds-register-api - port: - number: 80 + serviceName: ffds-register-api + servicePort: 80 - path: / pathType: Prefix backend: - service: - name: fdp-api - port: - number: 80 + serviceName: fdp-api + servicePort: 80 - path: /app pathType: Prefix backend: - service: - name: fdp-client - port: - number: 80 + serviceName: fdp-client + servicePort: 80 - path: /es pathType: Prefix backend: - service: - name: elasticsearch-loadbalancer - port: - number: 9200 + serviceName: elasticsearch-loadbalancer + servicePort: 9200 + diff --git a/mongo.yaml b/mongo.yaml index 33231ef..076c722 100644 --- a/mongo.yaml +++ b/mongo.yaml @@ -6,6 +6,9 @@ metadata: tier: mongo name: mongo spec: + type: NodePort + externalIPs: + - 10.6.10.9 ports: - name: "27017" port: 27017 diff --git a/registry-gitlab.yml b/registry-gitlab.yml new file mode 100644 index 0000000..84a0a87 --- /dev/null +++ b/registry-gitlab.yml @@ -0,0 +1,45 @@ +apiVersion: v1 +kind: Service +metadata: + labels: + app: gitlab + tier: gitlab + name: registry-gitlab +spec: + type: NodePort + ports: + - name: "5000" + port: 5000 + targetPort: 5000 + selector: + app: gitlab + tier: gitlab + +--- + +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app: gitlab + tier: gitlab + name: registry-gitlab +spec: + replicas: 1 + selector: + matchLabels: + app: gitlab + tier: gitlab + template: + metadata: + annotations: + labels: + app: gitlab + tier: gitlab + spec: + containers: + - image: registry:2 + name: registry-gitlab + ports: + - containerPort: 5000 + restartPolicy: Always diff --git a/volumepv.yml b/volumepv.yml index 01fbd9f..7caa249 100644 --- a/volumepv.yml +++ b/volumepv.yml @@ -72,3 +72,30 @@ spec: operator: In values: - sandbox9.cines.fr + +--- + + +apiVersion: v1 +kind: PersistentVolume +metadata: + name: data-pv4 +spec: + capacity: + storage: 1Gi + accessModes: + - ReadWriteOnce + persistentVolumeReclaimPolicy: Retain + volumeMode: Filesystem + storageClassName: standard + local: + path: /data/4 + nodeAffinity: + required: + nodeSelectorTerms: + - matchExpressions: + - key: kubernetes.io/hostname + operator: In + values: + - sandbox9.cines.fr + -- GitLab