Skip to content
Snippets Groups Projects
Commit ce80852e authored by Mingyuan Chen's avatar Mingyuan Chen
Browse files

change

parent bf87a0f2
Branches
No related tags found
No related merge requests found
#!/usr/bin/env bash
# To use an OpenStack cloud you need to authenticate against the Identity
# service named keystone, which returns a **Token** and **Service Catalog**.
# The catalog contains the endpoints for all services the user/tenant has
# access to - such as Compute, Image Service, Identity, Object Storage, Block
# Storage, and Networking (code-named nova, glance, keystone, swift,
# cinder, and neutron).
#
# *NOTE*: Using the 3 *Identity API* does not necessarily mean any other
# OpenStack API is version 3. For example, your cloud provider may implement
# Image API v1.1, Block Storage API v2, and Compute API v2.0. OS_AUTH_URL is
# only for the Identity API served through keystone.
export OS_AUTH_URL=https://cscloud.cf.ac.uk:5000
# With the addition of Keystone we have standardized on the term **project**
# as the entity that owns the resources.
export OS_PROJECT_ID=a276b75b3a914fbeb586f645a0d388cf
export OS_PROJECT_NAME="c23130518"
export OS_USER_DOMAIN_NAME="cardiff.ac.uk"
if [ -z "$OS_USER_DOMAIN_NAME" ]; then unset OS_USER_DOMAIN_NAME; fi
export OS_PROJECT_DOMAIN_ID="3693afdd0603423a9e8984fd32df7a0c"
if [ -z "$OS_PROJECT_DOMAIN_ID" ]; then unset OS_PROJECT_DOMAIN_ID; fi
# unset v2.0 items in case set
unset OS_TENANT_ID
unset OS_TENANT_NAME
# In addition to the owning entity (tenant), OpenStack stores the entity
# performing the action as the **user**.
export OS_USERNAME="c23130518"
# With Keystone you pass the keystone password.
echo "Please enter your OpenStack Password for project $OS_PROJECT_NAME as user $OS_USERNAME: "
read -sr OS_PASSWORD_INPUT
export OS_PASSWORD=$OS_PASSWORD_INPUT
# If your configuration has multiple regions, we set that information here.
# OS_REGION_NAME is optional and only valid in certain environments.
export OS_REGION_NAME="RegionOne"
# Don't leave a blank variable, unset it if it was empty
if [ -z "$OS_REGION_NAME" ]; then unset OS_REGION_NAME; fi
export OS_INTERFACE=public
export OS_IDENTITY_API_VERSION=3
\ No newline at end of file
terraform {
required_version = ">= 0.14.0"
required_providers {
openstack = {
source = "terraform-provider-openstack/openstack"
version = "~> 1.35.0"
}
}
}
resource "openstack_networking_floatingip_v2" "floating_ip" {
pool = var.pool
}
resource "openstack_compute_secgroup_v2" "security_group" {
name = var.security_name
description = var.security_description
rule {
from_port = 22
to_port = 22
ip_protocol = "tcp"
cidr = "0.0.0.0/0"
}
rule {
from_port = 8080
to_port = 8080
ip_protocol = "tcp"
cidr = "0.0.0.0/0"
}
rule {
from_port = 8083
to_port = 8083
ip_protocol = "tcp"
cidr = "0.0.0.0/0"
}
}
resource "openstack_compute_instance_v2" "instance" {
name = var.name
image_name = var.image
flavor_name = var.flavor
security_groups = [openstack_compute_secgroup_v2.security_group.name]
key_pair = var.keypair
user_data = file(var.server_script)
network {
name = var.network
}
}
resource "openstack_compute_floatingip_associate_v2" "floating_ip" {
# floating_ip = "10.72.101.35"
floating_ip = openstack_networking_floatingip_v2.floating_ip.address
instance_id = openstack_compute_instance_v2.instance.id
}
config.vm.synced_folder ".", "/vagrant", type: "rsync", disabled: true
config.vm.provision "shell", privileged: false, inline: <<-SHELL
whoami
echo "installing MariaDB..."
# sudo yum install mysql -y
sudo dnf install mariadb-server -y
sudo systemctl start mariadb
sudo systemctl status mariadb
sudo systemctl enable mariadb
echo "creating mysql_secure_installation.txt..."
touch mysql_secure_installation.txt
cat << `EOF` >> mysql_secure_installation.txt
n
Y
comsc
comsc
Y
Y
Y
Y
Y
`EOF`
echo "running mysql_secure_installation..."
sudo mysql_secure_installation < mysql_secure_installation.txt
# sudo firewall-cmd --status
sudo firewall-cmd --add-port=8080/tcp --permanent
sudo firewall-cmd --reload
sudo dnf install git -y
sudo dnf update openssh-server openssh-client -y
cat << `EOF` >> gitlab_project_keypair.key
-----BEGIN OPENSSH PRIVATE KEY-----
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
-----END OPENSSH PRIVATE KEY-----
`EOF`
chmod 400 gitlab_project_keypair.key
vargent ssh
touch .ssh/known_hosts
ssh-keyscan git.cardiff.ac.uk >> .ssh/known_hosts
chmod 600 .ssh/known_hosts
ssh-agent bash -c 'ssh-add gitlab_project_keypair.key; git clone --branch cmy git@git.cardiff.ac.uk:c24025433/healthcare.git'
cd Healthcare
mysql -uroot -pcomsc < src/main/resources/healthcare.sql
sudo yum install java-17-openjdk -y
sudo yum install wget -y
wget https://services.gradle.org/distributions/gradle-7.6-bin.zip
sudo yum install unzip -y
sudo mkdir -p /opt/gradle
sudo unzip gradle-7.6-bin.zip -d /opt/gradle
echo 'export PATH=$PATH:/opt/gradle/gradle-7.6/bin' >> ~/.bashrc
source ~/.bashrc
gradle build
gradle bootrun
\ No newline at end of file
variable "flavor" { default = "m1.large" }
variable "image" { default = "Rocky 9.5 20241118" }
variable "name" { default = "JenkinsServer" }
variable "network" { default = "c" } # you need to change this
variable "keypair" { default = "c" } # you need to change this
variable "pool" { default = "cscloud_private_floating" }
variable "server_script" { default = "./serverJenkins.sh" }
variable "security_description" { default = "Terraform security group" }
variable "security_name" { default = "tmptf_security" }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment