Loading charts/meep-ingress-certs/create-self-signed-cert.sh +14 −2 Original line number Diff line number Diff line Loading @@ -13,6 +13,7 @@ The following flags are required. --namespace Namespace where registry service and secret reside. --secret Secret name for CA certificate and server certificate/key pair. --certdir Directory where certificates should be stored. --host Host name or IP address for SAN. EOF exit 1 } Loading @@ -35,6 +36,10 @@ while [[ $# -gt 0 ]]; do certdir="$2" shift ;; --host) host="$2" shift ;; *) usage ;; Loading @@ -46,14 +51,21 @@ done [ -z ${secret} ] && secret=meep-ingress [ -z ${namespace} ] && namespace=default [ -z ${certdir} ] && certdir=$(mktemp -d) [ -z ${host} ] && host="192.168.20.167" if [ ! -x "$(command -v openssl)" ]; then echo "openssl not found" exit 1 fi echo "creating certs in certdir: ${certdir}" openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ${certdir}/${service}.key -out ${certdir}/${service}.pem -subj "/CN=AdvantEDGE Default Certificate/O=InterDigital" if [[ "$host" =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$ ]]; then alt_name="IP:${host}" else alt_name="DNS:${host}" fi echo "creating certs in certdir: ${certdir} for host: ${host} with SAN: ${alt_name}" openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ${certdir}/${service}.key -out ${certdir}/${service}.pem -subj "/CN=${host}/O=InterDigital" -addext "subjectAltName = ${alt_name}" echo "creating secret: ${namespace}/${secret}" kubectl create secret tls ${secret} \ Loading go-apps/meepctl/cmd/deploy.go +2 −1 Original line number Diff line number Diff line Loading @@ -786,7 +786,8 @@ func deployCreateRegistryCerts(chart string, cobraCmd *cobra.Command) { func deployCreateIngressCerts(chart string, cobraCmd *cobra.Command) { certdir := deployData.workdir + "/certs" cmd := exec.Command("sh", "-c", chart+"/create-self-signed-cert.sh --certdir "+certdir) host := utils.RepoCfg.GetString("repo.deployment.ingress.host") cmd := exec.Command("sh", "-c", chart+"/create-self-signed-cert.sh --certdir "+certdir+" --host "+host) _, _ = utils.ExecuteCmd(cmd, cobraCmd) } Loading playbooks/roles/mec_sandbox/mec_deploy/tasks/main.yml +26 −0 Original line number Diff line number Diff line Loading @@ -289,6 +289,32 @@ debug: msg: "{{ deploy_core.stdout_lines | default([]) }}" # --- Import pre-loaded network scenarios --- - name: Get meep-platform-ctrl service ClusterIP shell: "kubectl get svc meep-platform-ctrl -o jsonpath='{.spec.clusterIP}'" register: platform_ctrl_ip become: true environment: KUBECONFIG: "{{ target_home }}/.kube/config" - name: Find all YAML network scenarios find: paths: "{{ mec_frontend_dir }}/networks" patterns: "*.yaml" register: scenario_files become: true become_user: "{{ target_user }}" - name: Load, convert, and import scenarios to platform-ctrl API shell: | python3 -c "import sys, yaml, json; sc = yaml.safe_load(open('{{ item.path }}')); sc['name'] = '{{ item.path | basename | splitext | first }}'; print(json.dumps(sc))" | \ curl -X POST -H "Content-Type: application/json" -d @- "http://{{ platform_ctrl_ip.stdout }}/platform-ctrl/v1/scenarios/{{ item.path | basename | splitext | first }}" loop: "{{ scenario_files.files }}" become: true become_user: "{{ target_user }}" ignore_errors: true - name: "MEC Sandbox deployment complete" debug: msg: | Loading Loading
charts/meep-ingress-certs/create-self-signed-cert.sh +14 −2 Original line number Diff line number Diff line Loading @@ -13,6 +13,7 @@ The following flags are required. --namespace Namespace where registry service and secret reside. --secret Secret name for CA certificate and server certificate/key pair. --certdir Directory where certificates should be stored. --host Host name or IP address for SAN. EOF exit 1 } Loading @@ -35,6 +36,10 @@ while [[ $# -gt 0 ]]; do certdir="$2" shift ;; --host) host="$2" shift ;; *) usage ;; Loading @@ -46,14 +51,21 @@ done [ -z ${secret} ] && secret=meep-ingress [ -z ${namespace} ] && namespace=default [ -z ${certdir} ] && certdir=$(mktemp -d) [ -z ${host} ] && host="192.168.20.167" if [ ! -x "$(command -v openssl)" ]; then echo "openssl not found" exit 1 fi echo "creating certs in certdir: ${certdir}" openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ${certdir}/${service}.key -out ${certdir}/${service}.pem -subj "/CN=AdvantEDGE Default Certificate/O=InterDigital" if [[ "$host" =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$ ]]; then alt_name="IP:${host}" else alt_name="DNS:${host}" fi echo "creating certs in certdir: ${certdir} for host: ${host} with SAN: ${alt_name}" openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ${certdir}/${service}.key -out ${certdir}/${service}.pem -subj "/CN=${host}/O=InterDigital" -addext "subjectAltName = ${alt_name}" echo "creating secret: ${namespace}/${secret}" kubectl create secret tls ${secret} \ Loading
go-apps/meepctl/cmd/deploy.go +2 −1 Original line number Diff line number Diff line Loading @@ -786,7 +786,8 @@ func deployCreateRegistryCerts(chart string, cobraCmd *cobra.Command) { func deployCreateIngressCerts(chart string, cobraCmd *cobra.Command) { certdir := deployData.workdir + "/certs" cmd := exec.Command("sh", "-c", chart+"/create-self-signed-cert.sh --certdir "+certdir) host := utils.RepoCfg.GetString("repo.deployment.ingress.host") cmd := exec.Command("sh", "-c", chart+"/create-self-signed-cert.sh --certdir "+certdir+" --host "+host) _, _ = utils.ExecuteCmd(cmd, cobraCmd) } Loading
playbooks/roles/mec_sandbox/mec_deploy/tasks/main.yml +26 −0 Original line number Diff line number Diff line Loading @@ -289,6 +289,32 @@ debug: msg: "{{ deploy_core.stdout_lines | default([]) }}" # --- Import pre-loaded network scenarios --- - name: Get meep-platform-ctrl service ClusterIP shell: "kubectl get svc meep-platform-ctrl -o jsonpath='{.spec.clusterIP}'" register: platform_ctrl_ip become: true environment: KUBECONFIG: "{{ target_home }}/.kube/config" - name: Find all YAML network scenarios find: paths: "{{ mec_frontend_dir }}/networks" patterns: "*.yaml" register: scenario_files become: true become_user: "{{ target_user }}" - name: Load, convert, and import scenarios to platform-ctrl API shell: | python3 -c "import sys, yaml, json; sc = yaml.safe_load(open('{{ item.path }}')); sc['name'] = '{{ item.path | basename | splitext | first }}'; print(json.dumps(sc))" | \ curl -X POST -H "Content-Type: application/json" -d @- "http://{{ platform_ctrl_ip.stdout }}/platform-ctrl/v1/scenarios/{{ item.path | basename | splitext | first }}" loop: "{{ scenario_files.files }}" become: true become_user: "{{ target_user }}" ignore_errors: true - name: "MEC Sandbox deployment complete" debug: msg: | Loading