UNPKG

on-http-y1

Version:
235 lines (211 loc) 7.24 kB
<?xml version="1.0"?> <!DOCTYPE profile> <profile xmlns="http://www.suse.com/1.0/yast2ns" xmlns:config="http://www.suse.com/1.0/configns"> <partitioning config:type="list"> <drive> <device><%=installDisk%></device> <use>all</use> </drive> </partitioning> <general> <mode> <!-- automation setting --> <confirm config:type="boolean">false</confirm> </mode> </general> <!-- users settings --> <users config:type="list"> <user> <encrypted config:type="boolean">true</encrypted> <fullname>root</fullname> <gid>0</gid> <uid>0</uid> <user_password><%=rootEncryptedPassword%></user_password> <username>root</username> </user> <% if( typeof users !== 'undefined' ) { %> <% users.forEach(function(user) { %> <user> <encrypted config:type="boolean">true</encrypted> <fullname><%=user.name%></fullname> <% if( undefined !== user.uid ) { %> <uid><%=user.uid%></uid> <% } %> <user_password><%=user.encryptedPassword%></user_password> <username><%=user.name%></username> </user> <% }) %> <% } %> </users> <networking> <keep_install_network config:type="boolean">true</keep_install_network> <dns> <dhcp_hostname config:type="boolean">true</dhcp_hostname> <dhcp_resolv config:type="boolean">true</dhcp_resolv> <% if( typeof domain !== 'undefined') { %> <domain><%=domain%></domain> <% } %> <% if( typeof hostname !== 'undefined') { %> <hostname><%=hostname%></hostname> <% } %> <write_hostname config:type="boolean">true</write_hostname> <% if( typeof dnsServers !== 'undefined' ) { %> <nameservers config:type="list"> <% dnsServers.forEach(function(dns) { %> <nameserver><%=dns%></nameserver> <% }) %> </nameservers> <% } %> </dns> <interfaces config:type="list"> <% ipv6 = 0 %> <% if( typeof networkDevices !== 'undefined') { %> <% networkDevices.forEach(function(n) { %> <% if( undefined != n.ipv4 ) { %> <% if( undefined != n.ipv4.vlanIds ) { %> <% n.ipv4.vlanIds.forEach(function(vid) { %> <interface> <startmode>auto</startmode> <device><%=n.device%>.<%=vid%></device> <ipaddr><%=n.ipv4.ipAddr%></ipaddr> <netmask><%=n.ipv4.netmask%></netmask> <gateway><%=n.ipv4.gateway%></gateway> <vlan>yes</vlan> </interface> <% }); %> <% } else { %> <interface> <startmode>auto</startmode> <device><%=n.device%></device> <ipaddr><%=n.ipv4.ipAddr%></ipaddr> <netmask><%=n.ipv4.netmask%></netmask> <gateway><%=n.ipv4.gateway%></gateway> </interface> <% } %> <% } %> <% if( undefined != n.ipv6 ) { %> <% if( undefined != n.ipv6.vlanIds ) { %> <% n.ipv6.vlanIds.forEach(function(vid) { %> <interface> <startmode>auto</startmode> <device><%=n.device%>.<%=vid%></device> <ipaddr><%=n.ipv6.ipAddr%></ipaddr> <netmask><%=n.ipv6.netmask%></netmask> <gateway><%=n.ipv6.gateway%></gateway> <vlan>yes</vlan> </interface> <% ipv6 = 1 %> <% }); %> <% } else { %> <interface> <startmode>auto</startmode> <device><%=n.device%></device> <ipaddr><%=n.ipv6.ipAddr%></ipaddr> <netmask><%=n.ipv6.netmask%></netmask> <gateway><%=n.ipv6.gateway%></gateway> </interface> <% ipv6 = 1 %> <% } %> <% } %> <% }); %> <% } %> </interfaces> <!-- enable or disable ipv6 --> <% if( ipv6 ) { %> <ipv6 config:type="boolean">true</ipv6> <% } %> </networking> <software> <packages config:type="list"> <package>openssh</package> <% if( typeof kvm !== 'undefined' && kvm ) { %> <% if (version === "11") { %> <package>kvm</package> <% } else { %> <package>qemu-kvm</package> <% } %> <package>virt-manager</package> <package>libvirt</package> <package>libvirt-python</package> <package>bridge-utils</package> <% } %> </packages> </software> <services-manager> <default_target>multi-user</default_target> <services> <enable config:type="list"> <service>sshd</service> </enable> </services> </services-manager> <scripts> <pre-scripts config:type="list"> <script> <interpreter>shell</interpreter> <source> <![CDATA[ #!/bin/sh <% if( typeof progressMilestones !== 'undefined' && progressMilestones.preConfigUri ) { %> curl -X POST -H 'Content-Type:application/json' "http://<%=server%>:<%=port%><%-progressMilestones.preConfigUri%>" || true <% } %> ]]> </source> </script> </pre-scripts> <postpartitioning-scripts config:type="list"> <script> <interpreter>shell</interpreter> <source> <![CDATA[ #!/bin/sh <% if( typeof progressMilestones !== 'undefined' && progressMilestones.postPartitioningUri ) { %> curl -X POST -H 'Content-Type:application/json' "http://<%=server%>:<%=port%><%-progressMilestones.postPartitioningUri%>" || true <% } %> ]]> </source> </script> </postpartitioning-scripts> <chroot-scripts config:type="list"> <script> <chrooted config:type="boolean">true</chrooted> <interpreter>shell</interpreter> <!-- scripts for workflow completion --> <source> <![CDATA[ #!/bin/sh <% if( typeof progressMilestones !== 'undefined' && progressMilestones.chrootUri ) { %> curl -X POST -H 'Content-Type:application/json' "http://<%=server%>:<%=port%><%-progressMilestones.chrootUri%>" || true <% } %> curl -X POST -H 'Content-Type:application/json' http://<%=server%>:<%=port%>/api/current/notification?nodeId=<%=nodeId%> ]]> </source> </script> </chroot-scripts> <post-scripts config:type="list"> <script> <interpreter>shell</interpreter> <chrooted config:type="boolean">true</chrooted> <source> <![CDATA[ #!/bin/sh # Make .ssh directory for root and users # Set root ssh key <% if (typeof rootSshKey !== 'undefined') { %> mkdir /root/.ssh echo <%=rootSshKey%> > /root/.ssh/authorized_keys chown -R root:root /root/.ssh <% } %> # Set users ssh key <% if (typeof users !== 'undefined') { %> <% users.forEach(function(user) { %> <% if (typeof user.sshKey !== 'undefined') { %> mkdir /home/<%=user.name%>/.ssh echo <%=user.sshKey%> > /home/<%=user.name%>/.ssh/authorized_keys chown -R <%=user.name%>:users /home/<%=user.name%>/.ssh <% } %> <% }) %> <% } %> curl -X POST -H 'Content-Type:application/json' http://<%=server%>:<%=port%>/api/current/notification?nodeId=<%=nodeId%> ]]> </source> </script> </post-scripts> </scripts> </profile>