Compare commits
8 Commits
5998189363
...
c6a6a24191
| Author | SHA1 | Date |
|---|---|---|
|
|
c6a6a24191 | |
|
|
34f3b719e4 | |
|
|
6662252649 | |
|
|
0b88d47832 | |
|
|
62a78d48fc | |
|
|
80713153d8 | |
|
|
ca057925da | |
|
|
a3e141769a |
|
|
@ -0,0 +1,41 @@
|
||||||
|
# keycloak
|
||||||
|
|
||||||
|
Deploys a stand alone [keycloak](https://www.keycloak.org)
|
||||||
|
|
||||||
|
## Clone required repositories
|
||||||
|
|
||||||
|
```
|
||||||
|
$ laconic-so --stack keycloak setup-repositories
|
||||||
|
```
|
||||||
|
|
||||||
|
## Build containers
|
||||||
|
|
||||||
|
```
|
||||||
|
$ laconic-so --stack keycloak build-containers
|
||||||
|
```
|
||||||
|
|
||||||
|
## Create a deployment
|
||||||
|
|
||||||
|
```
|
||||||
|
$ laconic-so --stack keycloak deploy init --map-ports-to-host any-same --output keycloak-spec.yml
|
||||||
|
$ laconic-so deploy create --spec-file keycloak-spec.yml --deployment-dir keycloak-deployment
|
||||||
|
```
|
||||||
|
|
||||||
|
## Start the stack
|
||||||
|
|
||||||
|
```
|
||||||
|
$ laconic-so deployment --dir keycloak-deployment start
|
||||||
|
```
|
||||||
|
|
||||||
|
Display stack status:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ laconic-so deployment --dir keycloak-deployment ps
|
||||||
|
Running containers:
|
||||||
|
```
|
||||||
|
|
||||||
|
See stack logs:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ laconic-so deployment --dir keycloak-deployment logs
|
||||||
|
```
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
# Copyright © 2023 Vulcanize
|
||||||
|
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU Affero General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU Affero General Public License for more details.
|
||||||
|
|
||||||
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
|
# along with this program. If not, see <http:#www.gnu.org/licenses/>.
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
version: "1.0"
|
||||||
|
name: keycloak
|
||||||
|
description: "Keycloak"
|
||||||
|
repos:
|
||||||
|
- git.vdb.to/cerc-io/keycloak-reg-api
|
||||||
|
- git.vdb.to/cerc-io/keycloak-reg-ui
|
||||||
|
containers:
|
||||||
|
- cerc/keycloak
|
||||||
|
- cerc/keycloak-reg-api
|
||||||
|
- cerc/keycloak-reg-ui
|
||||||
|
- cerc/webapp-base
|
||||||
|
pods:
|
||||||
|
- keycloak
|
||||||
|
|
@ -56,9 +56,8 @@ class DeploymentContext:
|
||||||
self.stack.init_from_file(self.get_stack_file())
|
self.stack.init_from_file(self.get_stack_file())
|
||||||
deployment_file_path = self.get_deployment_file()
|
deployment_file_path = self.get_deployment_file()
|
||||||
if deployment_file_path.exists():
|
if deployment_file_path.exists():
|
||||||
with deployment_file_path:
|
obj = get_yaml().load(open(deployment_file_path, "r"))
|
||||||
obj = get_yaml().load(open(deployment_file_path, "r"))
|
self.id = obj[constants.cluster_id_key]
|
||||||
self.id = obj[constants.cluster_id_key]
|
|
||||||
# Handle the case of a legacy deployment with no file
|
# Handle the case of a legacy deployment with no file
|
||||||
# Code below is intended to match the output from _make_default_cluster_name()
|
# Code below is intended to match the output from _make_default_cluster_name()
|
||||||
# TODO: remove when we no longer need to support legacy deployments
|
# TODO: remove when we no longer need to support legacy deployments
|
||||||
|
|
|
||||||
|
|
@ -92,9 +92,8 @@ class Spec:
|
||||||
return self.obj.get(item, default)
|
return self.obj.get(item, default)
|
||||||
|
|
||||||
def init_from_file(self, file_path: Path):
|
def init_from_file(self, file_path: Path):
|
||||||
with file_path:
|
self.obj = get_yaml().load(open(file_path, "r"))
|
||||||
self.obj = get_yaml().load(open(file_path, "r"))
|
self.file_path = file_path
|
||||||
self.file_path = file_path
|
|
||||||
|
|
||||||
def get_image_registry(self):
|
def get_image_registry(self):
|
||||||
return self.obj.get(constants.image_registry_key)
|
return self.obj.get(constants.image_registry_key)
|
||||||
|
|
|
||||||
|
|
@ -27,5 +27,4 @@ class Stack:
|
||||||
self.name = name
|
self.name = name
|
||||||
|
|
||||||
def init_from_file(self, file_path: Path):
|
def init_from_file(self, file_path: Path):
|
||||||
with file_path:
|
self.obj = get_yaml().load(open(file_path, "r"))
|
||||||
self.obj = get_yaml().load(open(file_path, "r"))
|
|
||||||
|
|
|
||||||
|
|
@ -180,9 +180,7 @@ def get_k8s_dir():
|
||||||
def get_parsed_deployment_spec(spec_file):
|
def get_parsed_deployment_spec(spec_file):
|
||||||
spec_file_path = Path(spec_file)
|
spec_file_path = Path(spec_file)
|
||||||
try:
|
try:
|
||||||
with spec_file_path:
|
return get_yaml().load(open(spec_file_path, "r"))
|
||||||
deploy_spec = get_yaml().load(open(spec_file_path, "r"))
|
|
||||||
return deploy_spec
|
|
||||||
except FileNotFoundError as error:
|
except FileNotFoundError as error:
|
||||||
# We try here to generate a useful diagnostic error
|
# We try here to generate a useful diagnostic error
|
||||||
print(f"Error: spec file: {spec_file_path} does not exist")
|
print(f"Error: spec file: {spec_file_path} does not exist")
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue