This patch implements new constructor of document.Bundle type
using raw bytes as source.
Change-Id: Ie7742bcf245083ac988541aa9987448f5827fec3
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
This patch implements ability to filter phase by given
cluster name.
Change-Id: I4eb95f9f75c57eff4ae8eb41c608c6f6d7fa009c
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
This will make sure that when we add new features to how the
docker container is run, we don't need to change interface
method signature everywhere we use it.
Relates-To: #458
Change-Id: I12273264c1a8061300017246a1a4a17125ca8ae2
Now we would be able to render phase bundle, executor bundle
and config bundle. Config bundle will contain documents such as
phases and executors.
Relates-To: #459
Closes: #459
Change-Id: Ia6b9196dfb3d8fb3264fef676c975ccc32883fee
The original sprig-library implementation of
genCA and genSignedCert may accept only CN parameter
which isn't enough for K8s admin certificate.
That certification must have O=system:masters, e.g.
/CN=admin/O=system:masters
This PR introduces the set of functions that
insted of cn accept subj argument that may have
a form compatible with openssl -subj parameter.
If the first symbol isn't '/' subj behaves as
cn argument.
The set of new functions that accept subj arg is:
genCAEx
genCAWithKeyEx
genSignedCertEx
genSignedCertWithKeyEx
Since the implementaion required to copy some
non-exported helper functions from sprig,
the decision was made to separate all go-template
extension functions into a separate package:
extlib. This package can be reused in other
go-applications, it's just necessary to use
GenericFuncMap function to get function-map.
Change-Id: I0ffddee2e597323803bf5f1b54f315ded424b7be
Plan validation:
1. Each phase must be defined within phase document bundle.
2. Each phase does not return error for Validate method
Phase validation:
1. Document bundle associated with the phase can be rendered without an
error.
2. Associated executor must not return an error.
Relates-to: #330
Change-Id: I08c5e8e42570f2cafdced5a02481b033414ffae0
* Table printer is based on cli-utils approach
* Rename 'phase plan' command to 'phase list' and print all Phase
documents from model instead of just printing PhasePlan object
Relates-To: #358
Change-Id: If3c5e2463e32f6794af4c82c12955a45583fce80
This commit deletes a left over method that was used to get
namespace of the cluster. Instead ClusterAPIRef should be
used to get both name and namespace of the cluster in
terms of cluster-api.
Change-Id: I770cd11094257df29e1cac2c63ed3edecd62e54f
* This commit will removed capitalizaion in Error message
and follow the Golang code rule.
* Golang errors should not begin with capitalization:
https://github.com/golang/go/wiki/CodeReviewComments#error-strings
Signed-off-by: bijayasharma <vetbijaya@gmail.com>
Change-Id: I053cfa9e21ad56b0f30e476ec36320cb7cea4da4
This patch links cluster get-kubeconfig command call with
appropriate clusterctl functionality, and also replaces old
callbacks and removes outdated implementation.
Change-Id: Ibd0d981985f94497db250c8df3f5675fdec1d2ca
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Relates-To: #374
Please note that this is first commit in series and in next commits
remote/remote_direct* files will be remove completely, so if you
have any comments that address issues in these files, keep in mind
that they will be remove in next patchsets.
Change-Id: I52e9b8438a4f8e1a2395cbe90238b9cb654772d4
Currently airshipctl is not able to checkout remote branch
due to using simple branch reference name instead of remote one.
This patch fixes appropriate problem and allows user to specify
what kind of branch to use - local or remote one (since reference
name will be different in these scenarios).
Change-Id: I1fea29f84097b9e7160597003d0e8961f4d3aca6
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Sink function allows to write configurations to an external system.
Change-Id: If9c6904239a542ea4c2bef2920965b6d87feb1e6
Relates-To: #202
Relates-To: #369
All the duplicated methods were removed. Unit tests reorganized.
Test coverage increased.
Change-Id: I0f7bd3eea63c101195ea50c0369e62945d73f297
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Closes: #432
This patchset includes the go code for the Executor for the Bootstrap
container/Ephemeral cluster and respective unit test code.
This executor allows to deploy a K8S cluster on a public/private cloud
provider through a dedicated Bootstrap container.
This patchset does not include the manifests for the executor to avoid
too big patchset. It will be included in a different patchset.
Change-Id: I3f9d2ba1bb65b344522e105fd26310af24e3a1b1