feat: implement workspace runtime selection
This commit is contained in:
@@ -6,7 +6,7 @@ type baseTemplate struct {
|
||||
Content string `json:"-"`
|
||||
}
|
||||
|
||||
var baseTemplates = []baseTemplate{fedora40WithSSH}
|
||||
var baseTemplates = []baseTemplate{fedora40WithSSH, fedora40SSHDocker}
|
||||
|
||||
var baseTemplateMap = map[string]baseTemplate{
|
||||
"empty": {
|
||||
@@ -14,7 +14,8 @@ var baseTemplateMap = map[string]baseTemplate{
|
||||
ID: "empty",
|
||||
Content: "",
|
||||
},
|
||||
"fedora-40-openssh": fedora40WithSSH,
|
||||
"fedora-40-openssh": fedora40WithSSH,
|
||||
"fedora-40-openssh-docker": fedora40SSHDocker,
|
||||
}
|
||||
|
||||
var fedora40WithSSH = baseTemplate{
|
||||
@@ -22,12 +23,36 @@ var fedora40WithSSH = baseTemplate{
|
||||
ID: "fedora-40-openssh",
|
||||
Content: `FROM fedora:40
|
||||
|
||||
ARG user
|
||||
ARG password
|
||||
|
||||
RUN dnf install -y openssh-server \
|
||||
&& mkdir -p /etc/ssh \
|
||||
&& ssh-keygen -q -N "" -t rsa -b 4096 -f /etc/ssh/ssh_host_rsa_key \
|
||||
&& useradd testuser \
|
||||
&& echo "testuser:12345678" | chpasswd
|
||||
&& usermod -aG wheel testuser
|
||||
&& useradd "$user" \
|
||||
&& echo "$user:$password" | chpasswd \
|
||||
&& usermod -aG wheel "$user"
|
||||
|
||||
CMD ["/usr/sbin/sshd", "-D"]
|
||||
`,
|
||||
}
|
||||
|
||||
var fedora40SSHDocker = baseTemplate{
|
||||
Name: "Fedora 40 + OpenSSH Server + Docker",
|
||||
ID: "fedora-40-openssh-docker",
|
||||
Content: `FROM fedora:40
|
||||
|
||||
ARG user
|
||||
ARG password
|
||||
|
||||
RUN dnf install -y openssh-server dnf-plugins-core \
|
||||
&& dnf-3 config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo \
|
||||
&& dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin \
|
||||
&& mkdir -p /etc/ssh \
|
||||
&& ssh-keygen -q -N "" -t rsa -b 4096 -f /etc/ssh/ssh_host_rsa_key \
|
||||
&& useradd "$user" \
|
||||
&& echo "$user:$password" | chpasswd \
|
||||
&& usermod -aG wheel,docker "$user"
|
||||
|
||||
CMD ["/usr/sbin/sshd", "-D"]
|
||||
`,
|
||||
|
Reference in New Issue
Block a user