Updating linter to latest version, which also updates
gosec to latest version to keep on top of updated security
checks in source code. Also disable gosec testing for rand.new.
Co-Authored-By: Alexander Hughes <Alexander.Hughes@pm.me>
Co-Authored-By: Sreejith Punnapuzha <Sreejith.Punnapuzha@outlook.com>
Change-Id: I46e71c41597f70150ace6d9611da5a01f93a933d
Signed-off-by: Alexander Hughes <Alexander.Hughes@pm.me>
Now GenericContainer input config can be referenced as another
object inside the config bundle (with phase and executor objects).
Change-Id: Iff35e0844b1e9ce4beb72d939e229410208dcb16
* Currently if the cluster init command is run & the cluster-api
has already been initialized, the command fails.
* So,this commit adds a warning message that cluster-api already initialized.
Signed-off-by: bijayasharma <vetbijaya@gmail.com>
Change-Id: I93cc6b141c15fa4bc5661646ae0cbdf08580cbf9
Relates-To: #450
Closes: #450
This will make sure that phases have access to kubeconfgs generated
by cluster-api for the managed clusters.
Change-Id: Iabecced78192969d7a2ee5a48e75fc3adb0af092
This will make sure that stderr of the generic container in gathered
in a go routine, this way we won't have to wait to see debug messages
from the container until it finishes.
Change-Id: I929719c3369f4f5796d452b5f990bf5f28a4c0d5
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 will enable airship to run containers in privileged mode
as well and to specify commands to be executed.
Change-Id: I663eb55547bb821f26a9071c24d08166a3b3d56b
This also moves KRM related logic from executors package to
container package, and creates ClientV1Alpha1 interface that
would allow us to have versioned clients for generic container
executor.
Change-Id: I4b32fd8dd089b9ccea2ed64a805702e6a8705706
This commit allows to specify options to get container logs, such
as stderr, stdout and if logs should be followed.
Also extends RunCommandOptions with ability to add mounts in addtion
to binds
Relates-To: #458
Change-Id: I83507f2f7ca6ea596f52f5d3e9f868467458b6a3
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