github.com/SUSE/skuba@v1.4.17/ci/infra/openstack/README.md (about)

     1  ## Introduction
     2  
     3  These terraform definitions are going to create the whole
     4  cluster on top of openstack.
     5  
     6  ## Deployment
     7  
     8  Make sure to download an openrc file from your OpenStack instance, e.g.:
     9  
    10  `https://engcloud.prv.suse.net/project/api_access/openrc/`
    11  
    12  and source it:
    13  
    14  ```sh
    15  source container-openrc.sh
    16  ```
    17  
    18  Also make sure to have your ssh key within OpenStack, by adding your key to the
    19  key_pairs first.
    20  
    21  Once you perform a [Customization](#Customization) you can use `terraform` to deploy the cluster:
    22  
    23  ```sh
    24  terraform init
    25  terraform validate
    26  terraform apply
    27  ```
    28  
    29  ## Machine access
    30  
    31  It is important to have your public ssh key within the `authorized_keys`,
    32  this is done by `cloud-init` through a terraform variable called `authorized_keys`.
    33  
    34  All the instances have a `root` and `sles` user. The normal 'sles' user user can
    35  perform `sudo` without specifying a password.
    36  
    37  Neither root nor the normal `sles` user will have password. Both `terraform` and `skuba`
    38  are using SSH key-based authentication. You can always set a password after the
    39  creation of the machines using `sudo passwd sles` (for normal user) or `sudo passwd` (for root).
    40  
    41  ## Load balancer
    42  
    43  The kubernetes api-server instances running inside of the cluster are
    44  exposed by a load balancer managed by OpenStack.
    45  
    46  ## Customization
    47  
    48  Copy the `terraform.tfvars.example` to `terraform.tfvars` and
    49  provide reasonable values.
    50  
    51  ## Variables
    52  
    53  `image_name` - Name of the image to use\
    54  `internal_net` - Name of the internal network to be created\
    55  `stack_name` - Identifier to make all your resources unique and avoid clashes with other users of this terraform project\
    56  `authorized_keys` - A list of ssh public keys that will be installed on all nodes\
    57  `repositories` - Additional repositories that will be added on all nodes\
    58  `packages` - Additional packages that will be installed on all nodes\
    59  `enable_cpi` - Enable Cloud Provider Integration with OpenStack in `cpi.auto.tfvars`\
    60  `ca_file` - Used to specify the path to your custom CA file in `cpi.auto.tfvars`
    61  
    62  ### Please use one of the following options:
    63  `caasp_registry_code` - Provide SUSE CaaSP Product Registration Code in 
    64  `registration.auto.tfvars` file to register product against official SCC server\
    65  `rmt_server_name` - Provide SUSE Repository Mirroring Tool Server Name in
    66  `registration.auto.tfvars` file to use repositories stored on RMT server