626 lines
36 KiB
HTML
626 lines
36 KiB
HTML
<!DOCTYPE html>
|
||
<html lang='en'>
|
||
<head>
|
||
<meta charset='utf-8'>
|
||
<meta content='IE=Edge,chrome=1' http-equiv='X-UA-Compatible'>
|
||
<meta content='width=device-width,height=device-height,user-scalable=no,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0' name='viewport'>
|
||
<meta content='yes' name='mobile-web-app-capable'>
|
||
<meta content='yes' name='apple-mobile-web-app-capable'>
|
||
<meta content='translucent-black' name='apple-mobile-web-app-status-bar-style'>
|
||
<meta content='Intranet 42' name='apple-mobile-web-app-title'>
|
||
<meta content='on' http-equiv='cleartype'>
|
||
<link href='https://cdn.intra.42.fr/' rel='preconnect'>
|
||
<link href='https://projects.intra.42.fr/assets/42_logo_black-684989d43d629b3c0ff6fd7e1157ee04db9bb7a73fba8ec4e01543d650a1c607.png' rel='icon' type='image/png'>
|
||
<link href='https://projects.intra.42.fr/assets/42_logo_black-684989d43d629b3c0ff6fd7e1157ee04db9bb7a73fba8ec4e01543d650a1c607.png' rel='shortcut icon' type='image/png'>
|
||
<link href='/opensearch.xml' rel='search' title='project' type='application/opensearchdescription+xml'>
|
||
<title>Intra Projects Inception-of-Things Edit</title>
|
||
<meta name="csrf-param" content="authenticity_token" />
|
||
<meta name="csrf-token" content="ifK0ROih/HuoY/97stuqzDMAH14B3eZygQnSoqk+ptuUBTEnMZVBDBZ8U70aUNxyCguRYN8az+RIeGG1YNBDiA==" />
|
||
<link rel="stylesheet" media="all" href="/lescrampte/iot/Intra Projects Inception-of-Things Edit_files/application-4521e8903afd8765f2285e3c31ec78586ca09c83d617c579141fe7e86adc2491.css" />
|
||
<link rel="stylesheet" media="screen" href="https://use.typekit.net/bzd7hlb.css" />
|
||
<style>
|
||
.deprecated {
|
||
-webkit-filter: grayscale(100%);
|
||
filter: grayscale(100%); }
|
||
</style>
|
||
|
||
<script>
|
||
(function() {
|
||
this._environment = "production";
|
||
|
||
this._git_commit = "";
|
||
|
||
this._release = this._git_commit;
|
||
|
||
}).call(this);
|
||
</script>
|
||
|
||
<body class=' '>
|
||
<div class='notifications-flash-top-bar'>
|
||
|
||
</div>
|
||
<script>
|
||
(function() {
|
||
this._notifCount = 0;
|
||
|
||
this._flashes = [];
|
||
|
||
}).call(this);
|
||
</script>
|
||
<hr>
|
||
<div class='p-0 scale-introduction dancer from-down' id='introduction-44077'>
|
||
<h3 class='font-weight-bold mb-1'>Introduction</h3>
|
||
<p>
|
||
Please comply with the following rules:<br/><br/>- Remain polite, courteous, respectful and constructive throughout the <br/> evaluation process. The well-being of the community depends on it.<br/><br/>- Identify with the student or group whose work is evaluated the possible <br/> dysfunctions in their project. Take the time to discuss and debate the <br/> problems that may have been identified.<br/><br/>- You must consider that there might be some differences in how your peers <br/> might have understood the project's instructions and the scope of its <br/> functionalities. Always keep an open mind and grade them as honestly as <br/> possible. The pedagogy is useful only if the peer-evaluation is <br/> done seriously.<br/>
|
||
</p>
|
||
</div>
|
||
<div class='p-0 scale-guidelines dancer from-down' id='guidelines-44077'>
|
||
<h3 class='font-weight-bold mb-1'>Guidelines</h3>
|
||
<p>
|
||
- Only grade the work that was turned in the Git repository of the evaluated <br/> student or group.<br/><br/>- Double-check that the Git repository belongs to the student(s). Ensure that <br/> the project is the one expected. Also, check that 'git clone' is used in an <br/> empty folder.<br/><br/>- Check carefully that no malicious aliases were used to fool you and make you <br/> evaluate something that is not the content of the official repository.<br/><br/>- To avoid any surprises and if applicable, review together any scripts used <br/> to facilitate the grading (scripts for testing or automation).<br/><br/>- If you have not completed the assignment you are going to evaluate, you have <br/> to read the entire subject prior to starting the evaluation process.<br/><br/>- Use the available flags to report an empty repository, a non-functioning <br/> program, a Norm error, cheating, and so forth. <br/> In these cases, the evaluation process ends and the final grade is 0, <br/> or -42 in case of cheating. However, except for cheating, students are <br/> strongly encouraged to review together the work that was turned in, in order <br/> to identify any mistakes that shouldn't be repeated in the future.<br/>
|
||
</p>
|
||
</div>
|
||
|
||
<hr>
|
||
<div class='dancer from-down' id='attachments-44077'>
|
||
<h3 class='font-weight-bold mb-1'>Attachments</h3>
|
||
<div class='project-attachments-list'>
|
||
</div>
|
||
|
||
<div class='project-attachments-list'>
|
||
<div class='project-attachment-item'>
|
||
<h4 class='attachment-name'>
|
||
<span class='icon-file'></span>
|
||
<a target="_blank" href="https://cdn.intra.42.fr/pdf/pdf/163441/en.subject.pdf">subject.pdf</a>
|
||
</h4>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
<form class="simple_form form-horizontal" novalidate="novalidate" id="edit_scale_team_8501531" action="/projects/inception-of-things/project_sessions/6512/evaluations/4283/scales/44077/scale_teams/8501531" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓" /><input type="hidden" name="_method" value="patch" /><input type="hidden" name="authenticity_token" value="pMUVKVNyX4StEU6h3h9A/aOAaTAJQiWVVVLKXmRnxAe5MpBKikbi8xMO4md2lDZDmovnDteFDAOcI3lJrYkhVA==" /><div class='scale-section-answers col-sm-12 scale-div'>
|
||
<section class='scale-section-item dancer from-down' id='section-122202'>
|
||
<div class='section-header'>
|
||
<h3 class='font-weight-bold mb-1'>Preliminaries</h3>
|
||
<p class='font-italic'>If cheating is suspected, the evaluation stops here. Use the "Cheat" flag to report it. Take this decision calmly, wisely, and please, use this button with caution.</p>
|
||
</div>
|
||
<h4 class='scale-question-name'>Preliminary tests</h4>
|
||
<p class='scale-section-guidelines'>
|
||
<ul>
|
||
<li>Defense can only happen if the evaluated group is present. This way,
|
||
everybody learns by sharing knowledge with each other.</li>
|
||
<li>If no work has been submitted (or wrong files, or wrong directory, or
|
||
wrong filenames), the grade is 0, and the evaluation process ends.</li>
|
||
<li>For this project, you have to clone the Git repository on the group's
|
||
machine.</li>
|
||
<li>For this project, you must use the virtual machine of 42.</li>
|
||
</ul>
|
||
|
||
</p>
|
||
<div class='scale-question-answers'>
|
||
<div class="form-group hidden scale_team_answer_id"><div class="col-sm-10"><input class="form-control hidden" name="[scale_team][answers_attributes][0][id]" type="hidden" id="scale_team_answer_id" /></div></div>
|
||
<div class="form-group hidden scale_team_answer_question_id"><div class="col-sm-10"><input class="form-control hidden" value="413227" name="[scale_team][answers_attributes][0][question_id]" type="hidden" id="scale_team_answer_question_id" /></div></div>
|
||
<div class='btn-group block'>
|
||
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][0][value]" id="radio_[scale_team][answers_attributes][0]_true" type="radio" value="1"></input>
|
||
<label class='btn btn-success checkbox-label light-bg' for='radio_[scale_team][answers_attributes][0]_true'>
|
||
<span class='icon-check'></span>
|
||
Yes
|
||
</label>
|
||
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][0][value]" id="radio_[scale_team][answers_attributes][0]_false" type="radio" value="0" checked="checked"></input>
|
||
<label class='btn btn-danger checkbox-label light-bg' for='radio_[scale_team][answers_attributes][0]_false'>
|
||
<span class='icon-times'></span>
|
||
No
|
||
</label>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
<section class='scale-section-item dancer from-down' id='section-122203'>
|
||
<div class='section-header'>
|
||
<hr>
|
||
<h3 class='font-weight-bold mb-1'>General instructions</h3>
|
||
<p class='font-italic'></p>
|
||
</div>
|
||
<h4 class='scale-question-name'>General instructions</h4>
|
||
<p class='scale-section-guidelines'>
|
||
<ul>
|
||
<li>During the defense, whenever you need help in order to verify a
|
||
requirement of the subject, the evaluated group must help you.</li>
|
||
<li>Ensure that all the files required for the three different parts of
|
||
the project are in the folders p1, p2 and p3 respectively. There may
|
||
be an additional bonus folder.</li>
|
||
</ul>
|
||
|
||
</p>
|
||
<div class='scale-question-answers'>
|
||
<div class="form-group hidden scale_team_answer_id"><div class="col-sm-10"><input class="form-control hidden" name="[scale_team][answers_attributes][1][id]" type="hidden" id="scale_team_answer_id" /></div></div>
|
||
<div class="form-group hidden scale_team_answer_question_id"><div class="col-sm-10"><input class="form-control hidden" value="413228" name="[scale_team][answers_attributes][1][question_id]" type="hidden" id="scale_team_answer_question_id" /></div></div>
|
||
<div class='btn-group block'>
|
||
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][1][value]" id="radio_[scale_team][answers_attributes][1]_true" type="radio" value="1"></input>
|
||
<label class='btn btn-success checkbox-label light-bg' for='radio_[scale_team][answers_attributes][1]_true'>
|
||
<span class='icon-check'></span>
|
||
Yes
|
||
</label>
|
||
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][1][value]" id="radio_[scale_team][answers_attributes][1]_false" type="radio" value="0" checked="checked"></input>
|
||
<label class='btn btn-danger checkbox-label light-bg' for='radio_[scale_team][answers_attributes][1]_false'>
|
||
<span class='icon-times'></span>
|
||
No
|
||
</label>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
<section class='scale-section-item dancer from-down' id='section-122204'>
|
||
<div class='section-header'>
|
||
<hr>
|
||
<h3 class='font-weight-bold mb-1'>Mandatory part</h3>
|
||
<p class='font-italic'>The project consists of setting up several infrastructures with different
|
||
services that use K3s, Vagrant and K3d.
|
||
Make sure that all of the following requirements are met.
|
||
</p>
|
||
</div>
|
||
<h4 class='scale-question-name'>Global configuration and explanation</h4>
|
||
<p class='scale-section-guidelines'>
|
||
<ul>
|
||
<li>Those being evaluated should explain to you in a simple way:
|
||
|
||
<ul>
|
||
<li>The basic operation of K3s.</li>
|
||
<li>The basic operation of Vagrant.</li>
|
||
<li>The basic operation of K3d.</li>
|
||
<li>What is a continuous integration and Argo CD.</li>
|
||
</ul></li>
|
||
</ul>
|
||
|
||
</p>
|
||
<div class='scale-question-answers'>
|
||
<div class="form-group hidden scale_team_answer_id"><div class="col-sm-10"><input class="form-control hidden" name="[scale_team][answers_attributes][2][id]" type="hidden" id="scale_team_answer_id" /></div></div>
|
||
<div class="form-group hidden scale_team_answer_question_id"><div class="col-sm-10"><input class="form-control hidden" value="413229" name="[scale_team][answers_attributes][2][question_id]" type="hidden" id="scale_team_answer_question_id" /></div></div>
|
||
<div class='btn-group block'>
|
||
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][2][value]" id="radio_[scale_team][answers_attributes][2]_true" type="radio" value="1"></input>
|
||
<label class='btn btn-success checkbox-label light-bg' for='radio_[scale_team][answers_attributes][2]_true'>
|
||
<span class='icon-check'></span>
|
||
Yes
|
||
</label>
|
||
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][2][value]" id="radio_[scale_team][answers_attributes][2]_false" type="radio" value="0" checked="checked"></input>
|
||
<label class='btn btn-danger checkbox-label light-bg' for='radio_[scale_team][answers_attributes][2]_false'>
|
||
<span class='icon-times'></span>
|
||
No
|
||
</label>
|
||
</div>
|
||
</div>
|
||
<h4 class='scale-question-name'>Part 1 - Configuration</h4>
|
||
<p class='scale-section-guidelines'>
|
||
<ul>
|
||
<li>Check that a Vagrantfile is present in the p1 folder. Once done, check
|
||
its content. Thanks to the help of the evaluated persons, you should
|
||
basically understand this file. It must be similar to the example
|
||
given in the subject.</li>
|
||
<li>Check that there are two virtual machines in the Vagrantfile.</li>
|
||
<li>In the Vagrantfile, check that the latest stable version of the distribution
|
||
of the choice of the evaluated group is used for both virtual machines.</li>
|
||
<li>Check that the primary network interface of each host has the required IP address
|
||
as specified in the subject.</li>
|
||
<li>The names chosen for the two virtual machines must include a login of
|
||
a member of the group. For the first machine, it must be followed by
|
||
S (like Server), and for the second one, by SW (like ServerWorker).
|
||
If something does not work as expected, the evaluation stops here.</li>
|
||
</ul>
|
||
|
||
</p>
|
||
<div class='scale-question-answers'>
|
||
<div class="form-group hidden scale_team_answer_id"><div class="col-sm-10"><input class="form-control hidden" name="[scale_team][answers_attributes][3][id]" type="hidden" id="scale_team_answer_id" /></div></div>
|
||
<div class="form-group hidden scale_team_answer_question_id"><div class="col-sm-10"><input class="form-control hidden" value="413230" name="[scale_team][answers_attributes][3][question_id]" type="hidden" id="scale_team_answer_question_id" /></div></div>
|
||
<div class='btn-group block'>
|
||
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][3][value]" id="radio_[scale_team][answers_attributes][3]_true" type="radio" value="1"></input>
|
||
<label class='btn btn-success checkbox-label light-bg' for='radio_[scale_team][answers_attributes][3]_true'>
|
||
<span class='icon-check'></span>
|
||
Yes
|
||
</label>
|
||
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][3][value]" id="radio_[scale_team][answers_attributes][3]_false" type="radio" value="0" checked="checked"></input>
|
||
<label class='btn btn-danger checkbox-label light-bg' for='radio_[scale_team][answers_attributes][3]_false'>
|
||
<span class='icon-times'></span>
|
||
No
|
||
</label>
|
||
</div>
|
||
</div>
|
||
<h4 class='scale-question-name'>Part 1 - Usage</h4>
|
||
<p class='scale-section-guidelines'>
|
||
<ul>
|
||
<li>Use Vagrant to SSH into both virtual machine with the help of the
|
||
evaluated group.</li>
|
||
<li>Ensure that the primary network interface has the required IP addresses by using the following command:
|
||
For macOS: "ifconfig en0"
|
||
For the latest Linux distributions: "ip a show $(ip route | grep default | awk '{print $5}')" (to dynamically detect the primary interface).</li>
|
||
<li>Ensure both machines have the hostname required by the subject.</li>
|
||
<li>Then, check that both virtual machines use K3s. The evaluated group
|
||
should be able to help you.</li>
|
||
<li>Finally, verify that the Server machine and the Agent machine are in
|
||
the same cluster by running this command on the Server machine:
|
||
"kubectl get nodes -o wide"
|
||
An output similar to the one given as an example in the subject is
|
||
expected. The evaluated group must explain to you the output.
|
||
If something does not work as expected, the evaluation stops here.</li>
|
||
</ul>
|
||
|
||
</p>
|
||
<div class='scale-question-answers'>
|
||
<div class="form-group hidden scale_team_answer_id"><div class="col-sm-10"><input class="form-control hidden" name="[scale_team][answers_attributes][4][id]" type="hidden" id="scale_team_answer_id" /></div></div>
|
||
<div class="form-group hidden scale_team_answer_question_id"><div class="col-sm-10"><input class="form-control hidden" value="413231" name="[scale_team][answers_attributes][4][question_id]" type="hidden" id="scale_team_answer_question_id" /></div></div>
|
||
<div class='btn-group block'>
|
||
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][4][value]" id="radio_[scale_team][answers_attributes][4]_true" type="radio" value="1"></input>
|
||
<label class='btn btn-success checkbox-label light-bg' for='radio_[scale_team][answers_attributes][4]_true'>
|
||
<span class='icon-check'></span>
|
||
Yes
|
||
</label>
|
||
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][4][value]" id="radio_[scale_team][answers_attributes][4]_false" type="radio" value="0" checked="checked"></input>
|
||
<label class='btn btn-danger checkbox-label light-bg' for='radio_[scale_team][answers_attributes][4]_false'>
|
||
<span class='icon-times'></span>
|
||
No
|
||
</label>
|
||
</div>
|
||
</div>
|
||
<h4 class='scale-question-name'>Part 2 - Configuration</h4>
|
||
<p class='scale-section-guidelines'>
|
||
<ul>
|
||
<li>To avoid space/performance issues, you can of course shut down every
|
||
other running virtual machines with the help of the evaluated group.</li>
|
||
<li>Check that a Vagrantfile is present in the p2 folder. Once done, check
|
||
its content. Thanks to the help of the evaluated persons, you should
|
||
basically understand this file. It must be similar to the example
|
||
given in the part 1 of the subject.</li>
|
||
<li>Check that there is only one virtual machine in the Vagrantfile.</li>
|
||
<li>In the Vagrantfile, check that the latest stable version of the distribution of
|
||
the evaluated group choice is used for the virtual machine.</li>
|
||
<li>Check that the primary network interface has the required IP address as specified in the subject.</li>
|
||
<li>The name chosen for the virtual machine must include a login of a
|
||
member of the group followed by the capital letter S.</li>
|
||
<li>If extra files are present in the p2 folder, verify them and ask for
|
||
explanations.
|
||
If something does not work as expected, the evaluation stops here.</li>
|
||
</ul>
|
||
|
||
</p>
|
||
<div class='scale-question-answers'>
|
||
<div class="form-group hidden scale_team_answer_id"><div class="col-sm-10"><input class="form-control hidden" name="[scale_team][answers_attributes][5][id]" type="hidden" id="scale_team_answer_id" /></div></div>
|
||
<div class="form-group hidden scale_team_answer_question_id"><div class="col-sm-10"><input class="form-control hidden" value="413232" name="[scale_team][answers_attributes][5][question_id]" type="hidden" id="scale_team_answer_question_id" /></div></div>
|
||
<div class='btn-group block'>
|
||
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][5][value]" id="radio_[scale_team][answers_attributes][5]_true" type="radio" value="1"></input>
|
||
<label class='btn btn-success checkbox-label light-bg' for='radio_[scale_team][answers_attributes][5]_true'>
|
||
<span class='icon-check'></span>
|
||
Yes
|
||
</label>
|
||
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][5][value]" id="radio_[scale_team][answers_attributes][5]_false" type="radio" value="0" checked="checked"></input>
|
||
<label class='btn btn-danger checkbox-label light-bg' for='radio_[scale_team][answers_attributes][5]_false'>
|
||
<span class='icon-times'></span>
|
||
No
|
||
</label>
|
||
</div>
|
||
</div>
|
||
<h4 class='scale-question-name'>Part 2 - Usage</h4>
|
||
<p class='scale-section-guidelines'>
|
||
<ul>
|
||
<li>Use Vagrant to SSH into the virtual machine with the help of the
|
||
evaluated group.</li>
|
||
<li>Ensure that the primary network interface has the required IP addresses by using the following command:
|
||
For macOS: "ifconfig en0"
|
||
For the latest Linux distributions: "ip a show $(ip route | grep default | awk '{print $5}')" (to dynamically detect the primary interface).</li>
|
||
<li>Ensure the machine has the hostname required by the subject.</li>
|
||
<li>Then, check that the virtual machine uses K3s. The evaluated group
|
||
should be able to help you.</li>
|
||
<li>Verify that the virtual machine meets the subject's requirements. To
|
||
do so, use the following commands:
|
||
"kubectl get nodes -o wide"
|
||
It should display the name of the controller and the internal IP address.
|
||
"kubetctl get all"
|
||
It should display 3 applications. For reference, you can find an example in
|
||
the Part 2 section of the subject.
|
||
The evaluated group must explain to you each output.
|
||
Next, they must show you how their Ingress works. The command is
|
||
deliberately not given here.</li>
|
||
<li>Now, check that the 3 applications can be accessed depending on the
|
||
HOST header that is used (have a look at the subject). To do so, you
|
||
can use curl with the help of evaluated group, or just a browser (for
|
||
a web application). You will have to change the HOST in order to see
|
||
some differences.</li>
|
||
</ul>
|
||
|
||
<p>If something does not work as expected, the evaluation stops here.</p>
|
||
|
||
</p>
|
||
<div class='scale-question-answers'>
|
||
<div class="form-group hidden scale_team_answer_id"><div class="col-sm-10"><input class="form-control hidden" name="[scale_team][answers_attributes][6][id]" type="hidden" id="scale_team_answer_id" /></div></div>
|
||
<div class="form-group hidden scale_team_answer_question_id"><div class="col-sm-10"><input class="form-control hidden" value="413233" name="[scale_team][answers_attributes][6][question_id]" type="hidden" id="scale_team_answer_question_id" /></div></div>
|
||
<div class='btn-group block'>
|
||
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][6][value]" id="radio_[scale_team][answers_attributes][6]_true" type="radio" value="1"></input>
|
||
<label class='btn btn-success checkbox-label light-bg' for='radio_[scale_team][answers_attributes][6]_true'>
|
||
<span class='icon-check'></span>
|
||
Yes
|
||
</label>
|
||
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][6][value]" id="radio_[scale_team][answers_attributes][6]_false" type="radio" value="0" checked="checked"></input>
|
||
<label class='btn btn-danger checkbox-label light-bg' for='radio_[scale_team][answers_attributes][6]_false'>
|
||
<span class='icon-times'></span>
|
||
No
|
||
</label>
|
||
</div>
|
||
</div>
|
||
<h4 class='scale-question-name'>Part 3 - Configuration</h4>
|
||
<p class='scale-section-guidelines'>
|
||
<ul>
|
||
<li>Thanks to the evaluated group, start up the infrastructure.</li>
|
||
<li>Check that the configuration files are present in the p3 folder. Once
|
||
done, check their content. Don't hesitate to ask for more precise
|
||
explanations. This part is essential to understand what's next.</li>
|
||
<li>Make sure there are at least 2 namespaces in K3d: "argocd" and "dev".
|
||
Use the command:
|
||
"kubectl get ns".</li>
|
||
<li>Verify that there is at least 1 pod in the "dev" namespace. Use the
|
||
command:
|
||
"kubectl get pods -n dev"</li>
|
||
<li>Ensure the group members understand the differences between a namespace
|
||
and a pod.</li>
|
||
<li>Check that all the required services are running with the help of the
|
||
evaluated group.</li>
|
||
<li>Check that Argo CD is installed and configured. You can access it in
|
||
your web browser. You will need a login and a password. The evaluated
|
||
group will give them to you.</li>
|
||
<li>Check that the login of someone of the group was put in the name of
|
||
the Github repository (e.g., if a login was "wil", the name could be
|
||
"wil_config" or "wil-ception"). Read the subject carefully to understand
|
||
this part.</li>
|
||
<li>Check that a Docker image is used in the Github repository. The image
|
||
can be Wil's or a custom one. In the second case, verify that the login
|
||
of a member of the group was put in the name of the Dockerhub
|
||
repository. Also, ensure that there are the two required tags in the
|
||
Dockerhub repository.</li>
|
||
<li>If there are extra files in the p3 folder, ask for explanations.
|
||
If something does not work as expected, the evaluation stops here.</li>
|
||
</ul>
|
||
|
||
</p>
|
||
<div class='scale-question-answers'>
|
||
<div class="form-group hidden scale_team_answer_id"><div class="col-sm-10"><input class="form-control hidden" name="[scale_team][answers_attributes][7][id]" type="hidden" id="scale_team_answer_id" /></div></div>
|
||
<div class="form-group hidden scale_team_answer_question_id"><div class="col-sm-10"><input class="form-control hidden" value="413234" name="[scale_team][answers_attributes][7][question_id]" type="hidden" id="scale_team_answer_question_id" /></div></div>
|
||
<div class='btn-group block'>
|
||
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][7][value]" id="radio_[scale_team][answers_attributes][7]_true" type="radio" value="1"></input>
|
||
<label class='btn btn-success checkbox-label light-bg' for='radio_[scale_team][answers_attributes][7]_true'>
|
||
<span class='icon-check'></span>
|
||
Yes
|
||
</label>
|
||
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][7][value]" id="radio_[scale_team][answers_attributes][7]_false" type="radio" value="0" checked="checked"></input>
|
||
<label class='btn btn-danger checkbox-label light-bg' for='radio_[scale_team][answers_attributes][7]_false'>
|
||
<span class='icon-times'></span>
|
||
No
|
||
</label>
|
||
</div>
|
||
</div>
|
||
<h4 class='scale-question-name'>Partie 3 - Usage</h4>
|
||
<p class='scale-section-guidelines'>
|
||
<ul>
|
||
<li>Now that you can use Argo CD, try to understand how it basically
|
||
works. With the help of the evaluated group, navigate through the
|
||
application. Do not hesitate to ask questions here. If you have any
|
||
doubt (maybe their explanations are confused or they can't explain
|
||
something they should know), the evaluation stops now. It is important.</li>
|
||
<li>Check that the v1 application can be accessed from this machine. You
|
||
can use curl (there is an example usage in the subject).</li>
|
||
<li>Verify that Dockerhub is used. This part is important. In case of any
|
||
doubt, the evaluation stops now.</li>
|
||
<li>Since you can see the v1 application, you must be able to update it
|
||
with the help of the evaluated group. Use the configuration file on
|
||
GitHub that Argo CD relies on. You must commit and push a modification.
|
||
It will automatically trigger the update of your application. You must
|
||
be able to understand how this whole process works. Do not hesitate
|
||
to ask for explanations.</li>
|
||
<li>Now that you have pushed the v2 application on Github, if
|
||
synchronizing didn't happen, do it manually in Argo CD (if it did
|
||
happen, skip this step). The evaluated people must help you.</li>
|
||
<li>Ensure that the application was successfully synchronized using
|
||
operation given as an example in the subject. The evaluated people
|
||
must help you.</li>
|
||
</ul>
|
||
|
||
<p>If something does not work as expected, the evaluation stops now.</p>
|
||
|
||
</p>
|
||
<div class='scale-question-answers'>
|
||
<div class="form-group hidden scale_team_answer_id"><div class="col-sm-10"><input class="form-control hidden" name="[scale_team][answers_attributes][8][id]" type="hidden" id="scale_team_answer_id" /></div></div>
|
||
<div class="form-group hidden scale_team_answer_question_id"><div class="col-sm-10"><input class="form-control hidden" value="413235" name="[scale_team][answers_attributes][8][question_id]" type="hidden" id="scale_team_answer_question_id" /></div></div>
|
||
<div class='btn-group block'>
|
||
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][8][value]" id="radio_[scale_team][answers_attributes][8]_true" type="radio" value="1"></input>
|
||
<label class='btn btn-success checkbox-label light-bg' for='radio_[scale_team][answers_attributes][8]_true'>
|
||
<span class='icon-check'></span>
|
||
Yes
|
||
</label>
|
||
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][8][value]" id="radio_[scale_team][answers_attributes][8]_false" type="radio" value="0" checked="checked"></input>
|
||
<label class='btn btn-danger checkbox-label light-bg' for='radio_[scale_team][answers_attributes][8]_false'>
|
||
<span class='icon-times'></span>
|
||
No
|
||
</label>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
<section class='scale-section-item dancer from-down' id='section-122205'>
|
||
<div class='section-header'>
|
||
<hr>
|
||
<h3 class='font-weight-bold mb-1'>Bonus</h3>
|
||
<p class='font-italic'>Evaluate the bonus part if, and only if, the mandatory part has been
|
||
entirely and perfectly done, and the error management handles unexpected
|
||
or wrong usage. In case all the mandatory points were not passed during the
|
||
defense, bonus points must be totally ignored.
|
||
</p>
|
||
</div>
|
||
<h4 class='scale-question-name'>Bonus</h4>
|
||
<p class='scale-section-guidelines'>
|
||
<ul>
|
||
<li>Check if there are configuration files in the bonus folder. Ask for
|
||
explanations about each of them.</li>
|
||
<li>Test that Gitlab functions correctly and was properly implemented. To do
|
||
so, create a new repository with the help of the evaluated group.
|
||
Then, try to add some code in it. Check the operation was successful
|
||
on Gitlab.</li>
|
||
<li>The last step is quite simple. Make sure that the operations of the
|
||
part 3 of the subject still function correctly. Ensure that the
|
||
repository used in Argo CD is a local repository on Gitlab. The
|
||
evaluated group should guide you in this process so you can verify the
|
||
operations works as expected with the two versions of the chosen
|
||
application.</li>
|
||
<li>If the synchronization and the version change of the application
|
||
are completed with no errors, validate this part.</li>
|
||
</ul>
|
||
|
||
</p>
|
||
<div class='scale-question-answers'>
|
||
<div class="form-group hidden scale_team_answer_id"><div class="col-sm-10"><input class="form-control hidden" name="[scale_team][answers_attributes][9][id]" type="hidden" id="scale_team_answer_id" /></div></div>
|
||
<div class="form-group hidden scale_team_answer_question_id"><div class="col-sm-10"><input class="form-control hidden" value="413236" name="[scale_team][answers_attributes][9][question_id]" type="hidden" id="scale_team_answer_question_id" /></div></div>
|
||
<div class='btn-group block'>
|
||
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][9][value]" id="radio_[scale_team][answers_attributes][9]_true" type="radio" value="1"></input>
|
||
<label class='btn btn-success checkbox-label light-bg' for='radio_[scale_team][answers_attributes][9]_true'>
|
||
<span class='icon-check'></span>
|
||
Yes
|
||
</label>
|
||
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][9][value]" id="radio_[scale_team][answers_attributes][9]_false" type="radio" value="0" checked="checked"></input>
|
||
<label class='btn btn-danger checkbox-label light-bg' for='radio_[scale_team][answers_attributes][9]_false'>
|
||
<span class='icon-times'></span>
|
||
No
|
||
</label>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
</div>
|
||
<div class='col-sm-12 scale-div pb-4'>
|
||
<div class='dancer from-down' id='ratings-44077'>
|
||
<h3 class='font-weight-bold mb-1'>Ratings</h3>
|
||
<p class='marked-title'>Don’t forget to check the flag corresponding to the defense</p>
|
||
<div class='btn-group block flags-buttons' data-radio-item='flag-small'>
|
||
<label class='btn btn-default btn-success label_flag_ok on-active positive' for='scale_team_flag_id_1' name='scale_team[flag_id]'>
|
||
<span class='iconf-check-4'></span>
|
||
Ok
|
||
</label>
|
||
<label class='btn btn-default btn-success label_flag_outstanding_project on-active positive' for='scale_team_flag_id_9' name='scale_team[flag_id]'>
|
||
<span class='iconf-star-1'></span>
|
||
Outstanding project
|
||
</label>
|
||
</div>
|
||
<div class='btn-group block flags-buttons' data-radio-item='flag-small'>
|
||
<label class='btn btn-danger btn-default label_flag_empty_work negative on-active' for='scale_team_flag_id_2' name='scale_team[flag_id]'>
|
||
<span class='iconf-iconf-folder-1'></span>
|
||
Empty work
|
||
</label>
|
||
<label class='btn btn-danger btn-default label_flag_incomplete_work negative on-active' for='scale_team_flag_id_3' name='scale_team[flag_id]'>
|
||
<span class='iconf-file-attention'></span>
|
||
Incomplete work
|
||
</label>
|
||
<label class='btn btn-danger btn-default label_flag_cheat negative on-active' for='scale_team_flag_id_7' name='scale_team[flag_id]'>
|
||
<span class='iconf-layers'></span>
|
||
Cheat
|
||
</label>
|
||
<label class='btn btn-danger btn-default label_flag_crash negative on-active' for='scale_team_flag_id_8' name='scale_team[flag_id]'>
|
||
<span class='iconf-bomb'></span>
|
||
Crash
|
||
</label>
|
||
<label class='btn btn-danger btn-default label_flag_incomplete_group negative on-active' for='scale_team_flag_id_10' name='scale_team[flag_id]'>
|
||
<span class='iconf-user-delete-2'></span>
|
||
Incomplete group
|
||
</label>
|
||
<label class='btn btn-danger btn-default label_flag_concerning_situation negative on-active' for='scale_team_flag_id_11' name='scale_team[flag_id]'>
|
||
<span class='iconf-alert-2'></span>
|
||
Concerning situation
|
||
</label>
|
||
<label class='btn btn-danger btn-default label_flag_forbidden_function negative on-active' for='scale_team_flag_id_13' name='scale_team[flag_id]'>
|
||
<span class='iconf-delete-2'></span>
|
||
Forbidden function
|
||
</label>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
<div class='col-sm-12 scale-div'>
|
||
<h3 class='font-weight-bold mb-1'>Conclusion</h3>
|
||
<div class='scale-final-evaluation hidden'>
|
||
<div class="form-group radio_buttons optional scale_team_flag"><label class="col-sm-2 control-label radio_buttons optional">Flag</label><div class="col-sm-10"><input type="hidden" name="scale_team[flag_id]" value="" /><span class="radio"><label for="scale_team_flag_id_1"><input class="radio_buttons optional" type="radio" value="1" checked="checked" name="scale_team[flag_id]" id="scale_team_flag_id_1" />Ok</label></span><span class="radio"><label for="scale_team_flag_id_3"><input class="radio_buttons optional" type="radio" value="3" name="scale_team[flag_id]" id="scale_team_flag_id_3" />Incomplete work</label></span><span class="radio"><label for="scale_team_flag_id_7"><input class="radio_buttons optional" type="radio" value="7" name="scale_team[flag_id]" id="scale_team_flag_id_7" />Cheat</label></span><span class="radio"><label for="scale_team_flag_id_8"><input class="radio_buttons optional" type="radio" value="8" name="scale_team[flag_id]" id="scale_team_flag_id_8" />Crash</label></span><span class="radio"><label for="scale_team_flag_id_10"><input class="radio_buttons optional" type="radio" value="10" name="scale_team[flag_id]" id="scale_team_flag_id_10" />Incomplete group</label></span><span class="radio"><label for="scale_team_flag_id_9"><input class="radio_buttons optional" type="radio" value="9" name="scale_team[flag_id]" id="scale_team_flag_id_9" />Outstanding project</label></span><span class="radio"><label for="scale_team_flag_id_11"><input class="radio_buttons optional" type="radio" value="11" name="scale_team[flag_id]" id="scale_team_flag_id_11" />Concerning situation</label></span><span class="radio"><label for="scale_team_flag_id_13"><input class="radio_buttons optional" type="radio" value="13" name="scale_team[flag_id]" id="scale_team_flag_id_13" />Forbidden Function</label></span><span class="radio"><label for="scale_team_flag_id_2"><input class="radio_buttons optional" type="radio" value="2" name="scale_team[flag_id]" id="scale_team_flag_id_2" />Empty work</label></span></div></div>
|
||
</div>
|
||
<div class='scale-final-comments' id='comments-44077'>
|
||
<p class='marked-title'>Leave a comment on this evaluation ( 2048 chars max )</p>
|
||
<textarea required="required" label="false" class="text required col-sm-12 mb-4" aria-required="true" name="scale_team[comment]" id="scale_team_comment"></textarea>
|
||
|
||
</div>
|
||
<input id="token" name="token" class="hidden" type="hidden" />
|
||
</div>
|
||
<div class='scale-final-submit'>
|
||
<input class='btn btn-primary btn-block font-weight-bold' data-disable-with='Finishing evaluation...' name='commit' type='submit' value='Finish evaluation'>
|
||
</div>
|
||
</form>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<footer class="legal-mentions text-center text-muted my-4 col-sm-12 flex justify-content-center flex-column flex-sm-row"><a class="text-muted small px-4" href="https://profile.intra.42.fr/legal/terms/33">API General Terms of Use</a><a class="text-muted small px-4" href="https://profile.intra.42.fr/legal/terms/2">Declaration on the use of cookies</a><a class="text-muted small px-4" href="https://profile.intra.42.fr/legal/terms/5">Privacy policy</a><a class="text-muted small px-4" href="https://profile.intra.42.fr/legal/terms/6">General term of use of the site</a><a class="text-muted small px-4" href="https://profile.intra.42.fr/legal/terms/9">Règlement Intérieur</a><a class="text-muted small px-4" href="https://profile.intra.42.fr/legal/terms/1">Terms of use for video surveillance</a><a class="text-muted small px-4" href="https://profile.intra.42.fr/legal/terms/3">Legal notices</a></footer>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div aria-hidden='true' aria-labelledby='smartModalLabel' class='modal fade' id='smartModal' role='dialog' tabindex='-1'>
|
||
<div class='modal-dialog'>
|
||
<div class='modal-content'>
|
||
<div class='modal-header'>
|
||
<button aria-hidden='true' class='close' data-dismiss='modal' type='button'>
|
||
x
|
||
</button>
|
||
<h3 id='smartModalLabel'>
|
||
|
||
</h3>
|
||
</div>
|
||
<div class='modal-body'>
|
||
<h4 class='note-title'></h4>
|
||
</div>
|
||
<div class='modal-footer'>
|
||
<button aria-hidden='true' class='btn' data-dismiss='modal'>Cancel</button>
|
||
<button class='send btn btn-primary'>Send</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div aria-hidden='true' aria-labelledby='flashModalLabel' class='modal fade' id='flashModal' role='dialog' tabindex='-1'>
|
||
<div class='modal-dialog modal-lg'>
|
||
<div class='modal-content'>
|
||
<div class='modal-header'>
|
||
<button aria-hidden='true' class='close' data-dismiss='modal' type='button'>
|
||
x
|
||
</button>
|
||
<h3 id='flashModalLabel'></h3>
|
||
</div>
|
||
<div class='modal-body'>
|
||
<h4 class='note-title'>Flash modal content (raw)</h4>
|
||
</div>
|
||
<div class='modal-footer'>
|
||
<button aria-hidden='true' class='btn btn-block btn-default' data-dismiss='modal'>Close</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div data-cache="true" class="hide"></div>
|
||
</body>
|
||
<script async await src='https://www.googletagmanager.com/gtag/js?id=G-BJ34XNRJCV'></script>
|
||
<script>
|
||
window.dataLayer = window.dataLayer || [];
|
||
function gtag(){dataLayer.push(arguments);}
|
||
gtag('js', new Date());
|
||
|
||
gtag('config', 'G-BJ34XNRJCV');
|
||
</script>
|
||
|
||
<script>
|
||
var jsClasses = ["new_message", "topic-reply"];
|
||
jsClasses.forEach(function(className) {
|
||
Array.prototype.forEach.call(document.getElementsByClassName(className), function (e) {
|
||
e.classList.add("js-hidden");
|
||
});
|
||
});
|
||
</script>
|
||
<script src="/assets/application-95ef25cbe695711a70570334290328b739c8fb6c2d07a6641f6e0528acc327eb.js"></script>
|
||
|
||
</head>
|
||
</html>
|
||
|