« Le portail self-service » : différence entre les versions
Aller à la navigation
Aller à la recherche
| Ligne 83 : | Ligne 83 : | ||
source: | source: | ||
instance: "self1" #nom de l'image créée | #instance: "self1" #nom de l'image créée | ||
image: "alpine/3.18" | |||
type: "container" #ou "virtual-machine" | type: "container" #ou "virtual-machine" | ||
| Ligne 96 : | Ligne 97 : | ||
session: | session: | ||
command: [" | command: ["sh"] | ||
expiry: 900 | expiry: 900 | ||
console_only: false | console_only: false | ||
Version du 26 février 2025 à 12:52
L'idée derrière le portail self-service, est d'avoir une plateforme pour accéder à des machines préconfigurées pour des cours ou des expérimentations:
- La machine a une durée de vie définie à l'avance
- Il y a un contrôle de limite par adresse IP
- Basé sur des images créées localement
Projet d'origine
https://github.com/lxc/incus-demo-server
Le fork
https://github.com/yrougy/incus-demo
Usage
Pour le moment, sur la même machine que le serveur Incus.
Dépendances
https://go.dev/doc/install pour golang
apt install -y git build-essential screen git clone https://github.com/lxc/incus-demo-server cd incus-demo-server export CGO_ENABLED=1 # pour permettre l'intégration de C dans le projet GO go install github.com/lxc/incus-demo-server/cmd/incus-demo-server@latest
Construction
make
Configuration
server:
api:
address: "[::]:8080"
blocklist:
- 1.2.3.4
feedback:
enabled: false
timeout: 20
email:
smtp: SERVER:PORT
from: ADDRESS
to: ADDRESS
subject: User feedback from try-it
limits: # 64 machines au total, chaque IP peut en demander 10
total: 64
ip: 10
maintenance:
enabled: false
message: Custom downtime message
proxy:
address: ""
certificate: |-
key: |-
PEM
statistics:
keys:
- 69280011-c8a5-4ef9-ae3d-e7caf4d06e06
terms: |-
ToS<br />
<ul>
<li>Access to this service may be revoked at any time for any reason</li>
<li>Access to this service is solely provided to test</li>
<li>Your IP address, access time and activity on the test server may be recorded</li>
<li>Any abuse of this service may lead to a ban or other applicable actions</li>
</ul>
incus:
# certificate est la clé publique du certificat d'authentification
# key est la clé privée du certificat d'authentification
# on peut la faire avec openssl pkcs12 -in incus-ui.pfx -out incus-ui.pem -nodes
# et ça sera dans le incus-ui.pem
client:
certificate: |- # incusPortal.crt
key: |- # incusPortal.key
project: default
server:
url: "https://nomdelinstance:8443"
# Certificate est le certificat de l'interface web
certificate: |-
target: nomDuCluster
instance:
allocate:
count: 4
expiry: 21600
source: #instance: "self1" #nom de l'image créée image: "alpine/3.18" type: "container" #ou "virtual-machine"
profiles: - default #Profil Incus à utiliser
limits: cpu: 1 disk: 10GiB processes: 200 memory: 512MiB
session: command: ["sh"] expiry: 900 console_only: false network: ipv6
Appel
~/go/bin/incus-demo-server