projects
/
osm
/
devops.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Update install_osm.sh to solve the issue with no valid OpenPGP data found
[osm/devops.git]
/
installers
/
charm
/
mysqld-exporter
/
src
/
charm.py
diff --git
a/installers/charm/mysqld-exporter/src/charm.py
b/installers/charm/mysqld-exporter/src/charm.py
index
6aeea5d
..
153dbfd
100755
(executable)
--- a/
installers/charm/mysqld-exporter/src/charm.py
+++ b/
installers/charm/mysqld-exporter/src/charm.py
@@
-55,6
+55,7
@@
class ConfigModel(ModelValidator):
tls_secret_name: Optional[str]
mysql_uri: Optional[str]
image_pull_policy: str
tls_secret_name: Optional[str]
mysql_uri: Optional[str]
image_pull_policy: str
+ security_context: bool
@validator("site_url")
def validate_site_url(cls, v):
@validator("site_url")
def validate_site_url(cls, v):
@@
-184,13
+185,15
@@
class MysqlExporterCharm(CharmedOsmBase):
self._check_missing_dependencies(config)
data_source = (
self._check_missing_dependencies(config)
data_source = (
- config.mysql_uri.replace("mysql://", "").split("/")[0]
+ f'{config.mysql_uri.replace("mysql://", "").replace("@", "@(").split("/")[0]})/'
if config.mysql_uri
if config.mysql_uri
- else f"root:{self.mysql_client.root_password}@
{self.mysql_client.host}:{self.mysql_client.port}
"
+ else f"root:{self.mysql_client.root_password}@
({self.mysql_client.host}:{self.mysql_client.port})/
"
)
# Create Builder for the PodSpec
)
# Create Builder for the PodSpec
- pod_spec_builder = PodSpecV3Builder()
+ pod_spec_builder = PodSpecV3Builder(
+ enable_security_context=config.security_context
+ )
# Add secrets to the pod
mysql_secret_name = f"{self.app.name}-mysql-secret"
# Add secrets to the pod
mysql_secret_name = f"{self.app.name}-mysql-secret"
@@
-201,9
+204,12
@@
class MysqlExporterCharm(CharmedOsmBase):
# Build container
container_builder = ContainerV3Builder(
# Build container
container_builder = ContainerV3Builder(
- self.app.name, image_info, config.image_pull_policy
+ self.app.name,
+ image_info,
+ config.image_pull_policy,
+ run_as_non_root=config.security_context,
)
)
- container_builder.add_port(name=
self.app.name
, port=PORT)
+ container_builder.add_port(name=
"exporter"
, port=PORT)
container_builder.add_http_readiness_probe(
path="/api/health",
port=PORT,
container_builder.add_http_readiness_probe(
path="/api/health",
port=PORT,